Gabriel's Horn

Author

Eric W. Weisstein
June 10, 2014

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

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

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

Initialization

surf[a_][u_,v_]:= {v,a Cos[u]/v, a Sin[u]/v}

Equation

eqns=Append[Numerator@Together[{x,y,z}-surf[a][u,v]],Sin[u]^2+Cos[u]^2-1]

GroebnerBasis[eqns,{x,y,z},{Sin[u],Cos[u],v},MonomialOrder->EliminationOrder]

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

Together[y^2+z^2-a^2/x^2]

Plot

ParametricPlot3D[surf[a][u,v]/.a->1,{v,.02,5},{u,0,2π}]

ParametricPlot3D[surf[a][u,v]/.a->1,{v,1,5},{u,0,2π}]

ContourPlot3D[x^2+y^2==1/z^2,{x,1,5},{y,-1,1},{z,-1,1}]

RevolutionPlot3D[1/x,{x,1,5},RevolutionAxis->{1,0,0}]

LiveGraphics3D

WriteLiveForm["gabriel.m",Show[ParametricPlot3D[{x,Cos[t]/x,Sin[t]/x},{x,1,10},{t,0,2Pi},Axes->False,Boxed->False,PlotRange->All],opts]]

Properties

Curvatures[surf[u,v],{u,v},FullSimplify[#,a>0&&v>0]&]

FullSimplify[PrincipalCurvatures[surf[u,v],{u,v}],a>0&&v>0]

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

FullSimplify[%]

Metric Properties

Metric Tensor

MetricTensor[surf[a][u,v],{u,v}]//FullSimplify

Christoffel Symbol of the Second Kind

FullSimplify[ChristoffelSymbols[surf[a][u,v],{u,v}],a>0&&v>0]

Vector Properties

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

Vector Length

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

Normal Vector

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