忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

えんぴつのかげ

えんぴつのかげについて考えていたところ、かげが私の予想外の動きをしていることに気がついたので、理解のためにえんぴつの影を描くプログラムを書きました。


えんぴつの影

光の方向:

操作方法

[光の方向]:えんぴつに投げかける光の方向を調節します。

解説

思い違い

私は長年えんぴつの影について勘違いしていました。えんぴつの影は、常に次のようにスムーズにつながって見えると思っていたのです:

しかし現実は違いました。たしかに光が真横から当たるときはそう見えるのですが、そうでないときは全く違う形です:

ギザギザしています!私はずっと、えんぴつの影は全体に渡ってスムーズにつながっているものだと思っていましたが、現実はコーンとシリンダーの間で断絶していたのです。

影がつながらない証明1

よく考えてみれば、つねに影がつながっているわけではないことなど当たり前のことです。というのも光を上から当てれば、どう考えても影の境界線は断絶するからです。この場合、一番上のコーンにのみ光があたり、タテ方向の影の境界線そのものが消滅しているのです。

影がつながらない証明2

別の考え方で影がつながらないことをよりはっきりと理解することもできます。太陽から見たえんぴつを考えてみてください。ご存知のとおり、影は太陽からはどんなに高性能の望遠鏡でも見えません。太陽から遮られているところに影ができるからです。できる影の形を考えるには、太陽から見えない領域を考えてみるとよいのです。

では、えんぴつは太陽からどのように見えるでしょうか?

光の方向:

これは太陽から見たえんぴつを描くプログラムです(えんぴつの構造がわかりやすいようにワイヤーフレーム表示にしてあります)。[光の方向]つまみを動かすと、太陽の位置、つまりえんぴつを見る方向が変化します。

太陽の位置によってコーン部分の見えかたがどう変わるかに注意してください。えんぴつを上の方から見るほど、コーンの見える部分が増えるはずです。高い教壇に立っている先生には落書きをしている生徒の様子がよくわかるように、高いところから見ればコーンの向こう側まで見えるのです。つまり影は小さくなります。一方、コーンを下から見上げると、見える部分は少なくなります。影は大きくなるのです。

つまり、コーン2つと中心の円柱の影の大きさは違って当然なのです。太陽から見える割合が角度によって変わるからです。というわけで、太陽がちょっとでも傾けば、ギザギザした影が出来上がるというわけです。

拍手[0回]

PR