Desenho junto com o Giovani Castelucci os cartazes para o IBR, evento de música experimental idealizado pelo Ibrasotope. A cada ano pensamos num tema ou partido projetual que irá guiar os cartazes do ano todo. Esse ano definimos que todos os cartazes vão ser com animação ou vídeo.

Simulação de cordas vibrando

O [ibr123] terá só participantes com instrumentos de corda. O Giovani lembrou do efeito da vibração das cordas ao serem tocadas sendo filmadas com captura em alta velocidade:

Cordas de um violino sendo capturadas em alta velocidade

Nosso objetivo era então de certa forma reproduzir essas vibrações de uma forma bem gráfica para o cartaz. Iniciei algumas pesquisas sobre esse tipo de simulação física e achei várias coisas interessantes como a Equação de Schrödinger e esse vídeo épico de demonstração dela:

Pensei em tentar converte-la para o NodeBox, porém com minhas habilidades matemáticas seria bem complicado. Buscando mais referências encontrei três artigos bem interessantes:

O segundo artigo e terceiro artigo mostram algo simples de fazer no NodeBox, que é a combinação de duas ondas de períodos diferentes. Utilizando os nó Wave, Add e Multiply é possível fazer diversas combinações de tipos ondas para chegar em resultados que lembram a vibração de cordas.

Ondas combinadas no NodeBox

Acho que um dos nós mais legais do NodeBox é o Wave, eu uso muito para criar animações onde preciso de um movimento suave e cíclico. Ele basicamente tem três entradas:

  • Mínimo e máximo: controlam qual será o pico máximo e mínimo da onda;
  • Período: é o comprimento da onda;
  • Offset: é um momento específico na onda.
  • Tipo: o tipo da onda, sinuosa, triangular, quadrado ou “serrote”

Fiz algumas animações para compreender como esses valores modificam o desenho da onda:

Variações nos valores Mínimo e Máximo simultaneamente
Variação no valor período
Variação no valor Offset

Não explorei as variações de tipo de onda, pois isso rende um outro post.

Analisando as animações anteriores e pensando apenas nas variáveis de entrada mínimo, máximo e período é possível desenhar e animar diversas ondas diferentes e sobrepô-las resultando em algo parecido com o vibrar de uma corda:

Duas ondas de períodos diferentes
Soma das duas ondas para criar uma terceira

A partir disso a produção do cartaz foi criar uma série de ondas variando suas entradas e combina-las para obter cordas de diferentes “vibrações”. Além das ondas acrescentei uma fator de ruído para que as cordas ficassem menos uniformes, chegando no resultado final abaixo:

O código e arquivos finais podem ser visto no link:

https://github.com/guilhermesv/06-123

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *