Ellipsoid

Author

Eric W. Weisstein
July 11, 2013

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Surfaces/Ellipsoid.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/Ellipsoid.html.

©2013 Wolfram Research, Inc. except for portions noted otherwise

Graphic

Parametric

Ellipsoid[a_,b_,c_]:={a Cos[θ]Sin[ϕ],b Sin[θ]Sin[ϕ],c Cos[ϕ]}

WriteLiveForm[ellipso.m,Show[ParametricPlot3D[Ellipsoid[1.7,1.3,1],{t,0,2Pi},{p,0,Pi},Boxed->False,Axes->False],opts]]

Mercator Parametrization

MercatorEllipsoid[a_,b_,c_]:={a Sech[v]Cos[u],b Sech[v]Sin[u],c Tanh[v]}

g=ParametricPlot3D[Evaluate[MercatorEllipsoid[3,2,1]],{u,0,2Pi},{v,-5,5},Axes->None,Boxed->False]

<<Utilities`LiveGraphics3D`

WriteLiveForm["ellipso2.m",g]//Timing

Inequality

With[{a=3,b=2,c=1},
RegionPlot3D[x^2/a^2+y^2/b^2+z^2/c^2<1,{x,-3,3},{y,-2,2},{z,-1,1},BoxRatios->Automatic]
]

Equations

Numerator[Factor[x^2/a^2+y^2/b^2+z^2/c^2-1]]

Properties

Volume

Solve[x^2/a^2+y^2/b^2+z^2/c^2==1,z]

Integrate[1,{x,-a,a},{y,-b Sqrt[1-x^2/a^2],b Sqrt[1-x^2/a^2]},
{z,-c (Sqrt[1-((x^2)/(a^2))-((y^2)/(b^2))]),c (Sqrt[1-((x^2)/(a^2))-((y^2)/(b^2))])}]

Integrate[Boole[x^2/a^2+y^2/b^2+z^2/c^2<1],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}]//Timing

Integrate[Boole[x^2/a^2+y^2/b^2+z^2/c^2<1],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->a>0&&b>0&&c>0]//Timing

Centroid

Integrate[x Boole[((x^2)/(a^2))+((y^2)/(b^2))+((z^2)/(c^2))<1],{x,0,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->a>0&&b>0&&c>0]//Timing

(((1/4) (a^2) b c π)/((4/3) a b c π))

Integrate[y Boole[((x^2)/(a^2))+((y^2)/(b^2))+((z^2)/(c^2))<1],{x,-∞,∞},{y,0,∞},{z,-∞,∞},Assumptions->a>0&&b>0&&c>0]//Timing

(((1/4) a (b^2) c π)/((4/3) a b c π))

Integrate[z Boole[((x^2)/(a^2))+((y^2)/(b^2))+((z^2)/(c^2))<1],{x,-∞,∞},{y,-∞,∞},{z,0,∞},Assumptions->a>0&&b>0&&c>0]//Timing

(((1/4) a b (c^2) π)/((4/3) a b c π))

Surface Area

S==(∫_0^π)(∫_0^(2 π))sin(ϕ) (Sqrt[(c^2) (sin^2)(ϕ) ((a^2) (sin^2)(θ)+(b^2) (cos^2)(θ))+(a^2) (b^2) (cos^2)(ϕ)])dθdϕ

Via First Fundamental Form

FullSimplify[(Sqrt[ℰ 𝒢-(ℱ^2)]),a>0&&b>0&&c>0&&0<θ<2π&&0<ϕ<π]

With[{a=3,b=2,c=1},NIntegrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{ϕ,0,π},{θ,0,2π}]]

θ first, numerical

With[{a=3,b=2,c=1},NIntegrate[2 (Sqrt[2]) b (Sqrt[(a^2)+(c^2)+((a^2)-(c^2)) Cos[2 ϕ]]) EllipticE[((2 (-(a^2)+(b^2)) (c^2) ((Sin[ϕ])^2))/((b^2) ((a^2)+(c^2)+((a^2)-(c^2)) Cos[2 ϕ])))] Sin[ϕ],{ϕ,0,π}]]

θ first, v5.x

Integrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{θ,0,2π},Assumptions->a>0&&b>0&&c>0&&0<ϕ<π]//Timing

Integrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{θ,0,2π},Assumptions->a>0&&b>0&&c>0&&0<ϕ<π]//Timing

