找到球体上两点之间的中点

时间:2018-05-21 14:46:50

标签: math geometry

我的radius=1以@ origin=(0, 0, 0)为中心。在这个领域,我知道几点(见图)。现在我想根据这条规则找到新点:

通过将球体上的两个点之间的距离二等分来给出一个新点。

在这个例子中(见图),我们可以假设我想找到" FT7"之间的中点。和" FCz"。我有" FT7"的xyz(和球面)坐标。和" FCz"。

根据我之前的研究,这可能涉及计算great circle distance ...然后在结果弧上找到中点。但我不知道如何做到这一点,以及它是否是正确的方法。

最后,这个问题可能会在一些数学网站上更充分地提出,但我希望采用计算和直观的方法来解决问题。

sphere example image

1 个答案:

答案 0 :(得分:4)

找到“中点”的一个简单方法是分两个步骤:

  1. 计算连接两个给定点的线段的实际中点。如果这两个点不在球体的两侧,那么这个中点将不是原点并且将在球体内。
  2. 将该点标准化,使其远离原点移动到球体上。
  3. 如果您的两个点为(x1, y1, z1)(x2, y2, z2),则中点为

    ((x1+x2)/2, (y1+y2)/2, (z1+z2)/2)
    

    我们称之为(x3, y3, z3)。该点与原点的距离为sqrt(x3^2 + y3^2 + z3^2) - 让我们称之为L。如果该点是原点,L为零,并且您的定义没有“中点”。否则,您所需的“中点”是

    (x3/L, y3/L, x3/L)
    

    因为您的球体具有半径1。如果半径是其他的,则将这些坐标乘以半径。一些编程语言可以使计算更简单 - 有些已经具有规范化功能。