主題
Search

點到二次曲線的距離


PointQuadraticCurve

要找到平面上一點 (x_0,y_0) 和一條二次平面曲線之間的最小距離

 y=a_0+a_1x+a_2x^2,
(1)

注意到距離的平方是

r^2=(x-x_0)^2+(y-y_0)^2
(2)
=(x-x_0)^2+(a_0+a_1x+a_2x^2-y_0)^2.
(3)
PointQuadraticDistance

最小化距離的平方等價於最小化距離 (因為 r^2|r| 在同一點取得最小值), 所以取

 (partial(r^2))/(partialx)=2(x-x_0)+2(a_0+a_1x+a_2x^2-y_0)(a_1+2a_2x)=0.
(4)

展開後,

x-x_0+a_0a_1+a_1^2x+a_1a_2x^2-a_1y_0+2a_0a_2x+2a_1a_2x^2+2a_2^2x^3-2a_2y_0x=0
(5)
2a_2^2x^3+3a_1a_2x^2+(a_1^2+2a_0a_2-2a_2y_0+1)x+(a_0a_1-a_1y_0-x_0)=0.
(6)

最小化距離以找到最近點 (x^*,y^*) 因此需要求解三次方程


另請參閱

點到直線的距離 -- 二維

使用 探索

請引用為

韋斯坦因,埃裡克·W. "點到二次曲線的距離。" 來自 ——Wolfram 網路資源。 https://mathworld.tw/Point-QuadraticDistance.html

主題分類