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
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
-
Frenetův doprovodný trojhran (Frenetův repér) prostorové křivky je definován v každém regulárním neinflexním bodě. Je tvořen třemi vzájemně kolmými jednotkovými vektory. Směrovým vektorem tečny, hlavní normály a binormály. Tečna a hlavní normála leží v oskulační rovině, binormála je na oskulační rovinu kolmá. Normálová rovina je kolmá na tečnu, tedy obsahuje normálu i binormálu. Je-li danná křivka rovinná, pak celá leží v oskulační rovině, vektor binormály je konstantní a má smysl počítat jen vektor tečny a normály.
-
Příkaz je součástí uživatelské knihovny "diffgeometry".
-
Pro prostorovou křivku procedura vrací uspořádanou trojici jednotkových vektorů
(T,N,B)
, kde
T
je jednotkový vektor tečny,
N
je jednotkový vektor normály a
B
je vektor binormály. Pokud pro vaše výpočty není nutná normalizace vektoru, pak můžete použít globální proměnné
Tangent
,
principalNormal
a
Binormal
, nenormovaný výraz je jednodušší a výhodnější pro následující použití.
-
Pro rovinnou křivku procedura
frenet
vrací uspořádanou dvojici jednotkových vektorů (
T, N
). Provedením procedury se do globálních proměnných
Tangent
a
principalNormal
uloží směrové vektory tečny a normály křivky.
-
Nechť je prostorová křivka daná obecným parametrem X(t) = [x(t),y(t),z(t)]. Směrový vektor tečny určuje první derivace, směrový vektor binormály získáme jako vektorový součin
xp
první a druhé derivace. Hlavní normála je kolmá na tečnu i binormálu, její směrový vektor je vektorový součin vektorů
Tangent
a
Binormal
. Frenetův trojhran tvoří jednotkové vektory, tedy na závěrvektory normalizujeme příkazem
normalize
(všechny jeho složky vydělíme velikostí
nrm
).
-
,
,
Examples
Nejprve je třeba nastavit cestu, kde máte uloženou knihovnu "diffgeometry", např
> |
libname:=libname,"D:/Sarka/Maple/diffgeometry/libsarka";
|
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;
|
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);
|
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);
|
See Also
dp
,
dotprod
,
xp
,
sqrt
,
simplify
,
normalize
,
plots
,
animate
,
plots[display]