まずはワイヤーフレームから

レイトレーシングの前にアングルの確認とかしたいので、 プレビュー用にワイヤーフレーム表示から入ってみます。

以前にワイヤーフレームは ワイヤーフレームのプログラム で色々とやってみました。

その反省を踏まえて、ごちゃごちゃし過ぎないように、 一部をPythonに持ってきて、簡単な表示だけから試します。

rt_v1.tgz

$ 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秋 クロージャと空クラス を参照してください。