Show HN: Browser-based interactive 3D Three-Body problem simulator
Интерактивный N-Body Simulator моделирует гравитационное взаимодействие между телами в пространстве. Задача трёх тел, одна из самых известных в классической физике, не имеет общего аналитического решения, поэтому для её изучения используется численное моделирование. Симулятор использует закон всемирного тяготения Ньютона с параметром сглаживания для предотвращения числовых сингулярностей при сближении тел.
Симулятор предлагает два метода интеграции: Velocity Verlet (сохраняющий энергию, идеален для долгосрочных орбитальных симуляций) и RK4 (высокой точности на шаге, но накапливающий систематические ошибки со временем). Среди предустановленных конфигураций - знаменитая "восьмёрка" Мура, треугольная конфигурация Лагранжа и 10 059 новых периодических орбит в 3D, обнаруженных Ли и Ляо в 2025 году. Точность симуляции контролируется по показателю дрейфа энергии, который должен оставаться ниже 1% для качественных результатов.
Комментарии (106)
- Автор вдохновлён книгой "Задача трёх тел" и интересом к симуляциям/физике.
- Симуляция демонстрирует как стабильные решения, так и хаотичное поведение системы.
- Пользователи высоко оценивают работу в браузере, 3D-визуализацию и детализацию.
- Предложения по улучшениям: добавить пресеты реальных систем (например, Альфа Центавра), визуализацию энергии тел для побега, 3D-рендеринг.
- Используются интеграторы Velocity Verlet и RK4, обсуждается добавление адаптивных методов.
Show HN: A CSS-Only Terrain Generator 🔥 Горячее
Layoutit Terra - это интерактивный генератор рельефа на CSS, позволяющий создавать разнообразные ландшафты с настраиваемыми параметрами. Инструмент предлагает выбор между типами рельефа (пампы, холмы, горы) и биомами (умеренный, арктический, пустынный), а также контроль над размером мира и покрытием суши. Пользователи могут детально настраивать камеру через параметры вращения, наклона и увеличения, добавляя анимацию к созданным ландшафтам.
Генератор поддерживает экспорт результатов в多种 форматы, включая CSS, высотные карты, VOX, TXT и PNG, что обеспечивает гибкость использования. Функции импорта, отмены/повтора действий, а возможность копировать код для встраивания или открывать его в Codepen упрощают интеграцию в другие проекты. Несмотря на раннюю версию (v0.0.1), Layoutit Terra уже предоставляет мощные возможности для создания детализированных CSS-ландшафтов с минимальными усилиями.
Комментарии (80)
- Пользователи отмечают, что «CSS-only»-демо всё же использует JS для интерактивности, хотя рендеринг ландшафта действительно на 100 % CSS.
- Визуально демо напоминает RCT, SimCity 2000, Populous и другие изометрические «тайкун»-игры, вызывая ностальгию.
- Несколько человек сообщили о проблемах с производительностью: при включённом JS в Firefox 144 и Chrome 131 на Windows 10/11 рендеринг занимает 100-200 мс на обновление кадра, что приводит к просадкам фпс.
- Автор ответил, что в будущих версиях планируется добавить реки и водопады, а также улучшить производительность.
Show HN: Strange Attractors 🔥 Горячее
Статья исследует странные аттракторы — математические концепции, создающие красивые паттерны из простых уравнений. Автор, экспериментируя с Three.js, обнаружил, что сложные визуальные образы возникают из трёх базовых уравнений, что поглотило его время и внимание. Странные аттракторы демонстрируют, как порядок может рождаться из хаоса, что оказалось для автора глубоко удовлетворительным наблюдением.
Динамические системы описывают, как вещи меняются во времени, следуя определённым правилам. Фазовое пространство представляет все возможные состояния системы, а динамика определяет переходы между этими состояниями. Теория хаоса изучает системы, которые кажутся случайными, но на самом деле следуют детерминированным правилам. Такие системы, как погода или экономика, чрезвычайно чувствительны к начальным условиям — малейшее изменение может привести к совершенно разным результатам, что известно как эффект бабочки.
Комментарии (71)
- Обсуждение показало, что визуализация 3D-фазового пространства привела к всплеску ностальгии по 90-м и эпохе Fractint, а также подчеркнула, что современные технологии позволяют в реальном времени рендерить то, что раньше требовало часов рендеринга.
- Участники делились личными историями, от вдохновляющих всплесков любознательности до вдохновляющих влияний на их карьеру.
- Обсуждались идеи добавить параметры для взаимодействия, такие как изменение цвета точек в зависимости от их положения в пространстве фаз, что может быть реализовано в будущем.
- Также обсуждались вопросы открытого исходного кода и использования визуализации в образовательных целях.
- Были сделаны ссылки на старые и новые инструменты, такие как Fractint и современные библиотеки визуализации.
A WebGL game where you deliver messages on a tiny planet 🔥 Горячее 💬 Длинная дискуссия
Meta представила новую функцию для Messenger, позволяющую отправлять сообщения между разными платформами мессенджеров, такими как WhatsApp и Instagram. Это шаг к соответствию требованиям Европейского цифрового рынка (DMA), который обязывает крупные технологические компании обеспечивать совместимость сервисов. Пока функция доступна в тестовом режиме для ограниченного числа пользователей в ЕС.
Основное внимание уделяется безопасности: сообщения шифруются сквозным шифрованием, даже при передаче между платформами. Это позволяет пользователям общаться, не теряя приватности. Однако некоторые функции, такие как редактирование сообщений или чаты с несколькими участниками, пока недоступны при кросс-платформенной переписке.
Комментарии (310)
- Высокая оценка визуального стиля, графики и плавности работы на мобильных устройствах.
- Критика управления камерой и элементов геймплея, вызывающих у некоторых пользователей тошноту.
- Восхищение технической реализацией, включая малый вес игры и использование Three.js без игрового движка.
- Запросы на добавление обучения и более понятных указаний для выполнения заданий.
- Общее впечатление умиротворения, вдохновения и ностальгии по инди-проектам.
Show HN: I was curious about spherical helix, ended up making this visualization 🔥 Горячее
Как двигать объекты в 3D
Кликните вправо, чтобы идти дальше →
От круга к сферической спирали
Куб движется по кругу:
x = 10 cos(πt/2)
y = 10 sin(πt/2)
Умножаем радиус на 0.03 t — получаем растущую спираль.
Сферическая спираль
Добавляем z:
z = 10 cos(0.02 πt)
Радиус x, y теперь умножается на sin(0.02 πt), поэтому он сначала растёт, потом уменьшается.
x = 10 cos(πt/2) · sin(0.02 πt)
y = 10 sin(πt/2) · sin(0.02 πt)
z = 10 cos(0.02 πt)
Куб облетает сферу по спирали.
Итог
Положение в 3D задаётся параметрическими уравнениями x(t), y(t), z(t).
Меняя функции, получаем любые траектории — от простого круга до «хаотичных» путей.
Проект Damar • Twitter @damarberlari
Комментарии (132)
- Пользователи восторгаются плавной анимацией и наглядностью объяснения сферической спирали.
- Некоторые жалуются на тормоза в Firefox/Linux и просят убрать «диззи»-эффект.
- Просят добавить навигацию свайпом/скроллом, кнопки «вперёд-назад» и RSS-ленту.
- Отмечен скачок сложности: от азов к финальной спирали — слишком большой шаг для новичков.
- Появились предложения расширить тему: полярные координаты, матрицы поворота, Fibonacci-спираль на сфере.