Math 给定向量的椭圆到边的距离

Math 给定向量的椭圆到边的距离,math,vector,ellipse,gml,Math,Vector,Ellipse,Gml,我想弄明白这一点已经有一段时间了,但还没有找到答案。 鉴于: 椭圆的高度, 椭圆的宽度, 向量的位置, 向量的位置, 向量的方向 找到到圆边缘的距离 下面是一个简单的图表: 我无意中看到了这篇文章:但这是一个圆,而不是椭圆 这是我第一次在这里发帖。我将非常感谢任何有关这方面的帮助或指点 一种相当简单的方法是以笛卡尔形式表示椭圆和向量 x^2/a^2+y^2/b^2=1,其中a&b是半长轴(宽度的一半)和半短轴(高度的一半)的长度,并且假定椭圆的中心位于(0,0) 及 y-ypos=m(x-xp

我想弄明白这一点已经有一段时间了,但还没有找到答案。 鉴于: 椭圆的高度, 椭圆的宽度, 向量的位置, 向量的位置, 向量的方向

找到到圆边缘的距离

下面是一个简单的图表:

我无意中看到了这篇文章:但这是一个圆,而不是椭圆


这是我第一次在这里发帖。我将非常感谢任何有关这方面的帮助或指点

一种相当简单的方法是以笛卡尔形式表示椭圆和向量

x^2/a^2+y^2/b^2=1,其中a&b是半长轴(宽度的一半)和半短轴(高度的一半)的长度,并且假定椭圆的中心位于(0,0)

y-ypos=m(x-xpos),其中xpos和ypos是向量的位置,m是斜率,它与x轴形成的角度(方向)的余弦

将它们一起求解以获得截距,并使用毕达哥拉斯计算距离

这假设椭圆的中心位于(0,0),且轴平行于x和y坐标轴。如果不是这样的话,你需要一个更一般的椭圆方程,这个方程会被详细讨论

正如维尔丹在评论中指出的那样,你可以得到0、1或2个解决方案

如果向量从椭圆外开始并完全忽略它,则为0

如果向量与椭圆相切,则为1

2如果向量通过椭圆或其起点在椭圆内

对于两种解决方案,0、1或2可能有效

如果向量方向指向远离椭圆的方向,则解是倒数向量,即指向相反方向180度的向量。这也可能适用于切线解决方案。因此,根据您的条件,解决方案无效

如果起点在椭圆内,则一个解将用于所需结果,另一个解用于倒数向量。因此,只有一个解决方案是有效的


如果向量通过椭圆,则两个解都有效,如果忽略最远的一个,则您可以选择。

基本上,您需要建立一个方程组,一个方程用于椭圆,另一个方程用于向量所属的直线。求解该问题将为交点生成0、1或2个解(当交点不相交时,直线仅接触椭圆时,以及当直线与椭圆相交时)。然后,考虑到向量的起点、方向和长度,可以检查这些点是否属于向量。