Показники платформи
Симуляції Хвилі 30
Конструктор рядів Фур'є
Розкладіть квадратну, пилкоподібну, трикутну, імпульсну та напіввипрямлену хвилі на обертові епіцикли. Спостерігайте, як гармоніки додаються в реальному часі, та вивчайте частотний спектр.
Відкрити →Гравітаційне лінзування
Трасуйте у зворотному напрямку кожен піксель крізь три моделі лінз — точкова маса (кільце Ейнштейна), SIS та профіль NFW — і спостерігайте, як галактика чи квазар спотворюються в дуги.
Відкрити →Фронт епідемії
Реакційно-дифузійна модель SIR за схемою FTCS на сітці 150×150. Налаштуйте β, γ і коефіцієнт дифузії D; спостерігайте, як R₀ = β/γ визначає, чи фронт хвилі розгориться, чи згасне.
Відкрити →🎵 Конструктор рядів Фур'є
Математика
Будь-який періодичний сигнал можна записати як суму синусоїд: f(x) = ∑ cn cos(nx + φn). Конструктор рядів Фур'є обчислює аналітичні коефіцієнти для п'яти класичних форм хвиль одним натисканням кнопки — без жодного чисельного інтегрування.
- Квадратна хвиля — лише непарні гармоніки; амплітуда 4/(πn), усі в одній фазі.
- Пилкоподібна — усі гармоніки; амплітуда 2/(πn), знаки чергуються.
- Трикутна — непарні гармоніки; амплітуда 8/(π²n²), фаза циклічно змінюється за floor((n−1)/2).
- Імпульс — усі гармоніки через обвідну sinc; шпаруватість 20%.
- Напіввипрямлена синусоїда — окрема формула для n=1 та парних n.
Анімація епіциклів
Функція drawEpicycles(t) з'єднує обертові плечі
спадної довжини, по одному на кожну гармоніку. Кінчик останнього
плеча промальовує реконструйовану хвилю. Живий частотний спектр
у вигляді стовпчикової діаграми під канвою показує амплітуду
відносно номера гармоніки й оновлюється при зміні кількості членів.
Що спробувати
- Додавайте члени по одному до квадратної хвилі та спостерігайте явище Гіббса біля розриву.
- Перемкніться на трикутну хвилю — вищі гармоніки згасають як 1/n², тож збіжність набагато швидша.
- Встановіть N=1 або N=3 для пульсуючого одноплечового варіанта, щоб чітко побачити фазові співвідношення.
🔭 Гравітаційне лінзування
Зворотне трасування променів
Для кожного пікселя (i, j) у площині зображення функція
deflect(ix, iy) обчислює кутове положення на
небі, звідки насправді прийшло світло. Канва заповнюється шляхом
вибірки з позаекранного вихідного зображення за цими
перенаправленими координатами.
Реалізовано три моделі лінз:
- Точкова маса — точний результат ЗТВ: β = θ − θE²/|θ|. Дає знамените кільце Ейнштейна, коли джерело й лінза ідеально вирівняні.
- SIS (сингулярна ізотермічна сфера) — постійний кут відхилення α = θE · θ̂; моделює лінзи галактичного масштабу з приблизно плоскими кривими обертання.
- NFW (Наварро–Френк–Вайт) — радіально змінний профіль α(r/rs) з логарифмічно-арксеканс формулою, що описує гало холодної темної матерії.
Що спробувати
- Точкова маса з квазаром як джерелом — вирівняйте джерело з лінзою, щоб замкнути кільце Ейнштейна.
- Перемкніться на SIS і зверніть увагу, що тангенціальні дуги протяжніші за радіальні.
- Перетягніть повзунок радіуса Ейнштейна, щоб побачити, як масштабується вся геометрія лінзування.
🦠 Фронт епідемії
Реакційно-дифузійна модель SIR
Класична компартментна модель SIR розширена на 2D-простір додаванням дифузійного члена для інфікованої популяції:
- dS/dt = −β·S·I
- dI/dt = β·S·I − γ·I + D·∇²I
- dR/dt = γ·I
Просторове поширення входить через лапласіанів член D·∇²I, дискретизований п'ятиточковим скінченно-різницевим шаблоном з граничними умовами Неймана (без потоку). Інтегрування виконується явним методом Ейлера (FTCS) з Δt = 0.25, виконуючи 1–20 кроків на кадр анімації залежно від повзунка швидкості.
Швидкість фронту Фішера–КПП
Далеко попереду фронту хвилі S ≈ 1, а густина інфікованих мала. У цій межі рівняння для I лінеаризується до рівняння Фішера, мінімальна швидкість фронту якого дорівнює v = 2&sqrt;(D·(β−γ)). Симуляція показує R₀ = β/γ великим шрифтом з кольоровим кодуванням: зелений (R₀ < 1, епідемія згасає) через помаранчевий до червоного (R₀ > 2, швидке поширення).
Початкові умови
- Центр — одне кругле вогнище в центрі сітки; фронт розширюється симетрично.
- 4 вогнища — чотири кутові вогнища; фронти хвиль стикаються та інтерферують у центрі.
- Край — інфікований весь нижній ряд; плоский фронт хвилі проходить прямо через сітку.
- Випадково — ~2% клітинок заражені з низькою густиною; кілька одночасних вогнищ зародження.
Що спробувати
- Встановіть β = 0.07, γ = 0.08 (R₀ < 1) — вогнище інфекції згасає, не поширюючись.
- Підніміть D до максимуму з вогнищем у центрі — ширший, швидший фронт; менше клітин у стані одужання позаду.
- Використайте «4 вогнища» і спостерігайте, як зустрічні фронти зливаються та згасають.
- Перемкніться на «Край», щоб виміряти швидкість фронту візуально проти прогнозу Фішера–КПП.
Технічні деталі
-
Фур'є —
getCoeffs(type, maxN)повертає звичайний масив об'єктів{n, amp, phase}, обчислених у замкнутій формі; жодного чисельного інтегрування;drawEpicycles(t)рендерить анімацію обертових плечей через Canvas 2D зі слідом хвилі, що тягнеться позаду. -
Лінзування —
deflect(ix, iy)працює в нормалізованих кутових координатах; уся канва заповнюється єдиним записомImageDataза кадр; вихідний візерунок промальовується один раз на позаекранну канву та вибирається квазібілінійним пошуком за цілими координатами. -
Епідемія — три пари
Float32Arrayдля подвійної буферизації S, I, R; внутрішній цикл обробляє кожну з 150×150 = 22 500 клітинок за крок; сітка рендериться в піксельнийImageData600×600 зі змішуванням кольорів S→синій, I→червоний, R→сірий. - Усі симуляції Хвилі 30 виходять з повними EN + UK сторінками та зареєстровані в
simulations.json.
Теги
Ряди Фур'є Епіцикли Гармонічний аналіз Гравітаційне лінзування Загальна теорія відносності Темна матерія Модель SIR Реакція-дифузія Епідеміологія Фішер–КПП Хвиля 30
Анонс Хвилі 31
Для наступного релізу розробляються три симуляції:
- Фрактал Ньютона — метод Ньютона для z^n−1 на комплексній площині; кольорові басейни притягання, що розкривають вражаючі фрактальні межі.
- Пісочна купа — самоорганізована критичність Бака–Танга–Візенфельда; статистика лавин за степеневим законом виникає із простого правила обвалення.
- Комплексні функції — розфарбування домену f(z): відтінок кодує аргумент, яскравість — модуль; візуалізація полюсів, нулів, розрізів гілок.
Усі симуляції Хвилі 31 вийдуть з EN + UK сторінками в день запуску.