Description |
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 |