
ダイヤモンドCG
波長による屈折率の違いを考慮したレイトレーシング
ムービー[144 Frames 160x120pixels:364K bytes]
概要
ダイヤモンドやジルコンなど、高屈折率の宝石をブリリアントカッとしたものは七色に輝く。
この輝きをコンピュータ・グラフィックスで再現できないかと思ったのが製作のきっかけ。
静止画については、1995年5月に完成させた。
最近、Power Macintosh G3を購入し、高速処理が可能となったので
ムービーを作成した。
レイ・トレーシングのソフト
参考文献の山本氏のBASICで書かれたプログラムが元になっている。
これをC言語に移植して以下の機能を追加した。
1. 3角形ポリゴンモデルをサポート
2. 屈折モデルを追加
3. RGB個別に屈折率を変えてレイトレーシングを行うように変更
屈折モデルでは、本来表面反射を扱わなければならないが、光線が分岐して
処理が重くなることと、光の分光は屈折に起因していることから、
表面反射を省略して屈折光1本だけをトレースしている。
本来、レイトレーシングは、物体の表面の色を主に扱うのだが透明体にはそれがない。
透明体のモデルでは、光源から物体に最初に侵入する角度によりシェーディングと
同じ演算を行ってその輝度を求めている。今回は、背景は黒、光源色は白色とした。
可視光線は色々な波長の光で出来ている。しかし、CRTなどはRGBの
3色のみですべての色を表現していることから、分光を考慮したレイトレーシングも
3波長だけで十分ではないかと思い、やってみたらそれらしい画像が得られた。
ダイヤモンドの波長による屈折率は以下の通り。
色 |
波長 |
屈折率 |
赤 |
6870Å |
2.407 |
橙 |
5890Å |
2.417 |
緑 |
5720Å |
2.427 |
紫 |
4380Å |
2.451 |
今回は、適当に
色 |
波長 |
屈折率 |
赤(R) |
6870Å |
2.407 |
緑(G) |
5890Å |
2.417 |
青(B) |
5720Å |
2.427 |
とした。
ブリリアントカットモデル
案外探しても、なかなか正しいブリリアントカットモデルの資料がない。
数学的に作図しなければならないので、宝石研磨を扱った専門書を購入することになった。
研磨の手順に従った書き方をしいるので、それでも分かりづらかったが、
規定される角度や寸法のパーセンテージから割り出して、C言語で回転体を作る要領で
モデルを作成した。

参考文献
CQ出版社 「THE 3 DIMENSIONAL COMPUTER・GRAPHICS
パソコンによる3次元グラフィックスの実際」 山本 強著
創元社 「宝石教室 宝石鑑別の理論と実際」 ヒコ・みづの
ISBN4-422-73003-7 C0072 P8000E
フューチャー・ホームページへ戻る
(C)1997 Future on netyou ALL RIGHTS RESERVED.