Хвиля 98 — 22 нові симуляції додано у червні 2026

Нанотехнології отримують свої перші браузерні симуляції. AI/ML розширюється від дерев рішень до повноцінних агентів навчання з підкріпленням. Спортивна фізика тепер охоплює опір велосипеда, обертання футбольного м'яча та багатотільну аеродинаміку списа. Космос отримує інтерактивний ядерний реактор і модель стабільності термоядерної плазми. А категорія графіки поповнюється ray marching методом SDF, епіциклоїдами спірографа та геометрією оптичних ілюзій. Двадцять дві симуляції, усі двомовні, — бібліотека перетнула позначку 711.

Хвиля 98 — 22 симуляції, 7 категорій

Широкий горизонтальний ривок, двомовний із самого початку

Хвиля 98 спрямована на розширення бібліотеки, а не на поглиблення якоїсь однієї теми. У нанотехнологій раніше не було жодної браузерної симуляції; тепер їх дві. Колонка AI/ML, що почалась з випадкового лісу й дерев рішень, отримує Q-навчання та самоскладання. Кожна симуляція виходить англійською та українською і повністю доступна з клавіатури й підтримує ARIA-мітки. Бібліотека налічує вже 711+ симуляцій.

711+
Всього симуляцій
22
Нові цієї хвилі
7
Категорій піднято
96
№ девлогу

Найцікавіші симуляції

🔵

Квантові точки нанотех

Рівняння Бруса передбачає, як заборонена зона — а отже і колір випромінювання — напівпровідникового нанокристала розширюється, коли розмір частинки падає нижче борівського радіуса екситона. Пересуньте повзунок від 1 нм до 10 нм і подивіться, як світіння точки зміщується з глибоко синього до інфрачервоного.

🧬

Молекулярне самоскладання нанотех

Амфіфільні молекули орієнтуються на межі олія–вода виключно під дією ентропії та гідрофобного витіснення. Параметр упаковки p = v/(a₀·l₁) визначає, чи утворить система міцели, везикули, чи плоский бішар — геометрію самого життя.

🤖

Агент Q-навчання ai-ml

Табличний агент Q-навчання пересувається сітковим світом, оновлюючи таблицю цінностей дій за рівнянням Беллмана на кожному кроці. ε-жадібна політика починається з чистого дослідження і поступово зміщується до використання набутого досвіду. Спостерігайте, як агент за кілька сотень епізодів переходить від випадкових блукань до оптимальних найкоротших шляхів.

🌳

Дерево рішень (CART) ai-ml

Будує бінарне дерево класифікації через рекурсивні розбиття за нечистотою Джині. Керуйте максимальною глибиною, щоб побачити, як межа переходить від єдиного порогу до східчастої лінії, що запам'ятовує кожну навчальну точку. Доступний також режим приросту інформації (ентропія).

🦾

Обернена кінематика (FABRIK) robotics

Алгоритм Forward And Backward Reaching Inverse Kinematics розв'язує задачу ланцюга жорстких ланок, що прямує до перетягнутої цілі, ітеруючи вперед від кореня і назад від кінчика, доки кінцевий ефектор не збіжиться. Працює для ланцюгів із 2–12 ланок, з обмеженнями кутів у суглобах та перемикачем уникнення перешкод.

🚴

Аеродинаміка велосипеда sports

Потрібна потужність масштабується як P = ½ρv³CₜA. Змінюйте положення велосипедиста (прямо, у крапельці, TT-стійка) та швидкість, щоб побачити, як аеродинамічний опір домінує на гоночному темпі. Режим драфтингу симулює їзду за колесом суперника на різних відстанях: розрив у 2 м знижує CdA приблизно на 27% для того, хто їде позаду.

Футбольний удар та ефект Магнуса sports

Закрутіть м'яч навколо своєї осі, і сила Магнуса скривить його траєкторію вбік. Задайте зворотне обертання, топспін чи бокове обертання; оберіть початкову швидкість і кут підйому — і подивіться, як м'яч огинає простір, включно зі змодельованою стінкою захисників на відстані 9,15 м.

