Sobre
Espiral de Números Primos (Ulam Spiral)
A espiral de Ulam é uma visualização dos números primos dispostos em uma espiral. Foi descoberta por Stanisław Ulam em 1963 e revela padrões diagonais interessantes na distribuição dos números primos.
Algoritmo Principal
A espiral é gerada usando coordenadas polares:
r = angle
x = r · cos(r)
y = r · sin(r)
Onde angle é o número atual na sequência (1, 2, 3, …).
Equações Implementadas
No código:
// Para cada número na sequência
angle += radius // Incrementa o ângulo
r = angle
// Verifica se é primo
prime = isPrime(angle)
// Posição em coordenadas polares
x = angle * cos(r)
y = angle * sin(r)
// Cores diferentes para primos e não-primos
if (prime) color = '#49FDF4' // Ciano para primos
else color = '#FDF548' // Amarelo para não-primos
O algoritmo usa um teste de primalidade otimizado para verificar se cada número é primo.
Complexidade de Compreensão
Nível: Intermediário
- Conceitos necessários: Números primos, coordenadas polares, testes de primalidade
- Matemática: Teoria dos números, geometria, algoritmos de primalidade
- Programação: Testes de primalidade, coordenadas polares, visualização de dados
Referências e Recursos para Estudo
Artigos e Documentação
- Wikipedia - Ulam Spiral - Visão geral completa
- MathWorld - Prime Spiral - Definição matemática
- Wikipedia - Prime Number - Números primos
Tutoriais e Código
- The Coding Train - Prime Visualization - Tutoriais relacionados
- Rosetta Code - Prime Numbers - Implementações
- Project Euler - Problemas matemáticos
Aprofundamento Matemático
- An Introduction to the Theory of Numbers - Hardy & Wright - Livro clássico
- Prime Numbers - Ribenboim - Livro sobre primos
Visualizações Interativas
- Ulam Spiral Explorer - Explorador interativo
- Prime Number Visualizations - Visualizações
Arquivo do processo
Todas as gerações — incluindo as ruins — fazem parte do processo.
9quadros