feat(phys9 flagships): F5 Атвуд + F7 Лифт (Wave B пилоты)
F5. Машина Атвуда (§22): - Canvas 640×420: блок с двумя массами на нити - Slider'ы: m₁, m₂, трение в блоке - Запуск: бо́льшая масса опускается, меньшая поднимается - Физика: a = ((m₁-m₂)g - μ)/(m₁+m₂) - Анимация: блок вращается, грузы движутся, размер пропорц. m - Показ векторов сил тяжести (m₁g, m₂g) и натяжений (T) в покое - Stats: a, T, v, t F7. Лифт с динамометром (§24): - Canvas 640×460: шахта с 5 этажами + большой циферблат справа - Слева кабина с динамометром и грузом m - Slider'ы: m груза, a разгона - 5 режимов кнопок: - Разгон ⬆ (hold) → a = +a_in - Разгон ⬇ (hold) → a = -a_in - Стоп → a = 0 - Свободное падение → a = -g (трос показывается пунктиром) - Сброс - 2 динамометра: мини в кабине + большой круглый (шкала 0..2.5g) - Stats: P, P/(mg), v лифта, h высота - Контекстный feedback: невесомость / норма / перегрузка / P<0 Подключение в ch2: F5 на p22 (закон Ньютона II), F7 на p24 (вес). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -790,7 +790,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){} try { if(window.PHYS9_FINALS_INIT && /^final\d+$/.test(id)) window.PHYS9_FINALS_INIT(id); } catch(e){ console.warn("phys9 final init:", e.message); } 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); } try { if(window.PHYS9_FLAG_BASE){ if(id==='p17') window.PHYS9_FLAG_BASE.mount('F4','p17'); } } catch(e){ console.warn('phys9 flag init:', e.message); } }, 60);
|
||||
setTimeout(function(){ try { if(window.renderTask) window.renderTask(id); if(window.renderNav) window.renderNav(id); } catch(e){} try { if(window.PHYS9_FINALS_INIT && /^final\d+$/.test(id)) window.PHYS9_FINALS_INIT(id); } catch(e){ console.warn("phys9 final init:", e.message); } 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); } try { if(window.PHYS9_FLAG_BASE){ if(id==='p17') window.PHYS9_FLAG_BASE.mount('F4','p17'); else if(id==='p22') window.PHYS9_FLAG_BASE.mount('F5','p22'); else if(id==='p24') window.PHYS9_FLAG_BASE.mount('F7','p24'); } } catch(e){ console.warn('phys9 flag init:', e.message); } }, 60);
|
||||
}
|
||||
var _origEnsureBuilt = ensureBuilt;
|
||||
ensureBuilt = function(id){ _origEnsureBuilt(id); _injectTasks(id); };
|
||||
|
||||
Reference in New Issue
Block a user