自作3Dシステム

プラ版を円形に切り出し↓

CIMG3451 コピー.JPG

半分黒いテープを張ってバランスを取るために反対に重り.モータで回転させる↓

CIMG3470 コピー.JPG

Processingで視差をつけて撮った2枚の写真を一定時間感覚で交互に表示させる↓

CIMG3471 コピー.JPG

すると,回転板に目を近づけてモータの回転スピードを加減すると,いっしゅん同期が
取れたときに3Dで見えます.

どんな感じかの動画→ 自作3Dシステム

同期を取るのが難しいので,回転版の方に光センサを仕込んで,Gainerを使って
同期を取って画像を切り替えるように改良してみました.

フォトトランジスタをGainerに接続,赤がコレクタ,茶がエミッタ,100kΩの抵抗で
エミッタフォロワとしてエミッタからアナログ0入力に接続.

CIMG3491.JPG

Processingのコードは,アナログ入力がある値以上かどうかで表示画像を切り替える
かんたんなもの.
あとは,回転板とフォトトランジスタの位置関係をいろいろ変えて画像が左右で上手く
切り替わる場所を探しすと,3Dっぽく見える場所がありました.

CIMG3477 コピー.JPG


Gainerで同期を取った自作3Dシステム

/*
 * Handmade 3D system
 */
import processing.gainer.*;

Gainer gainer;
 
PImage a,b;  // Declare variable "a" and "b" of type PImage

void setup() {
  size(400, 300);

  a = loadImage("left.jpg");  // Load the image into the program  
  b = loadImage("right.jpg");

  gainer = new Gainer(this);
  gainer.beginAnalogInput(); 
 
}

void draw() {  
  if (gainer.analogInput[0]>15) image(b, 0, 0,b.width/2,b.height/2); 
                           else image(a, 0, 0,a.width/2,a.height/2); 
}