« なんだぁ | トップページ | 数学が苦手でも、C.O.F.F.E.E.のMatrixを使えるのか? »

C.O.F.F.E.E.でMatrixは、どう使うんだったっけ?

XPressoが搭載されていなかったころ、COFFEEタグでポリゴンやスプラインのポイント座標をグローバル座標にして他のオブジェクトに適用して、よく遊んでいたんだけど忘れてしまった。どうするんだったっけ?

数学は得意じゃないので、「Matrixは○○だ!!」なんて説明はできないんだけどね。
思い出すまで軽いテスト。テストするのはC4Dじゃなくて自分の脳。

Matrixのメンバ関数は、
SetV0(v)  軸の座標を適用
SetV1(v)  軸のx軸方向を適用
SetV2(v)  軸のy軸方向を適用
SetV3(v)  軸のz軸方向を適用

GetV0()  軸の座標を取得
GetV1()  軸のx軸方向を取得
GetV2()  軸のy軸方向を取得
GetV3()  軸のz軸方向を取得

SetTrans(v)  座標変換の移動の適用?現在のマトリクスの値に適用するんだっけ?
SetScale(s)  座標変換のスケールの適用?それとも座標変換用のマトリクスを生成するんだっけ?
SetRotX(f)  座標変換のx軸回転の適用?
SetRotY(f)  座標変換のy軸回転の適用?
SetRotZ(f)  座標変換のz軸回転の適用?

SetRotHPB(v)  座標変換用にHPB指定でマトリクスを生成する様な?マトリクスを回転させるんだっけ?
SetRotAxis(v , f)  自由な軸で回転?

GetHPB()  マトリクスからヘッド/ピッチ/バンクの取得

GetMulP(v)  マトリクスのポイントの掛け算?座標変換だっけ?
GetMulV(v)  マトリクスとベクトルの掛け算?確か座標変換だったような?
GetMulM(m)  マトリクスとマトリクスの掛け算?座標変換かなぁ?

MulM R(m)  記憶にないなぁ
MulM L(m)  なんだっけ?

Invert()  確かマトリクスを反転するんだっけ?

IsEQ(m)  確かmと同じかどうか
IsNE(m)  確か同じじゃないかどうか、だったような。反転かどうかだったかな?

CopyTo(m)  mにコピーするのか、されるのか忘れてるし
GetClone()  そもそもCopyとCloneの区別が…分かりづらいんだ

もう何がなんだか忘れたね。
SDKと昔のC4Dのプロジェクトファイルを覗いてみるか…

そういえばBaseObjectにもMatrix関連のメンバ関数があったっけ
GetMl()  ローカルマトリクスを取得
GetMln()  これは記憶に無い
GetMg()  グローバルマトリクスを取得
GetMgn()  これも知らん
GetUpMg()  これも知らないけど。もしかして親オブジェクトのグローバルマトリクス?

SetMl(m)  ローカルマトリクスの適用
SetMg(m)  グローバルマトリクスの適用

すっかり忘れてるね…

|

« なんだぁ | トップページ | 数学が苦手でも、C.O.F.F.E.E.のMatrixを使えるのか? »

コメント

この記事へのコメントは終了しました。