Introdução

Reformei meu portfólio e transformei a página inicial em um buraco negro que você pode girar e aproximar. Aqui, explicarei como funciona a física envolvida, simplificando o processo.

Recursos e Aplicativos: Como fiz um buraco negro com lente gravitacional no navegador (Three.js e GLSL)

Como Funciona a Física

Para criar um buraco negro, utilizei a unidade em que o raio de Schwarzschild vale 1 e a aceleração que curva o raio é -1,5 · h² · r̂ / r⁴, onde h é o momento angular do raio. Isso resulta na mesma equação da órbita da luz na métrica de Schwarzschild e coloca a esfera de fótons em 1,5 de raio.

Cálculo da Luz

O arco de luz que passa por cima do buraco negro não é desenhado. Ele aparece porque os raios que passam atrás do disco são dobrados e cruzam o disco de novo. Cada ponto onde o raio cruza o plano do disco recebe uma cor que depende do raio da órbita: branco-dourado por dentro e vermelho por fora. O disco gira com velocidade proporcional a r^(-3/2), então gira mais rápido perto do centro. Para o efeito Doppler, usei uma aproximação simples: o lado que se aproxima de você fica mais brilhante.

Ênfase na Velocidade

Os três projetos principais orbitam em elipses com o buraco negro no foco. A posição vem da equação de Kepler, que resolvo com o método de Newton. O período de cada órbita segue T² ∝ a³. Conferi numericamente que a área varrida em intervalos iguais de tempo é a mesma, que é a segunda lei.

Experiência do Usuário

O shader é pesado, principalmente no celular, e por isso o site usa menos passos de cálculo em telas pequenas. A luz de fundo e as estrelas não são curvadas pela lente. O resultado está disponível em https://tobiasteles. Se alguém quiser conversar sobre o shader ou sobre as órbitas, é só comentar.

Comentários