Cicloide em Excel – VBA

Um exerciciozinho de Excel – VBA – pode ser útil para fazer animações em geral.

Imagine um círculo rolando. Qual a curva descrita por um ponto fixo neste círculo? O nome desta curva é cicloide.

O VBA (aqui) plota uma animação, com o círculo girando e a curva gerada.

Tem dois parâmetros:

  • Raio do ponto (100% = ponto na superfície do círculo, menos que isso = ponto dentro do círculo).
  • Velocidade da animação (porque cada computador é diferente e a animação pode ficar ruim)

Quando o raio é zero, quer dizer que o ponto está no centro do círculo, e a cicloide é uma linha reta.

É necessário ativar macros para rodar.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Como animar objetos utilizando VBA

Pergunta: quem ganha a corrida? Run01.png Link para download da planilha: https://drive.google.com/open?id=1A6qdTISpCiUhEgXAygWpZbeK34Cz-cqD A lógica é a seguinte. A figura do elefante de bicicleta é um shape, que tem o nome de “Imagem 2”. Basta clicar no shape e ver o nome no painel. Run02.png O shape tem uma propriedade, chamada “Left”. Qual a posição, da esquerda para a direita. Exemplo, atribuo 10 unidades à left. Shapes(“Imagem 2”).left = 10 Para criar um efeito de animação, vou incrementando o Left por um loop (for ou while) While posicaoElef < maxLeft And posicaoMenino < maxLeft ‘Elefante With ActiveSheet.Shapes(“Imagem 2”) posicaoElef = .Left + passoElef ‘O passo controla o quão rápido este anda .Left = posicaoElef DoEvents End With Wend O comando DoEvents serve para fazer um refresh da tela. Com o menino, é a mesma coisa, mas mudando outros parâmetros. Dá para fazer outras brincadeiras, como deixar a velocidade aleatória.

Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/