1

如何计算立方体最明显一侧的新角度和旋转矢量?

原因:用户可以旋转立方体,但完成后我希望立方体捕捉到面向用户的一侧。

内容:我目前在 iOS 中使用 CoreAnimation 来使用 CATransform3D 进行旋转。我有当前角度和旋转向量,所以我可以这样做:

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

附加信息:我目前正在使用Bill Dudney 的轨迹球代码来生成运动并计算角度和旋转矢量。

我需要立方体旋转,所以紫色的一面朝向用户

4

1 回答 1

1

您的相机lookAt矢量 - 可能是 {0, 0, 1} - 决定了哪一侧更靠近用户。

您需要为立方体的每一面创建法线。然后以与立方体相同的方式旋转它们。之后,lookAt使用点积计算每个法线向量和相机向量之间的角度。具有最大点积的法线是最靠近相机的一侧。

于 2012-05-09T19:24:17.193 回答