レイトレーシングの前にアングルの確認とかしたいので、 プレビュー用にワイヤーフレーム表示から入ってみます。
以前にワイヤーフレームは ワイヤーフレームのプログラム で色々とやってみました。
その反省を踏まえて、ごちゃごちゃし過ぎないように、 一部をPythonに持ってきて、簡単な表示だけから試します。
$ tar xzf rt_v1.tgz $ cd rt $ ls -l -rw-r--r-- 1 kondoh staff 1936 3 16 20:38 ax.py -rwxr-xr-x 1 kondoh staff 1269 3 16 21:06 cg.py -rw-r--r-- 1 kondoh staff 765 3 16 20:38 cylx.py -rw-r--r-- 1 kondoh staff 710 3 16 20:38 fcx.py -rwxr-xr-x 1 kondoh staff 2889 3 16 20:38 img.py -rw-r--r-- 1 kondoh staff 891 3 16 20:38 line.py -rw-r--r-- 1 kondoh staff 685 3 16 20:38 lstx.py -rw-r--r-- 1 kondoh staff 1777 3 16 20:38 mt.py -rw-r--r-- 1 kondoh staff 3351 3 16 20:38 ut.py -rw-r--r-- 1 kondoh staff 1448 3 16 20:38 v.py -rw-r--r-- 1 kondoh staff 1500 3 16 20:38 vecs.py -rwxr-xr-x 1 kondoh staff 2597 3 16 20:38 way.py -rw-r--r-- 1 kondoh staff 2385 3 16 20:50 wf.py $ ./cg.py eyep=[0,0,0],200,10 sec=10 name=out/wf : $ ls -l out/ | head total 20000 -rw-r--r-- 1 kondoh staff 583325 3 16 21:32 wf.mp4 -rw-r--r-- 1 kondoh staff 32257 3 16 21:31 wf00000.jpg -rw-r--r-- 1 kondoh staff 32474 3 16 21:31 wf00001.jpg -rw-r--r-- 1 kondoh staff 32999 3 16 21:31 wf00002.jpg -rw-r--r-- 1 kondoh staff 32937 3 16 21:31 wf00003.jpg -rw-r--r-- 1 kondoh staff 32903 3 16 21:31 wf00004.jpg -rw-r--r-- 1 kondoh staff 32445 3 16 21:31 wf00005.jpg -rw-r--r-- 1 kondoh staff 30759 3 16 21:31 wf00006.jpg -rw-r--r-- 1 kondoh staff 32098 3 16 21:31 wf00007.jpg
一応、平面と球のつもりです。
ut.py ユーティリティ関数とか mt.py 数学よりな関数とか v.py 3次元ベクトルの処理 line.py 直線 vecs.py 3x3行列関連 ax.py アフィン変換 cylx.py 円筒の変換 fcx.py フォーカスと平面の変換 lstx.py ax cylx fcx の変換を連結、合成して扱う変換 img.py 画像ファイル動画ファイル way.py 視点移動など、時間とともに変化する量や位置を扱う wf.py ワイヤーフレーム描画処理の本体 cg.py データの定義と描画して動画に落とす処理
自己流のクロージャと空クラスの使い方については、 パックマンもどき2017秋 の クロージャと空クラス を参照してください。