math - 椭圆弧长

标签 math

给定一个点 P在轴定义的“规范”椭圆上 a, b , 和弧长 s , 我怎样才能找到一个点 Q ,也在椭圆上,即 sP 沿椭圆曲线顺时针— 如果我从 P 开始并“沿着”椭圆曲线走 s 的距离, 我会到达 Q — 以编程方式且不破坏计算库?

我听说这可以通过某种椭圆积分来计算,但我需要快速地做这件事。我要找的是一种易于使用、计算成本低且相当准确的近似方法。 或者至少是一种方法,它是这些东西中的一两个。我将在 python 中实现它。

编辑:或者,我可能被迫创建一个围绕椭圆的位置值查找表(我可能只需要 10 个不同的椭圆)。我应该怎么做,我可以用什么方法来填充它?

最佳答案

您需要对椭圆方程进行积分。其实并不难。

看看这里的方程:

http://mathforum.org/library/drmath/view/51945.html

由于您使用的是 python,用于集成的 Runge-Kutta 在这里用 Python 实现(不过我不知道许可证):

http://doswa.com/blog/2009/04/21/improved-rk4-implementation/

就在 mathforum 解决方案的第 3 步和第 4 步,您已经有了 ds(弧长)的值并且您想要 dx。

找到 dx 后,使用步骤 6 找到 y。

关于math - 椭圆弧长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3152370/

相关文章:

javascript - 缓出计数器

python - 在 Python 中绘制三个轴上的对数螺线

android - 检测您是否距离兴趣点一公里

C-分区不起作用

c++ - 浮点平方根算法

java - 如何将 double 舍入到最接近的偶数

math - 合并两个统计结果集

arrays - 找到两个集合之间所有可能的双射

Java根据数组列表中的项目计算百分比

java - 如何在 Java 中创建一个随机的 BigDecimal?