In[]:=
EnvelopeHyperboloids::usage="The equation of a family of hyperboloids is: + - = 1. Find its envelope, its characteristic and its recoil edge.Reference: Personal.";
2
x
2
a
2
y
9
2
z
16
Development:
In[]:=
Solve+-==1,+--1==0,{x,y}
2
x
2
a
2
y
9
2
z
16
∂
a
2
x
2
a
2
y
9
2
z
16
Out[]=
x0,y-
3
4
16+
,x0,y2
z
3
16+
2
z
4
Characteristic:
In[]:=
ζ[t_]:=0,-[t_]:=0,
3
4
16+
,t;2
t
ζ
1
3
4
16+
,t;2
t
As will be seen in the animation, all the elements of the family are tangents to the characteristic (it doesn’t depend on a), therefore it also works as an envelope.
Recoil edge :
In[]:=
Solve+-==1,+--1==0,+--1==0,{x,y,z}
2
x
2
a
2
y
9
2
z
16
∂
a
2
x
2
a
2
y
9
2
z
16
∂
a,a
2
x
2
a
2
y
9
2
z
16
Out[]=
x0,z-
4
3
-9+
,x0,z2
y
4
3
-9+
2
y
In[]:=
ϕ
1
4
3
-9+
;2
t
ϕ
1
4
3
-9+
;2
t
The recoil edge matches the charcateristic and the envelope, because a hyperboloid is not a developable surface, it does not have a recoil edge, but a line of striction that we will calculate by making the intersection of the family with the plane z = 0:
In[]:=
ξ[θ_]:={aCos[θ],3Sin[θ],0};
A family of ellipses.
Animation:
In[]:=
Manipulateζ[t_]:=0,-[t_]:=0,[t]],{t,-20,20},PlotStyle->Yellow]/.Line[pts_,rest___]:>Tube[pts,0.09,rest],Table[ParametricPlot3D[ξ[θ],{θ,0,2π},PlotStyleRed]/.Line[pts_,rest___]:>Tube[pts,0.09,rest],{a,1,t1,1}],Table[ParametricPlot3D[σ[u,v],{u,-5,5},{v,0,2π},PlotStyle->{Opacity[0.1],Specularity[White,10],Gray},MeshFalse,PerformanceGoal"Quality"],{a,1,t1,1}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRangeAll,ViewPoint{8,-2.4,4.},ImageSize900],Style["Envelope of a family of hyperboloids:",Bold,Large],{{t1,1.0002,"Value (t1)"},1.0001,4.9999,1},ControlPlacementTop
3
4
16+
,t;2
t
ζ
1
3
4
16+
,t;ξ[θ_]:={aCos[θ],3Sin[θ],0};σ[u_,v_]:=a2
t
1+
Cos[v],32
u
1+
Sin[v],4u;Show[{ParametricPlot3D[Callout[ζ[t]],{t,-20,20},PlotStyle->Yellow]/.Line[pts_,rest___]:>Tube[pts,0.09,rest],ParametricPlot3D[Callout[2
u
ζ
1
Out[]=

