000000 ランダム
 HOME | DIARY | PROFILE 【お気に入りブログ登録】 【ログイン】

CPUを作ろう ~計算機教材とマイコンと電子工作~

自作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);
}



Copyright (c) 1997-2018 Rakuten, Inc. All Rights Reserved.