Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

clc

clear all
close all
t=linspace(0,1,1000);
x=t.^3+12*t.*(1-t).^2+(1-t).^3;
y=2*t.^3+3*t.^2.*(1-t)+9*t.*(1-t).^2+2*(1-t).^3;
z=-t.^3+12*t.^2.*(1-t)-3*t.*(1-t).^2-(1-t).^3;
plot3(x,y,z,'LineWidth',3,'Color','green');
axis equal
grid on
xlabel('Eje X')
ylabel('Eje Y')
zlabel('Eje Z')
title('Grafico de curva de Bezier');
grid on
hold on
plot3([1;0;4;1],[2;1;3;2],[-1;4;-1;-1],'color','red')

hold on
syms t
x=t.^3+12*t.*(1-t).^2+(1-t).^3;
y=2*t.^3+3*t.^2.*(1-t)+9*t.*(1-t).^2+2*(1-t).^3;
z=-t.^3+12*t.^2.*(1-t)-3*t.*(1-t).^2-(1-t).^3;
dx_ds=simplify(diff(x,t)/sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2));
dy_ds=simplify(diff(y,t)/sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2));
dz_ds=simplify(diff(z,t)/sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2));

dx2_ds=simplify(diff(dx_ds,t)/sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2));

dy2_ds=simplify(diff(dy_ds,t)/sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2));

dz2_ds=simplify(diff(dz_ds,t)/sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2));

k=simplify(sqrt(dx2_ds^2+dy2_ds^2+dz2_ds^2));

hold on
x=inline(x);
y=inline(y);
z=inline(z);
plot3(x(0.7040),y(0.7040),z(0.7040),'.','markersize',50);

T1=dx_ds;
T2=dy_ds;
T3=dz_ds;

T1=inline(T1);
T2=inline(T2);
T3=inline(T3);

N1=(dx2_ds)/k;
N2=(dy2_ds)/k;
N3=(dz2_ds)/k;

N1=inline(N1);
N2=inline(N2);
N3=inline(N3);

T0=0.7040;
tg=quiver3(x(T0),y(T0),z(T0),T1(T0),T2(T0),T3(T0));
set (tg,'color','red');

vn=quiver3(x(T0),y(T0),z(T0),N1(T0),N2(T0),N3(T0));
set (vn,'color','blue');

You might also like