Como desenhar a sequência de Fibonacci no VBA

Um meme viralizou, representando o golaço do jogador Richarlison com uma sequência de Fibonacci ao fundo.

Esta é uma sequência descoberta pelo matemático Leonardo de Pisa, mais conhecido como Fibonacci.
Comece com 1, 1, e o próximo termo é a soma dos dois anteriores:
1, 1, 2, 3, 5, 8, 13, 21, 34, …

É possível visualizar essa bela sequência na forma retangular, aproveitando o fato de que o próximo termo será igual ao lado dos dois anteriores:

Além disso, é possível colocar um arco de círculo de 90 graus em cada quadrado, explicitando uma espiral.

Como a sequência acima é formada apenas de retângulos e arcos, é possível escrever uma macro VBA, seguindo a espiral, de forma a fazer o desenho acima.

Essencialmente, são só comandos de shape, e mais um monte de cálculos para posicioná-los corretamente:

ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, width, height) ‘Retangulo
ActiveSheet.Shapes.AddShape(msoShapeArc, x, y, width, height) ‘Arco

Ela é meio chatinha de entender, mas para quem quiser se aventurar, o código VBA está aberto, no arquivo para download a seguir.

https://1drv.ms/x/s!Aumr1P3FaK7joFRGUClrkajeCuQW?e=dylWYI

A espiral cresce na “Proporção Áurea”, que segundo os gregos antigos, se traduz na proporção perfeita da natureza. E o golaço mostra que os antigos gregos eram muito sábios!

Veja também:

Um comentário sobre “Como desenhar a sequência de Fibonacci no VBA

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s