我有一个以radius=1为中心的球体origin=(0, 0, 0)。在这个领域,我有几点我知道的(见图)。现在我想根据这个规则找到新的点:
通过平分球面上两点之间的距离得到一个新点。
在这个例子中(见图),我们可以假设我想找到“FT7”和“FCz”之间的中点。我有“FT7”和“FCz”的 xyz(和球面)坐标。
根据我之前的研究,这可能涉及计算大圆距离……然后找到所得弧上的中点。但我什至不知道如何做到这一点,也不知道这是否是正确的方法。
最后,这个问题可能在某些数学网站上更合适地提出,但我希望有一种计算和直观的方法来解决这个问题。
找到“中点”的一种简单方法是以下两步过程:
如果你的两个点是(x1, y1, z1)和(x2, y2, z2),那么中点是
((x1+x2)/2, (y1+y2)/2, (z1+z2)/2)
Run Code Online (Sandbox Code Playgroud)
我们就这样称呼吧(x3, y3, z3)。该点到原点的距离是sqrt(x3^2 + y3^2 + z3^2)——让我们称之为L。如果该点是原点,L则为零,并且根据您的定义,没有“中点”。否则,您想要的“中点”是
(x3/L, y3/L, x3/L)
Run Code Online (Sandbox Code Playgroud)
因为你的球体有半径1。如果半径是其他值,请将这些坐标乘以半径。一些编程语言可以使计算变得更简单——一些编程语言已经提供了标准化功能。