我有一个基于增强现实的游戏项目,但我不想在这里使用任何这些库和插件,因为他们不能做我想做的事情......等等。< / p>
所以我的问题是可以计算 3D世界中2D矩形的旋转吗?如果是,如何?如果没有我该怎么办?
我正在考虑的插图图片:
每个轴上的0旋转(2维中的x,y,z轴??)
3D世界中的0旋转
2D世界中的一些旋转(三维 - > x70,y10,z30)
旋转70,10,30 in 2D
旋转70,10,30 in 3D
那么如何从2D计算3D旋转?像AR游戏一样。他们是如何做到的?
答案 0 :(得分:1)
作为一个重要的先决条件,您必须知道未旋转的矩形上的哪些边缘与旋转的那些边缘相对应。
分别计算每个矩形(A和B)的法线,并计算从A旋转到B =&gt;所需的四元数。 问即可。 (这可能在Eigen或其他游戏数学库中提供)
计算以下内容:
通过 Q 旋转矢量 C 以获得矢量 F 。四元数旋转是大多数3D数学库中可用的另一种常见操作。
计算要从 F 旋转到 D - E =&gt;的四元数的 P 强>
计算最终四元数 R = P * Q ,并根据需要转换为轴角:{{3 }}