Integrate[2 (Sqrt[2]) b (Sqrt[(a^2)+(c^2)+((a^2)-(c^2)) Cos[2 ϕ]]) EllipticE[((2 (-(a^2)+(b^2)) (c^2) ((Sin[ϕ])^2))/((b^2) ((a^2)+(c^2)+((a^2)-(c^2)) Cos[2 ϕ])))] Sin[ϕ],{ϕ,0,π},Assumptions->a>0&&b>0&&c>0&&0<ϕ<π]//Timing

θ first, v6

Integrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{θ,0,2π},Assumptions->a>0&&b>0&&c>0&&0<ϕ<π]//Timing

Integrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{θ,0,2π},Assumptions->a>0&&b>0&&c>0&&0<ϕ<π]//Timing

Integrate[2 (Sqrt[2]) b (Sqrt[(a^2)+(c^2)+((a^2)-(c^2)) Cos[2 ϕ]]) EllipticE[((2 (-(a^2)+(b^2)) (c^2) ((Sin[ϕ])^2))/((b^2) ((a^2)+(c^2)+((a^2)-(c^2)) Cos[2 ϕ])))] Sin[ϕ],{ϕ,0,π},Assumptions->a>0&&b>0&&c>0&&0<ϕ<π]//Timing

ϕ First, Numeric

With[{a=3,b=2,c=1},NIntegrate[(2 (c^2) ArcCos[((a b)/(c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)])))] ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))+a b (Sqrt[-(a^2) (b^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))])+(Sqrt[-(a^4) (b^4)+(a^2) (b^2) (c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))]))/(2 (Sqrt[(b^2) (c^2) ((Cos[θ])^2)+(a^2) (-(b^2)+(c^2) ((Sin[θ])^2))])),{θ,0,2π}]]

ϕ First, v5.x

Integrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{ϕ,0,π},Assumptions->a>0&&b>0&&c>0&&0<θ<2π]//Timing

FullSimplify[(a b (c π (Sqrt[(((Cos[θ])^2)/(a^2))+(((Sin[θ])^2)/(b^2))])-2 c ArcSin[(1/(c (Sqrt[(((Cos[θ])^2)/(a^2))+(((Sin[θ])^2)/(b^2))])))] (Sqrt[(((Cos[θ])^2)/(a^2))+(((Sin[θ])^2)/(b^2))])+2 (Sqrt[1-(((a^2) (b^2))/((c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))))])))/(4 (Sqrt[1-(((a^2) (b^2))/((c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))))]))+((b^2) (c^2) π ((Cos[θ])^2)+(a^2) (c^2) π ((Sin[θ])^2)-2 (c^2) ArcSin[((a b)/(c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)])))] ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))+2 (Sqrt[(a^2) (b^4) (c^2) ((Cos[θ])^2)+(a^4) (b^2) (-(b^2)+(c^2) ((Sin[θ])^2))]))/(4 c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) (-((b^2)/(c^2))+((Sin[θ])^2))])),a>0&&b>0&&c>0&&0<θ<2π]

Integrate[(2 (c^2) ArcCos[((a b)/(c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)])))] ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))+a b (Sqrt[-(a^2) (b^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))])+(Sqrt[-(a^4) (b^4)+(a^2) (b^2) (c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))]))/(2 (Sqrt[(b^2) (c^2) ((Cos[θ])^2)+(a^2) (-(b^2)+(c^2) ((Sin[θ])^2))])),{θ,0,2π},Assumptions->a>0&&b>0&&c>0]//Timing

ϕ First, v6

Integrate[Sin[ϕ] (Sqrt[(a^2) (b^2) ((Cos[ϕ])^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)) ((Sin[ϕ])^2)]),{ϕ,0,π},Assumptions->a>0&&b>0&&c>0&&0<θ<2π]//Timing

FullSimplify[(a b (c π (Sqrt[(((Cos[θ])^2)/(a^2))+(((Sin[θ])^2)/(b^2))])-2 c ArcSin[(1/(c (Sqrt[(((Cos[θ])^2)/(a^2))+(((Sin[θ])^2)/(b^2))])))] (Sqrt[(((Cos[θ])^2)/(a^2))+(((Sin[θ])^2)/(b^2))])+2 (Sqrt[1-(((a^2) (b^2))/((c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))))])))/(4 (Sqrt[1-(((a^2) (b^2))/((c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))))]))+((b^2) (c^2) π ((Cos[θ])^2)+(a^2) (c^2) π ((Sin[θ])^2)-2 (c^2) ArcSin[((a b)/(c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)])))] ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))+2 (Sqrt[(a^2) (b^4) (c^2) ((Cos[θ])^2)+(a^4) (b^2) (-(b^2)+(c^2) ((Sin[θ])^2))]))/(4 c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) (-((b^2)/(c^2))+((Sin[θ])^2))])),a>0&&b>0&&c>0&&0<θ<2π]

Integrate[(2 (c^2) ArcCos[((a b)/(c (Sqrt[(b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2)])))] ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))+a b (Sqrt[-(a^2) (b^2)+(c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))])+(Sqrt[-(a^4) (b^4)+(a^2) (b^2) (c^2) ((b^2) ((Cos[θ])^2)+(a^2) ((Sin[θ])^2))]))/(2 (Sqrt[(b^2) (c^2) ((Cos[θ])^2)+(a^2) (-(b^2)+(c^2) ((Sin[θ])^2))])),{θ,0,2π},Assumptions->a>0&&b>0&&c>0]//Timing

S==2 π (b (Sqrt[(a^2)-(c^2)]) (EllipticE2[(JacobiAmplitude[θ, m]), m])+((θ (b (c^2)))/(Sqrt[(a^2)-(c^2)]))+(c^2))

Bowman p. 32

Numeric

(((((Sqrt[b^2-c^2]/b)/(Sqrt[a^2-c^2]/a))))^2)

EllipsoidSurfaceArea3[a_,b_,c_]:=Module[{
e1=Sqrt[a^2-c^2]/a,
e2=Sqrt[b^2-c^2]/b,
m,θ
},
m=(e2/e1)^2;
θ=InverseJacobiSN[e1,m];
{θ,2 π ((c^2)+((b (c^2))/(Sqrt[(a^2)-(c^2)]))θ+ b(Sqrt[(a^2)-(c^2)]) EllipticE[JacobiAmplitude[θ,m],m])}
]

EllipsoidSurfaceArea3[3,2,1]//N

S==2 π ((((b (c^2)) (EllipticF[ϕ, m]))/(Sqrt[(a^2)-(c^2)]))+b (Sqrt[(a^2)-(c^2)]) (EllipticE2[ϕ, m])+(c^2))

Ken Wolfram

EllipsoidSurfaceArea4[a_,b_,c_]:=Module[{
m=((a^2)/(b^2))(((b^2)-(c^2))/((a^2)-(c^2))),
ϕ=ArcSin[(Sqrt[1-((c^2)/(a^2))])]
},
{ϕ,2 π ((c^2)+((b (c^2))/(Sqrt[(a^2)-(c^2)]))EllipticF[ϕ,m]+ b(Sqrt[(a^2)-(c^2)]) EllipticE[ϕ,m])}
]

EllipsoidSurfaceArea4[3,2,1]//N

v5.x

FullSimplify[2Pi a b JacobiNS[θ,m] Integrate[(((JacobiDN[θ,m])^2)/((JacobiDN[u,m])^2))+(((JacobiCN[θ,m])^2)/((JacobiCN[u,m])^2)),{u,0,θ}]]

expr=Expand[Simplify[(1-m)( JacobiNS[θ,m] (m EllipticE[JacobiAmplitude[θ,m],m] ((JacobiCN[θ,m])^4)-EllipticE[JacobiAmplitude[θ,m],m] ((JacobiDN[θ,m])^4)+(-1+m) JacobiCN[θ,m] ((JacobiDN[θ,m])^2) JacobiSN[θ,m] JacobiDN[θ,m]-(-1+m) ((JacobiCN[θ,m])^2) (EllipticE[JacobiAmplitude[θ,m],m]-θ JacobiDN[θ,m]  JacobiDN[θ,m])))/((-1+m) JacobiDN[θ,m]  JacobiDN[θ,m])]]

Simplify[Expand[Simplify[((2 a b π)/(1-m))expr/.{
HoldPattern[JacobiCN[x__]]:>(Sqrt[1-JacobiSN[x]^2]),
HoldPattern[JacobiNS[x__]]:>1/JacobiSN[x],
HoldPattern[JacobiDN[x__]]:>(Sqrt[1-m JacobiSN[x]^2])
}/. JacobiSN[θ,m]:>Sqrt[a^2-c^2]/a,a>0&&c>0]]]

