1

立方体の最も目に見える側の新しい角度と回転ベクトルをどのように把握しますか?

理由:ユーザーは立方体を回転させることができますが、終了したら、立方体をユーザーに面する側にスナップさせたいと思います。

内容:現在、iOSでCoreAnimationを使用して、CATransform3Dで回転を行っています。私は現在の角度と回転ベクトルを持っているので、これを行うことができます:

CATransform3DMakeRotation(angle, rotationVector[0], rotationVector[1], rotationVector[2]);

追加情報:私は現在、ビル・ダドニーのトラックボールコードを使用して、動きを生成し、角度と回転のベクトルを計算しています。

紫色の面がユーザーに向くように立方体を回転させる必要があります

4

1 に答える 1

1

カメラのlookAtベクトル (おそらく {0, 0, 1}) によって、どちら側がユーザーに近いかが決まります。

立方体のすべての面に法線を作成する必要があります。次に、立方体と同じように回転させます。その後、lookAt内積を使用して、すべての法線ベクトルとカメラ ベクトルの間の角度を計算します。内積が最大になる法線は、カメラに最も近い側です。

于 2012-05-09T19:24:17.193 に答える