【问题标题】:Trigonometry: 3D rotation around center point三角学:围绕中心点的 3D 旋转
【发布时间】:2013-12-17 06:42:39
【问题描述】:

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

我在高中三角学中失败了,虽然我了解 2D 空间中 sin 和 cos 的基本概念,但在投入第三个平面来处理时我不知所措。

基本上,我有这些东西:三个轴中的每一个的中心点、距离和角度。给定这些信息,我想以指定的角度计算距中心点 -distance- 的点。

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

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

【问题讨论】:

    标签: math rotation trigonometry


    【解决方案1】:

    如果您在 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);
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 2013-09-22
      相关资源
      最近更新 更多