Math 如何从三维四元数旋转中获取二维角度?
我想知道如何从三维四元数旋转中获得二维角度? 例如,我有一个3d骨骼,我想让我的2d精灵跟随2d正交摄影机中头部骨骼的旋转 谢谢你的回答Math 如何从三维四元数旋转中获取二维角度?,math,2d,quaternions,Math,2d,Quaternions,我想知道如何从三维四元数旋转中获得二维角度? 例如,我有一个3d骨骼,我想让我的2d精灵跟随2d正交摄影机中头部骨骼的旋转 谢谢你的回答 有什么办法吗?也许你应该应用3D旋转,然后执行2D投影以获得你想要的位置。不知道为什么你需要一个角度-你可以展示一个示例图像吗?谢谢@Roger,但是我没有任何图像,我只是用LibGDX测试,似乎我可以通过float angle=(float)(2*Math.acos(rotation.w));这里的旋转是四元数,但在骨骼旋转超过180度后,精灵会翻转方向。我
有什么办法吗?也许你应该应用3D旋转,然后执行2D投影以获得你想要的位置。不知道为什么你需要一个角度-你可以展示一个示例图像吗?谢谢@Roger,但是我没有任何图像,我只是用LibGDX测试,似乎我可以通过float angle=(float)(2*Math.acos(rotation.w));这里的旋转是四元数,但在骨骼旋转超过180度后,精灵会翻转方向。我想的是,你有一对3D坐标(表示骨骼的端点)投影到2D(你得到一个2D向量),然后你将四元数应用到3D坐标并再次投影到2D(获取另一个2D向量)。然后使用第一个和第二个2D向量之间的角度来获取所需内容。@Roger这是一个类似OpenGL渲染系统中使用的解决方案,我找到了一些文章并试图找到一个好的解决方案。还将测试您的方式,似乎合理。