Elliptic Torus

Author

Eric W. Weisstein
June 10, 2024

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

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

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

Plot

torus[a_,b_,c_]:={(c+a Cos[v])Cos[u],(c+a  Cos[v])Sin[u],b Sin[v]};

ParametricPlot3D[Evaluate[torus[3,7,8]],{u,0,2Pi},{v,0,2Pi},Axes->None,Boxed->False]

GraphicsRow[Function[{a,b,c},ParametricPlot3D[
torus[a,b,c],
{u,0,2π},
{v,0,2π},
Boxed->False,Axes->False,
PlotLabel->Row[{Style["a",Italic]," == ",a,", ",Style["b",Italic]," == ",b,", ",Style["c",Italic]," == ",c}],
LabelStyle->Directive[Black,FontFamily->"Times",12]
]]@@@{{.2,.5,1},{.5,.5,1},{1.5,1,2}},Spacings->-30]

Equations

Cartesian

GroebnerBasis[Join[Thread[{x,y,z}=={(c+a Cos[v])Cos[u],(c+a Cos[v])Sin[u],b Sin[v]}],Cos[#]^2+Sin[#]^2==1&/@{u,v}],{x,y,z},{Cos[u],Cos[v],Sin[u],Sin[v]},MonomialOrder->EliminationOrder]

eqn=(a^4) (b^4)-2 (a^2) (b^4) (c^2)+(b^4) (c^4)-2 (a^2) (b^4) (x^2)-2 (b^4) (c^2) (x^2)+(b^4) (x^4)-2 (a^2) (b^4) (y^2)-2 (b^4) (c^2) (y^2)+2 (b^4) (x^2) (y^2)+(b^4) (y^4)-2 (a^4) (b^2) (z^2)+2 (a^2) (b^2) (c^2) (z^2)+2 (a^2) (b^2) (x^2) (z^2)+2 (a^2) (b^2) (y^2) (z^2)+(a^4) (z^4);

AlgebraicDegree[eqn,{x,y,z}]

Simplify[x^2+y^2/.Thread[{x,y,z}->{(c+a Cos[v])Cos[u],(c+a Cos[v])Sin[u],b Sin[v]}]]//Expand

x^2+y^2==(c^2)+(a^2) (1-(z/b)^2)+2 a c (Sqrt[1-(z/b)^2])

(x^2+y^2-((c^2)+(a^2) (1-(z/b)^2)))^2==4 a^2 c^2(1-(z/b)^2)//TraditionalForm

Numerator[Together[(x^2+y^2-((c^2)+(a^2) (1-(z/b)^2)))^2-4 a^2 c^2(1-(z/b)^2)]]-eqn//Simplify

((((a^2) (((z^2)/(b^2))-1)-(c^2)+(x^2)+(y^2)))^2)==4 (a^2) (c^2) (1-((z^2)/(b^2)))

Properties

Curvatures[surf,{u,v},FullSimplify[#,0<v<2π&&a>0&&b>0&&c>0]&]

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

FullSimplify[GaussianCurvature[eqn,{x,y,z}]]

ByteCount/@%

Volume

eqn=(x^2+y^2-((c^2)+(a^2) (1-(z/b)^2)))^2-4 a^2 c^2(1-(z/b)^2);

With[{a=1,b=1,c=1},RegionPlot3D[(x^2+y^2-((c^2)+(a^2) (1-(z/b)^2)))^2-4 a^2 c^2(1-(z/b)^2)<0,{x,-2,2},{y,-2,2},{z,-2,2}]]

Cylindrical

FullSimplify[eqn/.{x->r Cos[θ],y->r Sin[θ]},r>0&&0<θ<2π]

V7

a < c

(i=Integrate[Boole[-4 (a^2) (c^2) (1-((z^2)/(b^2)))+(((((b^2) (c-r) (c+r)+(a^2) (b-z) (b+z)))^2)/(b^4))<0]r,{θ,0,2π},{r,0,∞},{z,-∞,∞},Assumptions->0<a<c&&b>0])//Timing

(i=Integrate[Boole[-4 (a^2) (c^2) (1-((z^2)/(b^2)))+(((((b^2) (c-r) (c+r)+(a^2) (b-z) (b+z)))^2)/(b^4))<0]r,{θ,0,2π},{z,-∞,∞},{r,0,∞},Assumptions->0<a<c&&b>0])//Timing

a > c

(i=Integrate[Boole[-4 (a^2) (c^2) (1-((z^2)/(b^2)))+(((((b^2) (c-r) (c+r)+(a^2) (b-z) (b+z)))^2)/(b^4))<0]r,{θ,0,2π},{r,0,∞},{z,-∞,∞},Assumptions->0<c<a&&b>0])//Timing

V8

(i=Integrate[Boole[-4 (a^2) (c^2) (1-((z^2)/(b^2)))+(((((b^2) (c-r) (c+r)+(a^2) (b-z) (b+z)))^2)/(b^4))<0]r,{θ,0,2π},{r,0,∞},{z,-∞,∞},Assumptions->0<a<c&&b>0])//Timing

FunctionExpand[Root[(a^4)-2 (a^2) (c^2)+(c^4)+(-2 (a^2)-2 (c^2)) ((#1)^2)+((#1)^4)&,3],a>0&&a-c<0&&b>0&&(Sqrt[(a^2)])-c<0]

(i=Integrate[Boole[-4 (a^2) (c^2) (1-((z^2)/(b^2)))+(((((b^2) (c-r) (c+r)+(a^2) (b-z) (b+z)))^2)/(b^4))<0]r,{θ,0,2π},{z,-∞,∞},{r,0,∞},Assumptions->0<a<c&&b>0])//Timing

FunctionExpand[π (-((Root[(a^4) (b^4)-2 (a^2) (b^4) (c^2)+(b^4) (c^4)-2 (a^4) (b^2) (z^2)+2 (a^2) (b^2) (c^2) (z^2)+(a^4) (z^4)+(-2 (a^2) (b^4)-2 (b^4) (c^2)+2 (a^2) (b^2) (z^2)) ((#1)^2)+(b^4) ((#1)^4)&,3])^2)+((Root[(a^4) (b^4)-2 (a^2) (b^4) (c^2)+(b^4) (c^4)-2 (a^4) (b^2) (z^2)+2 (a^2) (b^2) (c^2) (z^2)+(a^4) (z^4)+(-2 (a^2) (b^4)-2 (b^4) (c^2)+2 (a^2) (b^2) (z^2)) ((#1)^2)+(b^4) ((#1)^4)&,4])^2)),a<c&&(Sqrt[(a^2)])<c&&a>0&&b>0&&-b<z<b]

Spherical

V7

FullSimplify[eqn/.{x->r Cos[θ]Sin[ϕ],y->r Sin[θ]Sin[ϕ],z->r Cos[ϕ]},r>0&&0<θ<2π&&0<ϕ<π]

a < c

(i=Integrate[Boole[-4 (a^2) (c^2) (1-(((r^2) ((Cos[ϕ])^2))/(b^2)))+(((((a^2) (r^2) ((Cos[ϕ])^2)+(1/2) (b^2) (-2 ((a^2)+(c^2))+(r^2)-(r^2) Cos[2 ϕ])))^2)/(b^4))<0]r,{θ,0,2π},{r,0,∞},{ϕ,0,π},Assumptions->0<a<c&&b>0])//Timing

V8

(i=Integrate[Boole[-4 (a^2) (c^2) (1-(((r^2) ((Cos[ϕ])^2))/(b^2)))+(((((a^2) (r^2) ((Cos[ϕ])^2)+(1/2) (b^2) (-2 ((a^2)+(c^2))+(r^2)-(r^2) Cos[2 ϕ])))^2)/(b^4))<0]r,{θ,0,2π},{r,0,∞},{ϕ,0,π},Assumptions->0<a<c&&b>0])//Timing

...ran overnight...

Centroid

Inertia Tensor

i=FullSimplify[{{y^2+z^2,-x y,-x z},
{-x y,z^2+x^2,-y z},
{-x z,-y z,x^2+y^2}}/.{x->r Cos[θ],y->r Sin[θ]}]

With[{ρ=(M/(2 (a^2) c (π^2)))},ρ Integrate[i Boole[(((c-r))^2)+(z^2)<(a^2)]r,{θ,0,2π},{z,-∞,∞},{r,0,∞},Assumptions->a>0&&c>0&&c>a]]//Timing

Metric Properties

Metric Tensor

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

Christoffel Symbol of the Second Kind

FullSimplify[ChristoffelSymbols[{(c+a Cos[v]) Cos[u],(c+a Cos[v]) Sin[u],b Sin[v]},{u,v}],a>0]

Vector Properties

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

Vector Length

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

Normal Vector

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