Gráfico 3D

Graficamos la función
$\displaystyle z(r)$ $\displaystyle =$ $\displaystyle cos(\frac{2\pi r}{8})e^{-r/10}$  

con $ r=\sqrt{x^2+y^2}$

GMT progs : grdmath, grdview
grdmath realiza operaciones aritméticas usando Reverse Polish Notation (RPN). Funciona con la misma lógica de gmtmath. La diferencia reside en que grdmath genera grillas netCDF o .grd como archivo de salida

#!/bin/bash  

ps="sombrero.ps"
grdmath -R-15/15/-15/15 -I0.3 X Y HYPOT DUP 2 MUL PI MUL 8 DIV \
COS EXCH NEG 10 DIV EXP MUL = sombrero.nc
grdgradient sombrero.nc -A225 -Gintensity.nc -Nt0.75
grdview sombrero.nc -JX6i -JZ2i -B5/5/0.5SEwnZ -N-1/white -Qsm -Iintensity.nc -X1.5i \
-C/opt/gmt/share/cpt/GMT_jet.cpt -R-15/15/-15/15/-1/1 -K -E120/30  -V> $ps
Explicación
1.
La etiqueta -T en grdmath es la región de la grilla, en este caso el plano xy de $ 15\times15$. -I indica el incremento de espaciamiento. Las funciones X, Y, HYPOT, DUP, MUL, PI, DIV, COS, EXCH, NEG, EXP son operadores integrados del comando grdmath
2.
La lógica de notación polaca inversa en este ejemplo es como sigue. Tenemos dos filas x e y que van de -15 a 15 con un incremento de 0.3, luego sacamos la hipotenusa de este par (x,y) con HYPOT, duplicamos este valor con DUP para asi tener la parte que va en el coseno y en la exponenecial. Después operando sobre la primera fila ( $ r=\sqrt{x^2+y^2}$ ) multiplicamos MUL por 2 y por $ \pi$ , dividimos por 8 y aplicamos coseno. El comando EXCH intercambia las filas, de esta forma a la segunda fila (duplicado) se le aplica la aritmetica relacionada con la parte exponencial
3.
El archivo de salida donde queda la grilla generada con grdmath es sombrero.nc. Para urgetear este archivo lo podemos hacer con el comando grd2xyz sombrero.nc
4.
grdgradient genera un archivo de intensidad de iluminación con un acimut de 225 grados
5.
En la parte final del script las opciones -J dan la escala de los ejes x,y,z, -B da la forma del marco del gráfico. La etiqueta -N hace un plano por debajo de la superficie, en este caso a la altura -1 y de color blanco.-Q especifica el tipo de superficie de la malla, en este caso elegimos las opciones m y s para tener un superficie con lineas de malla. La etiqueta -C asigna la paleta de colores que llevará el gráfico. Finalmente -E fija el punto de vista relacionando acimut y elevación

gonzalo 2011-09-16