【发布时间】:2011-01-05 09:56:37
【问题描述】:
我有一个立方体,我想使用鼠标移动来旋转它。因此,如果我将鼠标向左移动,它会旋转,就好像rotationX 增加了一样。当我向右移动时,rotationX 会增加。上下移动会改变旋转 Y。
只要您只修改一个维度(rotationX 或 rotationY),这看起来很好。但是如果我已经更改了 rotationX 然后尝试修改 rotationY 结果很奇怪。如果rotationX 为180,则rotationY 效果会反转。它基本上是非常不可预测的,当然不适合用户。
我试图环顾四周(失败),阅读有关四元数的内容(无法理解),尝试了一些非常复杂的三角函数计算(把自己弄傻了),所以我现在被困住了。我发现了这个 SO 问题 Best way to translate mouse drag motion into 3d rotation of an object 但这对我没有一点帮助,我真的无法理解任何答案。
AS3 中一个完整的、有效的解决方案/算法将是最好的,但我们将非常感谢一些伪代码或只是清晰的解释。
【问题讨论】:
标签: flash actionscript-3 3d rotation