ConchoidSurface::usage="The definition of a conchoid surface is:[u, v] = r[u, v] ± k , P is the pole, k distance and r[u, v] the base surface.In this notebook we will obtain the conchoid surface of the Plücker conoid: {0, 0, Sin[2 u]} + v {Cos[u], Sin[u], 0} with the distance k = 3 and as pole P = {0, 0, 0}.Reference: Peternell, M. et al.Conchoid surfaces of rational ruled surfaces. Vienna University of Technology; Personal. ";
r
c
r[u,v]-P
r[u,v]-P
Graph:
In[]:=
SwatchLegend[{Orange,Blue,Yellow},{"Positive conchoid surface","Negative conchoid surface","Base surface"}]Showr[u_,v_]:={0,0,Sin[2u]}+v{Cos[u],Sin[u],0};k=3;P={0,0,0};r1[u_,v_]:=r[u,v]+k;r2[u_,v_]:=r[u,v]-k;{ParametricPlot3D[r1[u,v],{u,0,2π},{v,-5,5},PerformanceGoal"Quality",PlotStyle{Opacity[0.9],Orange},PlotPoints60],ParametricPlot3D[r2[u,v],{u,0,2π},{v,-5,5},PerformanceGoal"Quality",PlotStyle{Opacity[0.9],Blue},PlotPoints60],ParametricPlot3D[r[u,v],{u,0,2π},{v,-5,5},MeshFalse,PlotStyle->{Yellow,Opacity[1]},PlotPoints60]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotLabelStyle[Framed["Conchoid surface of a Plücker conoid"],16,Blue,BackgroundYellow],PlotRange5,ViewPoint{8,15,5},ImageSize900
r[u,v]-P
Norm[r[u,v]-P]
r[u,v]-P
Norm[r[u,v]-P]
Out[]=
Out[]=
Base surface it is a Plücker conoid:
In[]:=
ParametricPlot3D[{0,0,Sin[2u]}+v{Cos[u],Sin[u],0},{u,0,2π},{v,-5,5},PlotStyleYellow,MeshFalse,ImageSize->900,ViewPoint{8,15,5},BoxedFalse,AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic]
Out[]=
Explanation:
Cutting the surface:
z=+;
2xy
2
x
2
y
with the plane x = y, results:
z==1;
2
2
y
2
2
y
In[]:=
SwatchLegend[{Orange,Blue,DarkYellow,Red,Black},{"Positive Conchoid","Negative Conchoid","Original function","Pole","Generatrix line"}]Manipulatef[t_]:=t;g[t_]:=t;h[t_]:=1;=0;=0;=0;k=3;[t_]:=f[t]++,g[t]++,;[t_]:=f[t]-+,g[t]-+;[t_]:=f[t]+++,g[t]+++,h[t]+++;[t_]:=f[t]-++,g[t]-++,h[t]-++;Show[{ParametricPlot3D[[t],{t,-5,t1},PlotStyle{Orange,Thick},PerformanceGoal->"Quality"],ParametricPlot3D[[t],{t,-5,t1},PlotStyle{Blue,Thick},PerformanceGoal->"Quality"],ParametricPlot3D[{f[t],g[t],h[t]},{t,-5,5},PlotStyle{DarkYellow,Thick}],Graphics3D[{Orange,Ball[[t1],0.08]}],Graphics3D[{Blue,Ball[[t1],0.08]}],Graphics3D[{Black,Thick,Line[{[t1],{,,},[t1]}]}],Graphics3D[{Red,Ball[{,,},0.08]}],Graphics3D[{DarkYellow,Ball[{f[t1],g[t1],h[t1]},0.08]}]},AxesTrue,AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),BoxedFalse,AxesOrigin{0,0,0},BoxRatiosAutomatic,ImageSize900,PlotRange{{-6,6},{-6,6},{-2,6}},ViewPoint{8,15,5.},PlotLabelStyle[Framed["Conchoid"],16,Blue,BackgroundYellow]],{{t1,-5+0.00002,"Value (t1)"},-5+0.00001,5,0.00001},ControlPlacement->Top
x
0
y
0
z
0
ζ
+
k(f[t]-)
x
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
k(g[t]-)
y
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
ζ
-
k(f[t]-)
x
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
k(g[t]-)
y
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
ζ
+
k(f[t]-)
x
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
2
(h[t]-)
z
0
k(g[t]-)
y
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
2
(h[t]-)
z
0
k(h[t]-)
z
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
2
(h[t]-)
z
0
ζ
-
k(f[t]-)
x
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
2
(h[t]-)
z
0
k(g[t]-)
y
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
2
(h[t]-)
z
0
k(h[t]-)
z
0
2
(f[t]-)
x
0
2
(g[t]-)
y
0
2
(h[t]-)
z
0
ζ
+
ζ
-
ζ
+
ζ
-
ζ
-
x
0
y
0
z
0
ζ
+
x
0
y
0
z
0
Out[]=