0
$\begingroup$

I have an ellipse where the radius of x-axis = 100 and y-axis = 30. I have 3 objects where I want to evenly distribute it along the ellipse.

I have already done this for a circle where both axis' are the same, ex: radius x-axis=100 and y-axis = 100. I did:

  • evenSpace = 360/3.

Object1 (x,y) = (100 * cos(120*180*1) , 100 * sin(120*180*1).

Object2 same thing but instead of '1', it's 2.

Object3 same thing but instead of '1', it's 3.

This worked out fine for a circle, but with an ellipse I can't get it to work because the x-axis radius is much longer than the y-axis. Any help people? Thanks in advance.

  • 0
    It depends on what the OP means by "evenly distributed". The responders are using "equal arc length", but another possibility could be "equal area of sectors from the center". These are the same for a circle, but different for an ellipse.2013-07-16

1 Answers 1

1

Under the usual parametrization of ellipse $x=a\cos t$, $b=\sin t$, the arclength function comes out in terms of the elliptic integral of second kind as $ \int_0^t \sqrt{a^2\sin^2 s+b^2\cos^2 s}\,ds = b\int_0^t \sqrt{1-(1-a^2/b^2)\sin^2 s}\,ds $ which in Sage is b*elliptic_e(t,1-(a/b)^2). I divided this ellipse in three arcs of equal length:

three points

using Sage commands

a=100 b=30 t0=find_root(elliptic_e(t,1-(a/b)^2) == (1/3)*elliptic_e(2*pi,1-(a/b)^2), 0, 2*pi) parametric_plot((100*cos(t),30*sin(t)),(t,0,2*pi)) + point([(100*cos(t0),30*sin(t0))],color='black',size=30) + point([(100*cos(-t0),30*sin(-t0))],color='black', size=30) + point([(100,0)],color='black', size=30)