Teardrop Curve

Author

Eric W. Weisstein
June 28, 2013

This notebook downloaded from http://mathworld.wolfram.com/notebooks/PlaneCurves/TeardropCurve.nb.

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

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

Definition

eqn[m_][t_]:={Cos[t],Sin[t]Sin[t/2]^m}

Plot

V5

With[{max=7},
ParametricPlot[Evaluate[Table[{Cos[t],Sin[t]Sin[t/2]^m},{m,0,max,.5}],{t,0,2Pi},
PlotStyle->Table[{Thickness[.01],Hue[m/max]},{m,0,max,.5}]],
AxesLabel->TraditionalForm/@{x,y}]
]

V6

ParametricPlot[eqn[#][t],{t,0,2π}]&/@{0,.2,.4,.5,.9,1,1.5,2,4,5}

Equation

Eliminate[{
x==Cos[t],
y==Sin[t]((1-Cos[t])/2)^(m/2),
Sin[t]^2+Cos[t]^2==1
},{Sin[t],Cos[t]}]

Properties

tear={Cos[t],Sin[t]Sin[t/2]^m};

ArcLength

v5

ArcLength[tear,{t,0,2π}]//Timing

v6

ArcLength[eqn[m][t],{t,0,2π},Assumptions->m>0]//Timing

ArcLengthFunction

v5

ArcLength[tear,t]//Timing

v6

ArcLength[eqn[m][t],t,Assumptions->t>0&&m>0]//Timing

Area

Assuming[m>0,Area[tear,{t,0,2π}]]//Timing

((4 (Sqrt[π]) Gamma[((3+m)/2)])/(Gamma[3+(m/2)]))/.m->0

FullSimplify[((4 (Sqrt[π]) Gamma[((3+m)/2)])/(Gamma[3+(m/2)])),m∈Integers&&m>1]

AreaInertiaTensor

Assuming[m>0,AreaInertiaTensor[tear,{t,0,2π}]//FullSimplify]//Timing

Centroid

Assuming[m>0,Centroid[tear,{t,0,2π}]//FullSimplify]//Timing

Curvature

v5

FullSimplify[Curvature[tear,t]]

v6

FullSimplify[Curvature[eqn[m][t],t],0<t<2π&&m>0]

Slope

Slope[{Cos[t],Sin[t] Sin[t/2]^m},t]//FullSimplify

SpecialAffineCurvature

FullSimplify[SpecialAffineCurvature[tear,t],m≥0&&0<t<2π]

Tangential Angle

v5

FullSimplify[TangentialAngle[tear,t],(t|m)∈Reals]

v6

FullSimplify[TangentialAngle[eqn[m][t],t],m>0&&0<t<2π]

FullSimplify[TangentialAngle[eqn[m][t],t],m>1&&0<t<2π]//Timing

Vector Properties

parm={Cos[t],Sin[t] Sin[t/2]^m};
assum=m>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]]/.xform

NormalVector

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

TangentVector

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