frenet.mws

frenet - Frenetův doprovodný trojhran

Calling Sequence

frenet(X(t), t)

frenet([x(t),y(t),z(t)],t)

Parameters

X(t) - Křivka daná vektorovou funkcí, rovinná křivka [x(t),y(t)], nebo prostorová křivka [x(t),y(t),z(t)] v euklidovském prostoru R^3

 t - parametr křivky

principalNormal ..globální proměnná, provedením procedury frenet se do ní uloží směrový vektor hlavní normály (nenormovaný)

Tangent ................globální proměnná pro směrový vektor tečny (nenormovaný)

Binormal .............globální proměnná pro směrový vektor tečny (nenormovaný)

Description

Examples

Nejprve je třeba nastavit cestu, kde máte uloženou knihovnu "diffgeometry", např

>    restart;

>    libname:=libname,"D:/Sarka/Maple/diffgeometry/libsarka";

libname :=

>    with(diffgeometry);

[AsymptoticDir, D1, D2, E, EFG, F, G, GaussCurvature, L, LMN, M, MeanCurvature, N, PrincipalMatrix, arclength, arclengthNumeric, curvature, dp, dupin, frenet, l, m, n, normalize, nrm, revolve, screw, t...
[AsymptoticDir, D1, D2, E, EFG, F, G, GaussCurvature, L, LMN, M, MeanCurvature, N, PrincipalMatrix, arclength, arclengthNumeric, curvature, dp, dupin, frenet, l, m, n, normalize, nrm, revolve, screw, t...

Frenetův trojhran prostorové křivky - šroubovice

>    helix:=([cos(t),sin(t),t]);frenetův_trojhran:=frenet(helix,t);

>    jednotkovy_vektor_tecny:=frenet(helix,t)[1];vektor_tecny:=Tangent;vektor_normaly:=principalNormal;

helix := [cos(t), sin(t), t]

`frenetův_trojhran` := [[-1/2*sin(t)*2^(1/2), 1/2*cos(t)*2^(1/2), 1/2*2^(1/2)], [cos(t), sin(t), 0], [1/2*sin(t)*2^(1/2), -1/2*cos(t)*2^(1/2), 1/2*2^(1/2)]]

jednotkovy_vektor_tecny := [-1/2*sin(t)*2^(1/2), 1/2*cos(t)*2^(1/2), 1/2*2^(1/2)]

vektor_tecny := [-sin(t), cos(t), 1]

vektor_normaly := [2*cos(t), 2*sin(t), 0]

Výpočet tečny a normály rovinné křivky

>    k:=([2*cos(t),sin(t)]);frenet(k,t);tecny:=evalm(k+s*Tangent);

k := [2*cos(t), sin(t)]

[[-2*sin(t)/(-3*cos(t)^2+4)^(1/2), cos(t)/(-3*cos(t)^2+4)^(1/2)], [cos(t)/(-3*cos(t)^2+4)^(1/2), 2*sin(t)/(-3*cos(t)^2+4)^(1/2)]]

tecny := vector([2*cos(t)-2*s*sin(t), sin(t)+s*cos(t)])

Animace jednoparametrického systému tečen elipsy

>    obrtecny:=plots[animate]([tecny[1],tecny[2],s=0..3], t=0..2*Pi,frames=60,view=[-3..3,-2..2],thickness=2):

>    obrelipsa:=plot([k[1],k[2],t=0..2*Pi],color=navy, thickness=3):
plots[display](obrtecny, obrelipsa,scaling=constrained);

[Maple Plot]

>   

See Also

dp , dotprod , xp , sqrt , simplify  , normalize , plots , animate , plots[display]