⚛️

Критичність ядерного реактора space

Формула шести множників k∞ = η ε p f визначає, чи є тепловий реактор під-, критичним, чи надкритичним. Змінюйте збагачення, співвідношення сповільнювача до палива та занурення регулювальних стрижнів, щоб дослідити стабілізацію запізненими нейтронами й межу миттєвої критичності.

🎨

Ray Marching та SDF graphics

Трасує промені через примітиви signed-distance-field (сфера, куб, тор, капсула) зі згладжувальним змішуванням smooth-min у GLSL-фрагментному шейдері. Затінення за Фонгом з оцінкою нормалей центральними різницями. Компонуйте сцени з до чотирьох об'єктів і налаштовуйте коефіцієнт змішування інтерактивно.

🌀

Спірограф та епітрохоїди graphics

Гіпо- та епітрохоїди, породжені точкою на колі, що котиться. Змінюйте співвідношення радіусів і зміщення пера, щоб дослідити повний зоопарк кривих: дельтоїди, астроїду, троянди-родонеї, лімасони і візерунки, близькі до фігур Лісажу. Експорт у SVG.

Покращення покриття категорій

Хвиля 98 була свідомо спланована так, щоб підняти найтонші категорії. До і після хвилі:

Нанотех 0 → 2 +2
AI / ML 3 → 5 +2
Спорт 3 → 7 +4
Робототехніка 2 → 4 +2
Графіка 6 → 9 +3
Космос / Ядерна фізика 4 → 7 +3
Оптичні ілюзії 1 → 4 +3

До бібліотеки додались три симуляції оптичних ілюзій: перемикач неоднозначної фігури кубу Некера, ілюзія "Обертові змії" (керована градієнтами яскравісних країв) та порівняння контекстного розміру Еббінгауза-Понцо. Вони лежать на межі візуальної нейронауки й демонструють, як зорова система використовує попередні знання для інтерпретації неоднозначних зображень — природний супутник симуляції гештальт-групування, доданої в попередній хвилі.

Фізика під мікроскопом: детальніше про чотири симуляції

Квантові точки — рівняння Бруса

Об'ємний напівпровідник має фіксовану заборонену зону, визначену його кристалохімією. Коли кристал стискається нижче борівського радіуса екситона — приблизно 4–10 нм для типових матеріалів II–VI та III–V груп — квантове обмеження підвищує ефективну заборонену зону. Рівняння Бруса дає перше наближення, розглядаючи електрон і дірку як частинки у сферичній ямі та додаючи кулонівську поправку.

E_gap(r) = E_bulk + (h^2 / 8r^2)(1/m_e* + 1/m_h*) - 1.8e^2 / (4*pi*eps*eps0*r)
  r      : радіус нанокристала
  m_e*   : ефективна маса електрона (частка m_e, залежна від матеріалу)
  m_h*   : ефективна маса дірки
  eps    : відносна діелектрична проникність напівпровідника
Довжина хвилі випромінювання: lambda = hc / E_gap(r)

Q-навчання — оновлення Беллмана

Q-навчання — це модель-незалежний алгоритм навчання з підкріпленням, що оцінює очікувану сумарну винагороду для кожної пари (стан, дія), не знаючи ймовірностей переходів середовища. Після кожного переходу агент оновлює свою Q-таблицю у бік цілі Беллмана — негайної винагороди плюс дисконтованого найкращого майбутнього значення. За достатнього дослідження та спадаючого темпу навчання Q-значення збігаються до Q* — оптимальної політики.

