3d 向三维空间中的对象旋转

3d 向三维空间中的对象旋转,3d,trigonometry,3d,Trigonometry,我在3d空间的2d平面上有两个坐标,我正试图旋转一个坐标(一个向量)来面对另一个坐标。我的垂直轴是y轴,因此如果两个坐标都位于2d平面上,则它们的y轴都为0,并且它们的x和z坐标决定了它们在平面上的位置长度/宽度。现在,我正在这样计算角度(语言不可知论): 我在空间中旋转/平移,如下所示: pushMatrix(); rotateY(angle); popMatrix(); 但这似乎不起作用。我的计算/过程正确吗?我真的不理解你的问题(见我的评论),但如果你想寻找两个向量之间弧度的角度差,就取

我在3d空间的2d平面上有两个坐标,我正试图旋转一个坐标(一个向量)来面对另一个坐标。我的垂直轴是y轴,因此如果两个坐标都位于2d平面上,则它们的y轴都为0,并且它们的x和z坐标决定了它们在平面上的位置长度/宽度。现在,我正在这样计算角度(语言不可知论):

我在空间中旋转/平移,如下所示:

pushMatrix();
rotateY(angle);
popMatrix();

但这似乎不起作用。我的计算/过程正确吗?

我真的不理解你的问题(见我的评论),但如果你想寻找两个向量之间弧度的角度差,就取它们的点积的弧cos。点积中的向量必须归一化


您使用的是tan,或者我不明白您想要做什么,或者使用tan是错误的。

“我在2d平面上有两个坐标”“并且正在尝试旋转一个坐标(图像)以面对另一个坐标“a)坐标怎么可能是图像?B) 坐标“面对”什么?对不起,它应该是“向量”,“二维平面”,而不是“图像”?你能说得更具体些吗?正如克里斯所说,你的问题毫无意义;坐标没有方向。凹凸!!!我也想知道更多关于这方面的信息,维基百科上有很多关于这方面的文章,但我没有心情去解读它们的数学符号。。。在弧光上用你的。。。我不认为这是你想要使用的比率。
pushMatrix();
rotateY(angle);
popMatrix();