Processing: 3次元に動き回る四角形にカメラ動画を表示
Processing(2.2.1)で、カメラから取り込んだ動画をマウスの動きに合わせて3次元に動き回る四角形に表示。
import processing.video.*; Capture camera; void setup() { size(640, 480, P3D); String[] cameras = Capture.list(); //利用可能な動画入力の配列を取得 if (cameras.length == 0) { println("There are no cameras available for capture."); exit(); } else { println("Available cameras:"); camera = new Capture(this, cameras[0]); //MacのFaceTimeカメラの場合0番目 camera.start(); } noStroke(); //枠線なし } void draw() { if (camera.available()) { camera.read(); } background(255, 0, 0); //背景はとりあえず赤 translate(width/2, height/2, 0); //描画原点を中心に移動 rotateX(mouseY / 200.0); //マウスの縦位置に応じてX軸を中心に回転 rotateY(mouseX / 100.0); //マウスの横位置に応じてY軸を中心に回転 int i = 100; int j = 100; int dim = 100; //正方形を頂点の集合として描く textureMode(IMAGE); beginShape(); texture(camera); //カメラ入力をテクスチャとする。500x500の領域を使用 vertex(i, j, 0, 0, 0); vertex(i+dim, j, 0, 500, 0); vertex(i+dim, j+dim, 0, 500, 500); vertex(i, j+dim, 0, 0, 500); endShape(); }