Piriform Surface

Author

Eric W. Weisstein
July 1, 2014

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

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

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

Graphics

Piriform:=(x^4-a x^3)+a^2(y^2+z^2)

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

V5

<<Graphics`ContourPlot3D`

ContourPlot3D[((x^4)-(x^3))+(y^2)+(z^2),{x,-1,1},{y,-1,1},{z,-1,1},PlotPoints->9,Boxed->False,ContourStyle->{EdgeForm[]}]//Timing

V6

ContourPlot3D[((x^4)-(x^3))+(y^2)+(z^2)==0,{x,0,1},{y,-.5,.5},{z,-.5,.5},Boxed->False,Axes->False,BoxRatios->1,PlotPoints->20]

Volume

NIntegrate[Boole[((x^4)-(x^3))+(y^2)+(z^2)<0],{x,-2,2},{y,-2,2},{z,-2,2}]

π/20.

Integrate[Boole[((x^4)-(x^3))+(y^2)+(z^2)<0],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞}]//Timing

(v=Integrate[Boole[((x^4)-a (x^3))+a^2((y^2)+(z^2))<0],{x,-∞,∞},{y,-∞,∞},{z,-∞,∞},Assumptions->a>0])//Timing

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

Centroid

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

Inertia Tensor

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

TraditionalForm[i]

POVRay

<<Utilities`POVray`

POVCoefficients[Piriform,{x,y,z}]

Vector Properties

parm={a,b Cos[t]} (1+Sin[t]);
assum=a>0&&b>0&&0<t<2π;
xform={Abs[x_]^(n_/;Mod[n,2]==0):>x^n,Sqrt[x_^(n_/;Mod[n,2]==0)]:>Abs[x]^(n/2)};

VectorLength

Assuming[assum,FullSimplify[Norm[parm]/.xform]]

NormalVector

Assuming[assum,FullSimplify[NormalVector[parm,t]/.xform]]

TangentVector

Assuming[assum,FullSimplify[TangentVector[parm,t]/.xform]]