ランダムドットステレオグラムを見ることができますか?

この図の映っているスクリーンの向こう側を見るようにすると、上の点が4個に見えますが、その中の2つが重なるようにスクリーンの位置を調節すると、絵が浮き出てきます。この見方を平行法と言います。

これは、スクラッチで作ったステレオグラムです。

スクラッチのページはこちらです。プログラムも見ることができます。
https://scratch.mit.edu/projects/472043738/

ランダムドットステレオグラムのアニメーションを作るのが夢でした。まず、第一弾として簡単ものを作りました。gifはサイズが小さいので、スクラッチのHPに行って全画面表示で見ると見やすいです。

アニーメーションの方のスクラッチのページはこちらです。
https://scratch.mit.edu/projects/472134893/

簡単な原理の説明です。上から見た図だと思ってください。

スクリーン上のaとa’の位置に同じ色のドットを描くと、Aの位置に像が見える、これが基本原理で、ある意味全てです。

壁を作るには、aとa’から同じ色のドットを右に並べていけばOKです。これで、Aの位置に壁ができます。
Bを見るためには、a’とbが同じドットである必要がありますが、a’の色はすでに決まっているので、bの色も決まります。
結果、aから始まるパターンは、a’からとb’からで繰り返すことになります。

壁の位置がスクリーンに近いほど、繰り返しの間隔は短くなります。

ランダムドットステレオグラムのドットのパターンが繰り返しになるのは、このような原理からなのです。
逆に言えば、何も考えずに繰り返しパターンを描いても、平行法で奥行きのある壁を見ることができます。

あとは、表現したい立体に合わせて、繰り返しパターンの間隔をプログラムで調整すれば、
ランダムドットステレオグラムを作ることができます。

今回スクラッチで作ったものは、簡易的な計算で作ったので紙のようなペラペラの形が前に飛び出しているだけでしたが、次はもっとかっこいい立体を作りたいと思います。