Cone

Author

Eric W. Weisstein
June 11, 2015

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

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

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

Initialization

Inequalities

ineq=(x^2+y^2)≤a^2/h^2 (h-z)^2&&0≤z≤h;

reg=Cone[{{0,0,0},{0,0,h}},a];

assum=a>0&&h>0;

vol=(1/3)π (a^2)h;

ent="SolidCone";

Regions

SolidData[ent,"ImplicitRegion"][a,h]

SolidData[ent,"ParametricRegion"][a,h]

SolidData[ent,"Region"][a,h]

Plot

DiscretizeRegion

Block[{a=1,h=2},Show[DiscretizeRegion[reg],ImageSize->Small]]

Entity Image

Show[SolidData[ent,"Image"],ImageSize->Small,Method->{"ShrinkWrap"->True}]

Entity ImplicitRegion

Show[DiscretizeRegion@SolidData[ent,"ImplicitRegion"][1,1],ImageSize->Small,Method->{"ShrinkWrap"->True}]

Entity ParametricRegion

DiscretizeRegion@SolidData[ent,"ParametricRegion"][1,1]

bug(296037)

Entity Region

Show[DiscretizeRegion@SolidData[ent,"Region"][1,1],ImageSize->Small,Method->{"ShrinkWrap"->True}]

Graphics3D

V5

<<Graphics`Shapes`

Show[Graphics3D[Cone[]],Boxed->False]

V6.1

Graphics3D[Cone[],ImageSize->Small]

LiveGraphics3D

n=20;
WriteLiveForm["cone.m",Show[Graphics3D[{Cone[],Polygon[Table[{Cos[2 Pi i/n],Sin[2 Pi i/n],-1},{i,n}]]}],Boxed->False]]

ParametricPlot3D

ParametricPlot3D[{z  Cos[θ],z  Sin[θ],z},{θ,0,2Pi},{z,-1,0},Boxed->False,Axes->False]

InequalityPlot3D

<<Graphics`InequalityGraphics`

With[{c=1,h=3},InequalityPlot3D[(((x^2)+(y^2))/(c^2))<(((z-h))^2)&&0<z<h,{x},{y},{z},BoxRatios->{1,1,1}]]

ImplicitPlot3D

