Bueno todos sabemos lo importante que es saber el triedro de Frenet - Serret de una curva en lo que respecta al movimiento de una partícula en el espacio como también saber si la curva es plana o espacial. Por lo tanto aqui se muestra un código de Matlab en el cual tiene la función de mostrar los vectores tangente unitario, normal unitario y binormal unitario de una curva $\gamma(t)$.
Triedro de Frenet - Serret de la Hélice Toroidal |
No obstante antes de eso tenemos que saber las ecuaciones de los vectores antes mencionado las cuales son las siguientes:
- Curva Regular
- Vector Tangente Unitario
- Vector Normal Unitario
- Vector Binormal Unitario
Código fuente del Triedro de Frenet - Serret en Matlab
syms t
clear all
clc
% Curva en el espacio
t = input('Ingrese el dominio de la curva regular: ');
x = input(' Ingrese la parte en x de la curva: ');
y = input(' Ingrese la parte en y de la curva: ');
z = input(' Ingrese la parte en z de la curva: ');
C = [x, y, z];
plot3(x, y, z, 'k','Linewidth', 3)
% Vector Tangente Unitario
dx = gradient(x);
dy = gradient(y);
dz = gradient(z);
dr = [dx, dy, dz];
Tx = dx./norm(dr);
Ty = dy./norm(dr);
Tz = dz./norm(dr);
T = [Tx, Ty, Tz];
% Vector Normal Unitario
dTx = gradient(Tx);
dTy = gradient(Ty);
dTz = gradient(Tz);
dTr = [dTx, dTy, dTz];
Nx = dTx./norm(dTr);
Ny = dTy./norm(dTr);
Nz = dTz./norm(dTr);
N = [Nx, Ny, Nz];
% Vector Binormal Unitario
Bx = Ty.*Nz - Tz.*Ny;
By = Tz.*Nx - Tx.*Nz;
Bz = Tx.*Ny - Ty.*Nx;
B = [Bx, By, Bz];
% Adicionales de la Grafica de la curva $\gamma (t)$
hold on
vT = quiver3(x,y,z,Tx,Ty,Tz, 'b')
vN = quiver3(x,y,z,Nx,Ny,Nz, 'r')
vB = quiver3(x,y,z,Bx,By,Bz, 'g')
grid on
xlabel(" Eje X")
ylabel(" Eje Y")
zlabel(" Eje Z")
title(" Triedro de Frenet - Serret de la Curva $\gamma (t)$ ")
legend('$\gamma(t)$', 'vT', 'vN', 'vB' )
Aplicación del código fuente
Hélice circular de radio 1 |
Hélice cónica de $\tan{\varphi}$ = 3/4 |
Comentarios
ingrese una curva que tenga esta propiedad r_(t)≠0
Ingrese el dominio de la curva regular: 0:0.001:1-0.001
Ingrese la parte en x de la curva: cos(2*pi*3*t)
Ingrese la parte en y de la curva: sin(2*pi*3*t)
Ingrese la parte en z de la curva: tan(2*pi*3*t)
o bien
Ingrese la parte en x de la curva: cos(2*pi*3*(0:0.001:1-0.001))
Ingrese la parte en y de la curva: sin(2*pi*3*(0:0.001:1-0.001))
Ingrese la parte en z de la curva: tan(2*pi*3*(0:0.001:1-0.001))
Los datos introducidos deberían ser numeros reales, o funciones?
Ingrese el dominio de la curva regular: linspace(0, 2, 100)
Ingrese la parte en x de la curva: cos(t)
Ingrese la parte en y de la curva: sin(t)
Ingrese la parte en z de la curva: t
Publicar un comentario