Herramientas computacionales para la
matemática
MATLAB: Gráficas 3D
Verónica Borja Macías
Abril 2012
1
Matlab
Gráficas Tridimensionales
axis Idéntico al utilizado con gráficos bidimensionales.
title, xlabel, ylabel, zlabel, text, gtext, legend, ginput,
grid, . . . Idénticos a los utilizados con gráficos
bidimensionales
Ejemplo
>> surf(peaks);
>> axis('square');
>> axis('equal');
>> axis('normal');
>> title('Función de ejemplo: PEAKS');
>> grid off;
>> grid on;
2
Matlab
Gráficas Tridimensionales
hidden Mantiene las líneas posteriores ocultas o no
dependiendo que utilicemos on u off.
Ejemplo
>> mesh(peaks), hidden off;
>> hidden on;
hold, subplot, ... Idénticos a los utilizados en gráficos 2D
rotate3d on permite la rotación de la figura actual en
cualquiera de sus ejes empleando el ratón y rotate3d off
deshabilita esta opción.
Ejemplo
>> surf(peaks), rotate3d on;
3
Matlab
Gráficas Tridimensionales
daspect devuelve las escalas de los ejes en la figura
actual.
daspect([x,y,z]) coloca las escalas de los ejes según
sean los valores x, y y z (p/e, [1 1 3] significa que una
unidad en x es lo mismo que una unidad en y pero
equivale a tres unidades en el eje z).
Ejemplo
>> surf(peaks);
>> H=daspect %observe la escala actual
>> daspect([1,1,1]); %cambie la escala
4
Matlab
Gráficas Tridimensionales
brighten(t) aclara (si 0 < t ≤ 1) u obscurece (si -1 ≤ t < 0) el
mapa de colores actual.
caxis([cmin cmax]) asigna los limites de color a los valores
cmin y cmax especificados y caxis(auto) regresa a la escala
original.
colorbar añade el mapa de colores activo a la figura,
redimensionando los ejes
Ejemplo
>> [X,Y,Z] = sphere;
>> C = Z; surf(X,Y,Z,C), colorbar;
>>brighten(-0.7);
>>brighten(0.7);
>> caxis([-1 0]);
>> caxis([-1 3])
>> caxis(auto)
5
Matlab
Gráficas Tridimensionales
fill3(x,y,z,c) Dibuja el poliedro con vértices dados por
los vectores x,y,z. El poliedro se rellena con el color
dado por c.
Ejemplo
>> x=[-12 -5 0 11];
>> y=[-3 3 5 -1];
>> z=[2 5 9 11];
>> c=[1 0.66 0.33 0]
>> fill3(x,y,z,c);
>> rotate3d on;
6
Matlab
Gráficas Tridimensionales
[X,Y,Z]=cylinder(r,n) Devuelve las coordenadas
correspondientes a la superficie de un ‘cilindro’ de
perfil r. Los radios del cilindro se toman del vector r,
que contienen los radios en n puntos equidistantes en
el eje del cilindro. Si no se especifica n, se utiliza n = 20.
[X,Y,Z]=sphere(n) Devuelve n coordenadas igualmente
espaciadas sobre una esfera unidad.
7
Matlab
Gráficas de superficie: función colormap
Ejemplo
>> t=linspace(0,pi,40);
>> r=1+sin(t);
>> [X,Y,Z]=cylinder(r,40);
>> surf(X,Y,Z);
8
Matlab
Gráficas de superficie: función colormap
Ejemplo
>> [X,Y,Z]=sphere(40);
>> surf(X,Y,Z);
>> daspect([1,1,1]);
9
Matlab
Gráficas Tridimensionales
view(az,el) Establece el punto de vista de la gráfica.
El escalar az determina el ángulo azimutal (en grados)
medido en el plano x-y a partir del eje y negativo y
definido positivo en contrasentido de las manecillas del
reloj.
El escalar el el ángulo de
elevación (en grados) desde
el plano x-y.
10
Matlab
Gráficas Tridimensionales
[az,el]=view Devuelve el punto de vista actual
mediante el ángulo azimutal y el ángulo de elevación.
view([x,y,z]) Sitúa el punto de vista actual en la
posición r=[x y z].
view(2) coloca la vista aérea (az = 0, el = 90).
view(3) coloca la vista por default (az = 37.5, el = 30).
Eligiendo el azimut y la elevación correctos podemos
obtener proyecciones 3-D en varios planos p/e:
x-z (vista lateral) az = 0, el = 0
y-z (vista lateral) az = 09, el = 0
11
Matlab
Gráficas de superficie: función colormap
Ejemplo
>> surf(peaks);
>> view(3);
Ejemplo
>> surf(peaks);
>> view([50,50,10]);
Ejemplo
>> surf(peaks);
>> view(2);
Ejemplo
>> surf(peaks);
>> view(45,45);
12
Matlab
Dibujo simplificado de funciones 3D
Matlab tiene un conjunto de funciones de dibujo
simplificada, útil cuando se quiere obtener de forma
muy rápida la gráfica de una función
Estas funciones de manera automática:
Crean los puntos necesarios para la graficación en
un dominio por default (que puede modificarse)
sin almacenar variables en el workspace.
Evalúan las funciones que se indica y las grafican.
Colocan nombres a los ejes y a la gráfica.
13
Matlab
Dibujo simplificado de funciones 3D
La función ezplot3 dibuja líneas paramétricas
tridimensionales en la forma x(t), y(t) y z(t). Por defecto
se utiliza el intervalo 0 < t < 2*pi.
ezplot3(x,y,z)
ezplot3(x,y,z,[t1,t2])
ezplot3(x,y,z,[t1,t2],'animate') dibuja la curva
progresivamente
En las sentencias anteriores x, y, y z pueden ser
funciones o expresiones definidas como cadena de
caracteres y t1 y t2 son los los extremos del intervalo
de valores para t.
14
Matlab
Gráficas de superficie: función colormap
Ejemplo
>>ezplot3('sin(t)','cos(t)','t',[0,10*pi]);
15
Matlab
Dibujo simplificado de funciones 3D
La funcción ezsurf se utiliza para realizar gráficas 3D de
una función f(x,y).
Por defecto se utilizan los intervalos –2*pi < x, y < 2*pi.
La función f se puede definir por medio de una
expresión en la que aparezcan x e y o con una función.
ezsurf(f)
ezsurf(f, [a,b])
ezsurf(f, [xmin,xmax,ymin,ymax])
La función ezsurf(x,y,z) permite también dibujar
superficies paramétricas 3D, con parámetros s y t por
defecto -2*pi < s,t < 2*pi.
16
Matlab
Gráficas de superficie: función colormap
Ejemplo
>>ezsurf('sqrt(1-x^2-y^2)');
17
Matlab
Gráficas de superficie: función colormap
Ejemplo
>>ezsurf('s*cos(t)','s*sin(t)','t');
18
Matlab
Gráficas de superficie: función colormap
Ejemplo
>>ezsurf('exp(-s)*cos(t)','exp(-s)*sin(t)','t',[0,8,0,4*pi]);
19
Matlab
Dibujo simplificado de funciones 3D
ezsurf(…,N) Con un último parámetro entero N se
puede controlar la densidad del mallado con el que se
dibuja. Por defecto N=60.
Con el argumento 'circ' se dibuja en un dominio
circular ezsurf(…,'circ').
Otras funciones simplificadas para dibujo 3D son
ezcontour, ezcontourf, ezmesh, ezsurfc y ezmeshc.
20
Matlab
Gráficas de superficie: función colormap
Ejemplo
>>ezsurf('sqrt(1-x^2-y^2)');
>>ezsurf('sqrt(1-x^2-y^2)',20);
21
Matlab
Gráficas de superficie: función colormap
Ejemplo
>>ezsurf('sqrt(x^2 + y^2)');
>>ezsurf('sqrt(x^2 + y^2)','circ');
22
Matlab
Ayuda para creación de gráficas
Sugerencia
Revisar la lista completa de funciones disponibles para gráficos 2D,
3D y gráficos especiales de matlab respectivamente con:
>> help graph2d
>> help graph3d
>> help specgraph
Ver la sección de ejemplos y demos.
23
Comentarios de: MATLAB: Gráficas 3D - Herramientas computacionales para la matemática (0)
No hay comentarios