Plotando gráficos

Plotar gráficos é uma tarefa bastante simples!
Tudo o que você precisa fazer é encontrar o valor de uma determinada função em diferentes pontos.

Trabalharemos com o plano cartesiano, nesse plano todos os ponto podem ser descritos em termos de $x$ e $y$ da forma: \[ (x, y) \] Uma curva colocada em um plano cartesiano pode, em geral, ser regida por leis. Sejam $f_1$ e $f_2$ duas leis então qualquer ponto do plano que pertença a curva pode ser descrito por: \[ (x, \, y) = (f_1, f_2) \] Um exemplo comum é $f_1(x)=x$ e $f_2(x)=x^2$, essa curva é conhecida com parábola e é uma das primeiras que aprendemos, nela todos os pontos da parábola no plano são da forma: \[ (x, y) = (f_1(x), f_2(x)) = (x, x^2) \] Quando a curva é do tipo $(x, y) = (x, f(x))$ ela é chamada de função.

Em geral, plotar uma curva, ou uma função, consiste em escrever em um arquivo os valores dos pontos $(x, y)$ que pertencem à curva. Ou seja, simplesmente temos que resolver $f_1$ e $f_2$ mutas vezes, até que tenhamos bastante pontos $(x, y)$ para plotar.

----------------------------------------
O script geral:
----------------------------------------

O programa abaixo segue um "script" que pode ser utilizado para qualquer curva:

· Neste programa eu começei declarando as duas variaveis , $x$ e $y$, que nós queremos obter seus valores.
· Em seguida eu abri um arquivo, é nele que iremos guardar os pontos que calcularmos.
Eu abri um loop, não coloquei ainda os limites pois como este é o programa geral (ou seja, não é o específico para algum problema), nós não sabemos qual é o limite.
· Usei as funções $f_1$ e $f_2$ (note que ainda não sabemos de quê dependem essas funções) para calcular os valores de $x$ e $y$.
· O ponto calculado foi encrito no arquivo.
· Já fora do loop eu fechei o arquivo por formalidade, mas esta parte poderia ter sido omitida.
· Por fim, ao final coloquei as funções (note que ainda não sabemos como são as funções).

Seguindo este script, sempre que quiser plotar uma curva no plano basta adcionar parâmetros às funções, prencher as funções e colocar os limites no loop.

----------------------------------------
O script aplicado à rosácea:
----------------------------------------

Farei um exemplo um pouco mais robusto, sejam: \[ \left \{\begin{align*} f_1(r, \theta) &= r \cos(\theta) \\ f_2(r, \theta) &= r \sin(\theta) \end{align*}\right . \] A fómula acima é conhecida como mudança de coordenadas polares para coordenadas cartezianas, note portanto que o método aqui apresentado é universal e serve para quaisquer tipos de coordenadas, desde que se faça uma mudança de coordenadas adequada.

Uma curva comum em coordenadas polares é a rosácea, nela o raio $r$ de qualquer ponto está relacionado com o ângulo $\theta$ por: \[ r = 2 \cos(2\theta) \] e portanto, os pontos no plano carteziano que pertencem à rosácea são da forma: \[ \begin{align*} (x, y) &= \left (f_1(r, \theta), f_2(r, \theta)\right ) \\ &= \left (r \cos(\theta), r \sin(\theta)\right ) \\ &= \left (2 \cos(2\theta)\cos(\theta), 2 \cos(2\theta) \sin(\theta)\right ) \end{align*} \] Como na prática $f_1$ e $f_2$ só dependem de $\theta$, iremos adcionar a variável theta ao programa principal, vamos adcionar também a variável dt, isso porque obviamente não é possível calcular o valor da função em todos os pontos, assim, sempre que calcularmos o valor para um dado $\theta$, iremos calcular para um $\theta$ um pouquinho maior, isto é em $\theta = \theta + dt$.

Além disso vamos adcionar theta como parâmetro das funções, e as funções serão preenchidas conforme a equação acima.