Astroid

Author

Eric W. Weisstein
June 6, 2014

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

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

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

Additional Authors

Astroid by tangents code by
Michael Trott
The Mathematica GuideBook for Graphics
New York: Springer-Verlag, 2004

Plot

Cartesian

ParametricPlot[{Cos[t]^3,Sin[t]^3},{t,0,2π},PlotStyle->Red,Ticks->None,AspectRatio->Automatic,ImageSize->200]

Polar

FullSimplify[ArcTan[y[t]/x[t]]]

FullSimplify[Sqrt[x[t]^2+y[t]^2/.t->ArcTan[((Tan[θ])^(1/3))]]]

PowerExpand[%]

PowerExpand[((Sec[θ])/(((1+((Tan[θ])^(2/3))))^(3/2))),0<θ<π/2]

Plot[((Abs[Sec[θ]])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π},PlotStyle->Red,AspectRatio->Automatic]

PolarPlot[((Sec[θ])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π},PlotStyle->Red]

PolarPlot[((Abs[Sec[θ]])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π},PlotStyle->Red]

PolarPlot[((Sqrt[((Sec[θ])^2)])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π},PlotStyle->Red]

Implicit

ContourPlot[((((x^2)))^(1/3))+((((y^2)))^(1/3))==1,{x,-1,1},{y,-1,1}]

eqn/.a->1

ContourPlot[-1+3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))==0,{x,-1,1},{y,-1,1}]

As a Function

ParametricPlot[Evaluate[Table[{Cos[t]^3,b Sin[t]^3},{b,.05,1.5,.05}]],{t,0,2π},PlotStyle->Table[Hue[(b-.05)/(1.5-.05)],{b,.05,1.5,.05}],Ticks->None,AspectRatio->Automatic,ImageSize->200]

Equation

Parametric

ParametricPlot[{Cos[t],Sin[t]}^3,{t,0,2π}]

Cartesian

eqn=FullSimplify[GroebnerBasis[{x==a Cos[t]^3,y==a Sin[t]^3,Sin[t]^2+Cos[t]^2==1},{x,y},{Sin[t],Cos[t]}]]

FullSimplify[Subtract@@eqn]

eqn=-(a^6)+3 (a^4) ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 (a^2) ((x^4)-7 (x^2) (y^2)+(y^4));

Expand[eqn]

AlgebraicDegree[eqn,{x,y}]

FullSimplify[x/.{Solve[%==0,x]}]

Cesaro Equation

a{Cos[t]^3,Sin[t]^3};

a FullSimplify[ArcLength[{Cos[t]^3,Sin[t]^3},t,Assumptions->0<t<π/2],0<t<π/2]

FullSimplify[Curvature[a{Cos[t]^3,Sin[t]^3},t],0<t<π/2&&a>0]

{s==(3/2)a ((Sin[t])^2),κ==-(1/(3a Sin[t]Cos[t]))}

gb=Factor/@GroebnerBasis[{2s-3a (sin^2),3a κ sin cos+1,sin^2+cos^2-1},{s,κ},{sin,cos}]

Factor[gb[[1]]/.κ->1/ρ]//Numerator

4a{Cos[t]^3,Sin[t]^3};

4a FullSimplify[ArcLength[{Cos[t]^3,Sin[t]^3},t,Assumptions->0<t<π/2],0<t<π/2]

FullSimplify[Curvature[4a{Cos[t]^3,Sin[t]^3},t],0<t<π/2&&a>0]

{s==6a ((Sin[t])^2),κ==-(1/(6a Sin[2t]))==-(1/(12a Sin[t]Cos[t]))}

12a Sin[t]Cos[t]-6a Sin[2t]//FullSimplify

gb=Factor/@GroebnerBasis[{s-6a (sin^2),12a κ sin cos+1,sin^2+cos^2-1},{s,κ},{sin,cos}]

FullSimplify[1-24 a s (κ^2)+4 (s^2) (κ^2)/.{s->6a ((Sin[t])^2),κ->-(1/(6a Sin[2t]))}]

Factor[gb[[1]]/.κ->1/ρ]//Numerator

Animation

