feat(phys9 ch2): добавлены 10 виджетов Wave B — Глава 2 «Динамика»
Новый модуль frontend/js/phys9_ch2_widgets.js — экспортирует
window.PHYS9_CH2_WIDGETS = { p15..p24: fn }. Архитектура аналогична
ch1_widgets (хелперы дублируются для self-sufficient загрузки).
Виджеты:
- §15 CALC: F=Gm₁m₂/r² с slider'ами в показателях 10^a, бытовые
аналоги (Земля-Луна, Земля-человек)
- §16 DnD: 6 планет → группы по периоду (T<1, 1≤T<5, T≥5 лет)
- §17 CALC: связь T, ν, ω с переключателем «известная величина»
- §18 CALC+VIS: a_n=v²/R + анимированная точка по окружности
с векторами v (касательно) и a_n (к центру), пересчёт в g
- §19 CALC: F=kx закона Гука + перевод в массу подвешенного тела
- §20 DnD: 8 пар материалов → 3 группы по μ
- §21 DnD: 8 ситуаций → инерц/неинерц СО
- §22 CALC: F=ma + что будет за 1 с
- §23 CALC: g(h) для разных высот (МКС, геостационар, поверхность)
- §24 CALC: вес P=m(g+a) в лифте с классификатором режима
(норма/перегрузка/разгон/невесомость)
Виджеты подключены в physics_9_ch2.html через тот же hook ensureBuilt.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_palette.js" defer></script>
|
||||
<script src="/js/phys9_legacy.js" defer></script>
|
||||
<script src="/js/phys9_ch2_widgets.js" defer></script>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@600;700;800;900&family=Unbounded:wght@700;800;900&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
:root{
|
||||
@@ -786,7 +787,7 @@ function _injectTasks(id){
|
||||
var body = document.getElementById(id + '-body');
|
||||
if(!body || body.querySelector('.legacy-tasks')) return;
|
||||
body.insertAdjacentHTML('beforeend', _makeTaskBlock(id));
|
||||
setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} }, 60);
|
||||
setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} try { if(window.PHYS9_CH2_WIDGETS && window.PHYS9_CH2_WIDGETS[id]) window.PHYS9_CH2_WIDGETS[id](); } catch(e){ console.warn('phys9 widget init:', e.message); } }, 60);
|
||||
}
|
||||
var _origEnsureBuilt = ensureBuilt;
|
||||
ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); };
|
||||
|
||||
Reference in New Issue
Block a user