Tarefa 14 - Aula 17
- Ulisses Silva
- 4 de nov. de 2018
- 2 min de leitura
Empregando coordenadas polares, explicar o que foi o “Norway Spiral UFO”
(link do vídeo) e implementar um modelo simplificado que represente o mesmo.

Vamos lá!
Pra começar, o que são coordenadas polares? Resumindo de forma pragmática, as coordenadas polares são um sistema de coordenadas bidimensional em que cada ponto no plano é determinado por uma distância, normalmente o raio de uma circunferência, e um ângulo em relação a um ponto fixo de referência, que no nosso caso será o centro da tela do processing.

Em outras palavras menos elegantes, seria o posicionamento dentro de uma visão esférica, onde dependendo do ângulo que o raio faz com o eixo horizontal, teremos uma coordenada X e Y.
Função de Pontos Polares
Para usar de fato as coordenadas polares, primeiro tive que criar uma função no processing que me retornaria os pontos polares tendo como parâmetros um raio e um ângulo.

Ela é uma função do tipo Vetor, ou seja retorna um vetor de tamanho dois. Sendo cada elemento do vetor uma das coordenadas x e y. Logo, o primeiro elemento (x), recebe a multiplicação do raio pelo cosseno do ângulo, e o segundo elemento (y), recebe a mesma coisa só que multiplicando pelo seno do ângulo.
Na inicialização usei um tamanho quadrado (600 x 600 pixels) e um fundo preto. Também inicializei uma imagem toda preta para ser usada para apagar o efeito.
Função espiral
Para simular o efeito da espiral do vídeo, usei duas espirais, uma branca e uma azul, cada uma com suas variáveis próprias de cor ângulo e raio. E no procedimento "Spiral" que criei, coloquei para desenhar elipses esféricas, e nos parâmetros X e Y das elipses coloquei os pontos polares de acordo com o ângulo e raio de cada espiral. E à cada chamada desse procedimento os ângulos e raios são incrementados para gerar a ilusão de movimento em espiral, do contrário as esferas seriam desenhadas sempre na mesma posição. Incrementar o ângulo serve para fazer a esfera rodar, e incrementar o raio serve para fazer aumentar a distância da esfera pro centro da tela.
Abaixo segue o exemplo do procedimento. Note que as cores vão sendo incrementadas até chegar ao preto, dando a ilusão de que ela terminou, e depois chamo a imagem de fundo preto por cima aumentando a transparência aos poucos, para passar uma ideia de "Fade out".


Obrigado!
Bonne soirrée.
:)
Link da pasta do código em Processing: Baixar a pasta do código!
Comments