三角学:围绕中心点的3D旋转

时间:2013-12-01 14:46:07

标签: math rotation trigonometry

是的,是的,我查看了提供给我的建议问题/答案,但大多数涉及四元数,或者其中包含我甚至不在键盘上的符号。

我在高中时失败了,虽然我理解了二维空间中罪与cos的基本概念,但在投掷第三架飞机来处理时,我感到很茫然。

基本上,我有这些东西:三个轴中的每一个的中心点,距离和角度。鉴于这些信息,我想在指定的角度计算远离中心点的距离。

我不确定我是否正确解释了这一点。如果有人碰巧知道如何做到这一点,我的目的是获得围绕原子核旋转的电子数量。我正在使用Java,JRE 6,如果有任何实用程序类可以提供帮助。

我不想要一个答案,但也想要答案的方式和原因。如果我要学习一些东西,我也想学习它。我不怕上三角学,或四元数如何工作,等等。我不是在寻找答案的整个课程,但至少一些基本的理解会很酷。

1 个答案:

答案 0 :(得分:0)

如果您在2D中执行此操作,则在具有特定x和y坐标的平面上将有一个点。与原点的距离为sqrt(x^2+y^2),角度为atan(y/2)

如果您获得了角度phi和距离r,那么您将计算x= r*cos(phi); y=r*sin(phi);

要在三维中执行此操作,您需要两个角度 - XY平面中的角度和相对于Z轴的角度。调用这些phi和theta,您可以将坐标计算为

X = r*cos(phi)*sin(theta);
Y = r*sin(phi)*sin(theta);
Z = r*cos(theta);

当我有机会时,我会制作一个草图来展示它是如何运作的。