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 hyperbolic paraboloid: ​{u, v, u v + 1} with the distance k = 1.5 and as pole P = {0, 0, 1}.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_]:={u,v,uv+1};k=1.5;P={0,0,1};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],r2[u,v]},{u,-5,5},{v,-5,5},PerformanceGoal"Quality",PlotPoints60],ParametricPlot3D[r[u,v],{u,-5,5},{v,-5,5},MeshFalse,PlotStyle->{Yellow,Opacity[0.9]}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,ImageSize900,PlotLabelStyle[Framed["Conchoid surface of a hyperbolic paraboloid"],16,Blue,BackgroundYellow],PlotRange5,ViewPoint{7,-2.4,6.},ImageSize900
Out[]=
Positive conchoid surface
Negative conchoid surface
Base surface
Out[]=
Explanation:
In[]:=
Eliminate[{x==u,y==v,z==uv+1},{u,v}]
1+xy-z0;
Making a cut with the plane x = y, it turns out:
z==1+
2
y
;
The animation is located in the x = y plane:
In[]:=
SwatchLegend[{Orange,Blue,DarkYellow,Red,Black},{"Positive Conchoid","Negative Conchoid","Original function","Pole","Generatrix line"}]​​Manipulatef[t_]:=t;g[t_]:=t;h[t_]:=1+
2
t
;
x
0
=0;
y
0
=0;​​
z
0
=1;k=1.5;
ζ
+
[t_]:=f[t]+
k(f[t]-
x
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
+
2
(h[t]-
z
0
)
,g[t]+
k(g[t]-
y
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
+
2
(h[t]-
z
0
)
,h[t]+
k(h[t]-
z
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
+
2
(h[t]-
z
0
)
;​​
ζ
-
[t_]:=f[t]-
k(f[t]-
x
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
+
2
(h[t]-
z
0
)
,g[t]-
k(g[t]-
y
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
+
2
(h[t]-
z
0
)
,h[t]-
k(h[t]-
z
0
)
2
(f[t]-
x
0
)
+
2
(g[t]-
y
0
)
+
2
(h[t]-
z
0
)
;​​Show[{ParametricPlot3D[
ζ
+
[t],{t,-2,t1},PlotStyle{Orange,Thick},PerformanceGoal->"Quality"],ParametricPlot3D[
ζ
-
[t],{t,-2,t1},PlotStyle{Blue,Thick},PerformanceGoal->"Quality"],ParametricPlot3D[{f[t],g[t],h[t]},{t,-2,2},PlotStyle{DarkYellow,Thick}],Graphics3D[{Orange,Ball[
ζ
+
[t1],0.08]}],Graphics3D[{Blue,Ball[
ζ
-
[t1],0.08]}],Graphics3D[{Black,Thick,Line[{
ζ
-
[t1],{
x
0
,
y
0
,
z
0
},
ζ
+
[t1]}]}],Graphics3D[{Red,Ball[{
x
0
,
y
0
,
z
0
},0.08]}],Graphics3D[{DarkYellow,Ball[{f[t1],g[t1],h[t1]},0.08]}]},AxesTrue,BoxedFalse,AxesOrigin{0,0,0},BoxRatiosAutomatic,ImageSize900,PlotRange{{-5,5},{-5,5},{0,7}},ViewPoint{1.3,-2.4,1.},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)
On the surface:
Now we make a cut with the plane z = 0, it turnes out:
The animation is located in the plane z = 0 and since the curves will be on the plane z = 0 , we will take as a pole the origin :
Detail close to the origin of the negative conchoid curve: