Sie sind auf Seite 1von 36

SEMESTRE

4
Opciones de manejo de gráficos en 3D

Matlab dispone de un grupo de comandos que


permiten cambiar la apariencia de un gráfico
(sombreado, escala de sus ejes, colores, líneas
ocultas, el punto de vista del observador).

5
CURVAS 3D plot3(X,Y,Z)

RECTAS En el caso de una recta expresada en forma paramétrica, se


debe declarar el rango del parámetro .

Ejemplo (x ; y ; z) = (1; 1; -2)+ t.(1; 0 ; 2)


Se toma el parámetro t comprendido entre –3 y 9:

>>t=(-3:0.1:9); %El 0.1 indica el incremento de t a partir del –3 hasta el 9.


>>x=1+1*t;
>>y=1*0*t;
>>z=-2+2*t;
>>plot3(x,y,z),grid

6
CURVAS 3D

plot3(X,Y,Z) Dibuja el conjunto de puntos (X,Y,Z), donde X,Y y Z son vectores fila.

>> x=0:0.8:8, y=x.^2, z=sqrt(x)


>> plot3(x,y,z)
>> grid

7
Hélice paramétrica x(t)=sen(t), y(t)=cos(t),
z(t)=t para valores de t∈[0,10π] separados π/50

>>t=0:pi/50:10*pi;
>>plot3(sin(t),cos(t),t);
>>grid on
>>axis square

probar

>>t=0:pi/50:10*pi;
>>plot3(sin(t),cos(t),t,’-’,cos(t),sin(t),t,’+’)
8
comet (y) exhibe un gráfico del cometa del vector Y. Un gráfico del cometa
es un gráfico animado en el cual un círculo (la cabeza del cometa) remonta
los puntos de referencias en la pantalla. El cuerpo del cometa es un
segmento que se arrastra que sigue la cabeza. La cola es una línea llena que
remonta la función entera

t = 0:.01:2*pi;
x = cos(2*t).*(cos(t).^2);
y = sin(2*t).*(sin(t).^2);
comet(x,y);

9
ezplot3(x,y,z) Gráfica en coordenadas paramétricas x =
x(t), y = y(t), z = z(t) sobre el dominio por
defecto 0 < t < 2π .
>> ezplot3('cos(t)', 't * sin(t)', 'sqrt(t)', [0,6*pi])

10
Comet3(z) Gráfico de cometa relativo al vector z

>>t=-10*pi: pi/250 :10*pi;


>>comet3( (cos(2*t).^2).*sin(t), (sin(2*t).^2).*cos(t),t);

Comet3(x,y,z)

Gráfico de cometa
paramétrico (x(t),y(t),z(t))

>> t=-pi:pi/90:pi;
>> comet3(cos(t),sin(t),sin(5*t))

11
• ESFERA. Se genera utilizando el comando
>>sphere(n), donde n es el número de puntos en
los que queda dividido el ecuador de la esfera.
• Cuanto mayor sea n, mayor será la aproximación
a la curvatura real de la esfera (de radio 1,
centrada en el origen.) Poniendo sólo
• >>sphere, el valor que tomará n será 20, por
defecto

>>sphere,axis square,title('ESFERA')
12
Grafica la esfera unidad usando 20x20 caras
sphere

sphere(n)
Grafica una esfera
usando nxn caras

>>figure [x,y,z] = sphere;


>>surf(x,y,z) % esfera
centrada en origen
>>hold on
>>surf(x+3,y-2,z) % sfera
centrada en (3,-2,0)
>>surf(x,y+1,z-3) % sfera
centrada en (0,1,-3)
>>daspect([1 1 1])

13
% sphere con radio 5 centrado en (0,0,0)
sphere

>> [x,y,z]=sphere();
>> r=7;
>> figure,surf(r*x,r*y,r*z)

14
Vectores Normales a una superficie

>>[x,y,z]=sphere(n);
>>surfnorm(x,y,z)

Este comando también se puede


utilizar para dibujar los vectores
normales en superfiies de
funciones de la forma z = f(x; y).
Para dibujar las normales en el
sentido opuesto habrá que poner
surfnorm(x',y',z').

15
CILINDRO

• El comando >>cylinder(R,n) genera


automáticamente un cilindro de revolución de
radio R, donde n es el número de puntos de la
circunferencia de la base del cilindro. Como en
el caso de la esfera, si usamos sólo
>>cylinder(R), el número n es, por defecto, 20.

16
• Lo realmente interesante de este comando es que
también admite radios variables R(t), con t en [a; b].
De esta forma, puede ser utilizado para obtener las
gráficas de diferentes tipos de superficies de
revolución, donde la generatriz es una función
definida por R(t). Por ejemplo, si queremos dibujar un
paraboloide de revolución, podemos utilizar como
generatriz la función r(t) = t , con t en [0; 2]

17
>>t=linspace(0,2,20);
>>r=sqrt(t);
>>cylinder(r)

18
Ejercicio

Dibujar las superficies generadas por >> cylinder(R(t),30), en cada


uno de los siguientes casos:

a ) R ( t ) = t , t ∈ [ −1,1]
b) R ( t ) = t 2 , t ∈ [ −1,1]
c) R ( t ) = 2 + sen ( t ) , t ∈ [ −2π , 2π ]
d ) R ( t ) = et , t ∈ [ −3,3]

