ConchoidSurface::usage="The definition of a conchoid surface is:​
r
c
​[u, v] = r[u, v] ± k
r[u,v]-P
r[u,v]-P
​, P is the pole, k distance and r[u, v] the base surface.In this notebook we will obtain the conchoid surface of the one-leaf hyperboloid: ​2
1+
2
u
Cos[v]​, 3
1+
2
u
Sin[v]​, 4 u with the distance k = 3 and as pole P the {0, 0, 0}.Reference: Peternell, M. et al.Conchoid surfaces of rational ruled surfaces. Vienna University of Technology; Personal. ";
Graph:
In[]:=
SwatchLegend[{Orange,Blue,Yellow},{"Positive conchoid surface","Negative conchoid surface","Base surface"}]​​Showr[u_,v_]:=2
1+
2
u
Cos[v],3
1+
2
u
Sin[v],4u;k=3;P={0,0,0};r1[u_,v_]:=r[u,v]+k
r[u,v]-P
Norm[r[u,v]-P]
;​​r2[u_,v_]:=r[u,v]-k
r[u,v]-P
Norm[r[u,v]-P]
;{ParametricPlot3D[r1[u,v],{u,-5,5},{v,0,2π},PerformanceGoal"Quality",PlotStyle{Opacity[0.4],Orange},PlotPoints60],​​ParametricPlot3D[r2[u,v],{u,-5,5},{v,0,2π},PerformanceGoal"Quality",PlotStyle{Opacity[1],Blue},PlotPoints60],ParametricPlot3D[r[u,v],{u,-5,5},{v,0,2π},MeshFalse,PlotPoints60,PlotStyle->{Yellow,Opacity[0.8]}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotLabelStyle[Framed["Conchoid surface of an one-leaf hyperboloid"],16,Blue,BackgroundYellow],PlotRange6,ViewPoint{-4,6,2.},ImageSize700
Out[]=
Positive conchoid surface
Negative conchoid surface
Base surface
Out[]=
Explanation in 2D:
In[]:=
SwatchLegend[{Orange,Blue,DarkYellow,Red,Black},{"Positive Conchoid","Negative Conchoid","Original function","Pole","Generatrix line"}]​​Manipulatef[t_]:=2Cosh[t];
f
1
[t_]:=-2Cosh[t];g[t_]:=4Sinh[t];
x
0
=0;
y
0
=0;k=3;
ζ
+
[t_]:=f[t]+
k(f[t]-
x
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
,g[t]+
k(g[t]-
y
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
;​​
ζ
-
[t_]:=f[t]-
k(f[t]-
x
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
,g[t]-
k(g[t]-
y
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
;​​
ζ
1
+
[t_]:=
f
1
[t]+
k(
f
1
[t]-
x
0
)
2
(
f
1
[t]-
x
0
)
+
2
(g[t]-
y
0
)
,g[t]+
k(g[t]-
y
0
)
2
(
f
1
[t]-
x
0
)
+
2
(g[t]-
y
0
)
;​​
ζ
1
-
[t_]:=
f
1
[t]-
k(
f
1
[t]-
x
0
)
2
(
f
1
[t]-
x
0
)
+
2
(g[t]-
y
0
)
,g[t]-
k(g[t]-
y
0
)
2
(
f
1
[t]-
x
0
)
+
2
(g[t]-
y
0
)
;​​Show[{ParametricPlot[
ζ
+
[t],{t,-2,t1},PlotStyle{Orange,Thick},PerformanceGoal->"Quality"],ParametricPlot[
ζ
-
[t],{t,-2,t1},PlotStyle{Blue,Thick},PerformanceGoal->"Quality"],​​ParametricPlot[
ζ
1
+
[t],{t,-2,t1},PlotStyle{Orange,Thick},PerformanceGoal->"Quality"],ParametricPlot[
ζ
1
-
[t],{t,-2,t1},PlotStyle{Blue,Thick},PerformanceGoal->"Quality"],ParametricPlot[{f[t],g[t]},{t,-2,2},PlotStyle{DarkYellow,Thick}],ParametricPlot[{
f
1
[t],g[t]},{t,-2,2},PlotStyle{DarkYellow,Thick}],Graphics[{Orange,PointSize[0.015],Point[
ζ
+
[t1]]}],Graphics[{Orange,PointSize[0.015],Point[
ζ
1
+
[t1]]}],Graphics[{Blue,PointSize[0.015],Point[
ζ
-
[t1]]}],Graphics[{Blue,PointSize[0.015],Point[
ζ
1
-
[t1]]}],Graphics[{Black,Thick,Line[{
ζ
-
[t1],{
x
0
,
y
0
},
ζ
+
[t1]}]}],Graphics[{Black,Thick,Line[{
ζ
1
-
[t1],{
x
0
,
y
0
},
ζ
1
+
[t1]}]}],Graphics[{Red,PointSize[0.015],Point[{
x
0
,
y
0
}]}],Graphics[{DarkYellow,PointSize[0.015],Point[{f[t1],g[t1]}]}],Graphics[{DarkYellow,PointSize[0.015],Point[{
f
1
[t1],g[t1]}]}]},AxesTrue,AxesOrigin{0,0},AspectRatioAutomatic,ImageSize500,PlotRange{{-10,10},{-20,20}},PlotLabelStyle[Framed["Conchoid"],16,Blue,BackgroundYellow]],{{t1,-2+0.00002,"Value (t1)"},-2+0.00001,2,0.00001},ControlPlacement->Top​​
Out[]=
Positive Conchoid
Negative Conchoid
Original function
Pole
Generatrix line
Out[]=
​
Value (t1)