Q(s, a) += alpha * [r + gamma * max_a' Q(s', a') - Q(s, a)]
  alpha  : темп навчання (0 < alpha <= 1)
  gamma  : коефіцієнт дисконтування (0 < gamma < 1)
  r      : винагорода, отримана після дії a у стані s
  s'     : наступний стан
epsilon-жадібна: з ймовірністю eps обрати випадкову дію, інакше argmax Q(s, *)

Аеродинаміка велосипеда — потужність та драфтинг

Аеродинамічний опір є домінантною силою спротиву на швидкостях понад ~25 км/год. Оскільки сила опору масштабується як v², а потужність — це сила помножена на швидкість, потрібна потужність зростає як v³. Зменшення CdA (площі опору) вдвічі вдвічі зменшує аеродинамічну потужність за сталої швидкості — це і є інженерна логіка TT-велосипедів, глибоких ободів і обтислих костюмів. Їзда за спиною іншого велосипедиста захищає вас від зустрічного потоку, зменшуючи ефективну лобову площу на 20–30% при розриві 2 м.

F_drag = 0.5 * rho * v^2 * CdA
P_aero = F_drag * v = 0.5 * rho * v^3 * CdA
Загалом:  P = P_aero + P_roll + P_gravity
P_roll = Crr * m * g * v
Драфтинг: CdA_наступний ~ 0.73 * CdA_соло  (при розриві 2 м, вітер ~15 км/год)

Обернена кінематика FABRIK

Forward And Backward Reaching Inverse Kinematics розв'язує задачу положення ланцюга ітеративно, без тригонометрії чи обернення матриці Якобі. Прямий прохід тягне кожен суглоб до наступного в ланцюзі; зворотний прохід повертає корінь на місце і виштовхує суглоби назад назовні. Два проходи на ітерацію; алгоритм зазвичай сходиться за 3–10 ітерацій до частки міліметра від цілі. Обмеження кутів суглобів (конуси навколо напрямку спокою) застосовуються до кожного суглоба наприкінці кожного проходу.

Прямий прохід: для i = n до 1
  p[i-1] = p[i] + normalize(p[i-1] - p[i]) * d[i]
Зворотний прохід: p[0] = корінь; для i = 1 до n
  p[i] = p[i-1] + normalize(p[i] - p[i-1]) * d[i]
Повторювати, доки |p[n] - target| < допуск
Обмеження: обмежити кут між послідовними сегментами

Оновлення інфраструктури

Аналітика та бюджети продуктивності

Ми впровадили легкий контроль бюджету продуктивності в CI-конвеєр: симуляції, що показують понад 16 мс на кадр при дроселюванні 4× CPU (моделюється в Lighthouse), тепер тригерять попередження у зведенні pull request. Усі симуляції хвилі 98 проходять цю перевірку. Перевірка виявила одну проблему з симуляцією ray marching — безумовний прохід трасування тіней подвоював час GPU на деяких мобільних чипах — яку вирішили, зробивши прохід тіней опціональним.

Service worker та офлайн-покриття

Список попереднього кешування service worker тепер охоплює всі 711+ точок входу симуляцій та їхні JS-пакети. Кешування при першому відвідуванні відбувається лише у фоні, тож не затримує початкове завантаження сторінки. Ті, хто повертається, можуть відкрити будь-яку раніше відвідану симуляцію без мережевого з'єднання, що важливо для використання на планшетах у класі.

Аудит доступності

Усі 22 симуляції хвилі 98 пройшли автоматизований аудит axe-core перед злиттям. Ключові патерни, що застосовуються обов'язково: кожен канвас має aria-label, що описує поточний стан симуляції; інтерактивні повзунки діапазону мають видимі підписи й показники значень; а фокус клавіатури утримується всередині оверлею симуляції, коли відкрита інформаційна панель, не дозволяючи фокусу вислизнути на фонову сторінку.

Що далі

Хвиля 99 зосередиться на колонках хімії та матеріалознавства, де поки тонко представлені фізика полімерів і колоїдна наука. Ми також плануємо повернутися до категорії біології з трьома новими симуляціями клітинної біології: електродинамікою мембран, мережами напруги цитоскелету та моделлю кроків моторного білка. Перегляньте всі дописи в архіві блогу або перейдіть до супутніх спотлайтів для глибшого розбору фізики цих симуляцій.

← Девлог №95: Пакет прикладної науки Усі дописи →