GLSceneには、ローカル方向を中心とした回転のための 3 つのパラメーター (RollAngle、PitchAngle、TurnAngle) があります。下の画像で、キューブをグローバル方向 (オレンジ色の軸) を中心に回転させるにはどうすればよいですか?
2514 次
3 に答える
7
軸角度回転をオイラー角度に変換する必要があります。このプロセスをコードで詳細に説明するリンクは次のとおりです
。
記事から:
yaw = atan2(y * sin(angle)- x * z * (1 - cos(angle))
, 1 - (y2 + z2 ) * (1 - cos(angle)))
pitch = asin(x * y * (1 - cos(angle)) + z * sin(angle))
roll = atan2(x * sin(angle)-y * z * (1 - cos(angle))
, 1 - (x2 + z2) * (1 - cos(angle)))
編集: ピッチ、ヨー、ロールの命名規則と一致するように変数の名前を変更しました。
于 2011-06-22T17:22:44.070 に答える
3
たぶん、「DummyCube」オブジェクトを親として使用できます。次に、最初にダミーキューブ内のキューブを回転させ、次にDummyCubeを回転させることができます。
于 2011-06-23T18:45:22.333 に答える
1
これは汚いチートですが、オブジェクトが原点 (0,0,0) にあり、シーンにオブジェクトが 1 つしかない場合は、オブジェクトを回転させる代わりに、カメラ (および光源) をオブジェクトの周りでスイングできます。
于 2011-06-22T18:03:42.820 に答える