OffsetSurfaceToroid::usage="An Offset surface, is a smooth surface (without edges, peaks, or singular points, where each point has a tangent plane. Examples: Spheres, ellipsoids, toroids, cylinders and planes)​, it is defined as follows:​
σ
d
​[u, v] = σ[u, v] ± d n[u, v]​ σ[u, v] it is a smooth surface, d = distance, n[u, v] it is the normal unitary vector to the surface σ[u, v]. In this notebook we will obtain the offset surface of the toroid: {​(5 + 2 Cos[u]​)Cos[v]​, (5 + 2 Cos[u]​)Sin[v]​, 2 Sin[u]​} with d = 1.5.​ References: Peternell, M. et al. Offsets, Conchoids and Pedal Surfaces​; Personal. ";
Development:
In[]:=
σ[u_,v_]:={(5+2Cos[u])Cos[v],(5+2Cos[u])Sin[v],2Sin[u]};​​
σ
u
[u_,v_]=D[σ[u,v],u];​​
σ
v
[u_,v_]=D[σ[u,v],v];​​d=1.5;n[u_,v_]:=
σ
u
[u,v]
σ
v
[u,v]
Norm[
σ
u
[u,v]
σ
v
[u,v]]
;​​σ[u,v]+dn[u,v]//FullSimplify​​σ[u,v]-dn[u,v]//FullSimplify​​​​
5+2Cos[u]+
(-7.5`-3.`Cos[u])Cos[u]
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Cos[v],5+2Cos[u]+
(-7.5`-3.`Cos[u])Cos[u]
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Sin[v],Sin[u]-7.5`-3.`Cos[u]+2.0000000000000004`√((5+2Cos[u])(5+2Cos[Conjugate[u]])(Cos[u]Cos[Conjugate[u]]Cosh[2Im[v]]+Sin[u]Sin[Conjugate[u]]))Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
;
5+2Cos[u]+
Cos[u](7.5`+3.`Cos[u])
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Cos[v],5+2Cos[u]+
Cos[u](7.5`+3.`Cos[u])
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Sin[v],Sin[u]7.5`+3.`Cos[u]+2.0000000000000004`√((5+2Cos[u])(5+2Cos[Conjugate[u]])(Cos[u]Cos[Conjugate[u]]Cosh[2Im[v]]+Sin[u]Sin[Conjugate[u]]))Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
;
Animation:
In[]:=
SwatchLegend[{Orange,Blue,Yellow},{"Positive Offset surface","Negative Offset surface","Base surface"}]​​Manipulateσ[u_,v_]:={(5+2Cos[u])Cos[v],(5+2Cos[u])Sin[v],2Sin[u]};​​
σ
dp
[u_,v_]:=5+2Cos[u]+
(-7.5`-3.`Cos[u])Cos[u]
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Cos[v],5+2Cos[u]+
(-7.5`-3.`Cos[u])Cos[u]
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Sin[v],Sin[u]-7.5`-3.`Cos[u]+2.0000000000000004`√((5+2Cos[u])(5+2Cos[Conjugate[u]])(Cos[u]Cos[Conjugate[u]]Cosh[2Im[v]]+Sin[u]Sin[Conjugate[u]]))Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
;
σ
dn
[u_,v_]:=5+2Cos[u]+
Cos[u](7.5`+3.`Cos[u])
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Cos[v],5+2Cos[u]+
Cos[u](7.5`+3.`Cos[u])
Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
Sin[v],Sin[u]7.5`+3.`Cos[u]+2.0000000000000004`√((5+2Cos[u])(5+2Cos[Conjugate[u]])(Cos[u]Cos[Conjugate[u]]Cosh[2Im[v]]+Sin[u]Sin[Conjugate[u]]))Abs[5+2Cos[u]]
2
Abs[Sin[u]]
+
2
Abs[Cos[u]]
(
2
Abs[Cos[v]]
+
2
Abs[Sin[v]]
)
;​​Show[ParametricPlot3D[σ[u,v],{u,0,2π},{v,0,2π},PerformanceGoal"Quality",MeshStyleDirective[AbsoluteThickness[0.5],Opacity[0.2]],PlotStyle{Opacity[0.4],Yellow},Mesh->False,PlotPoints60],​​ParametricPlot3D[
σ
dp
[u,v],{u,0,k1},{v,0,2π},PerformanceGoal"Quality",MeshStyleDirective[AbsoluteThickness[0.5],Opacity[0.4]],PlotStyle{Opacity[0.2],Orange},PlotPoints60],​​​​ParametricPlot3D[
σ
dn
[u,v],{u,0,k1},{v,0,2π},PerformanceGoal"Quality",MeshStyleDirective[AbsoluteThickness[0.5],Opacity[0.4]],PlotStyle{Opacity[0.2],Blue},PlotPoints60],AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,ViewPoint{1.3,-2.4,4.},PlotLabelStyle[Framed["Offset surfaces"],16,Blue,BackgroundYellow],PlotRange{{-8,8},{-8,8},{-5,5}},ImageSize700​​],{k1,0.00001,2π,0.00001},SaveDefinitionsTrue,ControlPlacementTop
Out[]=
Positive Offset surface
Negative Offset surface
Base surface
Out[]=
​
k1
Explanation :
In[]:=
Eliminate[{x==(5+2Cos[u])Cos[v],y==(5+2Cos[u])Sin[v],z==2Sin[u]},{u,v}]
Out[]=
-
x(10
2
x
+10
2
y
)(-79+
2
x
+
2
y
+
2
z
)
10(21+
2
z
)
x(21+
2
x
+
2
y
+
2
z
)&&
4
x
+
2
x
(-58+2
2
y
+2
2
z
)-441+58
2
y
-
4
y
-42
2
z
-2
2
y
2
z
-
4
z
Cutting the surface:
4
x
+
2
x
(-58+2
2
y
+2
2
z
)-441+58
2
y
-
4
y
-42
2
z
-2
2
y
2
z
-
4
z
;
with the plane y = 0, results:
In[]:=
4
x
+
2
x
(-58+2
2
z
)-441-42
2
z
-
4
z
;​​Solve[
4
x
+
2
x
(-58+2
2
z
)-441-42
2
z
-
4
z
,z]
In[]:=
z-
-21-10x-
2
x
,z
-21-10x-
2
x
,z-
-21+10x-
2
x
,z
-21+10x-
2
x
;​​
ζ
1
[t_]:=t,0,-
-21-10t-
2
t
;
ζ
2
[t_]:=t,0,
-21-10t-
2
t
;​​Reduce[-21-10t-
2
t
>=0,t]
Out[]=
-7≤t≤-3