Show[HypocycloidFrames[{4,1},Table[x,{x,0,2Pi-.01,2Pi/7}]],
ImageSize->200]

Show/@(movie=Hypocycloid[{4,1},{0,2Pi-.001,2Pi/40.}])

Animated GIF

<<Utiities`GIF`

Export[gifs<>"astroid.gif",movie]//Timing

Properties

astroid=a{Cos[t]^3,Sin[t]^3};

ArcLength

ArcLength[astroid,{t,0,2π}]

4ArcLength[astroid,{t,0,π/2}]

Arc Length Function

Total[(D[astroid,t]^2)]

FullSimplify[%,0<t<2π&&a>0]

TrigExpand[Sin[2t]]

FullSimplify[(9/4)(a^2)((Sin[2t])^2)-9 (a^2) ((Cos[t])^2) ((Sin[t])^2)]

V4.0

ArcLength[astroid,t]

V5

ArcLength[astroid,t]

Plot[((3 (Sqrt[(t^2)]))/(4 t))-(3/4) Cot[2 t] (Sqrt[((Sin[2 t])^2)]),{t,0,2π}]

FullSimplify[%,0<t<2π]

Plot[-(3/4) (-1+Abs[Sin[2 t]] Cot[2 t]),{t,0,2π}]

PowerExpand[%]

Plot[((3 ((Sin[t])^2))/2),{t,0,2π}]

V6

Integrate[Sqrt[9 ((Cos[t])^2) ((Sin[t])^2)],{t,0,t}]

ArcLength[astroid,t]

ArcLength[astroid,{t,0,t}]

ArcLength[astroid,t,GenerateConditions->True]

arcLength[{x_,y_},{t_,t0_,t1_},opts___?OptionQ]:=Integrate[Sqrt[D[x,t]^2+D[y,t]^2],{t,t0,t1},opts]

arcLength[astroid,{t,0,t}]

arcLength2[{x_,y_},{t_,t0_,t1_}]:=Integrate[Sqrt[D[x,t]^2+D[y,t]^2],{t,t0,t1}]

arcLength2[astroid,{t,0,t}]

arcLength3[{x_,y_},{t_,t0_,t1_}]:=Sqrt[D[x,t]^2+D[y,t]^2]

arcLength3[astroid,{t,0,t}]

Integrate[(Sqrt[9 ((Cos[t])^4) ((Sin[t])^2)+9 ((Cos[t])^2) ((Sin[t])^4)]),{t,0,t}]

FullSimplify[(Sqrt[9 ((Cos[t])^4) ((Sin[t])^2)+9 ((Cos[t])^2) ((Sin[t])^4)])]

FullSimplify[9 ((Cos[t])^4) ((Sin[t])^2)+9 ((Cos[t])^2) ((Sin[t])^4)]

Integrate[(3/2) (Sqrt[((Sin[2 t])^2)]),{t,0,t}]

Integrate[Sqrt[((Cos[t])^2) ((Sin[t])^2)],{t,0,t}]

Integrate[Sqrt[9 ((Cos[t])^2) ((Sin[t])^2)],{t,0,t}]

V8

Plot[(Sqrt[((Cos[t])^2) ((Sin[t])^2)]),{t,0,2π}]

3Integrate[(Sqrt[((Cos[t])^2) ((Sin[t])^2)]),{t,0,2π}]

ss[u_?NumericQ]:=3NIntegrate[(Sqrt[((Cos[t])^2) ((Sin[t])^2)]),{t,0,u}]

Plot[ss[u],{u,0,2π}]

FullSimplify[(Sqrt[((Cos[t])^2) ((Sin[t])^2)]),0<t<2π]

TrigReduce[Cos[t] Sin[t]]

Reduce[Abs[Sin[2 t]]==0&&0<t<2π,t,Reals]

Plot[(1/2) Sin[2 t],{t,0,2π}]

Integrate[Sin[2 t],{t,0,t},Assumptions->0<t<π/2]

Integrate[Sin[2 t],{t,0,π/2}]

Integrate[-Sin[2 t],{t,π/2,t},Assumptions->π/2<t<π]//FullSimplify

Integrate[Abs[Sin[2 t]],{t,0,π}]

