我想計算三維空間中圓弧與點之間的距離。我所發現的是一個圓,一個點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
感謝您提供第一個問題所需的附加信息。我已經給出了答案。對於你的第二個問題,圓弧是如何定義的?顯然它是圈子的一部分,但你如何陳述哪個部分? –