MENU
Language

p5.jsとは?クリエイティブなコーディングに特化したJavaScriptライブラリで、インタラクティブなビジュアルやアート、アニメーションを簡単に作成するための強力なツール 主に2Dに特化/3Dも一部可能

p5.jsは、クリエイティブなコーディングに特化したJavaScriptライブラリで、インタラクティブなビジュアルやアート、アニメーションを簡単に作成するための強力なツールです。このライブラリは、初心者から経験豊富なプログラマーまで、誰でも簡単に利用できます。公式サイト p5.js では、以下のリソースが提供されています。

p5.js自体はAI専用のライブラリではありませんが、AIや機械学習のプロジェクトと組み合わせることが可能です。

目次

p5.jsとは

主な特徴とリソース

  1. リファレンス (Reference)
    各関数や機能の詳細な説明が記載されています。例:
    • ellipse(): 楕円を描く
    • rect(): 四角形を描く
    • mousePressed(): マウスクリックイベントを検出
  2. チュートリアル (Tutorials)
    初心者向けから高度なテーマまで、ステップバイステップのガイドがあります。
    • 基本的なスケッチ作成
    • 音声やビデオとの連携
    • 2D/3D描画のサポート
  3. オンラインエディタ (p5.js Web Editor)
    ブラウザ上で直接コードを書いて実行できるエディタ。インストール不要で、簡単にプロジェクトを共有可能。
  4. ライブラリとアドオン
    p5.soundやp5.domなど、音声やHTML操作をサポートする追加機能を利用可能。
  5. コミュニティとサポート
    フォーラムやSlackチャンネルで質問や作品を共有できます。

始めるための基本コード例

以下は、画面中央に円を描画するシンプルなスケッチ例です。

function setup() {
  createCanvas(400, 400);
}

function draw() {
  background(220);
  ellipse(width / 2, height / 2, 50, 50);
}

ブラウザ上でインタラクティブな作品を作成したい場合、ぜひ活用してみてください。
詳細は公式サイトのドキュメント(https://p5js.org/)をご覧ください。

p5.jsスケッチをHTMLで動作確認するシンプルな例

以下のコードを使って、p5.jsスケッチをHTMLで動かせるようにできます。p5.jsのCDNリンクを使用してライブラリをインポートし、スケッチコードを直接HTMLファイルに埋め込む方法です。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>p5.js Example</title>
  <!-- p5.js CDN -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.6.0/p5.js"></script>
</head>
<body>
  <script>
    function setup() {
      createCanvas(400, 400);
    }

    function draw() {
      background(220);
      ellipse(width / 2, height / 2, 50, 50);
    }
  </script>
</body>
</html>

実行方法

  1. 上記のコードをテキストエディタ(例: VSCode、Notepad++)にコピーします。
  2. ファイル名を index.html として保存します。
  3. 保存したHTMLファイルをブラウザで開きます。

これで、ブラウザに表示されるキャンバス上に円が描画されるはずです。

AIや機械学習のプロジェクトと組み合わせた例

1. 可視化ツールとしての利用

p5.jsはデータを視覚的に表現するのに優れているため、AIモデルの出力や学習過程をインタラクティブに可視化するためのツールとして活用できます。

  • :
    • ニューラルネットワークの重みやバイアスの変化をリアルタイムで描画
    • クラスタリングや分類結果を2D/3Dでプロット

2. WebアプリケーションにおけるAIのインターフェース

p5.jsを使って作成したインタラクティブなインターフェースをAIと連携させることで、ユーザーがAIの動作を直接体験できます。

  • :
    • p5.jsで描画した手書き文字を機械学習モデル(例えばTensorFlow.jsのモデル)で認識
    • ユーザーの入力に基づいてリアルタイムにAIが反応するアート生成アプリ

3. TensorFlow.jsとの統合

p5.jsはJavaScriptベースで動作するため、TensorFlow.jsなどのブラウザで動作するAIライブラリと容易に統合できます。

  • :
    • p5.jsでカメラ入力をキャプチャし、TensorFlow.jsのモデルで顔認識や物体検出を実行
    • 機械学習モデルが生成した結果をp5.jsで視覚的に表現

4. 生成的アートとAIの融合

p5.jsでアートを生成し、それをAIによる生成モデル(例えば、GANやStyleGAN)と組み合わせて新しい作品を作ることが可能です。

  • :
    • ユーザーの操作に基づいてp5.jsで生成したスケッチをAIモデルで変形・拡張
    • AIによる自動補完をインタラクティブな描画に組み込む

5. 音声やテキスト生成AIとの連携

p5.jsで作成したインタラクティブなUIを利用して、GPT系モデルや音声認識AIとリアルタイムにやり取りすることも可能です。

  • :
    • テキスト生成AI(ChatGPTなど)との対話内容をp5.jsでビジュアル化
    • 音声入力を解析してグラフィックやアニメーションを生成

関連例

  • ml5.js:p5.jsと組み合わせて利用できるAIライブラリ。初心者向けで、画像認識や音声処理などを簡単に実装可能。
  • TensorFlow.js:ブラウザ上でモデルを動かし、p5.jsで結果を可視化。

結論

p5.jsはAI専用ではありませんが、AIの可視化やインタラクティブな体験を提供するフロントエンドツールとして非常に強力です。特にブラウザベースのAIアプリケーションや、AIによるアート生成において活用の可能性があります。

参考

p5js : examples
https://p5js.org/examples

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIアーティスト | エンジニア | ライター | 最新のAI技術やトレンド、注目のモデル解説、そして実践に役立つ豊富なリソースまで、幅広い内容を記事にしています。フォローしてねヾ(^^)ノ

コメント

コメント一覧 (1件)

コメントする

目次