【发布时间】:2018-11-10 03:51:42
【问题描述】:
我有带有这些参数的函数 glRotatef。
glRotatef(-119.718,-0.58064,-0.575698,-0.575699);
如果我这样做......
glRotatef(-119.718,-0.58064,0.0,0.0);
glRotatef(-119.718,0.0,-0.575698,0.0);
glRotatef(-119.718,0.0,0.0,-0.575699);
我没有得到与使用上述相同的旋转。那么,如何从中获取每个元素(x,y,z)的旋转?
glRotatef(-119.718,-0.58064,-0.575698,-0.575699);
【问题讨论】:
-
您确定要这样做吗?还是您需要?将方向分解为 3 个轴向旋转(又名:欧拉角)通常是糟糕设计的标志。
-
嗯,我想要的是从第一个函数中获得将它们传递给第二种形式的角度。
-
我知道你想要什么。我是说你不应该想要。你想要这些角度来对它们做点什么;我的意思是,您尝试用这些角度做的事情可以通过不涉及这些角度的另一种方式更好地实现。
-
我不怀疑还有其他方法。但我需要这样做。
-
这个问题是一个数学问题而不是程序员问题。阅读Euler angles。