学生の頃、レイトレーシングのプログラムを組んで、 F1マシンらしき造形の極短いアニメーションを作ったことがありました。
当時の手持ちの環境は98互換機EPSON-286VS。 C言語で書いてTrubo C++でコンパイルして走らせてみたものの、 1枚の絵を描画するのに果てしなく時間がかかる代物。
そこで学校で所属してた熱工学研究室の機材に目をつけて、空いてる時に少々拝借 ;-p)
と言ってもホストPC環境はPC9801RXだったかな? 貧乏研究室だったのでその98に神戸製鋼のトランスピューターボードを挿して、 ボード側で数値計算のプログラムを走らせ、98はI/Oだけを使ってました。
(当時、隣の流体力学の研究室では、Sunのワークステーションがゴロゴロとあって何とうらやましかったことか)
トランスピュータボード付属の「パラレルCコンパイラ」で通るようにプログラムを修正して、 一晩こっそり走らせると視点をグリグリ動かしたアングルで大量の画像ファイルの出来上がり。
画像ファイルをMOディスクに落として後輩のはまちゃんに渡すと、 X68000でパラパラアニメ表示して学園祭で展示してくれました。
そんな懐かしい思い出に浸りつつ、どんなプログラムだったかぼちぼちと思い出してPythonで書いてみます。
今回OpenCVを使いますが、画像ファイルと動画を扱う箇所のimg.pyだけで限定的に使うようにしてます。
あと、一旦ガーっと作ってからバラしてまとめ直して、 さらに一度単純な機能の段階に戻して、再度肉付けして機能を増やしたりして作っていきます。
なので後の段階のために、一見不要な処理が伏線のように出てくるかも知れませんが、あしからず。
以前の「全部のせ」なページ があまりに重いので、章ごとに分割しました。
ここまでの全部のパッチが通るか試してみたら、案の定ひっかかる箇所がありました。
とりあえず、次のスクリプトの手順の実行で V63 が生成できます。
dl.sh$ sh dl.sh : $ ls rt_xxxxxx-x/rt_v63/ :