Keine Lizenz
FRENET - Frenet-Serret Space Curve Invarients
[T,N,B,k,t] = frenet(x,y);
[T,N,B,k,t] = frenet(x,y,z);
Returns the 3 vector and 2 scaler
invarients of a space curve defined
by vectors x,y and z. If z is omitted
then the curve is only a 2D,
but the equations are still valid.
_ r'
T = ---- (Tangent)
|r'|
_ T'
N = ---- (Normal)
|T'|
_ _ _
B = T x N (Binormal)
k = |T'| (Curvature)
t = dot(-B',N) (Torsion)
Example:
theta = 2*pi*linspace(0,2,100);
x = cos(theta);
y = sin(theta);
z = theta/(2*pi);
[T,N,B,k,t] = frenet(x,y,z);
line(x,y,z), hold on
quiver3(x,y,z,T(:,1),T(:,2),T(:,3),'color','r')
quiver3(x,y,z,N(:,1),N(:,2),N(:,3),'color','g')
quiver3(x,y,z,B(:,1),B(:,2),B(:,3),'color','b')
legend('Curve','Tangent','Normal','Binormal')
See also: GRADIENT
Zitieren als
Daniel Claxton (2024). Frenet (https://www.mathworks.com/matlabcentral/fileexchange/11169-frenet), MATLAB Central File Exchange. Abgerufen .
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Quellenangaben
Inspiriert: frenet_robust.zip
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 | Summary Change |