Aprender Python com animações de matemática
Cada lição constrói um padrão do canal num script curto, linha a linha: primeiro arrays e loops, depois aleatoriedade e recursividade, por fim simulações e malhas. Todas terminam com exercícios, um quiz e flashcards. O código e os seus comentários estão em inglês, como na maioria dos projetos; as explicações estão em português.
O que é preciso
Python 3 e duas bibliotecas: pip install numpy matplotlib. Execute cada script com python name.py.
Básico
Lição 1 Arrays e ângulos com o padrão “Ângulo de ouro” arrays numpy com np.arange · contas sobre um array inteiro de uma só vez · radianos, np.cos e np.sin · de um ângulo e uma distância para x e y · um gráfico de pontos com cores segundo um valor
Lição 2 Loops e restos com o padrão “Tabuada no círculo” um loop for sobre pares com zip · o resto % e ângulos que dão a volta · uma linha a partir de dois pontos com plt.plot · explorar mudando um só parâmetro
Lição 3 Acaso e contagem com o padrão “Tabuleiro de Galton” números aleatórios com np.random.default_rng · True e False contados como 1 e 0 · contar com np.bincount · uma compreensão de lista · uma simulação comparada com uma fórmula
Médio
Lição 4 Loops que se lembram com o padrão “Jogo do caos” um loop que leva o seu estado de um passo para o seguinte · números inteiros aleatórios com rng.integers · um loop while para uma condição · arrays de pontos e fatiamento · np.column_stack
Lição 5 Fórmulas sobre arrays com o padrão “Onda de pêndulos” uma fórmula de física aplicada a um array inteiro · np.round e print para uma verificação rápida · vários gráficos lado a lado com plt.subplots · f-strings · fase: em que ponto da oscilação está um pêndulo
Lição 6 Funções e recursividade com o padrão “Corrida de ordenação” funções, e passar uma função como valor · recursividade: uma função que se chama a si mesma sobre partes menores · um contador guardado num dicionário · assert para verificar um resultado · como cresce o trabalho: n² contra n·log n
Lição 7 Avançar no tempo passo a passo com o padrão “Bola dentro de um anel giratório” uma simulação: pequenos passos de tempo num loop while · vetores como arrays numpy · o produto escalar e uma reflexão · ângulos com np.arctan2, reduzidos a uma volta · break para sair de um loop
Avançado
Lição 8 Forças e integração com o padrão “Órbitas de três corpos” a gravidade de Newton com vetores · loops encaixados sobre pares de corpos · o método de integração leapfrog · um array 3D: passo × corpo × coordenada · verificar uma simulação pelo que não pode mudar
Lição 9 Malhas e difusão com o padrão “Padrões de Turing” arrays 2D como uma malha de células · np.roll para os vizinhos, com bordas que dão a volta · o laplaciano: uma célula comparada com os seus vizinhos · atualizar uma malha inteira numa só linha · mostrar um array com plt.imshow