求点到椭圆的最短距离仿佛一直是个没有最佳方法的问题。
设椭圆为标准方程形式,长轴a,短轴b:
x^2/a^2 + y^2/b^2 = 1
椭圆外一点p0(x0,y0)
一般思路是找一条过该点与椭圆垂直并过垂点p1(x1,y1)的直线,然后再求直线与p1与p0的距离作为结果。
在此为了简化问题,作假设:点p0和p1同在第一象限。
但上述思路会涉及到解一元四次方程的问题,最终解起来又很困难。网上已经有人给出了上述思路,但没有在解一元四次方程上给出方案,在此请写出具体步骤,以及(如果能归纳出来的话)最短距离的式子。
除了上述思路,如果还有其他方法的话也欢迎赐教。请写出具体计算步骤。
另外,有人将p0与椭圆中心,即长短轴交点连接起来,把椭圆与此直线交点作为p1,并将p0与p1间的距离作为最短距离的近似解。请问这样的近似解与真实最短距离的误差怎样分析?
谢谢!
补充(1)
谢谢大家的解答。但看到的答案大多都是思路性的,或者仅仅列出方程。实际列出方程并不是难事,关键是在如何计算上;在网上搜罗到的思路大多都无法简单求得多项式解,比如提问中说到的这个思路。因此如果有好方法的话,麻烦把每一步,直至最终距离的计算结果,用公式写下来,以便于理解。一经认可立即采纳,谢谢!
补充(2)
看到大家回答的都是思路性的,这个问题之所以提出来是因为具体计算的时候遇到困难无法解决,请写出最终答案,谢谢。
补充(3)
谢谢xiongxionghy的耐心解答。也许解方程没有并没有那么简单,如果对自己数学有自信的话可以试试看。至今找到的令我满意的方法只有2004年D.Eberly总结的牛顿迭代法。
但由于我程序中需要计算大量这样的距离,这个方法不免会引起计算时间的问题。在上面我也写了一个近似求解的方法,虽然可以大大缩短迭代法的时间,但计算精度却不高。因此想求教一个普通的多项式解来解决时间和精度的问题。
补充(4)
不是觉得算到底是“应该”。而是大家提供的方程式提问之前就搜索出来了,解方程才是这个问题未解决的部分。自己要是水平够高,能解决的话,也不会在这里发问了。
椭圆外一点到椭圆的最值距离(任意点到椭圆的两个最值距离)
求解椭圆外一点到椭圆上的点的距离之最大值和最小值,这个问题由来已久。高中阶段在学习圆锥曲线时会涉猎这个问题,但是常规思路都会步入一元四次方程的领域,求解一元四次方程的超凡计算量让人望而生畏,能从理论上解决问题而不具操作性,因此只能是浅尝辄止。本文利用二次曲线系及其退化、最简单形式的一元三次方程以及二元二次多项式在实域内的因式分解等相关初等知识来处理,从而逃脱一元四次方程的求解,实际上也表达了求解一元四次方程的另一数形结合途径。
这个是本人的论文,共十几页很多公式没法在这里弄
最终结论
判断P点与直线y=xa/b的位置关系,代入相应公式即可求解
本人搜遍互联网均无此答案,前段时间研究一元四次方程的求解,看了网上另一篇获奖论文《椭圆外一点到椭圆的距离最值问题初探》,意在探索四次方程求法,可是该论文最后公式错误,并没有解决这两个最值问题,跨越三次方程求解四次方程那真该是是个飞跃啊,所以结论错误也必然。后来我想他既然没有解决这个问题,我就想看看这个问题到底该怎么处理,哎浪费了我不少的时间弄出来这个,因为自己上学时也没怎么弄懂这个问题到底除了四次方程该怎么处理,所以就写了个论文打算帮助曾经和我一样迷惑的同学,需要详细资料可以私信我