Transcript
UDAV - Flexibilidade na gera¸c˜ ao de gr´ aficos
1
Um Pequeno Tutorial Sobre o UDAV Eric Gomes Arrais Cavalcante1 1 Instituto
de F´ısica, Universidade Federal de Goi´ as, Campus Samambaia.
[email protected]
5 de julho de 2011 Resumo Neste trabalho ser´ a dada uma vis˜ ao geral do que ´e o software livre chamado UDAV (Universal Data Array Visualization) e de como esse software pode ser u ´til para quem precisa de um ambiente para gera¸ca ˜o e manipula¸ca ˜o de gr´ aficos. Para isso, ser˜ ao mostrados alguns comandos b´ asicos, sua interface gr´ afica e alguns exemplos, todos retirados de [1], para ilustrar o que esse software ´e capaz de fazer.
1
Introdu¸ c˜ ao: O que ´ e o UDAV?
´ de simples O UDAV ´e um software livre para visualiza¸c˜ao de gr´aficos baseado na biblioteca MathGL. E execu¸c˜ ao e possui uma interface gr´ afica precisa. Sua tela inicial ´e mostrada na figura 1.
Figura 1: Tela Inicial do UDAV Esse software ´e bastante poderoso e possui uma maneira de execu¸c˜ao diferente dos softwares convencionais. A tela a esquerda na figura 1 ´e o local onde o script deve ser desenvolvido. Com o script ´ pronto, basta ir no bot˜ ao execute para executa-lo. Os gr´aficos aparecer˜ao na tela a direita na figura 1. E poss´ıvel visualizar diversos gr´ aficos ao mesmo tempo, basta gerar o script adequado para isso. De fato, as possibilidades com esse software s˜ ao muitas e o intuito aqui ´e mostrar algumas das mais b´asicas.
1
2
Comandos B´ asicos.
A id´eia central do programa ´e usar as linhas de comando para gerar os gr´aficos. Os resultados e os script podem ser vizualizados ao mesmo tempo. O script ´e executado linha por linha, de forma que comandos dados previamente iterferem apenas em comandos dados posteriormente. Os comandos b´asicos ser˜ ao mostrados a seguir.
2.1
Visualiza¸c˜ ao e Posicionamento na Tela.
Os comandos mostrados nessa se¸c˜ ao tem como fun¸c˜ao configurar a disposi¸c˜ao e o ponto de vis˜ao dos gr´ aficos na tela. Eles possuem uma ordem de execu¸c˜ao que deve ser seguida a risca(mesma ordem de apresenta¸c˜ ao dos mesmos nesse trabalho). Os comandos s˜ao: subplot, inplot, rotate e aspect. Os dois primeiros s˜ ao referentes a posi¸c˜ ao do gr´ afico na tela. O terceiro serve para rodar o gr´afico. J´a o quarto para mudar o aspecto de visualiza¸c˜ ao dos eixos. Os c´odigos seguintes ilustram a utiliza¸c˜ao desses comandos: subplot 2 2 0 box inplot0.2 0.5 0.7 1 box subplot 2 2 1 rotate 60 40 aspect 1 1 1 box subplot 2 2 2 rotate 60 40 aspect 1 1 2 box subplot 2 2 3 rotate 60 40 aspect 1 2 2 box Os n´ umeros que seguem os comandos subplot e inplot determinam as posi¸c˜oes do gr´afico na tela. Os que seguem o comando rotate s˜ ao os ˆ angulos de rota¸c˜ao. A palavra box serve para se construir uma caixa de contorno, onde os gr´ aficos poder˜ ao ser plotados. Observe que os comandos aqui referidos foram dados antes da palavra box, j´ a que tinham o objetivo de modificar a caixa que seria introduzida.
2.2
Eixos.
O usu´ ario que desejar utilizar eixos coordenados poder´a fazˆe-lo utilizando o comando axis. Esse ´ poss´ıvel formatar os eixos da forma que comando sozinho gera um conjunto de eixos sem especifica¸c˜oes. E o usu´ ario quiser utilizando o pr´ oprio comando axis composto de argumentos num´ericos, que determinam seus limites. O comando origin determina a origem, ou seja, o ponto de intersec¸c˜ao dos eixos. Caso o usu´ ario deseje, ´e poss´ıvel fazer marca¸c˜oes nos eixos utilizando os comandos xtick,ytick e ztick. Caso o primeiro argumento do comando seja positivo, ele significar´a o tamanho do passo entre duas marca¸c˜ oes. Caso seja negativo, significar´a o n´ umero de passos marcados. O segundo argumento ´e o n´ umero de submarca¸c˜ oes entre duas marca¸c˜oes adjacentes. O comando axis seguido do string ’xyz’ (strings vem sempre entre aspas simples) gera eixos em todas as dire¸c˜ oes. O comando grid gera uma esp´ecie de grade, que fica perpendicular a dire¸c˜oes espec´ıficas. O c´ odigo seguinte mostra a utiliza¸c˜ ao desses comandos: axis -1 -1 -1 1 1 1 origin 0 0 0 subplot 2 2 0 xtick 0.5 3 ytick 0.5 3
2
box axis ’xy’ grid text 0 1.3 1 xtick -6 ytick -6 subplot 2 2 1 rotate 60 40 axis xlabel ’x’ ylabel ’y’ zlabel ’z’ text 0 0 1.5 O comando text serve para introduzir algum texto ao gr´afico. O comando label serve para identificar os eixos.
2.3
Dados e Vari´ aveis.
Uma vari´ avel pode ter qualquer nome, desde que ele comece por uma letra e que n˜ao contenha espa¸cos e nem aspas. V´ arios comandos podem ser utilizados para a defini¸c˜ao das vari´aveis: var,new, list e etc. O comando list serve para criar uma vari´ avel a partir de uma listagem de valores. Um exemplo: list a 0 1 2 3 | 4 5 6 7 cria uma matriz 4 x 2 formada pelos elementos listados. Os comandos var e new geram vari´ aveis com um tamanho desejado, que deve ser preenchido. Por exemplo, var x 10 -1 2 ou new t 30 fill -1 1. O u ´ltimo comando foi usado para preencher a vari´avel t. Utilizando o comando modify, preenche-se a vari´avel em quest˜ao: new b 20 30 modify b ’sin(pi*x)+y^2’ Existem alguns comandos para modifica¸ca˜o de dados. Os mais simples s˜ao os de integra¸c˜ao, integrate, e diferencia¸c˜ ao , diff. Esses comandos dependem da dire¸c˜ao a ser tomada, de forma que sua string deve fornecer essa informa¸c˜ ao. Dessa forma, para se diferenciar uma vari´avel na dire¸c˜ao x, deve-se fazer diff a ’x’. Para se fazer uma integral m´ ultipla, por exemplo tripla, deve-se fazer integrate a ’xyz’, em que a ´e a vari´ avel pr´e definida. Tais comandos podem ser visualizados a partir desses c´odigos: new a 30 40 modify a ’x*y’ axis 0 0 0 1 1 1 subplot 2 2 0 rotate 60 40 surf a box subplot 2 2 1 rotate 60 40 diff a ’x’ surf a box subplot 2 2 2 rotate 60 40 integrate a ’xy’ surf a box subplot 2 2 3 rotate 60 40 3
diff2 a ’y’ surf a box O comando surf retorna a superficie gerada pela vari´avel em quest˜ao.
3
Plotando Gr´ aficos.
Com o dom´ınio dos comandos mostrados anteriormente, j´a se torna poss´ıvel fazer bastante coisa com o UDAV. A seguir, ser´ a mostrado como plotar diferentes tipos de gr´aficos, que ser˜ao chamados de 1D, 2D e 3D.
3.1
Plotando Gr´ aficos 1D.
Para esse tipo de plotagem, existem cinco comandos b´asicos diferentes, mas bastante pr´oximos que s˜ ao: plot para linha, area para um plot com a ´area abaixo da linha preenchida, step que ´e o plot escada, bars em que s˜ ao plotadas barras e stems que s˜ao linhas verticais. Alguns c´odigos ilustrativos para esses comandos: new y0 50 modify y0 ’sin(pi*(2*x-1)’ subplot 2 2 0 plot y0 box subplot 2 2 1 new y1 50 2 modify y1 ’sin(pi*2*x-pi*y/2)/(1+y)’ plot y1 box new x 50 modify x ’cos(pi*2*x-pi)’ plot x y0 ’Y+’ subplot 2 2 2 rotate 60 40 new z 50 modify z ’2*x-1’ plot x y0 z ’bo ’ box subplot 2,2,3 rotate 60 40 bars x y0 z ’r’ box
3.2
Plotando Gr´ aficos 2D.
Aqui ser˜ ao plotadas superf´ıcies. Dessa forma, os strins ser˜ao relativos `as colora¸c˜oes dos gr´aficos e n˜ao mais ao estilo de linha. Os comandos s˜ ao surf,mesh, dens, cont, boxs, axial, tile, fall, belt, contf. Os esquemas de cores mais usados s˜ ao: gray scheme, que varia de branco para preto (string ’wk’) ou preto para branco (string ’kw’), um esquema muito u ´til para varia¸c˜oes de temperatura, j´a que varia de vermelho a azul (string’BbwrR’) e um terceiro chamado “jet” scheme (string’BbcyrR’). Como os gr´aficos s˜ ao muito bonitos, ser˜ ao colocadas as imagens juntamente com o c´odigo:
4
Figura 2: Figura plotada com o comando surf
Figura 3: Mesmo gr´afico mas com o comando dens O comando light on muda a colora¸c˜ ao do gr´afico.
5
3.3
Plotando Gr´ aficos 3D.
S˜ ao trˆes tipos: plotagem em partes ou em proje¸c˜oes (dens3, cont3), isosuperficies (surf3) e estilo nuvem (cloud). M´ ultiplos exemplos em uma mesma figura:
Figura 4: Plotagem 3D
6
4
Exemplos. A seguir, alguns exemplos para ilustrar o poder desse software. Os c´odigos est˜ao contidos nas imagens:
Figura 5: Exemplo 1
Figura 6: Exemplo 2
7
Figura 7: Exemplo 3
Figura 8: Exemplo 4
5
Conclus˜ ao.
Nesse tutorial foram apresentados os comandos b´asicos utilizados na cria¸c˜ao de gr´aficos no programa ´ poss´ıvel perceber que esse software ´e diferente dos demais em um quesito fundamental: fleUDAV. E xibilidade. Sua estrutura em linhas de comando permite ao usu´ario extrair o m´aximo do programa, de acordo com sua vontade ou necessidade. Isso fica bastante claro quando s˜ao observados os scripts bastante simples e o que eles s˜ ao capazes de gerar.
8
Espero que esse tutorial tenha sido capaz de mostrar a um leigo como iniciar o processo de gera¸c˜ao de gr´ aficos, sendo u ´til aos tipos mais simples de plotagens. Dessa forma, ao ler esse tutorial, espero que o leitor tenha adquirido autonomia para buscar e aprender m´etodos mais avan¸cados, caso o mesmo precise.
6
Referˆ encias.
[1] BALAKIN, A. MGL Script Language. [S.l.], 2007.
9