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,};F[x_,y_,z_]:=--z;TF[t_]:=0,,;NF[t_]:=0,-,;BF[t_]:={1,0,0};ND[t_]:=0,,-;TND[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]],MeshFalse,PerformanceGoal->"Quality",PlotPoints60],ContourPlot3D[x==0,{x,-4,4},{y,-4,4},{z,-4,4},ContourStyle->{Blue,Opacity[0.1],Specularity[White,40]},MeshFalse],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["",14,Blue,Bold],ζ[t1]+4N[TF[t1]],{0,-1.5}],Red,Arrow[Tube[{ζ[t1],ζ[t1]+4N[NF[t1]]}]],Text[Style["",14,Red,Bold],ζ[t1]+4N[NF[t1]],{0,-1.5}],Green,Arrow[Tube[{ζ[t1],ζ[t1]+4N[BF[t1]]}]],Text[Style["",14,Green,Bold],ζ[t1]+4N[BF[t1]],{0,-1.5}],Brown,Arrow[Tube[{ζ[t1],ζ[t1]+4N[ND[t1]]}]],Text[Style["",14,Brown,Bold],ζ[t1]+4N[ND[t1]],{0,-1.5}],Purple,Arrow[Tube[{ζ[t1],ζ[t1]+4N[TND[t1]]}]],Text[Style["",14,Purple,Bold],ζ[t1]+4N[TND[t1]],{0,-1.5}]}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRange8,ViewPoint{6,-2.4,2.},ImageSize900],Style["Darboux and Frenet-Serret frames:",Bold,Large],{{t1,-2+0.00002,"Value (t1)"},-2+0.00001,2,0.00001},ControlPlacementTop
2
t
2
y
2
x
1
1+4
2
t
2t
1+4
2
t
2t
1+4
2
t
1
1+4
2
t
2t
4+1
2
t
1
4+1
2
t
1
1+4
2
t
4
2
t
1+4
2
t
T
F
N
F
B
F
N
D
T
ND
Out[]=
Frenet-Serret Frame: (blue),(Red), (Green).Darboux Frame: (blue), (brown), (purple).
T
F
N
F
B
F
T
F
N
D
T
ND
Example 2:
In[]:=
Manipulateζ[t_]:=,2,,;NF[t_]:=-,-,t+;BF[t_]:=,-,0;ND[t_]:=,,-;TND[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]],MeshFalse,PerformanceGoal->"Quality",PlotPoints60],ContourPlot3D[y==4x,{x,-4,4},{y,-4,4},{z,-4,4},ContourStyle->{Blue,Opacity[0.1],Specularity[White,40]},MeshFalse],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["",14,Blue,Bold],ζ[t1]+4N[TF[t1]],{0,-1.5}],Red,Arrow[Tube[{ζ[t1],ζ[t1]+4N[NF[t1]]}]],Text[Style["",14,Red,Bold],ζ[t1]+4N[NF[t1]],{0,-1.5}],Green,Arrow[Tube[{ζ[t1],ζ[t1]+4N[BF[t1]]}]],Text[Style["",14,Green,Bold],ζ[t1]+4N[BF[t1]],{0,-1.5}],Brown,Arrow[Tube[{ζ[t1],ζ[t1]+4N[ND[t1]]}]],Text[Style["",14,Brown,Bold],ζ[t1]+4N[ND[t1]],{0,-1.5}],Purple,Arrow[Tube[{ζ[t1],ζ[t1]+4N[TND[t1]]}]],Text[Style["",14,Purple,Bold],ζ[t1]+4N[TND[t1]],{0,-1.5}]}]},AxesLabel->(Style[#,15,Blue]&/@{"X","Y","Z"}),AxesOrigin{0,0,0},AxesTrue,BoxedFalse,BoxRatiosAutomatic,PlotRange8,ViewPoint{1.3,-2.4,3.},ImageSize900],Style["Darboux and Frenet-Serret frames:",Bold,Large],{{t1,0.00002,"Value (t1)"},0.00001,4,0.00001},ControlPlacementTop
t
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
4
1
3
t
3/2
t
272+
289
t
16
1
3
t
3/2
t
272+
289
t
1
3
t
16
17
1
t
4
1
3
t
3/2
t
17
1
3
t
3/2
t
17
4t
17+4
2
t
t
17+4
2
t
2
17+4
2
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
T
F
N
F
B
F
N
D
T
ND

