Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curvas y Superf
Curvas y Superf
Curvas y Superficies
usando MATLAB
Mariano Gonzlez1 - Roy Snchez2
Introduccin
En este taller aprenderemos a graficar curvas y superficies usando Matlab. Sabemos que las
curvas y superficies son objetos representables en el espacio tridimensional mediante funciones
de una sola variable o de dos variables y/o ecuaciones paramtricas.
Estos conceptos, curvas y superficies, son fundamentales en los cursos de Anlisis Matemtico.
Actualmente la representacin grfica en las computadoras facilita el estudio de la regularidad,
la existencia de rectas y de planos tangentes. Sobre las curvas se estudian la longitud de curva,
torsin y curvatura y sobre las superficies, reas y volmenes de slidos limitados por
superficies, integrales simples y mltiples, campos vectoriales, etc.
Lo que pretendemos con este taller es desarrollar una introduccin a la construccin grfica de
curvas y superficies.
Curvas
Al construir la grafica de una funcin y=f(x) en el intervalo [a, b], se debe tener presente que
Matlab dibuja las curvas punto a punto; es decir, calcula los puntos (x; f(x)), para los valores de
x que se le indique y representa dichos puntos unidos por un segmento. Por ello, se empieza
estableciendo la matriz fila x cuyos elementos son los valores de x para los que se calcular el
valor correspondiente de f(x). Si la distancia entre dos valores consecutivos de x es
convenientemente pequea, el aspecto final ser el de una verdadera curva en lugar de una
poligonal. El comando fplot(f,[a,b]) grafica la funcin f en el intervalo [a,b] siendo f la regla
de correspondencia.
Para crear otros grficos bidimensionales tambin se usa plot(x, y), donde los argumentos x e y
son vectores con el mismo nmero de elementos.
Para representar una funcin del tipo y=f(x) con el comando plot, el usuario necesita crear
primero un vector con los valores de x del dominio de la funcin. En seguida, crear el vector
y=f(x) con los correspondientes valores de f(x) y finalmente graficar la funcin f con plot.
En el espacio de tres dimensiones la forma ms sencilla de crear un grfico 3-D es mediante la
funcin plot3, cuya sintaxis es bastante similar a la de la funcin plot.
El comando x=linspace(a,b,n) crea el vector x de n elementos en el cual el primer elemento es a
y el ltimo es b, todos igualmente espaciados.
Existen otros comandos para graficar funciones tales como inline, que transforma en funcin la
cadena de caracteres. Por ejemplo, para graficar la funcin z=f(x,y)=x+y, con
inline('x.^2+y.^2','x','y') se crea la funcin f. En Matlab se usa el signo % para escribir los
comentarios. Toda expresin despus del signo % es ignorado por Matlab. Tambin usaremos
los comandos subplot, contour, contour3, quiver, comet, etc.
PontificiaUniversidadCatlicadelPer
PontificiaUniversidadCatlicadelPer
Curvas en el plano
Empezamos graficando funciones reales continuas definidas en un intervalo. Si f es una funcin
real de variable real, su grfica es el conjunto Gr(f)={(x;y)/y=f(x), x Dom(f)}.
Ejemplos
1. Sea la funcin f(x)=e-x, si -2x3. La grfica en Matlab de esta funcin se obtiene en tres
pasos.
x=linspace(-2,3,3000); % divide el intervalo [-2,3] en 3000 partes.
y=exp(-x); % imgenes de las componentes de x
plot(x,y), grid on, title('funcin exponencial') % grfica de la curva.
8
7
6
5
4
3
2
1
0
-2
-1.5
-1
-0.5
0.5
1.5
2.5
-4
-3
-2
-1
x2 ,
x<0
f ( x) = 2,
0 x <1
x + 3,
1 x
4
3.5
3
2.5
2
1.5
1
0.5
0
-2
-1.5
-1
-0.5
0.5
1.5
2.5
4. Grficadedosfuncionesdefinidasenunmismointervalo.
Seanlasfunciones,f(x)=sin(x)yg(x)=cos(x),conxenelintervalo[0,10].
Confplot('[sin(x),cos(x)]',[010])%grficadelasdosfunciones.
x = x(t )
C:
,
y = y (t )
denominadas ecuaciones paramtricas de C y t el parmetro.
Para cada valor de t, las ecuaciones paramtricas determinan valores correspondientes de x y de
y, siendo (x;y) un punto de la curva.
Ejemplos
1. Sea la curva con ecuaciones paramtricas
-4
-3
-2
-1
Otra opcin. Guardamos la secuencia de comandos en un archivo con la extensin .m, luego
se puede invocar cuando se necesite graficar la curva en otro momento.
2. Sea C la semicircunferencia unitaria con ecuaciones paramtricas
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
3. Vectorestangentesalasemicircunferenciaanterioren10puntosdelacurva.
Alasemicircunferenciaanteriorleadicionamoslosvectorestangentescon
hold on % permite adicionar otros grficos
t=linspace(0,pi,10);
quiver(cos(t),sin(t),-sin(t),cos(t).% vectores tangentes a la curva
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1.5
-1
-0.5
0.5
1.5
3at
, -1< t
1 + t3
3at 2
y=
, a > 0.
1 + t3
Para a=2 en el intervalo [-1/2,45], graficamos la curva
t=linspace(-0.5,45,2000);
x=6*t./(1+t.^3); y=6*t.^2./(1+t.^3);
plot(x,y)
5
4
3
2
1
0
-1
-2
-3
-4
-3
-2
-1
120
60
1.5
1
150
30
0.5
180
210
330
240
300
270
La funcin vectorial r es continua en t=c si y solo si sus funciones componentes x,y,z son
continuas en t=c.
Dado un punto P(x;y;z) en el espacio, el vector r(t)=xi+yj+zk es el vector posicin del punto P.
A cada punto le corresponde un nico vector posicin y viceversa.
Curvas Paramtricas
El conjunto C={(x,y,z) R 3 /x=x(t),y=y(t),z=z(t),t I} se llama curva en el espacio.
Las ecuaciones x=x(t), y=y(t), z=z(t), t I, se llaman ecuaciones paramtricas de C y t el
parmetro. En algunos casos es convenientes parametrizar la curva mediante el parmetro
longitud de arco.
El vector posicin de cada punto de la curva es la funcin vectorial de la curva. El vector
r(t)=(x(t),y(t),z(t));t I, es el vector tangente (o vector velocidad) de la curva en t.
Curva regular es aquella que tiene recta tangente en cada punto de la curva, es decir, r(t) 0
para todo t I.
Ejemplos
1. Hlice circular recta. Sus ecuaciones paramtricas son
x=sen(t), y=cos(t), z=t, t [0,10 ] .
La curva C es la que envuelve al cilindro S:x+y=1.
Vamos a graficar C de dos formas.
Usando plot3
t=0:pi/50:10*pi; %la longitud del intervalo es opcional
plot3(sin(t),cos(t),t)
grid on
axis Square.
40
30
20
10
0
1
0.5
1
0.5
-0.5
-0.5
-1
-1
x=cos(t);
y=sin(t);
z=t./(2*pi);
ezplot3(x,y,z,[0,10*pi],'animate') % sobre la curva C recorre un punto de color rojo con una
velocidad proporcional a su mdulo.
2. Hlice circular recta junto a algunos vectores tangentes, con quiver3.
Sea la hlice circular recta x=cos t, y=sin t, z=
t
, donde t [0,10].
2
0
2
1
2
1
-1
-1
-2
-2
0
2
1
2
1
0
0
-1
-1
-2
-2
x 2 + ( y 1 / 2) 2 =
9
4
0
2
1
2
1
0
0
-1
-1
-2
-2
Curvas de nivel
Sea S una superficie representada por z=f(x; y). (Ms adelante definiremos una superficie).
La importancia de las curvas de nivel estriba en que trazando un nmero adecuado de ellas,
podemos obtener una buena descripcin de la superficie.
Ejemplo
3. Las curvas de nivel de la superficie S: z=f(x,y)=4x+y son familias de elipses concntricas
en el origen de coordenadas con semiejes k / 2 y k , k>0.
x2
y2
+
=1
4x+y = k
k /4 k
Grfica de la superficie y algunas curvas de nivel.
[x,y]=meshgrid(-2:.1:2); % crea una malla en la regin [-2,2]x[-2,2].
z=4*x.^2+y.^2; % evala f.
Varias opciones para graficar las curvas de nivel.
contour(x,y,z,10)% se obtiene 10 curvas de nivel en el plano XY.
contour3(x,y,z,10)% las curvas estn ubicadas sobre la superficie.
meshc(x,y,z) % la superficie y las curvas de nivel proyectadas al plano XY.
La superficie y las curvas de nivel estn graficadas con meshc.
20
15
10
0
2
1
2
1
-1
-1
-2
-2
Superficies
En general cada uno de nosotros tenemos una idea de superficie. El plano es la superficie ms
simple de todas. Una idea intuitiva para construir otras superficies es ir pegando por los bordes
pedazos de plano hasta construir una aproximacin a la superficie deseada. Una pelota de futbol
de 32 paos es una buena aproximacin a la esfera. Una superficie S puede ser descrita como un
conjunto de puntos (x;y;z) que satisfacen una ecuacin de la forma f(x;y;z)=0, donde f es una
funcin continua.
Si es posible despejar de la ecuacin f(x;y;z)=0 una de las variables en funcin de las otras, se
obtiene una representacin explcita de S o de una parte de S. Si no es posible, se llama
representacin implcita de S.
La grfica de una funcin de dos variables es el conjunto
ba
d c
y y=
n
m
10
10
-5
20
10
20
10
-10
-10
-20
-20
sen x 2 + y 2
x2 + y2
11
[x,y]=meshgrid(-7.5:0.5:7.5);
z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2);
surfl(x,y,z);%dibujo con sombreado
0.5
-0.5
10
5
10
5
0
0
-5
-5
-10
-10
Ejemplo
Sea la curva C:z=y en el plano YZ. Si el eje de rotacin es el eje Z, halle la ecuacin de la
superficie de revolucin que genera C.
Solucin
En el plano z=z se encuentra un paralelo, cuyo centro es A(0;0;z).
12
0.5
-0.5
-1
1
0.5
1
0.5
0
0
-0.5
-0.5
-1
-1
13
t=linspace(0,2,20);
r=sqrt(t);
cylinder(r)
xlabel('t');ylabel('r(t)');zlabel('z(t,r)').
2. Superficie de revolucin de perfil 2+cost
t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(2+cos(t));
surf(X,Y,Z)
axis square
xlabel('x');ylabel('y');zlabel('z').
1
0.8
0.6
0.4
0.2
0
4
2
4
2
-2
-2
-4
-4
14
0.5
-0.5
-1
2
0
1
-2
-3
-2
-1
15
-1
-2
4
3
2
1
-1
0
-2
10
8
6
4
2
0
4
2
4
2
0
0
-2
-2
-4
-4
v
x = 2[1 eu /( 6 ) ] cos(u ) cos 2 ( )
2
v
y = 2[1 + eu /( 6 ) ] sin(u ) cos 2 ( ) , 0 u 6 y 0 v 2 .
2
z = 1 eu /( 3 ) sin(v) + eu /( 6 ) sin(v)
La grfica en Matlab
u=linspace(0,6*pi,60);
v=linspace(0,2*pi,60);
16
[u,v]=meshgrid(u,v);
x=2*(1-exp(u/(6*pi))).*cos(u).*cos(v/2).^2;
y=2*(-1+exp(u/(6*pi))).*sin(u).*cos(v/2).^2;
z=1-exp(u/(3*pi))-sin(v)+exp(u/(6*pi)).*sin(v);
mesh(x,y,z)
0
-1
-2
-3
-4
-5
-6
-7
-8
-5
-9
4
-2
-4
8. Trompeta de Gabriel
u=(-2:0.1:2)';
v=0:0.1:2*pi;
X=exp(u)*cos(v);
Y=u*ones(size(v));
Z=exp(u)*sin(v);
surf(X,Y,Z)
xlabel('v');ylabel('u');zlabel('z')
10
-5
-10
2
1
10
5
0
0
-1
-5
-2
-10
9. Dos cilindros perpendiculares, uno de ellos tiene como eje el eje Z y radio 1 y el otro tiene
como eje el eje Y y radio 1/2.
Cilindro de radio 1.
x=cos u
17
y=sin u
z=v
Cilindro de radio .
x=(1/2)cos u
y=v
z=(1/2)sin u
Grfica en Matlab.
u=linspace(0,2*pi,41);
v=linspace(-2,2,41);
[U,V]=meshgrid(u,v);
%Cilindro de radio 1
surf(cos(U),sin(U),V);
hold on
%Cilindro de radio 1/2
surf(0.5*cos(U),V,0.5*sin(U));
10. La Cinta de Mbius. Es una superficie que se puede construir a partir de una tira de papel
de forma rectangular ABCD. Torciendo la tira, una sola vez, de manera que se haga
coincidir el vrtice A con el vrtice C y el vrtice B con el vrtice D obteniendo la
superficie mencionada.
Se genera con la siguiente funcin vectorial
v
2
u
2
r(u,v)= [ sen , (1 +
v
u
v
u
cos ) senu, (1 + cos ) cos u ] , donde 0u2;-1v1.
2
2
2
2
La grfica en Matlab.
u=linspace(0,2*pi,30);
v=linspace(-1,1,15);
[u,v]=meshgrid(u,v);
z=(1+v/2.*cos(u/2)).*cos(u);
y=(1+v/2.*cos(u/2)).*sin(u);
x=v/2.*sin(u/2);
surf(x,y,z)
18
1.5
0.5
-0.5
-1
-1.5
2
0.5
1
-1
-2
-0.5
11. Superficies tubulares. Sean las ecuaciones paramtricas de la hlice circular recta
x=cos(t),y=sen(t) y z=t/2, con t en [0,4 ].
La superficie tubular que se forma con eje la hlice circular, tiene por ecuaciones
paramtricas, con t=u.
Z = 0.5u (1 / 5 ) sen(v)
La grfica en Matlab.
%Superficies tubulares: eje la hlice circular recta.
u=(0:pi/8:4*pi)';%vector columna de m=33 elementos
v=0:pi/16:2*pi;%vector fila de n=33 elementos
X=cos(u)*ones(size(v))-cos(u)*cos(v)+1/sqrt(5)*sin(u)*sin(v);
Y=sin(u)*ones(size(v))-sin(u)*cos(v)-1/sqrt(5)*cos(u)*sin(v);
Z=u/2*ones(size(v))+2/sqrt(5)*ones(size(u))*sin(v);
surf(X,Y,Z)% otra opciones mesh(X,Y,Z),surfl(X,Y,Z)
axis([-2 2 -2 2 -2 10])
view(50,30)
axis tight
axis([-2 2 -2 2 -2 10])
7
6
5
4
3
2
1
0
-2
-2
-1
0
0
Campo Vectorial
Sea U R un conjunto abierto. Por campo vectorial sobre U entendemos una correspondencia
que a cada punto v U le asociamos un vector f(v) R.
Sea F=[1,x+y] un campo vectorial sobre el rectngulo R=[-2,3][-1,2].
Para graficar este campo vectorial, primero definimos las funciones componentes del campo,
luego las restricciones para las variables que definen F, construir las matrices X e Y, finalmente
con quiver dibujar el campo.
19
u=inline('0*x+1','x','y');
v=inline('x+y.^2','x','y');
x=linspace(-2,3,11);
y=linspace(-1,2,11);
[X,Y]=meshgrid(x,y);
U=u(X,Y);V=v(X,Y);
quiver(X,Y,U,V)
axis image
2
1.5
1
0.5
0
-0.5
-1
-2
-1.5
-1
-0.5
0.5
1.5
2.5
A(S)=
dS ,dondedS
n(u , v) = ( y u z v y v z u ) 2 + ( x v z u x u z v ) 2 + ( x u y v x v y u ) 2 .
Ejemplo
Halle el rea superficial de una banana (pltano).
En las ecuaciones paramtricas de un elipsoide perturbamos un poco en la direccin x, para
generar la grfica de un pltano.
Sean las ecuaciones paramtricas de un elipsoide
x(u,v)=cos(u)cos(v)
y(u,v)=sin(u)cos(v)
z(u,v)=3sin(v), 0u2;-(/2)v(/2).
Alteramos un poco en la primera ecuacin por x(u,v)=cos(u)cos(v)+2sin(v).
20
3
2
1
0
-1
-2
-3
-1
-1
-0.5
0
0
0.5
1
1 2
21
0
2
1
2
1
-1
-1
-2
-2
2
4 x 2 4 y
x =0
y =0 z = x 2
dzdydx .
x(t ) = t sin(t ), t [2 ,4 ]
C:
y (t ) = 1 cos(t ),
La deduccin de estas ecuaciones puede encontrar en el texto de Ch. Lehmann, Geometra
Analtica.
t=-2*pi:0.1:4*pi;
x=t-sin(t);
22
y=1-cos(t);
plot(x,y)
axis([-2 8 0 2])% para la escala en los grficos.
3. Grafique la curva en coordenadas polares r= 2(1-cos()), 0 2.
4. Halle la grfica de la rosa de 4 ptalos r =4sin(2), 02.
5. Las grficaa de las siguientes ecuaciones se asemejan al de una mariposa. Fueron
descubiertas por Temple H. Fay en 1989.
1. r= ecos -2cos(4 ).
2. r= ecos -2cos(4 )+ sin 5 ( / 12) , 024.
6. Grafique la superficie z= sin( x 2 + y 2 ) con la siguiente secuencia en Matlab.
x=linspace(-2,2,30);
y=linspace(-2,2,30);
[x,y]=meshgrid(x,y);
z=sin(sqrt(x.^2+y.^2));
mesh(x,y,z)
axis tight
view(120,30)
7. Grafique la superficie
x(u,v)=ucos v
y(u,v)=usin v
z(u,v)=v
0u8, 0v4.
8. Cilindro transparente.
Un cilindro de altura 1 y radio r, transparente con cylinder de Matlab
t=input('dame t'); Nmero de generatrices que corta a la circunferencia base.
r=input('radio');
[x,y,z]=cylinder(r,30);
surfc(x,y,z,'FaceAlpha','flat','AlphaDataMapping','scaled',...
'AlphaData',gradient(z),'FaceColor','red').
9. Grafique el elipsoide de ecuaciones
x=3cos(u)sen(v), y=4sen(u)sen(v), z=5cos(v), donde u [0,2 ] y v [0, ] .
10. Grafique el hiperboloide de dos hojas
x=senh(u)cos(v), y=senh(u)sen(v), z=cosh(u), donde u [2,2] y v [0,2 ] .
11. Pseudoesfera con ecuaciones
23
24