--
-- Approximation for ellipse perimeters -- By Kurt Eisemann-- P = 4a + b + 1.2832*b^2/a -- for ALL semi-axes a,b; |error| < 1.3%. -- (When bÇa, you may prefer the simpler form -- P = 4a + b + 1.3*b^2/a) -- xy is from a table of elliptic integrals xy = { {0, 1.0000}, {3, 1.0053}, {7, 1.0223}, {8, 1.0278}, {9, 1.0338}, {15, 1.0764}, {20, 1.1184}, {30, 1.2111}, {40, 1.3055}, {50, 1.3931}, {60, 1.4675}, {70, 1.5238}, {80, 1.5589}, {90, 1.5708} } n=count(xy) Xmin=0 -- line Xmax=1 -- circle theta[i]=xy[i,1] dim[n] -- =arccos(eccentricity) s[i]=sin(theta[i]) dim[n] -- =b/a -- plots are for P/(4*a) versus b/a exact[i]={s[i],xy[i,2]} dim[n] point[i]=1+0.25*s[i]+0.3208*s[i]^2 dim[n] approx[i]={s[i],point[i]}dim[n] ApproxTenPi=20*approx[n,2] Xdiv=0.15; Ydiv:=0.05: plot approx plotline approx plot exact plotline exact label ApproxTenPi:31.416 newaxis error[i]={s[i],100*(approx[i,2]-exact[i,2])/exact[i,2]} dim[n] Ydiv:=0.2: plot error plotline error