主题
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.net.cn/Point-QuadraticDistance.html

主题分类