<<ImplicitPlot3D`

With[{c=1},
ImplicitPlot3D[(x^2+y^2)/c^2==z^2,{x,-2,2},{y,-2,2},{z,-1,0},Boxed->False,PlotRange->All]
]

Equation

Finite

eqn={x=(h-u)/h r Cos[v],y=(h-u)/h r Sin[v],z=u}

{eqn/.u->0,eqn/.u->h}

Simplify[x^2+y^2]

Double Cone

GroebnerBasis[Append[Thread[{x,y,z}=={a u Cos[v],a u Sin[v],u}],Cos[v]^2+Sin[v]^2==1],{x,y,z},{u,Cos[v],Sin[v]},MonomialOrder->EliminationOrder]

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

Properties

Centroid

Integrate

(zz=Integrate[z Boole[(((x^2)+(y^2))/(c^2))<(((z-h))^2)],{x,-∞,∞},{y,-∞,∞},{z,0,h},Assumptions->c>0&&h>0]/.c->r/h)

zbar = (zz/((1/3) h π (r^2)))

Assuming[assum,FullSimplify[(vol^(-1))Integrate[{x,y,z},{x,y,z}∈SolidData[ent,"ImplicitRegion"][a,h]]]]//Timing

Assuming[assum,FullSimplify[(vol^(-1))Integrate[{x,y,z},{x,y,z}∈SolidData[ent,"ParametricRegion"][a,h]]]]//Timing

Assuming[assum,FullSimplify[(vol^(-1))Integrate[{x,y,z},{x,y,z}∈SolidData[ent,"Region"][a,h]]]]//Timing

RegionCentroid

Assuming[assum,RegionCentroid[reg]]

Assuming[assum,FullSimplify@RegionCentroid[SolidData[ent,"ImplicitRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@RegionCentroid[SolidData[ent,"ParametricRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@RegionCentroid[SolidData[ent,"Region"][a,h]]]//Timing

MeanCylindricalRadius

Assuming[assum,FullSimplify[(vol^(-1))Integrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈SolidData[ent,"Region"][a,h]]]]//Timing

MeanSphericalRadius

Assuming[assum,FullSimplify[(vol^(-1))Integrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈SolidData[ent,"Region"][a,h]]]]//Timing

(1/(4 ((((a^2)+(h^2)))^(5/2))))((Sqrt[(a^2)+(h^2)]) (2 (a^5)+5 (a^3) (h^2)-2 (a^2) (h^3)+(h^5))+3 (a^2) (h^4) (-Log[a h]+Log[(a+(Sqrt[(a^2)+(h^2)])) (h+(Sqrt[(a^2)+(h^2)]))]))/.{h->1,a->.5}

Block[{h=1,a=.5},(vol^(-1))NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈SolidData[ent,"Region"][a,h]]]

MeanSquareCylindricalRadius

Assuming[assum,FullSimplify[(vol^(-1))Integrate[((x^2)+(y^2)),{x,y,z}∈SolidData[ent,"Region"][a,h]]]]//Timing

MeanSquareSphericalRadius

Assuming[assum,FullSimplify[(vol^(-1))Integrate[((x^2)+(y^2)+(z^2)),{x,y,z}∈SolidData[ent,"Region"][a,h]]]]//Timing

Volume

Integrate

FullSimplify[Integrate[Pi((h-u)/h r)^2,{u,0,h}]]

Integrate[Boole[(((x^2)+(y^2))/(c^2))<(((z-h))^2)],{x,-∞,∞},{y,-∞,∞},{z,0,h},Assumptions->c>0&&h>0]/.c->r/h

Assuming[assum,FullSimplify@Integrate[1,{x,y,z}∈SolidData[ent,"ImplicitRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@Integrate[1,{x,y,z}∈SolidData[ent,"ParametricRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@Integrate[1,{x,y,z}∈SolidData[ent,"Region"][a,h]]]//Timing

RegionMeasure

Assuming[assum,Simplify@RegionMeasure[reg]]

Assuming[assum,FullSimplify@RegionMeasure[SolidData[ent,"ImplicitRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@RegionMeasure[SolidData[ent,"ParametricRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@RegionMeasure[SolidData[ent,"Region"][a,h]]]//Timing

Volume

Assuming[assum,FullSimplify@Volume[SolidData[ent,"ImplicitRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@Volume[SolidData[ent,"ParametricRegion"][a,h]]]//Timing

Assuming[assum,FullSimplify@Volume[SolidData[ent,"Region"][a,h]]]//Timing

Inertia Tensor

axis through base center (z==0) and Apex (z==h)

V7

i=With[{ρ=(M/((1/3) h π (r^2)))},
ρ 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)+(y^2))/(((r/h))^2))<(((z-h))^2)&&0<z<h],
{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->r>0&&h>0]
];//Timing

i//TraditionalForm

V8

$Version

i=With[{ρ=(M/((1/3) h π (r^2)))},
ρ 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)+(y^2))/(((r/h))^2))<(((z-h))^2)&&0<z<h],
{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->r>0&&h>0]
];//Timing

i//TraditionalForm

208.94/61.0782

axis through base center (z==-h/4) and center of mass (z==0)

V7

i=With[{ρ=(M/((1/3) h π (r^2)))},
ρ 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)+(y^2))/(((r/h))^2))<((((z+h/4)-h))^2)&&-h/4<z<3h/4],
{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->r>0&&h>0]
];//Timing

i//TraditionalForm

V8

$Version

i=With[{ρ=(M/((1/3) h π (r^2)))},
ρ 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)+(y^2))/(((r/h))^2))<((((z+h/4)-h))^2)&&-h/4<z<3h/4],
{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->r>0&&h>0]
];//Timing

i//TraditionalForm

Surface Area

{ℰ,ℱ,𝒢}=FullSimplify[FirstFundamentalForm[{(h-u)/h r Cos[v],(h-u)/h r Sin[v],u},{u,v}]]

FullSimplify[(Sqrt[ℰ 𝒢-(ℱ^2)]),r>0&&h>0&&0<u<h]

Integrate[((r (Sqrt[(h^2)+(r^2)]) (h-u))/(h^2)),{u,0,h},{v,0,2π}]

Integrate[(Sqrt[ℰ 𝒢-(ℱ^2)]),{u,0,h},{v,0,2π},Assumptions->r>0&&h>0]

Curvatures

cone={a u Cos[v],a u Sin[v],u};

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

a-parametrization

Curvatures[cone,{u,v},FullSimplify[#,a>0&&u∈Reals&&0<v<2π]&]

FullSimplify[PrincipalCurvatures[cone,{u,v}],a>0&&u∈Reals&&0<v<2π]

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

h-parametrization

Curvatures[{(h-u)/h r Cos[v],(h-u)/h r Sin[v],u},{u,v}]

FullSimplify[PrincipalCurvatures[{(h-u)/h r Cos[v],(h-u)/h r Sin[v],u},{u,v}],0<u<h&&r>0]

Metric Tensor

a-parametrization

FullSimplify[MetricTensor[cone,{u,v}],-π/2<u<π/2&&0<v<π]

h-parametrization

FullSimplify[MetricTensor[{(h-u)/h r Cos[v],(h-u)/h r Sin[v],u},{u,v}],-π/2<u<π/2&&0<v<π]

Christoffel Symbol of the Second Kind

a-parametrization

FullSimplify[ChristoffelSymbols[cone,{u,v}],-π/2<u<π/2&&0<v<π&&a>0]

h-parametrization

FullSimplify[ChristoffelSymbols[{(h-u)/h r Cos[v],(h-u)/h r Sin[v],u},{u,v}],-π/2<u<π/2&&0<v<π]

Vector Properties (Infinite Cone)

eqn={a u Cos[v],a u Sin[v],u};

Vector Length

FullSimplify[Norm[eqn]/.Abs[x_]^2:>x^2,(u|v)∈Reals&&a>0]

Normal Vector

FullSimplify[NormalVector[eqn,{u,v}]/.Abs[x_]^2:>x^2,(u|v)∈Reals&&a>0]

Vector Properties (Finite Cone)

eqn={a (h-u)/h Cos[v],a (h-u)/h Sin[v],u};

Vector Length

FullSimplify[Norm[eqn]/.Abs[x_]^2:>x^2,(u|v)∈Reals&&a>0&&h>0&&0<u<h]

Normal Vector

FullSimplify[NormalVector[eqn,{u,v}]/.Abs[x_]^2:>x^2,(u|v)∈Reals&&a>0&&h>0&&0<u<h]