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: [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. ";
σ
d
Development:
In[]:=
σ[u_,v_]:={(5+2Cos[u])Cos[v],(5+2Cos[u])Sin[v],2Sin[u]};[u_,v_]=D[σ[u,v],u];[u_,v_]=D[σ[u,v],v];d=1.5;n[u_,v_]:=[u,v][u,v];σ[u,v]+dn[u,v]//FullSimplifyσ[u,v]-dn[u,v]//FullSimplify
σ
u
σ
v
σ
u
σ
v
Norm[[u,v][u,v]]
σ
u
σ
v
5+2Cos[u]+Cos[v],5+2Cos[u]+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]]+(+);
(-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]]
(-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]]
2
Abs[Sin[u]]
2
Abs[Cos[u]]
2
Abs[Cos[v]]
2
Abs[Sin[v]]
5+2Cos[u]+Cos[v],5+2Cos[u]+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]]+(+);
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[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]]
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]};[u_,v_]:=5+2Cos[u]+Cos[v],5+2Cos[u]+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]]+(+);[u_,v_]:=5+2Cos[u]+Cos[v],5+2Cos[u]+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]]+(+);Show[ParametricPlot3D[σ[u,v],{u,0,2π},{v,0,2π},PerformanceGoal"Quality",MeshStyleDirective[AbsoluteThickness[0.5],Opacity[0.2]],PlotStyle{Opacity[0.4],Yellow},Mesh->False,PlotPoints60],ParametricPlot3D[[u,v],{u,0,k1},{v,0,2π},PerformanceGoal"Quality",MeshStyleDirective[AbsoluteThickness[0.5],Opacity[0.4]],PlotStyle{Opacity[0.2],Orange},PlotPoints60],ParametricPlot3D[[u,v],{u,0,k1},{v,0,2π},PerformanceGoal"Quality",MeshStyleDirective[AbsoluteThickness[0.5],Opacity[0.4]],PlotStyle{Opacity[0.2],Blue},PlotPoints60],AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,ViewPoint{1.3,-2.4,4.},PlotLabelStyle[Framed["Offset surfaces"],16,Blue,BackgroundYellow],PlotRange{{-8,8},{-8,8},{-5,5}},ImageSize700],{k1,0.00001,2π,0.00001},SaveDefinitionsTrue,ControlPlacementTop
σ
dp
(-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]]
(-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]]
2
Abs[Sin[u]]
2
Abs[Cos[u]]
2
Abs[Cos[v]]
2
Abs[Sin[v]]
σ
dn
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[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]]
2
Abs[Sin[u]]
2
Abs[Cos[u]]
2
Abs[Cos[v]]
2
Abs[Sin[v]]
σ
dp
σ
dn
Out[]=
Out[]=
Explanation :
In[]:=
Eliminate[{x==(5+2Cos[u])Cos[v],y==(5+2Cos[u])Sin[v],z==2Sin[u]},{u,v}]
Out[]=
-x(21+++)&&+(-58+2+2)-441+58--42-2-
x(10+10)(-79+++)
2
x
2
y
2
x
2
y
2
z
10(21+)
2
z
2
x
2
y
2
z
4
x
2
x
2
y
2
z
2
y
4
y
2
z
2
y
2
z
4
z
Cutting the surface:
4
x
2
x
2
y
2
z
2
y
4
y
2
z
2
y
2
z
4
z
with the plane y = 0, results:
In[]:=
4
x
2
x
2
z
2
z
4
z
4
x
2
x
2
z
2
z
4
z
In[]:=
z-[t_]:=t,0,-[t_]:=t,0,>=0,t]
-21-10x-
,z2
x
-21-10x-
,z-2
x
-21+10x-
,z2
x
-21+10x-
;2
x
ζ
1
-21-10t-
;2
t
ζ
2
-21-10t-
;Reduce[-21-10t-2
t
2
t
Out[]=
-7≤t≤-3

