Rest Term

Vector3D/Matrix3Dの練習

fp10_3d
>> demo
(※要FlashPlayer10 マウス操作で回転を制御できます)

ここ最近のエントリーはフーリエ変換とか小難しい内容が多かったので少し息抜き。
遅ればせながらFlashPlayer10で追加された3D関連の機能を使う練習です。
今回はVector3D/Matrix3Dクラスを使いました。

Matrix3Dクラスには平行移動/回転/拡大・縮小などの基本的な操作を行うメソッドが用意されていて、
変換行列の前掛けと後掛けでprepend~、append~に分かれています。
今回のデモのように、立方体の重心を基準点にして回転させたい場合は、
・親インスタンス(DisplayObject)の基準点に平行移動 → 回転 → 元の位置に戻す
という手順で操作します。
詳しくはFlash Player 10で新たに加わった3Dの行列とベクトルを使ってみる - F-siteセミナーを参考に。

空間充填曲線なので次数を上げれば線だけで面を塗ることもできますが、やはり高次の曲線で描くと重いです。
(曲線の頂点数は6次:約24000、7次:約98000、8次:約390000)

今回使ったメソッド以外にもいろいろ用意されてるようなので、それらについても調べていこうと思います。
Papervision3Dも最近は全く触ってないんですが、すっかり中身が変わってたらどうしよう。。

・ソースコード
(Ralph Hauwertさん作の SimpleZSorterクラスを利用しています)

あわせて読む:

 

Tags: ,

Comments

No comments so far.

  • Leave a Reply
     
    Your gravatar
    Your Name