Gnuplot - versátil ferramenta científica
Alguém já viu um pinguim cientista? Pois saiba que é na comunidade científica que o Linux mostra sua grande força com excelentes programas. Vamos começar com o gnuplot, pequeno programa para a geração de gráficos, seja de dados coletados ou gerados por ele através de comandos intuitivos.
Parte 6: Gráficos no espaço (3D)
O meu favorito, os gráficos no plano são gerados por funções matemáticas de duas
variáveis, do tipo "f(x,y)=x+y". Pela matemática formal temos um par de valores
conhecido como domínio "(1,1)" que são os valores de X e Y, que quando jogados
na função, no caso "f(x,y)=x+y" retorna o valor chamado de imagem, que
corresponde ao valor de Z, dessa forma você tem as coordenadas necessárias para
gerar um ponto no espaço (1,1,2). Vamos ao gnuplot:
Gráfico de um plano com ângulo 45 graus:
gnuplot> splot x+y
Gráfico de uma onda plana:
gnuplot> splot cos(x+y)
Gráfico de natureza ondulatória:
gnuplot> splot cos(x)+sin(y)
Gráfico de uma superfície ondulada:
gnuplot> splot x**3+y**3
E por aí vai...
É possível ainda "plotar" vários gráficos na mesma janela, para isso basta rodar novamente o "replot", exemplo:
gnuplot> reset
gnuplot> splot x**2+y**2
gnuplot> replot -x**2-y**2+200
Gráfico de um plano com ângulo 45 graus:
gnuplot> splot x+y
Gráfico de uma onda plana:
gnuplot> splot cos(x+y)
Gráfico de natureza ondulatória:
gnuplot> splot cos(x)+sin(y)
Gráfico de uma superfície ondulada:
gnuplot> splot x**3+y**3
E por aí vai...
É possível ainda "plotar" vários gráficos na mesma janela, para isso basta rodar novamente o "replot", exemplo:
gnuplot> reset
gnuplot> splot x**2+y**2
gnuplot> replot -x**2-y**2+200
Continuando com o "replot" seguido da função, você adiciona sucessivamente e indefinidamente.
Para aumentar a resolução do gráfico basta rodar o comando "set isosamples 50,50" antes do "splot", sendo que o "50,50" é resolução ou como queira, mais pontos plotados para a função escolhida, exemplo:
gnuplot> set isosamples 50,50
gnuplot> splot x**2+y**2
Para plotar a função juntamente com as curvas de contorno basta usar o "set contour base", exemplo:
gnuplot> set contour base
gnuplot> splot x**2+y**2
E não podemos esquecer que ainda podemos escolher como plotar o gráfico, se com pontos ou linhas ou ainda outras frescuras, segue abaixo:
gnuplot> splot x**2+y**2 with dots
gnuplot> splot cos(x+y) with dots
E por aí vai.....
O mouse no gráfico 3D, tem muito mais recursos. Com o botão da esquerda você pode rotacionar o gráfico gerado livremente, com o botão do meio pressionado, se efetua um zoom para maior, se o mouse for para a direita, indo para esquerda o gráfico se afasta (zoom para menor), para cima e para baixo temos uma variação do eixo Z, ou uma variação na amplitude do gráfico. Estou levando em consideração o meu mouse de três botões, mas acredito que você pode ter o mesmo efeito clicando os dois botões no mouse de dois botões que é equivalente ao terceiro botão.
Sinto falta de artigos sobre aplicações ciêntificas e linux.
Há excelentes softwares livres para diversas aplicações ciêntificas. Plotadores de funções são ferramentas indispensáveis no meu dia-a-dia.
Uma outra dica é o Kplot, um plotador mais fraquinho, mas mais simples.
Valeu.