DarbouxFrenetSerret::usage="The Frenet-Serret frame applies to curves in space and refers to the trihedron of the tangent, normal and binormal vector to the curve. The Darboux frame is applied to a curve that is on a surface and we have a tangent vector to the curve, a normal vector to the surface and the normal tangent vector, orthogonal to the previous two. This animation shows both frames. Reference: Personal.";
Example 1:
In[]:=
Manipulateζ[t_]:={0,t,
2
t
};F[x_,y_,z_]:=
2
y
-
2
x
-z;​​TF[t_]:=0,
1
1+4
2
t
,
2t
1+4
2
t
;​​​​NF[t_]:=0,-
2t
1+4
2
t
,
1
1+4
2
t
;​​BF[t_]:={1,0,0};​​ND[t_]:=0,
2t
4
2
t
+1
,-
1
4
2
t
+1
;​​TND[t_]:=-
1
1+4
2
t
-
4
2
t
1+4
2
t
,0,0;​​​​Show[{ContourPlot3D[F[x,y,z]==0,{x,-4,4},{y,-4,4},{z,-4,4},ContourStyle->Directive[Yellow,Specularity[White,40],Opacity[0.4]],MeshFalse,PerformanceGoal->"Quality",PlotPoints60],ContourPlot3D[x==0,{x,-4,4},{y,-4,4},{z,-4,4},ContourStyle->{Blue,Opacity[0.1],Specularity[White,40]},MeshFalse],​​ParametricPlot3D[ζ[t],{t,-2,t1},PlotStyle->{Black,Thick}],Graphics3D[​​{Black,Ball[ζ[t1],0.15],Point[ζ[t1]],​​​​Blue,Arrow[Tube[{ζ[t1],ζ[t1]+4N[TF[t1]]}]],​​Text[Style["
T
F
",14,Blue,Bold],ζ[t1]+4N[TF[t1]],{0,-1.5}],​​​​Red,Arrow[Tube[{ζ[t1],ζ[t1]+4N[NF[t1]]}]],​​Text[Style["
N
F
",14,Red,Bold],ζ[t1]+4N[NF[t1]],{0,-1.5}],​​​​Green,Arrow[Tube[{ζ[t1],ζ[t1]+4N[BF[t1]]}]],​​Text[Style["
B
F
",14,Green,Bold],ζ[t1]+4N[BF[t1]],{0,-1.5}],​​​​Brown,Arrow[Tube[{ζ[t1],ζ[t1]+4N[ND[t1]]}]],​​Text[Style["
N
D
",14,Brown,Bold],ζ[t1]+4N[ND[t1]],{0,-1.5}],​​​​Purple,Arrow[Tube[{ζ[t1],ζ[t1]+4N[TND[t1]]}]],​​Text[Style["
T
ND
",14,Purple,Bold],ζ[t1]+4N[TND[t1]],{0,-1.5}]​​​​}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRange8,ViewPoint{6,-2.4,2.},ImageSize900],Style["Darboux and Frenet-Serret frames:",Bold,Large],{{t1,-2+0.00002,"Value (t1)"},-2+0.00001,2,0.00001},ControlPlacementTop
Out[]=
​
Darboux and Frenet-Serret frames:
Value (t1)
Frenet-Serret Frame:
T
F
(blue),
N
F
(Red),
B
F
(Green).​Darboux Frame:
T
F
(blue),
N
D
(brown),
T
ND
(purple).
Example 2:
In[]:=
Manipulateζ[t_]:=
t
2
,2
t
,t;F[x_,y_,z_]:=xy-z;​​TF[t_]:=
1
16+
17
t
t
,
4
16+
17
t
t
,
1
1+
17
16t
;​​​​NF[t_]:=-
4
1
3
t
3/2
t
272+
289
t
,-
16
1
3
t
3/2
t
272+
289
t
,
1
3
t
t
16
17
+
1
t
;​​BF[t_]:=
4
1
3
t
3/2
t
17
,-
1
3
t
3/2
t
17
,0;​​ND[t_]:=
4t
17
2
t
+4
,
t
17
2
t
+4
,-
2
17
2
t
+4
;​​TND[t_]:=-
4(2+
3/2
t
)
16+
17
t
t
4+17
2
t
,
2+16
3/2
t
16+
17
t
t
4+17
2
t
,-
15
t
16+
17
t
4+17
2
t
;​​​​Show[{ContourPlot3D[F[x,y,z]==0,{x,-4,4},{y,-4,4},{z,-4,4},ContourStyle->Directive[Yellow,Specularity[White,40],Opacity[0.4]],MeshFalse,PerformanceGoal->"Quality",PlotPoints60],ContourPlot3D[y==4x,{x,-4,4},{y,-4,4},{z,-4,4},ContourStyle->{Blue,Opacity[0.1],Specularity[White,40]},MeshFalse],​​ParametricPlot3D[ζ[t],{t,-2,t1},PlotStyle->{Black,Thick}],Graphics3D[​​{Black,Ball[ζ[t1],0.15],Point[ζ[t1]],​​​​Blue,Arrow[Tube[{ζ[t1],ζ[t1]+4N[TF[t1]]}]],​​Text[Style["
T
F
",14,Blue,Bold],ζ[t1]+4N[TF[t1]],{0,-1.5}],​​​​Red,Arrow[Tube[{ζ[t1],ζ[t1]+4N[NF[t1]]}]],​​Text[Style["
N
F
",14,Red,Bold],ζ[t1]+4N[NF[t1]],{0,-1.5}],​​​​Green,Arrow[Tube[{ζ[t1],ζ[t1]+4N[BF[t1]]}]],​​Text[Style["
B
F
",14,Green,Bold],ζ[t1]+4N[BF[t1]],{0,-1.5}],​​​​Brown,Arrow[Tube[{ζ[t1],ζ[t1]+4N[ND[t1]]}]],​​Text[Style["
N
D
",14,Brown,Bold],ζ[t1]+4N[ND[t1]],{0,-1.5}],​​​​Purple,Arrow[Tube[{ζ[t1],ζ[t1]+4N[TND[t1]]}]],​​Text[Style["
T
ND
",14,Purple,Bold],ζ[t1]+4N[TND[t1]],{0,-1.5}]​​​​}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRange8,ViewPoint{1.3,-2.4,3.},ImageSize900],Style["Darboux and Frenet-Serret frames:",Bold,Large],{{t1,0.00002,"Value (t1)"},0.00001,4,0.00001},ControlPlacementTop