domingo, 16 de novembro de 2014

Trabalho Final - Espirógrafo

Funções trigonométricas regem muitos -- se não a maioria -- dos movimentos oscilatórios naturais, desde o balanço de um pêndulo até o traçado de alguém caminhando.

Elas regem também as possibilidades fantásticas obtidas pelo desenho no espirógrafo:

Desenhos feitos com lápis colorido em um espirógrafo
Desenhando em um espirógrafo
O espirógrafo foi inventado por um engenheiro britânico em 1965 e hoje tem os direitos reservados pela Hasbro. Existem variações mecânicas do brinquedo, mas o original consiste em um conjunto de engrenagens encaixáveis, sendo uma delas em forma de círculo (com dentes internos) e a outra em forma de moeda (com dentes externos) com perfurações.

Para usá-lo, você deve colocar o par de engrenagens sobre um papel, inserir uma caneta em uma das perfurações da engrenagem-moeda e girá-la por dentro da engrenagem-círculo.

Para reproduzir este movimento no Processing, longe de executar cálculos físicos para obter o o movimento dos dentes das engrenagens, utilizei funções trigonométricas simples para determinar posição correta da engrenagem e do traço.

A partir daqui, chamarei a engrenagem-círculo de Círculo, a engrenagem-moeda de Engrenagem, e a perfuração na engrenagem-moeda de Ponto.

A Engrenagem faz um movimento circular contínuo em torno do centro do Círculo, calculado utilizando coordenadas polares e funções de seno e cosseno. O raio da Engrenagem pode ser alterado pelo usuário, mas ela sempre deve tocar a borda do Círculo. Para obter este resultado, a distância utilizada no cálculo da coordenada polar é o raio do Círculo menos o raio da Engrenagem. A posição obtida no cálculo é função do cosseno (horizontal) e seno (vertical) do ângulo atual.

Devemos notar que, se a Engrenagem translada em sentido horário, sua rotação será em sentido anti-horário. Portanto, o Ponto sobre a Engrenagem gira no sentido contrário à velocidade angular de translação da Engrenagem.

A posição correta do Ponto é calculado pelo mesmo processo de coordenadas polares da posição da Engrenagem, utilizando a distância, o centro e o raio da Engrenagem como parâmetros.



Resumindo, executo dois cálculos de coordenadas polares: da Engrenagem em relação ao Círculo, e depois do Ponto em relação à Engrenagem, conforme a animação acima.

Por fim, acrescentei controles para parametrizar raios e distâncias diversos utilizando a biblioteca de interface gráfica ControlP5.

Veja a demonstração do Espirógrafo concluído:



Obs.: é necessário ter a biblioteca ControlP5 para executar este sketch, em Sketch >> Import Library... >> Add Library... >> ControlP5


Nenhum comentário:

Postar um comentário