Math 椭圆弧长
给定轴Math 椭圆弧长,math,Math,给定轴a、b定义的“标准”椭圆上的点p,以及弧长s,我如何在椭圆上找到点Q,也就是说,s从P顺时针沿着椭圆曲线,这样,如果我从P开始,沿着椭圆曲线“走”一段距离s,我会通过编程达到Q,而不会破坏计算库 我听说这可以通过某种椭圆积分来计算,但我需要快速地做一系列的计算。我要寻找的是一种易于使用、计算成本低廉且相当精确的近似方法。或者至少是一种可以作为其中一种或两种方法的方法。我将用python实现这一点 编辑:或者,我可能被迫创建椭圆周围位置值的查找表(我可能只需要10个不同的椭圆)。我应该怎么做
a、b
定义的“标准”椭圆上的点p
,以及弧长s
,我如何在椭圆上找到点Q
,也就是说,s
从P
顺时针沿着椭圆曲线,这样,如果我从P
开始,沿着椭圆曲线“走”一段距离s
,我会通过编程达到Q
,而不会破坏计算库
我听说这可以通过某种椭圆积分来计算,但我需要快速地做一系列的计算。我要寻找的是一种易于使用、计算成本低廉且相当精确的近似方法。或者至少是一种可以作为其中一种或两种方法的方法。我将用python实现这一点
编辑:或者,我可能被迫创建椭圆周围位置值的查找表(我可能只需要10个不同的椭圆)。我应该怎么做?我可以用什么方法来填充它?你需要积分椭圆方程。其实并不难 看看这里的方程式: 因为您使用的是python,所以这里使用python实现了Runge Kutta for integration(尽管我不知道许可证): 在mathforum解决方案的第3步和第4步中,您已经有了ds(弧长)的值,并且您想要dx 找到dx后,使用步骤6找到y。您可以使用来计算弧长。(更多细节由罗杰·斯塔福德提供。) 如果速度不够快,可以将arclength计算包装在函数中,并使用缓存先前(arclength)函数调用的结果
或者,正如您所提到的,您可以预先计算所需的值,并将它们存储在一个目录中。为了解决您需要的问题,您需要一个猜想:单位elipse中有一个圆
a=1,它的周长与elipse相同。这个perim是2πrp。周长P=2πrp x a一致;真正的数学积分在计算上是最简单、最精确的。我认为提问者试图避免的是or意义上的“整合”,即在某一点上添加微小的
ds
,直到你达到所需的s
。什么是p
,r
,以及a
?最初的问题是沿着椭圆的一部分求弧长。你似乎在说,要找到整个椭圆的周长,你需要找到一个周长相同的圆的周长。这和“要找到周界,首先要找到周界”是一样的。