Está en la página 1de 7

Clculo Multivariable

Cdigo de MATLAB para graficar superficies cuadrticas centradas en el


origen, a partir de las ecuaciones paramtricas que las describen.

Superficies Cuadrticas

Un tipo bsico de superficies en el espacio son las superficies cuadrticas.


stas son las anlogas tridimensionales de las superficies cnicas.

A la interseccin de una superficie con un plano se le llama traza de la


superficie en el plano. Para visualizar una superficie en el espacio, es til
determinar sus trazas en algunos planos elegidos inteligentemente, Las trazas
de las superficies cuadrticas son cnicas.

A continuacin se presenta el cdigo necesario para graficar la traza de


distintas superficies:

Definicin de comandos:

linspace: genera un vector desde n1 hasta n2 de longitud n, cuyos


componentes poseen valores espaciados linealmente.

u=linspace(n1,n2,n);

meshgrid: Crea una malla equiespaciada en dos dimensiones a partir de los


vectores u y v. Regresa dos matrices, una con la coordenada x (u) y la otra con
la coordenada y (v).

[u,v]=meshgrid(u,v);

sin, cos: Devuelve la funcin trigonomtrica seno (sin) o coseno (cos) para
cada elemento de x (u).

x= cos(u)

surf: dibuja la superficie a partir de los puntos indicados.


surf(x,y,z)
Cdigo de MATLAB

i. ELIPSOIDE (ELIPSE a=b=c)

u=linspace(0,2*pi,50);
v=linspace(-pi/2,pi/2, 50);
[u,v]=meshgrid(u,v);
x=a*cos(u).*cos(v);
y=b*sin(u).*cos(v);
z=c*sin(v);
surf(x,y,z)

ii. HIPERBOLOIDE ELPTICO DE UNA HOJA

u=linspace(0,2*pi,50);
v=linspace(-1.5,1.5,50);
[u,v]=meshgrid(u,v);
x=a*cos(u).*cosh(v);
y=b*sin(u).*cosh(v);
z=c*sinh(v);
surf(x,y,z)

iii. HIPERBOLOIDE ELPTICO DE DOS HOJAS

u=linspace(0,2*pi,50);
v=linspace(0,1.5,40);
[u,v]=meshgrid(u,v);
x=a*cosh(v);
y=b*cos(u).*sinh(v);
z=c*sin(u).*sinh(v);
x1=-a*cosh(v); a es igual al denominador
y1=b*cos(u).*sinh(v); valores del denominador
z1=c*sin(u).*sinh(v); c es iguak al valor del denominador
surf(x,y,z);
hold on;
surf(x1,y1,z1)

iv. PARABOLOIDE ELPTICO

u=linspace(0,2*pi,50);
v=linspace(0,1.5,30);
[u,v]=meshgrid(u,v);
x=a.*v.*cos(u);
y=b.*v.*sin(u);
z=v.^2;
surf(x,y,z);
rotate3d;

v. CONO

u=linspace(0,2*pi,50);
v=linspace(-5,5,30);
[u,v]=meshgrid(u,v);
x=a*v.*cos(u);
y=b*v.*sin(u);
z=c/2*v;
surf(x,y,z);
rotate3d;

vi. Cilindro parabolico

Para: z>=0;z<=4

u=linspace(0,2*pi,50);
v=linspace(0,4,30);
[u,v]=meshgrid(u,v);
x=a.*cos(u);
y=b.*sin(u);
z=v;
surf(x,y,z);
axis equal

vii. Disco:

r = linspace(0, R, 12);
o = linspace(0, 2*pi, 50);
x = a+cos(o')*r;
y = b+sin(o')*r;
z = repmat(c,size(x));
surf(x,y,z)

vii. Plano con x,y,z diferente de 0:

[x,y]=meshgrid(0:.1:0:1)
surf(x,y,-A*x/C-B*y/C-D/C,'FaceColor','blue')
hold on
view (3)
viii. Otras lneas superficies y solidos:

x=linspace(0,10*pi,1000);
y=cos(x);
z=sin(x);
plot3(x,y,z)
grid
xlabel('ngulo'), ylabel('cos(x)'), zlabel('sen(x)'), title('Un
resorte')

Cilindro parablico
[x,y]=meshgrid(-2:.05:2);
z=4+(x.^2)/4;
surf(x,y,z);
hold on
Rectngulo
rectangle('Position',[0 0 1 2],'facecolor','red')
grid on
axis equal
hold on

Plano: z=3
[x,y]=meshgrid(0:.1:0:1)
surf(x,y,0*x+0*y+3,'FaceColor','blue')
hold on
view (3)
Plano: y=3
[x2,z2]=meshgrid(0:.1:2);
surf(x2,0*x2+0*z2+3,z2,'FaceColor','blue');
hold on
view (3)

Plano: x=3
[y3,z3]=meshgrid(-2:.1:2);
surf(0*y3+0*z3+3,y3,z3,'FaceColor','blue');
hold on
view (3)
Cdigo para un bubo de lado = 1

patch([1 1 1 1],[0 1 1 0],[1 1 0 0],'b')


patch([1 0 0 1],[0 0 1 1],[1 1 1 1],'b')
patch([1 0 0 1],[1 1 1 1],[1 1 0 0],'b')
patch([0 0 0 0],[0 1 1 0],[1 1 0 0],'b')
patch([0 0 1 1],[0 1 1 0],[0 0 0 0],'b')
patch([1 0 0 1],[0 0 0 0],[1 1 0 0],'b')
view(-37.5, 30)
axis square

También podría gustarte