Integrate[Sin[2 t],{t,π,t},Assumptions->π<t<3π/2]//FullSimplify

Integrate[Abs[Sin[2 t]],{t,0,3π/2}]

Integrate[-Sin[2 t],{t,π/2,t},Assumptions->π/2<t<2π]//FullSimplify

Plot[(3/2)Piecewise[{{((Sin[t])^2),0≤t<π/2},{1+((Cos[t])^2),π/2<t<π},{2+((Sin[t])^2),π<t<3π/2},{3+((Cos[t])^2),3π/2<t<2π}}],{t,0,2π}]

FullSimplify[(3/2)Piecewise[{{((Sin[t])^2),0≤t<π/2},{1+((Cos[t])^2),π/2<t<π},{2+((Sin[t])^2),π<t<3π/2},{3+((Cos[t])^2),3π/2<t<2π}}]]//TraditionalForm

Area

{x[t_],y[t_]}={Cos[t]^3,Sin[t]^3}

Green's Theorem

Area[{((Cos[t])^3),((Sin[t])^3)},{t,0,2π}]//Timing

(1/2)Integrate[Abs[y[t]x'[t]-x[t]y'[t]],{t,0,2π}]

N[3Pi/8,10]

Inequality

RegionPlot[((((x^2)))^(1/3))+((((y^2)))^(1/3))<1,{x,-1,1},{y,-1,1}]

Numerical

NIntegrate[Boole[((((x^2)))^(1/3))+((((y^2)))^(1/3))<1],{x},{y},WorkingPrecision->20,PrecisionGoal->6]

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

Inequality

Integrate[Boole[((((x^2)))^(1/3))+((((y^2)))^(1/3))<1],{x},{y}]

Area[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{x,y}]

Area[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{y,x}]