19
Superficies explícitas y paramétricas, mallas y
contornos (curvas de nivel)
Los gráficos de superficie permiten obtener
representaciones densas de figuras tridimensionales y
en especial de funciones de dos variables. El primer
paso para representar una función de dos variables
z=f(x,y) mediante su gráfico de superficie es utilizar el
comando meshgrid, que básicamente define la matriz de
puntos (X,Y) sobre los cuales se evalúa la función de dos
variables para hacer su representación gráfica. El
segundo paso es utilizar los comandos disponibles al
efecto que vienen dados por el comando surf y sus
variantes.
20
[X,Y]=meshgrid(x,y)
Transforma el campo de definición
dado de las variables x e y de la
función a representar z=f(x,y) en
argumentos matriciales utizables por
los comandos surf y mesh para
obtener gráficos de superficie y
malla, respectivamente.

Representar la superficie
surf(X,Y,Z,C) explicita z=f(x,y) o la
paramétrica x=x(t,u), y=y(t,u),
z=z(t,u) realizando el dibujo
con los colores especificados
en C.
21
z = f ( x, y ) = xe -x 2 -y 2

>> [x,y]=meshgrid(-3:0.3:3);
>> z=x.*exp(-x.^2-y.^2);
>> surf(x,y,z)

22
>>[x,y]=meshgrid(linspace(-1,1,50));
>>z=cos((x.*y)./(x.^2+y.^2+1));
>>surf(x,y,z),colorbar

23
Representar la superficie
surfc(X,Y,Z,C) explicita z=f(x,y) o la
paramétrica x=x(t,u), y=y(t,u),
z=z(t,u) junto con sus curvas de
nivel proyectadas sobre el plano
XY.
>> [x,y]=meshgrid(-3:0.3:3);
>> z=x.*exp(-x.^2-y.^2);
>> surfc(x,y,z)

24
Representar la superficie explicita
mesh(X,Y,Z,C) z=f(x,y) o la paramétrica x=x(t,u),
y=y(t,u), z=z(t,u) dibujando las
lineas de la rejilla que componen la
malla con los colores especificados
en C.

25
Dibuja el gráfico de contorno
contour(Z) (curvas de nivel)para la matriz Z. El
numero de líneas de contorno a
utilizar se elige automáticamente

contour3(Z) Dibuja el gráfico de contorno en 3


contour3(Z,n) y dimensiones
contour3(x,y,Z,n)

Dibuja un gráfico de contorno y


contourf(Z) rellena las áreas entre las isolíneas

26
>> [x,y]=meshgrid(-3:0.3:3);
>> z=x.*exp(-x.^2-y.^2);
>>contour(z)

27
>> [x,y]=meshgrid(-3:0.3:3);
>> z=x.*exp(-x.^2-y.^2);
>>contour3(z,50)

28
>> [x,y]=meshgrid(-3:0.3:3); Grafico de contorno
>> z=x.*exp(-x.^2-y.^2); relleno
>>contourf(x,y,z,50)

29
Opciones de manejo de gráficos 3D

Controla el tipo de sombreado de una superficie


shading creada con los comandos surf, mesh, etc

shading flat sombreado suave

shading interp sombreado denso

sombreado normal
shading faceted
(por defecto)
30
>> subplot(2,2,1), surf(x,y,z),shading flat, title('shading flat')
>> subplot(2,2,2), surf(x,y,z),shading interp, title('shading interp')
>> subplot(2,2,3), surf(x,y,z),shading faceted, title('sombreado por defecto')
>> subplot(2,2,4), mesh(x,y,z)

31
Controla el tipo de sombreado de una superficie
colormap(M) creada con los comandos surf, mesh, etc

>> figure(1), surf(x,y,z),colormap(bone(8)), title('colormap(hueso(8))')


>> figure(2), surf(x,y,z),colormap(contrast(3)), title('colormap(contrast(3))')
>> figure(3), surf(x,y,z),colormap(cool(8)), title('colormap(fresco(8))')
>> figure(4), surf(x,y,z),colormap(copper(8)), title('colormap(cobre(8))')
>> figure(5), surf(x,y,z),colormap(flag(9)), title('colormap(flag(9))')
>> figure(6), surf(x,y,z),colormap(gray(10)), title('colormap(gris(10))')
>> figure(7), surf(x,y,z),colormap(hsv(8)), title('colormap(hsv(8))')
>> figure(8), surf(x,y,z),colormap(hot(8)), title('colormap(hot(8))')
>> figure(9), surf(x,y,z),colormap(jet(8)), title('colormap(jet(8))')
>> figure(10), surf(x,y,z),colormap(pink(8)), title('colormap(pink(8))')
>> figure(11), surf(x,y,z),colormap(prism(8)), title('colormap(prism(8))')
>> figure(12), surf(x,y,z),colormap(white(8)), title('colormap(white(8))')
33
34
35
GRACIAS

Das könnte Ihnen auch gefallen