Солнечная система
Код начинается с создания базовых компонентов Three.js: сцена, камера и рендерер. Основное внимание уделяется функции createPlanet(), которая систематически генерирует каждую планету. Эта функция принимает параметры радиуса, цвета, орбитального расстояния, скорости и имени, создаёт сферическую геометрию с материалом и помещает планету в группу объектов для отдельного управления орбитальным и осевым вращением. Для Земли и Марса функция дополнительно создаёт спутники.
После построения планетной системы код добавляет специальные элементы: кольца Сатурна через RingGeometry и звёздный фон с использованием BufferGeometry для оптимизации работы с тысячами частиц.
Запускается функция animate() — сердце всей симуляции. В этом бесконечном цикле происходят все обновления: Солнце вращается и пульсирует через изменение масштаба, частицы короны обновляют своё положение, а каждая планета совершает двойное движение через вращение своей группы (орбита) и собственной геометрии (осевое вращение). Отдельно функция-обработчик resize следит за изменениями размеров окна и корректирует параметры камеры и рендерера, обеспечивая адаптивность визуализации.
Освещение реализовано через комбинацию PointLight от Солнца и AmbientLight для общего заполняющего света, что создаёт реалистичные светотеневые переходы на планетах.
