Ellipse Pedal Curve

Author

Eric W. Weisstein
June 27, 2013

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

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

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

Equation

ellipse={a Cos[t],b Sin[t]};

FullSimplify[PedalCurve[ellipse,{(Subscript[x, 0]),(Subscript[y, 0])},t]]//TraditionalForm

eqn=FullSimplify[PedalCurve[ellipse,{x0,y0},t],0<t<2π]

eqn2=Together[TrigExpand[eqn]/.{Sin[t]->sin,Cos[t]->cos}]

eqns=2 ((b^2) (cos^2)+(a^2) (sin^2)){x,y}-Numerator[eqn2]

gb=Factor/@GroebnerBasis[Append[eqns,sin^2+cos^2-1],{x,y},{sin,cos}]//FullSimplify

gb[[1]]//TraditionalForm

((a^2) (((x-x0))^2)-((x^2)-x x0-(b-y) (y-y0)) ((x^2)-x x0+(b+y) (y-y0))) ((((-(a^2)+(b^2)+(x0^2)))^2)+2 ((a^2)-(b^2)+(x0^2)) (y0^2)+(y0^4))

Length[gb]

AlgebraicDegree[gb[[1]],{x,y}]

Properties

par={((a (a x0 ((Sin[t])^2)+b Cos[t] (b-y0 Sin[t])))/((b^2) ((Cos[t])^2)+(a^2) ((Sin[t])^2))),((b (b y0 ((Cos[t])^2)+a (a-x0 Cos[t]) Sin[t]))/((b^2) ((Cos[t])^2)+(a^2) ((Sin[t])^2)))};

ArcLength

(s=ArcLength[par,{t,0,2π},Assumptions->a>0&&b>0&&(x0|y0)∈Reals&&x0^2+y0^2<a^2])//Timing

(s=ArcLength[par,{t,0,2π},Assumptions->a>0&&(x0|y0)∈Reals&&x0^2+y0^2==a^2])//Timing

(s=ArcLength[par,{t,0,2π},Assumptions->a>0&&(x0|y0)∈Reals&&x0^2+y0^2>a^2])//Timing

ArcLengthFunction

ArcLength[par,t,Assumptions->a>0&&(x0|y0)∈Reals&&x0^2+y0^2<a^2&&t>0]//Timing

ArcLength[par,t,Assumptions->a>0&&(x0|y0)∈Reals&&x0^2+y0^2==a^2&&t>0]//Timing

ArcLength[par,t,Assumptions->a>0&&(x0|y0)∈Reals&&x0^2+y0^2>a^2&&t>0]//Timing

Area

Assuming[a>0&&b>0&&(x0|y0)∈Reals,Area[par,{t,0,2π}]]//Timing

AreaInertiaTensor

Assuming[a>0&&b>0&&(x0|y0)∈Reals,AreaInertiaTensor[par,{t,0,2π}]]//Timing

Centroid

Assuming[a>0&&b>0&&(x0|y0)∈Reals,Centroid[par,{t,0,2π}]]//Timing

Curvature

FullSimplify[Curvature[par,t],a>0&&b>0&&0<t<2π]//Timing

ic=Curvature[((a^2) (((x-x0))^2)-((x^2)-x x0-(b-y) (y-y0)) ((x^2)-x x0+(b+y) (y-y0))) ((((-(a^2)+(b^2)+(x0^2)))^2)+2 ((a^2)-(b^2)+(x0^2)) (y0^2)+(y0^4)),{x,y}]

(ic2=Simplify[ic,a>0&&b>0])//Timing

ByteCount/@ic2

(ic3=FullSimplify[ic2[[1]],a>0&&b>0])//Timing

Slope

Slope[{(a (a x0 Sin[t]^2+b Cos[t] (b-y0 Sin[t])))/(b^2 Cos[t]^2+a^2 Sin[t]^2),(b (b y0 Cos[t]^2+a (a-x0 Cos[t]) Sin[t]))/(b^2 Cos[t]^2+a^2 Sin[t]^2)},t]//FullSimplify

Slope[(a^2 (x-x0)^2-(x^2-x x0-(b-y) (y-y0)) (x^2-x x0+(b+y) (y-y0))) ((-a^2+b^2+x0^2)^2+2 (a^2-b^2+x0^2) y0^2+y0^4)==0,{x,y}]//FullSimplify

SpecialAffineCurvature

sac=SpecialAffineCurvature[par,t]

(sac2=Simplify[sac,a>0&&b>0&&(x0|y0)∈Reals])//Timing

(sac3=FullSimplify[sac2,a>0&&b>0&&(x0|y0)∈Reals])//Timing

TangentialAngle

FullSimplify[TangentialAngle[par,t],a>0&&b>0]//Timing

FullSimplify[TangentialAngle[par,t],a>0&&b>0&&0<t<2π]//Timing

Focus

PedalCurvePlot[{Sin[t],.5Cos[t]},{Sqrt[1-.5^2],0},{t,0.,2. Pi},{-1.5,Pi/2,.3}]

Array

Show[GraphicsArray[{
{
PedalCurvePlot[{Sin[t],.5Cos[t]},{0,0},{t,0.,2. Pi},{0,Pi/2,.15},DisplayFunction->Identity],
PedalCurvePlot[{Sin[t],.5Cos[t]},{.2,0},{t,0.,2. Pi},{0,Pi/2,.15},DisplayFunction->Identity],
PedalCurvePlot[{Sin[t],.5Cos[t]},{1,0},{t,0.,2. Pi},{-1.5,Pi/2,.3},DisplayFunction->Identity]
},
{
PedalCurvePlot[{Sin[t],.5Cos[t]},{0,.2},{t,0.,2. Pi},{0,Pi/2,.15},DisplayFunction->Identity],
PedalCurvePlot[{Sin[t],.5Cos[t]},{0,.5},{t,0.,2. Pi},{0,Pi/2,.15},DisplayFunction->Identity],
PedalCurvePlot[{Sin[t],.5Cos[t]},{0,1},{t,0.,2. Pi},{-1.5,Pi/2,.3},DisplayFunction->Identity]
}
}]]

Vector Properties

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

VectorLength

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

NormalVector

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

TangentVector

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