我想计算三维空间中圆弧与点之间的距离。我所发现的是一个圆,一个点link(这是可以错的,或者我犯了一个错误,因为我得到错误的值)之间的距离:三维中点与圆弧之间的距离
P = np.array([1,0,1])
center = np.array([0,0,0])
radius = 1
n2 = np.array([0,0,1])
Delta = P-center
dist_tmp = np.sqrt((n2*Delta)**2 + (np.abs(np.cross(n2, Delta))-radius)**2)
dist = np.linalg.norm(dist_tmp)
我在xy平面有一个圆原点在xyz = 0和半径= 1处。感兴趣的点位于圆圈上方的距离1处。从代码距离的结果是1.73 ..而不是1.
- 什么是正确的点圆距离方程?
- 如何将它扩展到点弧距?
你怎么知道你“得到错误的价值”?即请告诉我们您使用的数据,您得到的结果以及您的预期结果。请参见[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。不要忘记告诉我们'P'和'中心'和'半径'的数据类型。 –
对不起,我的坏。示例/测试输入如下所示。我在x-y平面中有一个圆,起点在x-y-z = 0,半径= 1。感兴趣的点位于圆上方的距离1处。 __进口numpy的作为NP __ P = np.array([1,0,1])__ 中心= np.array([0,0,0])__ 半径= 1 __ N2 = NP。数组([0,0,1])__ 从中我会期望从1的圆的距离 - 结果是1.73。 – user56574
感谢您提供第一个问题所需的附加信息。我已经给出了答案。对于你的第二个问题,圆弧是如何定义的?显然它是圈子的一部分,但你如何陈述哪个部分? –