Astro de 3D(10) PerspectiveProjection は放棄<1>
2008/06/14 21:00 - Astro
PerspectiveProjection についていろいろ試してみました。
今まで私が得てきた 3D 表現の知識と PerspectiveProjection の挙動とに割と大きな齟齬があり、けっこう使いづらいです。
ちゃんと学べば使いこなせるのかもしれませんが、まだまだ資料が少ないし、自ら解析していこうと思わせるほどの魅力を持ったクラスとも思えません。
それと、私が今まで試みてきた 3D 表現には、ビュー座標(カメラ)が欠落しています。
カメラが無いと、3D 空間内を縦横無尽に動き回るということができません。
ROXIK temporaries. にあるような作品を作るにはカメラが必須。
なのでこれ以上 PerspectiveProjection について検証するのやめにして、ビュー座標の会得に力を注ぎ込みたいと思います。
以下、PerspectiveProjection をあきらめるに至った経緯と今後の展開についてまとめます。
今まで Shape を平面として使用し、rotation[X|Y|Z] や Matrix3D などで所定の場所に配置し立方体を生成、動かすという 3D 表現をエントリーしてきました。
PerspectiveProjection はそういうタイプの 3D 表現でも使えないことはないですが、それよりもむしろ Matrix3D.transformVector と Vector3D の組み合わせのときに使うもののようです。
面ではなくて、頂点に対しておこなう処理という認識をしていた方が良さそう。
というわけで、Matrix3D で頂点を動かすタイプのコーディングをします。
まずは、パースペクティブのないもの、すなわち平行投影によるコーディングから。
なお、形態はここでも立方体を使います。
で、できたサンプルが↓
- ソース (ZIP)
続く。