座標系の原点位置制御
これまで扱ってきた座標系の移動や歩行は、 現在の座標系の位置を基準に、追加的に移動する方法でした。 しかし場合によっては、 座標系の原点位置を直接的に制御したい場合もあります。 ここでは、そのような座標系の位置制御について扱います。
座標系の原点位置制御
原点位置の指定
座標系の原点位置を直接的に指定するには、 setCoordinateLocation 関数を使用します。
- 関数仕様 -
int coordinateID,
float x, float y, float z
)
最初の引数coordinateIDでは、設定対象の座標系のIDを指定します。 続く引数x、y、zでは、それぞれ原点位置のX、Y、Z方向の成分を指定します。
原点位置の取得
座標系の原点位置を取得するには、 getCoordinateLocation 関数を使用します。
- 関数仕様 -
戻り値には、 [0]、[1]、[2]にそれぞれ原点位置のX、Y、Z成分が返されます。 引数coordinateIDには、取得対象の座標系のIDを指定します。
プログラム例
実際にローカル座標系をワールド座標系の上に配置し、 原点位置の指定によってアニメーション的に移動させてみましょう。 区別しやすくするために、ローカル座標系には小さめの座標軸モデルを、 ワールド座標系には大きめの座標軸モデルを配置します。
このプログラムを実行すると、黒い画面に座標軸モデルが表示されます。座標軸モデルは大きいものがワールド座標系の上に、小さいものがローカル座標系の上に配置されています。 ローカル座標系は、リサージュ曲線を描きながら複雑に運動します。