如何为立方体最可见的一面计算出新的角度和旋转矢量?
原因:用户可以旋转立方体,但完成后我希望立方体吸附到面向用户的一侧。
内容:我目前在 iOS 中使用 CoreAnimation 通过 CATransform3D 进行旋转。我有当前角度和旋转矢量,所以我可以这样做:
CATransform3DMakeRotation(angle, rotationVector[0], rotationVector[1], rotationVector[2]);
附加信息:我目前正在使用 Bill Dudney's Trackball生成运动并计算角度和旋转矢量的代码。
最佳答案
您相机的 lookAt
向量 - 可能是 {0, 0, 1} - 决定哪一侧更接近用户。
您需要为立方体的每一面创建法线。然后以与立方体相同的方式旋转它们。之后,使用点积计算每个法线向量与相机 lookAt
向量之间的角度。具有最大点积的法线是最靠近相机的一侧。
关于ios - 旋转 3D 立方体,使一面朝向用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521626/