沿椭圆测量距离

Ani*_*hag 6 c++ algorithm distance ellipse

假设我们有一个椭圆x ^ 2/a ^ 2 + y ^ 2/b ^ 2.

在椭圆上取一个点(a*cos(t),b*sint(t)),在椭圆上找到另一个点的最快方法是什么,它们之间的距离是给定的d.[d小于pi*a*b].

当我有一个角[四分之一椭圆]并且需要找到一些与'd'分开的点时遇到了这个问题.

Dov*_*Dov 3

椭圆的分段长度是椭圆积分,没有封闭解。

为了计算沿椭圆的距离,您将需要一个数值积分例程。我推荐 Romberg 或高斯求积(在维基百科上查找)。如果您重复执行此操作,请预先计算椭圆周围一堆点的距离,以便您可以快速到达正确的区域,然后开始积分。

您需要平分(在维基百科上查找)才能找到所需的长度。