EnvelopeHyperboloids::usage="The equation of a family of hyperboloids is:​
2
(x-c)
4
+
2
(y-c)
9
-
2
z
16
= 1. Find its envelope, its characteristic and its recoil edge.Reference: Personal.";
Development:
In[]:=
Solve
2
(x-c)
4
+
2
(y-c)
9
-
2
z
16
==1,
∂
c
2
(x-c)
4
+
2
(y-c)
9
-
2
z
16
-1==0,{x,y}
Out[]=
x
1
13
13c-
13
16+
2
z
,y
1
52
52c+9
13
16+
2
z
,x
1
13
13c+
13
16+
2
z
,y
1
52
52c-9
13
16+
2
z

Envelope:
ζ[t_]:=
1
13
13c-
13
16+
2
t
,
1
52
52c+9
13
16+
2
t
,t;
ζ
1
[t_]:=
1
13
13c+
13
16+
2
t
,
1
52
52c-9
13
16+
2
t
,t;
Characteristic:
For each value of c we have a different characteristic.
Recoil edge :
In[]:=
Solve
2
(x-c)
4
+
2
(y-c)
9
-
2
z
16
==1,
∂
c
2
(x-c)
4
+
2
(y-c)
9
-
2
z
16
-1==0,
∂
c,c
2
(x-c)
4
+
2
(y-c)
9
-
2
z
16
-1==0==0,{x,y,z}
{};
As it is not a developable surface, it has no recoil edge. But if it has a line of striction we will obtain it from the intersection of the family with the plane z = 0:
ξ[θ_]:={2Cos[θ]+c,3Sin[θ]+c,0};
A family of ellipses.
Animation:
In[]:=
SwatchLegend[{Yellow,Gray,Red},{"Envelope and characteristics","Family elements","Striction lines"}]​​Manipulateζ[t_]:=
1
13
13c-
13
16+
2
t
,
1
52
52c+9
13
16+
2
t
,t;
ζ
1
[t_]:=
1
13
13c+
13
16+
2
t
,
1
52
52c-9
13
16+
2
t
,t;ξ[θ_]:={2Cos[θ]+c,3Sin[θ]+c,0};σ[u_,v_]:=2
1+
2
u
Cos[v]+c,3
1+
2
u
Sin[v]+c,4u;​​Show[{Table[ParametricPlot3D[ζ[t],{t,-20,20},PlotStyle->Yellow]/.Line[pts_,rest___]:>Tube[pts,0.09,rest],{c,-5,t1,1}],Table[ParametricPlot3D[
ζ
1
[t],{t,-20,20},PlotStyle->Yellow]/.Line[pts_,rest___]:>Tube[pts,0.09,rest],{c,-5,t1,1}],Table[ParametricPlot3D[ξ[θ],{θ,0,2π},PlotStyleRed]/.Line[pts_,rest___]:>Tube[pts,0.09,rest],{c,-5,t1,1}],Table[ParametricPlot3D[σ[u,v],{u,-5,5},{v,0,2π},PlotStyle->{Opacity[0.1],Specularity[White,10],Gray},MeshFalse,PerformanceGoal"Quality"],{c,-5,t1,1}],ParametricPlot3D[ζ[t],{t,-20,20},{c,-5,t1},PlotStyle->{Opacity[0.1],Specularity[White,10],Yellow},MeshFalse,PerformanceGoal"Quality"],ParametricPlot3D[
ζ
1
[t],{t,-20,20},{c,-5,t1},PlotStyle->{Opacity[0.1],Specularity[White,10],Yellow},MeshFalse,PerformanceGoal"Quality"]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRangeAll,ViewPoint{8,-2.4,4.},ImageSize900],Style["Envelope of a family of hyperboloids:",Bold,Large],{{t1,-5+0.00002,"Value (t1)"},-5+0.00001,4.9999,1},ControlPlacementTop
Out[]=
Envelope and characteristics
Family elements
Striction lines
Out[]=
​
Envelope of a family of hyperboloids:
Value (t1)