Hyperbola

Author

Eric W. Weisstein
June 6, 2014

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

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

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

Equations

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

Parametric 1

Eliminate[{x==a Cosh[t],y==b Sinh[t],Cosh[t]^2-Sinh[t]^2==1},{Cosh[t],Sinh[t]}]//FullSimplify

FullSimplify[0==Subtract@@%/(b^2a^2)]

With[{a=1,b=1},ParametricPlot[{a Cosh[t],b Sinh[t]},{t,-3,3},ImageSize->Small]]

Parametric 2

Eliminate[{x==a /Cos[t],y==b Sin[t]/Cos[t],Sin[t]^2+Cos[t]^2==1},{Cos[t],Sin[t]}]//FullSimplify

FullSimplify[0==Subtract@@%/(b^2a^2)]

Plot[{Sec[t], Tan[t]},{t,-2π,2π}]

ParametricPlot[{Sec[t],Tan[t]},Evaluate[{t,Sequence@@#}],ImageSize->Tiny]&/@{{-π,-π/2},{-π,-π/2-.0001},{-π/2,0},{0,π/2},{π/2,π},{π/2+.0001,π}}

Function[{a,b},ParametricPlot[{a Sec[t],b Tan[t]},{t,-π,π},Exclusions->{-π/2,π/2},ImageSize->Small,AspectRatio->Automatic]]@@@{{1,1},{1.3,1},{1,1.3}}

Polar Coordinates from Center

With[{a=1,b=1},PolarPlot[((a b)/(Sqrt[(b^2)((Cos[θ])^2)-(a^2)((Sin[θ])^2)])),Evaluate[{θ,Sequence@@#}],ImageSize->Tiny]]&/@Partition[π Range[0,2,1/2],2,1]

With[{a=1,b=1},PolarPlot[((a b)/(Sqrt[(b^2)((Cos[θ])^2)-(a^2)((Sin[θ])^2)])),{θ,π,2π},ImageSize->Small]]

With[{a=1,b=1},PolarPlot[((a b)/(Sqrt[(b^2)((Cos[θ])^2)-(a^2)((Sin[θ])^2)])),{θ,0,2π},ImageSize->Small]]

Parametric

{x,y}^2==(((a b)/(Sqrt[(b^2)((Cos[t])^2)-(a^2)((Sin[t])^2)])){Cos[t],Sin[t]})^2

Factor/@GroebnerBasis[{
x^2((b^2) ((Cos[t])^2)-(a^2) Sin[t])==(a^2) (b^2) ((Cos[t])^2),
y^2((b^2) ((Cos[t])^2)-(a^2) ((Sin[t])^2))==(a^2) (b^2) ((Sin[t])^2),
Cos[t]^2+Sin[t]^2==1},{x,y},{Cos[t],Sin[t]},MonomialOrder->EliminationOrder]

With[{a=1,b=1},ParametricPlot[((a b)/(Sqrt[(b^2)((Cos[t])^2)-(a^2)((Sin[t])^2)])){Cos[t],Sin[t]},{t,0,2π}]]

Polar Coordinates from Focus

With[{a=1,e=1.1},
Show[
{
Block[{$DisplayFunction=Identity},
{
PolarPlot[a(e^2-1)/(1-e Cos[θ]),{θ,.5,5.7},PlotStyle->Red] ,
PolarPlot[a(e^2-1)/(1-e Cos[θ]),{θ,-.3,.3},PlotStyle->Red] 
}],
Graphics[{PointSize[.02],Blue,Point[{-a e,0}],
Red,Point[{a(1-e),0}],Green,Point[{0,0}]
}
]
},
PlotRange->{{-3,1},{-1,1}},AspectRatio->Automatic]
]

PolarPlot[Sqrt[a^2 b^2/(b^2 Cos[θ]^2-a^2 Sin[θ]^2)] /. {a->1,b->.5},{θ,0,2Pi},PlotRange->{-2,2}]

PolarPlot[Sqrt[a^2 b^2/(b^2 Cos[θ]^2+a^2 Sin[θ]^2)] /. {a->1,b->.5},{θ,0,2Pi},PlotRange->{-1,1}]

Figure

Hyperbola[a_,b_,opts___]:=ImplicitPlot[
{x^2/a^2-y^2/b^2==1, x==y a/b, x==-y a/b},{x,-2,2},
AspectRatio->Automatic,Ticks->None,
PlotStyle->{{Dashing[{1,0}]},{Dashing[{0.05,0.02}]},{Dashing[{0.05,0.02}]}},
opts]

HyperbolaFoci[a_,b_,opts___]:=Module[{c=Sqrt[a^2+b^2],r=.05},
	Hyperbola[a,b,Epilog->{Circle[{-c,0},r],Circle[{c,0},r]},opts]
]

Hyperbola[]:=Hyperbola[1,1]
Hyperbola[b_]:=Hyperbola[1,b]

HyperbolaFoci[1,1]

Show[GraphicsArray[{Hyperbola[1,1,DisplayFunction->Identity],
Hyperbola[1,2,DisplayFunction->Identity]}]]

ParametricPlot[{Cosh[t],1.5Sinh[t]},{t,-10,10},PlotStyle->Red,
AspectRatio->Automatic,PlotRange->5{.7{-1,1},{-1,1}}]

HyperbolaDirectrix[{a_,b_},t1_,n_]:=With[{c=Sqrt[a^2+b^2]},
Module[{d=a^2/c,y,eps=.05},
Show[Graphics[{
{RGBColor[1,0,0],
Table[Line[{{c,0},{a Sqrt[1+y^2/b^2],y},{d,y}}],{y,-Sinh[t1],Sinh[t1],2Sinh[t1]/n}]},
ParametricPlot[{a Cosh[t],b Sinh[t]},{t,-t1-eps,t1+eps},DisplayFunction->Identity][[1]],
ParametricPlot[{-a Cosh[t],b Sinh[t]},{t,-t1-eps,t1+eps},DisplayFunction->Identity][[1]],
{PointSize[.03],Point/@{{-c,0},{c,0},{0,0}}},
Line[{{d,-Cosh[t1]-eps},{d,Cosh[t1]+eps}}],
Line[{{0,-Cosh[t1]},{0,Cosh[t1]}}],
Line[{{-Sinh[t1],0},{Sinh[t1],0}}]
},
AspectRatio->Automatic,PlotRange->All]
]
]
]

HyperbolaDirectrix[{1,1},2,15]

Properties {a sec(t), b tan(t)}

curve={a Sec[t],b Tan[t]};

Block[{a=1,b=1,ϵ=10^-6},{ParametricPlot[curve,{t,-π/2,π/2},PlotRange->4],
ParametricPlot[curve,{t,π/2+ϵ,3π/2},PlotRange->4]}]

Block[{a=1,b=1},ParametricPlot[curve,{t,-π,π},Exclusions->{-1,1}Pi/2]]

Arc Length Function

V6.0

ArcLength[curve,t,Assumptions->a>0&&b>0&&t<0]//Timing

ArcLength[curve,t,Assumptions->a>0&&b>0&&t>0]//Timing

ArcLength[curve,t,Assumptions->a>0&&b>0&&-π/2<t<π/2]//Timing

FullSimplify[(-2 b (Sqrt[(a^2)+2 (b^2)-(a^2) Cos[2 t]]) EllipticE[t,-((a^2)/(b^2))]+2 b (Sqrt[(a^2)+2 (b^2)-(a^2) Cos[2 t]]) EllipticF[t,-((a^2)/(b^2))]+(Sqrt[2]) ((a^2)+2 (b^2)-(a^2) Cos[2 t]) Tan[t])/(2 (Sqrt[(a^2)+2 (b^2)-(a^2) Cos[2 t]])),a>0&&b>0]

V6.1

ArcLength[curve,t,Assumptions->-π/2<t<π/2&&a>0&&b>0]//Timing

ArcLength[curve,t,Assumptions->0<t<π/2&&a>0&&b>0]//Timing

FullSimplify[Last[%],a>0&&b>0]

ArcLength[curve,t,Assumptions->π/2<t<3π/2&&a>0&&b>0]//Timing

Curvature

Parametric

FullSimplify[Curvature[curve,t],a>0&&b>0&&t∈Reals]

Polar

FullSimplify[Curvature[(a b)/Sqrt[b^2 Cos[q]^2-a^2 Sin[q]^2],q],a>0&&b>0&&q∈Reals]

-((2 (Sqrt[2]) a b)/((((a^4)+(b^4)+(-(a^4)+(b^4)) Cos[2 q]))^(3/2)))((((b^2) ((Cos[q])^2)-(a^2) ((Sin[q])^2)))^(3/2))

Implicit

FullSimplify[ImplicitCurvature[x^2/a^2-y^2/b^2-1,{x,y}],a>0&&b>0]

SortBy[FullSimplify[Curvature[(b^2) (x^2)-(a^2) ((b^2)+(y^2)),{x,y}],(x|y)∈Reals&&a>0&&b>0],ByteCount]

ByteCount/@%

Differential Equation

xy=Numerator[Together[((((x-x0))^2)/(a^2))-((((y[x]-y0))^2)/(b^2))-1]]

eqs=Table[D[xy,{x,i}],{i,0,3}];

gb=GroebnerBasis[eqs,{x,y[x],y'[x],y''[x],y'''[x]},{x0,y0,a,b},MonomialOrder->EliminationOrder]

Inflection Points

Solve[eqn==a (b^4)==0,{x,y}]//Union

InflectionPoints[eqn,{x,y}]

Singular Points

SingularPoints[eqn,{x,y}]

Slope

Slope[{a Sec[t],b Tan[t]},t]//FullSimplify

Slope[(a b)/Sqrt[b^2 Cos[q]^2-a^2 Sin[q]^2],q]//FullSimplify

Slope[x^2/a^2-y^2/b^2==1,{x,y}]//FullSimplify

SpecialAffineCurvature

k=FullSimplify[SpecialAffineCurvature[curve,t],a>0&&b>0]

Table[FullSimplify[k,(n-1)π/2<t<n π/2&&a>0&&b>0],{n,4}]

FullSimplify[SpecialAffineCurvature[curve,t],a>0&&b>0&&-π/2<t<π/2]

FunctionExpand[-(1/(((-a b))^(2/3))),a>0&&b>0]

FullSimplify[SpecialAffineCurvature[curve,t],a>0&&b>0&&-π<t<π]

Plot[(((Sec[t])^2)/(((((Sec[t])^3)))^(2/3))),{t,-π,π}]

(((Sec[t])^2)/(((((Sec[t])^3)))^(2/3)))/.t->2.

Tangential Angle

V6.0

TangentialAngle[curve,t]

TangentialAngle[curve,t,Assumptions->a>0&&b>0&&t∈Reals]//Timing

TangentialAngle[curve,t,Assumptions->a>0&&b>0&&-π/2<t<π/2]//Timing

TangentialAngle[curve,t,Assumptions->a>0&&b>0&&-π/2<t<π/2]//Timing

TangentialAngle[curve,t,Assumptions->a>0&&b>0&&π/2<t<π]//Timing

V6.1

TangentialAngle[curve,t,Assumptions->a>0&&b>0&&-π/2<t<π/2]//Timing

TangentialAngle[curve,t,Assumptions->a>0&&b>0&&-π/2<t<π/2]

VectorLength

FullSimplify[VectorLength[curve,t],a>0&&b>0&&t∈Reals]

(({cos(t),sin(t)} a b)/(((Sqrt[(b^2) (cos^2)(t)-(a^2) (sin^2)(t)]))))

curve=((a b)/(Sqrt[(b^2)((Cos[t])^2)-(a^2)((Sin[t])^2)])){Cos[t],Sin[t]};

Curvature

FullSimplify[Curvature[curve,t],0<t<2π&&a>0&&b>0]

FullSimplify[-((a b)/((Sqrt[(((((b^4) ((Cos[t])^2)+(a^4) ((Sin[t])^2)))^3)/((((b^2) ((Cos[t])^2)-(a^2) ((Sin[t])^2)))^3))]) )),0<t<2π&&a>0&&b>0]

{a cosh(t), b sinh(t)}

hyperbola={a Cosh[t],b Sinh[t]};

ParametricPlot[hyperbola/.{a->1,b->1},{t,-2,2},ImageSize->Tiny]

Curvature

FullSimplify[Curvature[hyperbola,t]]

Arc Length

v5

ArcLength[hyperbola,t,Assumptions->a>0&&b>0]//Timing

v6

ArcLength[hyperbola,t,Assumptions->a>0&&b>0]//Timing

Tangential Angle

v5

TangentialAngle[hyperbola,t,Assumptions->a>0&&b>0&&t∈Reals]//Timing

v6

TangentialAngle[hyperbola,t,Assumptions->a>0&&b>0&&t∈Reals]//Timing

Normals and Tangents

NormalTangentPlot[{Cosh[t],Sinh[t]},{t,-Pi,Pi,Pi/8},3]

Vector Properties

parm={a Sec[t],b Tan[t]};
assum=a>0&&b>0&&-π<t<π;
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]]

{-((b )/(Sqrt[(b^2)+(a^2) ((Sin[t])^2)])),((a Sign[Cos[t]] Tan[t])/(Sqrt[(b^2) ((Sec[t])^2)+(a^2)((Tan[t])^2)]))}

TangentVector

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

{((a Sign[Cos[t]] Tan[t])/(Sqrt[(b^2) ((Sec[t])^2)+(a^2)((Tan[t])^2)])),((b )/(Sqrt[(b^2)+(a^2) ((Sin[t])^2)]))}