代码之家  ›  专栏  ›  技术社区  ›  colinmarc

椭圆弧长

  •  4
  • colinmarc  · 技术社区  · 15 年前

    给了一分 P 在由轴定义的“标准”椭圆上 a, b ,以及弧长 s ,我怎样才能找到一个点 Q ,也在椭圆上,也就是 s 顺时针沿着椭圆曲线从 P 如果我从 沿着椭圆曲线走一段距离 Q 在不破坏计算银行的情况下编程?

    一种易于使用、计算成本低廉、相当精确的近似方法。

    编辑:

    3 回复  |  直到 15 年前
        1
  •  3
  •   Vitor Py    15 年前

    你需要积分椭圆方程。其实并不难。

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

    因为您使用的是python,所以Runge-Kutta for integration在这里是用python实现的(不过,我不知道许可证):

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

    就在mathforum解的第3步和第4步,你已经有了ds(弧长)的值,你想要dx。

        2
  •  1
  •   unutbu    15 年前

    你可以用 scipy.special.ellipeinc 计算弧长(更多细节由罗杰斯塔福德提供 here .)

    memoize decorator 缓存以前(arclength)函数调用的结果。

    或者,如您所述,您可以预先计算所需的值,并将它们存储在dict中。

        3
  •  -2
  •   Enrique Reyes    10 年前


    a=1,它的周长和伊莱普相同。那是你的第二次机会。周长为P=2rp x a