No License
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
Cite As
Daniel Claxton (2024). Frenet (https://www.mathworks.com/matlabcentral/fileexchange/11169-frenet), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: frenet_robust.zip
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | Summary Change |