物体が回転するアニメーションのプログラム
回転軸の方向はθ(THETA)とφ(PHI)を使って指定します。 もし、回転軸がY
軸の+方向を向いているなら、 θとφはそれぞれ90度と90度ということになりま
す。 回転速度は1ならゆっくりで、10なら相当速くなります。 回転数は描画が終了
するまでの物体の回転数です。 これを10に設定すれば、物体が10回転した後に
図形の描画は終了します。回転の方向は、1なら時計回りで、−1なら反時計回り
となります。ただし、回転軸を上から見たときの方向です。物体の中心を座標の原
点にとっているため、 投影図を映す二次元平面はY軸の−領域にあり、一方、視
点はY軸の+領域にあります。 目安として、 二次元平面のY座標値は−100で、
視点のY座標値は1000ぐらいにセットしてみてください。物体の頂点の座標値は
ファイルから読み込むようになっています ( 点をどのように結ぶかは、外部副プロ
グラム内で指定している)。 汎用性を持たせるようにプログラムを修正すると、 い
ろいろな図形に対応し易くなると思います。トライしてみてください。
以下に、十進BASICを使って作成したアニメーションのプログラムを示します。
上記のプログラムにおいて、 ファイルから読み込んでいる物体の頂点座標値は次
のようになっています。
頂点A->(40、0、0)
頂点B->(0、40、0)
頂点C->(−40、0、0)
頂点D->(0、−40、0)
頂点E->(0、0、40)
頂点F->(0、0、−40)
物体(立体図形を)を任意の回転軸で回転させたり、 任意の方向から見た投影図
を描画させるテクニックは、 3D CAD(Computer Aided Design)や物理法則
を忠実に守った、よりリアリティーのあるアニメーションの基本です。 回転変換など
の数学も含めて、よく勉強してみてください。