Vaca x Ferrari
Evoluí uma vaca num túnel de vento até ela tentar ganhar de uma Ferrari
Placar do túnel de vento
Arrasto em relação à Ferrari (1,00 = empate; menor é melhor). Rodadas de exemplo, 8 gerações.
Ainda não foi dessa vez. Mas a girafa cortou 74% do arrasto em 8 gerações. 👀
E se ser aerodinâmica decidisse quais vacas deixam descendentes?
Essa é a pergunta boba que virou um projeto sério. Peguei uma vaca (e depois uma girafa), coloquei num túnel de vento feito do zero e deixei a evolução trabalhar: a cada geração, nascem variações aleatórias do corpo, todas enfrentam o mesmo vento, e só as que sofrem menos arrasto deixam filhotes.
O adversário é uma Ferrari (estilizada), que passa pelo mesmo túnel, com as mesmas regras. A pergunta do vídeo: quantas gerações a vaca precisa para ganhar do carro?
Como a vaca evolui
Cada animal é desenhado a partir de 12 genes: comprimento e altura do tronco, pernas, tamanho e ângulo da cabeça, pescoço, cauda, corcunda, barriga, joelhos… Mudar um número muda o desenho, e o desenho é exatamente o obstáculo que o vento encontra.
Devagar de propósito
O objetivo não é achar a forma perfeita rápido, é ver a evolução acontecer. Por isso cada filhote muda só um ou dois genes, de leve. Uma versão antiga sorteava corpos totalmente aleatórios e "achava a resposta" na geração 0, e isso estragava a graça.
O relógio de milhões de anos
Para a história, cada geração vale 20 mil anos (10 milhões de anos em 500 gerações). É uma escala fictícia, só narrativa: ela não muda o vento, os genes nem o resultado.
Um túnel de vento escrito do zero
O vento é simulado com o método Lattice Boltzmann (D2Q9): o ar vira uma grade de células onde "pacotes" de fluido colidem e se espalham a cada passo. Quando batem no animal, trocam quantidade de movimento com ele, e a soma disso é a força de arrasto.
Sem ganhar no "encolhimento"
Encolher seria o atalho óbvio para ter menos arrasto. Por isso toda silhueta é normalizada para a mesma área antes do teste, incluindo a Ferrari.
Corpo que quebra a física é desclassificado
Fluxo instável, velocidade alta demais, corpo saindo do túnel ou medição que não estabiliza: o indivíduo é rejeitado e fica marcado na galeria.
Só processador
NumPy + Numba (Python compilado na hora). Não precisa de placa de vídeo: roda num notebook comum, uma geração por vez, e o treino pode parar e continuar depois.
11 testes automáticos
Vento sem obstáculo não gera força, espelhar o corpo não muda o arrasto, retomar o treino dá o mesmo resultado de rodar direto… e a campeã é reavaliada numa grade mais fina.
O placar, geração a geração
Arrasto de cada campeã dividido pelo arrasto da Ferrari, nas rodadas de exemplo (12 indivíduos por geração). Abaixo da linha tracejada, o animal ganha do carro.
Modo Deus: agora você muda as regras
Uma arena onde o animal campeão e o carro recebem o mesmo vento, lado a lado. Dá para mudar a gravidade (Terra, Lua, Marte, zero ou até negativa), a massa de cada um, a força do vento e o atrito do chão, e soltar os dois do alto. A força do vento usa o arrasto medido no túnel.
A garagem dos próximos desafios
A Ferrari é só o começo. A garagem já tem os próximos adversários, todos passando pelo mesmo túnel: Uno Mille, o lendário Uno com escada, Kombi, Fusca, Renegade, Porsche 911, ônibus e Fórmula 1. Contra quem a vaca deveria correr primeiro?
Falando sério: o que dá (e o que não dá) para concluir
Dá para dizer
- • A seleção, sozinha, foi achando formas com menos arrasto neste simulador.
- • Ninguém desenhou a sequência de vencedores: cada campeã foi escolhida pelo vento.
- • A ordem entre as campeãs e o carro se manteve numa grade mais fina.
Não dá para dizer
- • Quanto arrasto uma vaca ou uma Ferrari de verdade têm: aqui são silhuetas 2D, em vento lento.
- • Quanto tempo a natureza levaria: os "20 mil anos por geração" são só para contar a história.
- • Que isso é biologia: não há DNA, ossos, digestão nem vaca precisando andar.