Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda...
Transcript of Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda...
![Page 1: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/1.jpg)
Herramientas computacionales para la matemática
MATLAB: Gráficas 3D
Verónica Borja Macías
Abril 2012
1
![Page 2: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/2.jpg)
MatlabGráficas Tridimensionales
2
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;
![Page 3: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/3.jpg)
MatlabGráficas Tridimensionales
3
hidden Mantiene las líneas posteriores ocultas o no dependiendo que utilicemos on u off.
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 offdeshabilita esta opción.
Ejemplo
>> mesh(peaks), hidden off;>> hidden on;
Ejemplo
>> surf(peaks), rotate3d on;
![Page 4: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/4.jpg)
MatlabGráficas Tridimensionales
4
daspect devuelve las escalas de los ejes en la figuraactual.
daspect([x,y,z]) coloca las escalas de los ejes segúnsean los valores x, y y z (p/e, [1 1 3] significa que unaunidad en x es lo mismo que una unidad en y peroequivale a tres unidades en el eje z).
Ejemplo
>> surf(peaks);>> H=daspect %observe la escala actual>> daspect([1,1,1]); %cambie la escala
![Page 5: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/5.jpg)
MatlabGráficas Tridimensionales
5
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 valorescmin y cmax especificados y caxis(auto) regresa a la escalaoriginal.
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)
![Page 6: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/6.jpg)
MatlabGráficas Tridimensionales
6
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;
![Page 7: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/7.jpg)
MatlabGráficas Tridimensionales
7
[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.
![Page 8: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/8.jpg)
MatlabGráficas de superficie: función colormap
8
Ejemplo
>> t=linspace(0,pi,40);>> r=1+sin(t);>> [X,Y,Z]=cylinder(r,40);>> surf(X,Y,Z);
![Page 9: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/9.jpg)
MatlabGráficas de superficie: función colormap
9
Ejemplo
>> [X,Y,Z]=sphere(40);>> surf(X,Y,Z);>> daspect([1,1,1]);
![Page 10: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/10.jpg)
MatlabGráficas Tridimensionales
10
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.
![Page 11: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/11.jpg)
MatlabGráficas Tridimensionales
11
[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 podemosobtener proyecciones 3-D en varios planos p/e: x-z (vista lateral) az = 0, el = 0
y-z (vista lateral) az = 09, el = 0
![Page 12: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/12.jpg)
MatlabGráficas de superficie: función colormap
12
Ejemplo
>> surf(peaks);>> view(3);
Ejemplo
>> surf(peaks);>> view([50,50,10]);
Ejemplo
>> surf(peaks);>> view(2);
Ejemplo
>> surf(peaks);>> view(45,45);
![Page 13: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/13.jpg)
MatlabDibujo simplificado de funciones 3D
13
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.
![Page 14: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/14.jpg)
MatlabDibujo simplificado de funciones 3D
14
La función ezplot3 dibuja líneas paramétricastridimensionales 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.
![Page 15: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/15.jpg)
MatlabGráficas de superficie: función colormap
15
Ejemplo
>>ezplot3('sin(t)','cos(t)','t',[0,10*pi]);
![Page 16: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/16.jpg)
MatlabDibujo simplificado de funciones 3D
16
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.
![Page 17: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/17.jpg)
MatlabGráficas de superficie: función colormap
17
Ejemplo
>>ezsurf('sqrt(1-x^2-y^2)');
![Page 18: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/18.jpg)
MatlabGráficas de superficie: función colormap
18
Ejemplo
>>ezsurf('s*cos(t)','s*sin(t)','t');
![Page 19: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/19.jpg)
MatlabGráficas de superficie: función colormap
19
Ejemplo
>>ezsurf('exp(-s)*cos(t)','exp(-s)*sin(t)','t',[0,8,0,4*pi]);
![Page 20: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/20.jpg)
MatlabDibujo simplificado de funciones 3D
20
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.
![Page 21: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/21.jpg)
MatlabGráficas de superficie: función colormap
21
Ejemplo
>>ezsurf('sqrt(1-x^2-y^2)');>>ezsurf('sqrt(1-x^2-y^2)',20);
![Page 22: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/22.jpg)
MatlabGráficas de superficie: función colormap
22
Ejemplo
>>ezsurf('sqrt(x^2 + y^2)');>>ezsurf('sqrt(x^2 + y^2)','circ');
![Page 23: Herramientas computacionales para la matemática - utm.mxvero0304/HCPM/13-Graficas-3D(segunda parte).pdf · Matlab. Dibujo simplificado de funciones 3D. 13 Matlab tiene un conjunto](https://reader030.fdocuments.es/reader030/viewer/2022040219/5e12f1fe2e393d5a5735f546/html5/thumbnails/23.jpg)
MatlabAyuda para creación de gráficas
23
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.