FullSimplify[-Root[-1+3 (x^2)-3 (x^4)+(x^6)+(3+21 (x^2)+3 (x^4)) ((#1)^2)+(-3+3 (x^2)) ((#1)^4)+((#1)^6)&,1],-1<x<1]

Polar

4Area[((Sec[θ])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,π/2}]

N[%]

Area[((Abs[Sec[θ]])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π}]//Timing

FullSimplify[((Sec[θ]^2)/(((1+(((((Tan[θ])^2)))^(1/3))))^3)),0<θ<π/2]

(1/2)NIntegrate[((Sec[θ]^2)/(((1+(((((Tan[θ])^2)))^(1/3))))^3)),{θ,0,2π}]

2Integrate[((Sec[θ]^2)/(((1+(((((Tan[θ])^2)))^(1/3))))^3)),{θ,0,π/2}]

AreaInertiaTensor

Inequality

AreaInertiaTensor[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{x,y}]//Timing

AreaInertiaTensor[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{y,x}]//Timing

Polar

AreaInertiaTensor[((Abs[Sec[θ]])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π}]//Timing

FullSimplify[((4 ((Sin[θ])^2))/((((1+(((-((((-1+(E^(2 I θ))))^2)/(((1+(E^(2 I θ))))^2))))^(1/3))))^6) ((Abs[(E^(-I θ))+(E^(I θ))])^4))),0<θ<2π]

Integrate[((((Sec[θ])^2) ((Tan[θ])^2))/(4 (((1+(((((Tan[θ])^2)))^(1/3))))^6))),{θ,0,2π}]//Timing

{{((21 π)/512),0},{0,((21 π)/512)}}

Centroid

eqn/.a->1

RegionPlot[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{x,-1.1,1.1},{y,-1.1,1.1}]

Numeric

Area[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{x,y}]//N

Inequality

Area[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{x,y}]

Area[3 ((x^2)+(y^2))+((((x^2)+(y^2)))^3)-3 ((x^4)-7 (x^2) (y^2)+(y^4))<1,{y,x}]

Polar

Centroid[((Abs[Sec[θ]])/(((1+(((((Tan[θ])^2)))^(1/3))))^(3/2))),{θ,0,2π}]//Timing

FullSimplify[((8 Cos[θ])/(3 (((1+(((-((((-1+(E^(2 I θ))))^2)/(((1+(E^(2 I θ))))^2))))^(1/3))))^(9/2)) ((Abs[(E^(-I θ))+(E^(I θ))])^3))),0<θ<2π]

Plot[((Cos[θ])/(3 ((Abs[Cos[θ]])^3) (((1+(((((Tan[θ])^2)))^(1/3))))^(9/2)))),{θ,0,2π}]

(8/(3π))NIntegrate[((Cos[θ])/(3 ((Abs[Cos[θ]])^3) (((1+(((((Tan[θ])^2)))^(1/3))))^(9/2)))),{θ,0,2π}]

(8/(3π))Integrate[((Cos[θ])/(3 ((Abs[Cos[θ]])^3) (((1+(((((Tan[θ])^2)))^(1/3))))^(9/2)))),{θ,0,2π}]//Timing

Curvature

Parametric

FullSimplify[Curvature[a{Cos[t]^3,Sin[t]^3},t],0<t<2π&&a>0]

Plot[-((2 (Sqrt[((Csc[2 t])^2)]))/3),{t,0,2π}]

Polar

FullSimplify[Curvature[a Sqrt[Sec[q]^2]/(1+Tan[q]^(2/3))^(3/2),q],a>0&&0<q<2π]

Plot[-((((Cos[q])^2) (((1+((Tan[q])^(2/3))))^3) (Sqrt[(((Sec[q])^4)/((((1+((Tan[q])^(2/3))))^4) ((Tan[q])^(2/3))))]))/(3 )),{q,0,2π}]

Plot[-(((1+((Abs[Tan[q]])^(2/3))))/(3 ((Abs[Tan[q]])^(1/3)))),{q,0,2π}]

Implict

SortBy[Simplify[Curvature[((((x^2)))^(1/3))+((((y^2)))^(1/3))-(a^(2/3)),{x,y}],a>0&&(x|y)∈Reals],ByteCount]

ByteCount/@%

FullSimplify[((-(y^2) ((Abs[x])^(8/3))-(x^2) ((Abs[y])^(8/3)))/(3 ((Abs[x])^(1/3)) ((Abs[y])^(1/3)) ((((y^2) ((Abs[x])^(4/3))+(x^2) ((Abs[y])^(4/3))))^(3/2)))),a>0&&(x|y)∈Reals]

SpecialAffineCurvature

FullSimplify[SpecialAffineCurvature[astroid,t],a>0&&0<t<2π]

Singularities

SingularPoints[eqn,{x,y}]

pts=Select[Union[pts],FreeQ[#,_Complex]&]

Block[{a=1},
ContourPlot[eqn==0,{x,-1.1,1.1},{y,-1.1,1.1},ContourStyle->Red,AspectRatio->Automatic,MaxRecursion->4,Axes->True,Epilog->{PointSize[.04],Point[pts]}]
]

Slope

Slope[a {Cos[t],Sin[t]}^3,t]

FullSimplify[Slope[(x^2)^(1/3)+(y^2)^(1/3)==a^(2/3),{x,y}],(x|y)∈Reals]

FullSimplify[Slope[(x^2)^(1/3)+(y^2)^(1/3)==a^(2/3),{x,y}],(x|y)∈Reals]

Tangential Angle

v4.2

TangentialAngle[astroid,t]

v5.0

TangentialAngle[astroid,t]

Ladders

Solve[{x==-((ΔL)/L)x0,y==(Sqrt[(L^2)-(x0^2)])(1+((ΔL)/L))},y,x0]

FullSimplify[(((((Sqrt[-(L^2) (x^2)-2 L (x^2) ΔL+(L^2) ((ΔL)^2)-(x^2) ((ΔL)^2)+2 L ((ΔL)^3)+((ΔL)^4)])/(ΔL))))^2)]

Numerator[Together[(y^2)-(((((Sqrt[-(L^2) (x^2)-2 L (x^2) ΔL+(L^2) ((ΔL)^2)-(x^2) ((ΔL)^2)+2 L ((ΔL)^3)+((ΔL)^4)])/(ΔL))))^2)]]

Numerator[Together[((x^2)/((ΔL)^2))+((y^2)/(((L+ΔL))^2))-1]]

Envelopes

By Ladders

FourLines[x_]:={Line[{{x,0},{0,Sqrt[1-x^2]}}],Line[{{-x,0},{0,Sqrt[1-x^2]}}],
  Line[{{-x,0},{0,-Sqrt[1-x^2]}}],Line[{{x,0},{0,-Sqrt[1-x^2]}}]}
eps=.00001;

pic[0]:={Line[{{-1,0},{1,0}}],Line[{{0,-1},{0,1}}]};
pic[n_]:=pic[n]=Flatten[{pic[n-1],FourLines[.05 n]}]

Export[gifs<>"astroidl.gif",
	Table[Show[Graphics[pic[20-Abs[20-n]]],AspectRatio->Automatic,PlotRange->{{-1.1,1.1},{-1.1,1.1}}],{n,0,40}],"GIF"]

Show[Graphics[Append[Table[FourLines[x],{x,eps,1,.05}],Line[{{-1,0},{1,0}}]]],
  AspectRatio->Automatic]

By Ellipses

Ellipse[c_]:=Circle[{0,0},{c,1-c}];
pice[0]:={Line[{{-1,0},{1,0}}],Line[{{0,-1},{0,1}}]};
pice[n_]:=pice[n]=Flatten[{pice[n-1],Ellipse[.1 n]}]

Export[gifs<>"astroide.gif",Table[Show[Graphics[pice[10-Abs[10-n]]],AspectRatio->Automatic,PlotRange->{{-1.1,1.1},{-1.1,1.1}}],{n,0,20}],"GIF"]

Show[Graphics[{Table[Ellipse[x],{x,.1,.9,.1}],
Line[{{-1,0},{1,0}}],Line[{{0,-1},{0,1}}]}],
  AspectRatio->Automatic]

By Tangents

This code by Michael Trott

With[{ε=10^-10},Show[Graphics[{Thickness[0.0001],(* translate in other positions *)Line/@Join[#,Map[#+{-1,-1}&,#,{2}]]&[Join[#,Map[#+{0,2}&,#,{2}]]&[Join[#,Map[#+{2,0}&,#,{2}]]&[(* reflect in other positions *)Join[#,Map[#*{-1,1}&,#,{2}]]&[Join[#,Map[#*{1,-1}&,#,{2}]]&[(* the elementary piece *)Join[(* the vertical-like lines *)Table[{{Cos[φ]-1,Sin[φ]-1},{Cos[φ]-1+Cos[φ+Pi/2]*(1-Sin[φ])/Sin[φ+Pi/2],0}},{φ,ε,Pi/2-ε,(Pi/2-2 ε)/20}]//N,(* the horizontal-like lines *)Table[{{Cos[φ]-1,Sin[φ]-1},{0,Sin[φ]-1+Sin[φ+Pi/2]*(1-Cos[φ])/Cos[φ+Pi/2]}},{φ,ε,Pi/2-ε,(Pi/2-2 ε)/20}]//N]]]]]]}],AspectRatio->Automatic,PlotRange->{{-1,2},{-1,2}}]];

Vector Properties

parm=a {Cos[t],Sin[t]}^3;

VectorLength

Assuming[a>0&&t>0,FullSimplify[Norm[parm]]]

NormalVector

Assuming[a>0&&0<t<2π,FullSimplify[NormalVector[parm,t]]]

TangentVector

Assuming[a>0&&0<t<2π,FullSimplify[TangentVector[parm,t]]]

Visualization

With[{a=1},Manipulate[
Show[{
ParametricPlot[a {Cos[t],Sin[t]}^3,{t,0,2π},Method->{"AxesInFront"->False}],
Graphics[{
Red,Arrow[{a {Cos[t],Sin[t]}^3,a {Cos[t],Sin[t]}^3+{-Sign[Sin[2 t]] Sin[t],-((Abs[Cos[t]] Sin[t])/(Abs[Sin[t]]))}}],
Blue,Arrow[{a {Cos[t],Sin[t]}^3,a {Cos[t],Sin[t]}^3+{-((Abs[Cos[t]] Sin[t])/(Abs[Sin[t]])),Sign[Sin[2 t]] Sin[t]}}]
}]
},PlotRange->1.5],{{t,.01},0,2π}
]]