Eu adoro dados, mas detesto planilhas. Ficar olhando para linhas de códigos ISO e números de PIB nunca realmente transmite a verdadeira escala das mudanças globais no clima, economia ou população.
Então, a solução foi construir algo melhor.
Conheça o Heat Globe: uma plataforma de visualização de dados WebGL 3D totalmente gratuita e interativa. Ela renderiza milhares de pontos de dados, mapas coropléticos complexos e sockets de dados ao vivo diretamente em uma Terra 3D, rodando a suaves 60fps no navegador.
Nesta matéria, vamos explorar como ele foi construído, a pilha de tecnologia escolhida para lidar com a renderização complexa e como um Analista de IA foi integrado diretamente na interface do globo, como acompanhamos aqui no Brasil Vibe Coding.

A Pilha Tecnológica por Trás do Heat Globe
Construir um aplicativo web 3D de alto desempenho exige uma pilha de tecnologia cuidadosamente selecionada. As ferramentas que tornaram o Heat Globe possível são um exemplo de Vibe Coding bem aplicada.
Entre os principais recursos utilizados, destacam-se:
Next.js 15 (React 19): Utilizado como framework principal para roteamento e renderização híbrida rápida (SSR/CSR).
Three.js & React Three Fiber (R3F): A espinha dorsal do globo 3D. O R3F é excelente por permitir compor cenas 3D complexas de forma declarativa, usando componentes React.
D3.js & TopoJSON: Essenciais para manipular dados geográficos complexos. Eles projetam coordenadas de latitude/longitude em uma esfera 3D e calculam escalas de cores coropléticas dinamicamente.
Zustand: Gerenciamento de estado global, crucial para que a interface do usuário React se comunique instantaneamente com o canvas WebGL.
O Desafio de Renderizar em 60fps
Ao desenhar mais de 190 fronteiras de países, milhares de picos de população e um brilho atmosférico, o desempenho se torna a principal limitação.
Manter uma taxa de quadros de 60fps é fundamental para uma experiência fluida e imersiva.
1. Geração da Geometria Esférica
Em vez de carregar um modelo 3D .gltf massivo, a própria Terra é gerada proceduralmente dentro do R3F. Isso é vital para manter o tamanho inicial do pacote incrivelmente pequeno, otimizando o carregamento.
2. Matemática para Pontos de Dados (A Função latLngToVector3)
Como você posiciona um gráfico de barras 3D ("Spike") representando a população do Brasil no local exato em uma esfera 3D? A resposta está na conversão de coordenadas.
É preciso converter coordenadas geográficas esféricas (Latitude e Longitude) em coordenadas cartesianas 3D (X, Y, Z). Esta é a função matemática central que impulsiona quase todos os visuais do globo:
export function latLngToVector3(lat: number, lng: number, radius: number): [number, number, number] {
const phi = (90 - lat) * (Math.PI / 180);
const theta = (lng + 180) * (Math.PI / 180);
const x = -(radius * Math.sin(phi) * Math.cos(theta));
const z = radius * Math.sin(phi) * Math.sin(theta);
const y = radius * Math.cos(phi);
return [x, y, z];
}
Esta função é chamada milhares de vezes na renderização inicial. Ela transforma dados JSON em um belo mapa de calor global, demonstrando a complexidade da programação envolvida.
Adicionando o Fator "Uau" com Recursos Inovadores
Uma ferramenta de visualização de dados não deve ser apenas funcional; ela deve parecer cinematográfica. Para elevar a experiência, algumas funcionalidades chave foram adicionadas ao Heat Globe.
Pós-Processamento: Usando @react-three/postprocessing, foi adicionado um vinheta sutil. Isso ajuda a direcionar o olhar para o centro do globo e aumentar o contraste, melhorando a percepção visual.
O Loop Viral "Compartilhar esta Visualização": Esta é uma das funcionalidades mais interessantes. Ao encontrar uma correlação de dados cativante (por exemplo, ao aproximar-se das rotas comerciais europeias), o usuário pode clicar em "Copiar Link".
O aplicativo serializa as coordenadas x, y, z da câmera WebGL nos parâmetros da URL. Se alguém clicar nesse link, sua câmera será instantaneamente ajustada para a rotação e zoom exatos da sua visualização, facilitando a colaboração e o compartilhamento de descobertas.
Sockets de Dados ao Vivo: O Heat Globe não se limita a dados históricos em CSV. O globo pode se conectar a WebSockets em tempo real para plotar eventos ao vivo. Isso inclui desde terremotos até a localização da ISS, trazendo dinamismo e atualidade à visualização.
O Heat Globe é um exemplo brilhante de como a programação e a visualização de dados 3D podem transformar a forma como interagimos com informações complexas. A integração de um Analista de IA na plataforma abre novas portas para a análise inteligente e acessível.
Este projeto não só demonstra a capacidade técnica de construir experiências web imersivas, mas também ressalta o potencial de ferramentas como Next.js e Three.js. Continue acompanhando o Brasil Vibe Coding para mais novidades sobre desenvolvimento e inovação tecnológica!