FullSimplify[(1/(Sqrt[(a^2)-(c^2)]))(2 b π ((a (Sqrt[(c^2)-((c^4)/(a^2))]) (Sqrt[1-m+(((c^2) m)/(a^2))])/.m->(((Sqrt[b^2-c^2]/b)/(Sqrt[a^2-c^2]/a)))^2)+(c^2) θ+((a^2)-(c^2)) EllipticE[JacobiAmplitude[θ,m],m])),a>0&&b>0&&c>0]

v6

FullSimplify[2Pi a b JacobiNS[θ,m] Integrate[(((JacobiDN[θ,m])^2)/((JacobiDN[u,m])^2))+(((JacobiCN[θ,m])^2)/((JacobiCN[u,m])^2)),{u,0,θ}]]

Limiting Cases

Spheroid

Limit[s,b->a]//Timing

Limit[s,c->a]//Timing

Sphere

Limit[Limit[s,b->a],c->a]

Moments of Inertia

With[{ρ=(M/((4/3)π a b c))},ρ Integrate[{{y^2+z^2,-x y,-x z},
{-x y,z^2+x^2,-y z},
{-x z,-y z,x^2+y^2}}Boole[((x^2)/(a^2))+((y^2)/(b^2))+((z^2)/(c^2))<1],
{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->a>0&&b>0&&c>0]
]//TraditionalForm

(({{(1/5) ((b^2)+(c^2)) M, 0, 0}, {0, (1/5) ((a^2)+(c^2)) M, 0}, {0, 0, (1/5) ((a^2)+(b^2)) M}}))/.M->1

Metric Properties

Metric Tensor

MetricTensor[{a Cos[u]Sin[v],b Sin[u]Sin[v],c Cos[v]},{u,v}]//FullSimplify

Christoffel Symbol of the Second Kind

FullSimplify[ChristoffelSymbols[{a Cos[u]Sin[v],b Sin[u]Sin[v],c Cos[v]},{u,v}],0<v<π]

TraditionalForm[%]

Surface Properties

ellipsoid={a Cos[u]Sin[v],b Sin[u]Sin[v],c Cos[v]};

Gaussian Curvature

FullSimplify[GaussianCurvature[ellipsoid,{u,v}],0<c<b<a&&0<u<2π&&0<v<π]

GaussianCurvature[-(a^2) (b^2) (c^2)+(b^2) (c^2) (x^2)+(a^2) (c^2) (y^2)+(a^2) (b^2) (z^2),{x,y,z}]//FullSimplify

Mean Curvature

FullSimplify[MeanCurvature[ellipsoid,{u,v}],0<c<b<a&&0<u<2π&&0<v<π]

Factor[((a b c (3 ((a^2)+(b^2))+2 (c^2)+((a^2)+(b^2)-2 (c^2)) Cos[2 v]+2 (-(a^2)+(b^2)) Cos[2 u] ((Sin[v])^2)))/(8 ((((a^2) (b^2) ((Cos[v])^2)+(c^2) ((b^2) ((Cos[u])^2)+(a^2) ((Sin[u])^2)) ((Sin[v])^2)))^(3/2))))/.Cos[2x_]:>TrigExpand[Cos[2x]]]

PrincipalCurvatures

FullSimplify[PrincipalCurvatures[ellipsoid,{u,v}],0<c<b<a&&0<u<2π&&0<v<π]

First Fundamental Form

({ℰ,ℱ,𝒢}=FullSimplify[FirstFundamentalForm[ellipsoid,{u,v}],0<c<b<a&&0<u<2π&&0<v<π])

Second Fundamental Form

Expand//@FullSimplify[SecondFundamentalForm[ellipsoid,{u,v}],0<c<b<a&&0<u<2π&&0<v<π]

Vector Properties

eqn={a Cos[u] Sin[v],b Sin[u] Sin[v],c Cos[v]};
rules={Abs[x_]^(n_/;Mod[n,2]==0):>x^n};
assum=a>0&&b>0&&c>0&&0<u<2π&&0<v<π;

Vector Length

Assuming[assum,FullSimplify[Norm[eqn]/.rules]]

Normal Vector

Assuming[assum,FullSimplify[NormalVector[eqn,{u,v}]/.rules]]