fix(textbooks): Физика 9 — STATE collision, KaTeX escape, авто-init симуляций
Три бага из жалобы пользователя: 1) phys9_legacy.js упал с 'Identifier STATE has already been declared' — const STATE в монолите конфликтовал с const STATE в chapter inline JS. Скрипт extract_phys9_legacy.cjs теперь оборачивает извлечённый код в IIFE и явно экспортит через window 70 функций (upd*/draw*/init*/start*/lab*/ check*/toggle*/render*/show*/...) + 7 const-массивов (TASKS_PN, PUZ_PN). 2) В боковой панели формулы рендерились как 'Delta vecr' вместо Δr⃗ — мой переход на JSON.stringify в gen_phys9_ch.js добавил лишний слой escape backslash. Уменьшил \\ → \ в SIDEBAR_ROWS, TIPS_HTML, PARA_SUBS, LR_SUBS (90 строк). Цепочка теперь: source \Delta → string \Delta → JSON "\\Delta" → HTML JS \Delta → runtime \Delta → KaTeX \Delta ✓. 3) 'не работают симуляции' — функции из legacy.js были доступны, но chapter goTo(id) их не вызывал. Добавлен авто-вызов upd<N>(), startAnim<N>(), init<N>(), draw<N>() при переключении на параграф, и updLab<N>(), drawLab<N>() — для ЛР.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
// Извлекает <script> из physics_9.html в frontend/js/phys9_legacy.js.
|
||||
// Оборачивает в IIFE (избегаем коллизий STATE/PARAS с chapter inline JS).
|
||||
// Эспортит в window все функции с префиксами upd|draw|init|start|set|toggle|lab|check + TASKS_PN/PUZ_PN/массивы.
|
||||
'use strict';
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const SRC = path.join(__dirname, '..', '..', 'frontend', 'textbooks', 'physics_9.html');
|
||||
const DST = path.join(__dirname, '..', '..', 'frontend', 'js', 'phys9_legacy.js');
|
||||
|
||||
const h = fs.readFileSync(SRC, 'utf8');
|
||||
const scriptMatch = h.match(/<script>([\s\S]*?)<\/script>/);
|
||||
if (!scriptMatch) { console.error('No <script> found'); process.exit(1); }
|
||||
const raw = scriptMatch[1];
|
||||
|
||||
// Очистка emoji
|
||||
const clean = raw.replace(/[\u{1F300}-\u{1F9FF}]|[\u{2600}-\u{27BF}]|[\u{1F000}-\u{1F2FF}]|[\u{FE0F}]/gu, '');
|
||||
|
||||
// Найти границу setup-кода
|
||||
const setupStart = clean.search(/^upd1\d\(\);/m);
|
||||
const fnsPart = setupStart > 0 ? clean.slice(0, setupStart) : clean;
|
||||
const setupPart = setupStart > 0 ? clean.slice(setupStart) : '';
|
||||
|
||||
// Сканируем все function-declarations и const-объявления массивов
|
||||
const fnNames = [...new Set([...fnsPart.matchAll(/^function\s+(\w+)\s*\(/gm)].map(m => m[1]))];
|
||||
const constNames = [...new Set([...fnsPart.matchAll(/^const\s+(TASKS_\w+|PUZ_\w+|QUIZ_\w+|MATCH_\w+)\s*=/gm)].map(m => m[1]))];
|
||||
|
||||
// Только идентификаторы, которые могут использоваться извне (по префиксу или капсу)
|
||||
const exportFns = fnNames.filter(n => /^(upd|draw|init|start|set|toggle|lab|check|reset|next|go|run|play|stop|render|update|show|hide|build|switch|select|apply|calc|recalc|animate|tick)/i.test(n));
|
||||
const exportList = [...exportFns, ...constNames];
|
||||
|
||||
const header = `// Auto-extracted from frontend/textbooks/physics_9.html (legacy monolith).
|
||||
// Wrapped in IIFE — avoids collisions with chapter inline JS (STATE, PARAS, etc.).
|
||||
// All upd*/draw*/init*/start*/lab*/check*/toggle* functions + TASKS_PN arrays
|
||||
// are explicitly attached to window at the end.
|
||||
// eslint-disable
|
||||
|
||||
(function(){
|
||||
"use strict";
|
||||
`;
|
||||
|
||||
const exportTail = '\n\n// === Expose handlers + task pools to global scope ===\n' +
|
||||
exportList.map(name => `try { if (typeof ${name} !== "undefined") window.${name} = ${name}; } catch(e) {}`).join('\n') +
|
||||
'\n})();\n';
|
||||
|
||||
const wrapped = setupStart > 0
|
||||
? header + fnsPart + '\ntry {\n' + setupPart + '\n} catch(e) { console.warn("phys9_legacy setup skipped:", e.message); }\n' + exportTail
|
||||
: header + fnsPart + exportTail;
|
||||
|
||||
fs.writeFileSync(DST, wrapped);
|
||||
console.log('phys9_legacy.js:', wrapped.length, 'bytes');
|
||||
console.log('Exported functions:', exportFns.length);
|
||||
console.log('Exported consts:', constNames.length);
|
||||
console.log('Sample exports:', exports.slice(0, 12).join(', '), '...');
|
||||
|
||||
// Sanity parse
|
||||
try { new Function(wrapped); console.log('OK parse'); }
|
||||
catch(e) { console.error('PARSE FAIL:', e.message); process.exit(1); }
|
||||
+108
-90
@@ -49,40 +49,40 @@ const PARA_NAMES = {
|
||||
const PARA_SUBS = {
|
||||
p1:'материальная точка',
|
||||
p2:'СО · относительность',
|
||||
p3:'$\\\\vec a + \\\\vec b$',
|
||||
p4:'$a_x = a\\\\cos\\\\alpha$',
|
||||
p5:'$s$ vs $\\\\Delta\\\\vec r$',
|
||||
p6:'$\\\\Delta\\\\vec r = \\\\vec v t$',
|
||||
p3:'$\\vec a + \\vec b$',
|
||||
p4:'$a_x = a\\cos\\alpha$',
|
||||
p5:'$s$ vs $\\Delta\\vec r$',
|
||||
p6:'$\\Delta\\vec r = \\vec v t$',
|
||||
p7:'графики $v(t)$, $x(t)$',
|
||||
p8:'$\\\\langle v\\\\rangle = s/t$',
|
||||
p9:'$\\\\vec v_{1,3} = \\\\vec v_{1,2} + \\\\vec v_{2,3}$',
|
||||
p10:'$\\\\vec a = \\\\Delta\\\\vec v/\\\\Delta t$',
|
||||
p11:'$\\\\vec v = \\\\vec v_0 + \\\\vec a t$',
|
||||
p8:'$\\langle v\\rangle = s/t$',
|
||||
p9:'$\\vec v_{1,3} = \\vec v_{1,2} + \\vec v_{2,3}$',
|
||||
p10:'$\\vec a = \\Delta\\vec v/\\Delta t$',
|
||||
p11:'$\\vec v = \\vec v_0 + \\vec a t$',
|
||||
p12:'$x = x_0 + v_0 t + at^2/2$',
|
||||
p13:'$v = \\\\omega R$',
|
||||
p13:'$v = \\omega R$',
|
||||
p14:'$a_n = v^2/R$',
|
||||
p15:'1-й закон Ньютона',
|
||||
p16:'$m_1/m_2 = a_2/a_1$',
|
||||
p17:'$\\\\vec F = m\\\\vec a$',
|
||||
p18:'$\\\\vec F_{12} = -\\\\vec F_{21}$',
|
||||
p17:'$\\vec F = m\\vec a$',
|
||||
p18:'$\\vec F_{12} = -\\vec F_{21}$',
|
||||
p19:'$F = -kx$',
|
||||
p20:'$F_{тр} = \\\\mu N$',
|
||||
p20:'$F_{тр} = \\mu N$',
|
||||
p21:'$h = gt^2/2$',
|
||||
p22:'$L = v_0^2\\\\sin 2\\\\alpha/g$',
|
||||
p22:'$L = v_0^2\\sin 2\\alpha/g$',
|
||||
p23:'$F = Gm_1m_2/r^2$',
|
||||
p24:'$P = m(g \\\\pm a)$',
|
||||
p24:'$P = m(g \\pm a)$',
|
||||
p25:'$M = Fl$',
|
||||
p26:'$F_1 l_1 = F_2 l_2$',
|
||||
p27:'$\\\\eta = A_{пол}/A_{сов}$',
|
||||
p27:'$\\eta = A_{пол}/A_{сов}$',
|
||||
p28:'ЦТ · равновесие',
|
||||
p29:'$F_A = \\\\rho g V$',
|
||||
p30:'$\\\\rho_т \\\\le \\\\rho_ж$',
|
||||
p31:'$\\\\vec p = m\\\\vec v$',
|
||||
p32:'$\\\\sum\\\\vec p = \\\\text{const}$',
|
||||
p33:'$A = F\\\\Delta r\\\\cos\\\\alpha$',
|
||||
p29:'$F_A = \\rho g V$',
|
||||
p30:'$\\rho_т \\le \\rho_ж$',
|
||||
p31:'$\\vec p = m\\vec v$',
|
||||
p32:'$\\sum\\vec p = \\text{const}$',
|
||||
p33:'$A = F\\Delta r\\cos\\alpha$',
|
||||
p34:'$E_п = mgh$',
|
||||
p35:'$E_к = mv^2/2$',
|
||||
p36:'$E_к + E_п = \\\\text{const}$',
|
||||
p36:'$E_к + E_п = \\text{const}$',
|
||||
};
|
||||
|
||||
const PARA_WM = {
|
||||
@@ -112,9 +112,9 @@ const LR_NAMES = {
|
||||
};
|
||||
|
||||
const LR_SUBS = {
|
||||
lr1:'$\\\\Delta t$, $\\\\varepsilon_t$', lr2:'$a = 2l/t^2$', lr3:'$a_n = 4\\\\pi^2 R/T^2$',
|
||||
lr4:'$k = F/x$', lr5:'$\\\\mu = F_{тр}/P$', lr6:'$v_0 = l\\\\sqrt{g/(2h)}$',
|
||||
lr7:'$F_1 l_1 = F_2 l_2$', lr8:'$P h_1 = F h_2$', lr9:'$\\\\eta = mgh/A_{сов}$',
|
||||
lr1:'$\\Delta t$, $\\varepsilon_t$', lr2:'$a = 2l/t^2$', lr3:'$a_n = 4\\pi^2 R/T^2$',
|
||||
lr4:'$k = F/x$', lr5:'$\\mu = F_{тр}/P$', lr6:'$v_0 = l\\sqrt{g/(2h)}$',
|
||||
lr7:'$F_1 l_1 = F_2 l_2$', lr8:'$P h_1 = F h_2$', lr9:'$\\eta = mgh/A_{сов}$',
|
||||
lr10:'$F_A = F_1 - F_2$', lr11:'$m_1 l_1 = m_1 l_1\' + m_2 l_2\'$',
|
||||
lr12:'$F|x| = ml^2 g/(2h)$',
|
||||
};
|
||||
@@ -177,50 +177,50 @@ const CHAPTERS = {
|
||||
const SIDEBAR_ROWS = {
|
||||
p1: [['Кинематика','описывает движение без причин'],['Мат. точка','тело с пренебр. размерами'],['Поступательное','все точки движутся одинаково']],
|
||||
p2: [['СО','тело отсчёта + оси + часы'],['Относ.','скорость, путь, траектория'],['Земля','чаще всего тело отсчёта']],
|
||||
p3: [['Скаляр','число'],['Вектор','число + направление'],['$\\\\vec a + \\\\vec b$','правило треугольника / параллелограмма']],
|
||||
p4: [['Проекция','$a_x = a\\\\cos\\\\alpha$'],['Знак','зависит от $\\\\alpha$'],['Сумма','$(\\\\vec a + \\\\vec b)_x = a_x + b_x$']],
|
||||
p5: [['Путь','скаляр $s \\\\ge 0$'],['Перемещ.','вектор $\\\\Delta\\\\vec r$'],['$s \\\\ge |\\\\Delta\\\\vec r|$','']],
|
||||
p6: [['$\\\\vec v = \\\\text{const}$','равномерное'],['$\\\\Delta\\\\vec r = \\\\vec v t$',''],['$x = x_0 + v_x t$','координата']],
|
||||
p3: [['Скаляр','число'],['Вектор','число + направление'],['$\\vec a + \\vec b$','правило треугольника / параллелограмма']],
|
||||
p4: [['Проекция','$a_x = a\\cos\\alpha$'],['Знак','зависит от $\\alpha$'],['Сумма','$(\\vec a + \\vec b)_x = a_x + b_x$']],
|
||||
p5: [['Путь','скаляр $s \\ge 0$'],['Перемещ.','вектор $\\Delta\\vec r$'],['$s \\ge |\\Delta\\vec r|$','']],
|
||||
p6: [['$\\vec v = \\text{const}$','равномерное'],['$\\Delta\\vec r = \\vec v t$',''],['$x = x_0 + v_x t$','координата']],
|
||||
p7: [['$v(t)$','прямая'],['$x(t)$','наклонная прямая'],['Площадь','под $v(t)$ = путь']],
|
||||
p8: [['Средняя','$\\\\langle v\\\\rangle = s/t$'],['Мгновенная','предел $\\\\Delta s/\\\\Delta t$'],['Спидометр','показывает мгн. $v$']],
|
||||
p9: [['$\\\\vec v_{1,3} = \\\\vec v_{1,2} + \\\\vec v_{2,3}$',''],['Лодка/река','$\\\\vec v_{л,б} = \\\\vec v_{л,в} + \\\\vec v_{в,б}$'],['По теч.','скорости складываются']],
|
||||
p10: [['$\\\\vec a = \\\\Delta\\\\vec v/\\\\Delta t$',''],['Ед.','м/с²'],['Знак','совпадает с $\\\\Delta\\\\vec v$']],
|
||||
p11: [['$\\\\vec v = \\\\vec v_0 + \\\\vec a t$',''],['Проекция','$v_x = v_{0x} + a_x t$'],['','']],
|
||||
p12: [['$\\\\Delta\\\\vec r = \\\\vec v_0 t + \\\\vec a t^2/2$',''],['$v^2 - v_0^2 = 2a_x\\\\Delta x$','без $t$'],['','']],
|
||||
p13: [['$\\\\omega = 2\\\\pi/T$',''],['$v = \\\\omega R$',''],['$\\\\omega$','рад/с']],
|
||||
p14: [['$a_n = v^2/R$',''],['$a_n = \\\\omega^2 R$',''],['К центру','направление']],
|
||||
p15: [['ИСО','системы, в которых выполняется 1-й закон'],['1-й Н.','$\\\\sum\\\\vec F = 0 \\\\Rightarrow \\\\vec v = \\\\text{const}$'],['Инерция','свойство сохранять скорость']],
|
||||
p8: [['Средняя','$\\langle v\\rangle = s/t$'],['Мгновенная','предел $\\Delta s/\\Delta t$'],['Спидометр','показывает мгн. $v$']],
|
||||
p9: [['$\\vec v_{1,3} = \\vec v_{1,2} + \\vec v_{2,3}$',''],['Лодка/река','$\\vec v_{л,б} = \\vec v_{л,в} + \\vec v_{в,б}$'],['По теч.','скорости складываются']],
|
||||
p10: [['$\\vec a = \\Delta\\vec v/\\Delta t$',''],['Ед.','м/с²'],['Знак','совпадает с $\\Delta\\vec v$']],
|
||||
p11: [['$\\vec v = \\vec v_0 + \\vec a t$',''],['Проекция','$v_x = v_{0x} + a_x t$'],['','']],
|
||||
p12: [['$\\Delta\\vec r = \\vec v_0 t + \\vec a t^2/2$',''],['$v^2 - v_0^2 = 2a_x\\Delta x$','без $t$'],['','']],
|
||||
p13: [['$\\omega = 2\\pi/T$',''],['$v = \\omega R$',''],['$\\omega$','рад/с']],
|
||||
p14: [['$a_n = v^2/R$',''],['$a_n = \\omega^2 R$',''],['К центру','направление']],
|
||||
p15: [['ИСО','системы, в которых выполняется 1-й закон'],['1-й Н.','$\\sum\\vec F = 0 \\Rightarrow \\vec v = \\text{const}$'],['Инерция','свойство сохранять скорость']],
|
||||
p16: [['Масса','мера инертности'],['$m_1/m_2 = a_2/a_1$',''],['Ед.','кг (эталон)']],
|
||||
p17: [['$\\\\vec a = \\\\vec F/m$',''],['$\\\\vec F = m\\\\vec a$',''],['Принцип суперп.','$\\\\vec F = \\\\sum\\\\vec F_i$']],
|
||||
p18: [['3-й Н.','$\\\\vec F_{12} = -\\\\vec F_{21}$'],['Разные тела','силы действуют на разные тела'],['Галилей','законы одинаковы во всех ИСО']],
|
||||
p17: [['$\\vec a = \\vec F/m$',''],['$\\vec F = m\\vec a$',''],['Принцип суперп.','$\\vec F = \\sum\\vec F_i$']],
|
||||
p18: [['3-й Н.','$\\vec F_{12} = -\\vec F_{21}$'],['Разные тела','силы действуют на разные тела'],['Галилей','законы одинаковы во всех ИСО']],
|
||||
p19: [['Закон Гука','$F = -kx$'],['Жёсткость','$k$, ед. Н/м'],['Лин. упр.','при малых деформациях']],
|
||||
p20: [['Покоя','до начала движения'],['Скольж.','$F_{тр} = \\\\mu N$'],['$\\\\mu$','коэф. трения']],
|
||||
p21: [['$g \\\\approx 9{,}81$ м/с²',''],['$h = gt^2/2$','свободное падение'],['$v = gt$','']],
|
||||
p22: [['$L = v_0^2 \\\\sin 2\\\\alpha / g$','дальность'],['$H = v_0^2\\\\sin^2\\\\alpha/(2g)$','высота'],['$\\\\alpha = 45°$','макс. дальность']],
|
||||
p23: [['$F = G m_1 m_2 / r^2$',''],['$G = 6{,}67\\\\cdot 10^{-11}$ Н·м²/кг²',''],['$g = GM/R^2$','на поверх. Земли']],
|
||||
p24: [['Вес $P$','сила на опору/подвес'],['$P = m(g \\\\pm a)$',''],['$P = 0$','невесомость']],
|
||||
p25: [['$M = Fl$','момент силы'],['$\\\\sum\\\\vec F = 0$ и $\\\\sum M = 0$',''],['Плечо','$l$ — расст. от оси до линии действия']],
|
||||
p20: [['Покоя','до начала движения'],['Скольж.','$F_{тр} = \\mu N$'],['$\\mu$','коэф. трения']],
|
||||
p21: [['$g \\approx 9{,}81$ м/с²',''],['$h = gt^2/2$','свободное падение'],['$v = gt$','']],
|
||||
p22: [['$L = v_0^2 \\sin 2\\alpha / g$','дальность'],['$H = v_0^2\\sin^2\\alpha/(2g)$','высота'],['$\\alpha = 45°$','макс. дальность']],
|
||||
p23: [['$F = G m_1 m_2 / r^2$',''],['$G = 6{,}67\\cdot 10^{-11}$ Н·м²/кг²',''],['$g = GM/R^2$','на поверх. Земли']],
|
||||
p24: [['Вес $P$','сила на опору/подвес'],['$P = m(g \\pm a)$',''],['$P = 0$','невесомость']],
|
||||
p25: [['$M = Fl$','момент силы'],['$\\sum\\vec F = 0$ и $\\sum M = 0$',''],['Плечо','$l$ — расст. от оси до линии действия']],
|
||||
p26: [['Рычаг','$F_1 l_1 = F_2 l_2$'],['Неподв. блок','без выигрыша'],['Подв. блок','выигрыш в силе в 2 раза']],
|
||||
p27: [['Накл. пл.','выигрыш = $l/h$'],['«Золотое правило»','выигр. в силе = проигр. в пути'],['$\\\\eta = A_{пол}/A_{сов}$','КПД']],
|
||||
p27: [['Накл. пл.','выигрыш = $l/h$'],['«Золотое правило»','выигр. в силе = проигр. в пути'],['$\\eta = A_{пол}/A_{сов}$','КПД']],
|
||||
p28: [['ЦТ','точка прилож. силы тяжести'],['Устойч.','ЦТ при отклонении поднимается'],['Безразл.','ЦТ не меняется']],
|
||||
p29: [['$F_A = \\\\rho g V_{погр}$',''],['Вверх','направление'],['Архимед','выталкивающая сила']],
|
||||
p30: [['Плав.','$\\\\rho_т \\\\le \\\\rho_ж$'],['Ватерлиния','граница погружения'],['Воздухопл.','подъёмная сила']],
|
||||
p31: [['$\\\\vec p = m\\\\vec v$','импульс тела'],['Ед.','кг·м/с'],['Сумма','$\\\\vec p_{сист} = \\\\sum \\\\vec p_i$']],
|
||||
p32: [['ЗСИ','$\\\\sum\\\\vec p_{до} = \\\\sum\\\\vec p_{после}$'],['Замкн. сист.','без внеш. сил'],['Ракета','$m_р\\\\vec v_р + m_г\\\\vec v_г = 0$']],
|
||||
p33: [['$A = F\\\\Delta r\\\\cos\\\\alpha$',''],['Ед.','Дж'],['Мощность','$P = A/\\\\Delta t$, Вт']],
|
||||
p34: [['$E_п = mgh$','тяжести'],['$E_п = kx^2/2$','упругости'],['$A = -\\\\Delta E_п$','']],
|
||||
p35: [['$E_к = mv^2/2$',''],['Теорема','$A = \\\\Delta E_к$'],['$E = E_к + E_п$','полная']],
|
||||
p36: [['ЗСЭ','$E = \\\\text{const}$ в замкн. консервативной сист.'],['Превращ.','один вид → другой'],['Трение','диссипация $\\\\to$ тепло']],
|
||||
p29: [['$F_A = \\rho g V_{погр}$',''],['Вверх','направление'],['Архимед','выталкивающая сила']],
|
||||
p30: [['Плав.','$\\rho_т \\le \\rho_ж$'],['Ватерлиния','граница погружения'],['Воздухопл.','подъёмная сила']],
|
||||
p31: [['$\\vec p = m\\vec v$','импульс тела'],['Ед.','кг·м/с'],['Сумма','$\\vec p_{сист} = \\sum \\vec p_i$']],
|
||||
p32: [['ЗСИ','$\\sum\\vec p_{до} = \\sum\\vec p_{после}$'],['Замкн. сист.','без внеш. сил'],['Ракета','$m_р\\vec v_р + m_г\\vec v_г = 0$']],
|
||||
p33: [['$A = F\\Delta r\\cos\\alpha$',''],['Ед.','Дж'],['Мощность','$P = A/\\Delta t$, Вт']],
|
||||
p34: [['$E_п = mgh$','тяжести'],['$E_п = kx^2/2$','упругости'],['$A = -\\Delta E_п$','']],
|
||||
p35: [['$E_к = mv^2/2$',''],['Теорема','$A = \\Delta E_к$'],['$E = E_к + E_п$','полная']],
|
||||
p36: [['ЗСЭ','$E = \\text{const}$ в замкн. консервативной сист.'],['Превращ.','один вид → другой'],['Трение','диссипация $\\to$ тепло']],
|
||||
// ЛР sidebars — краткие
|
||||
lr1: [['Цель','$\\\\Delta t$, $\\\\varepsilon_t$'],['Обор.','мерная лента, шарик, секундомер'],['Формула','$\\\\varepsilon_t = \\\\Delta t/\\\\langle t\\\\rangle \\\\cdot 100\\\\%$']],
|
||||
lr1: [['Цель','$\\Delta t$, $\\varepsilon_t$'],['Обор.','мерная лента, шарик, секундомер'],['Формула','$\\varepsilon_t = \\Delta t/\\langle t\\rangle \\cdot 100\\%$']],
|
||||
lr2: [['Цель','измерить $a$ при равноускор.'],['Обор.','жёлоб, шарик, секундомер'],['Формула','$a = 2l/t^2$']],
|
||||
lr3: [['Цель','$T$, $a_n$, $\\\\omega$, $v$'],['Обор.','штатив, нить, шарик'],['Формула','$a_n = 4\\\\pi^2 R/T^2$']],
|
||||
lr3: [['Цель','$T$, $a_n$, $\\omega$, $v$'],['Обор.','штатив, нить, шарик'],['Формула','$a_n = 4\\pi^2 R/T^2$']],
|
||||
lr4: [['Цель','$k$ пружины'],['Обор.','штатив, динамометр, грузы'],['Формула','$k = mg/|x|$']],
|
||||
lr5: [['Цель','$\\\\mu$ дерево/дерево'],['Обор.','брусок, доска, динамометр'],['Формула','$\\\\mu = F_{упр}/P$']],
|
||||
lr6: [['Цель','$v_0$ гориз. бросок'],['Обор.','лоток, шарик, копир. бумага'],['Формула','$v_0 = l\\\\sqrt{g/(2h)}$']],
|
||||
lr5: [['Цель','$\\mu$ дерево/дерево'],['Обор.','брусок, доска, динамометр'],['Формула','$\\mu = F_{упр}/P$']],
|
||||
lr6: [['Цель','$v_0$ гориз. бросок'],['Обор.','лоток, шарик, копир. бумага'],['Формула','$v_0 = l\\sqrt{g/(2h)}$']],
|
||||
lr7: [['Цель','правило рычага'],['Обор.','рычаг, грузы'],['Формула','$F_1 l_1 = F_2 l_2$']],
|
||||
lr8: [['Цель','выигр. подв. блока'],['Обор.','блоки, динамометр'],['Формула','$P h_1 = F h_2$']],
|
||||
lr9: [['Цель','КПД накл. плоскости'],['Обор.','доска, брусок, динамометр'],['Формула','$\\\\eta = mgh/(F_{упр}l)\\\\cdot 100\\\\%$']],
|
||||
lr9: [['Цель','КПД накл. плоскости'],['Обор.','доска, брусок, динамометр'],['Формула','$\\eta = mgh/(F_{упр}l)\\cdot 100\\%$']],
|
||||
lr10: [['Цель','$F_A$ для разных жидк.'],['Обор.','цилиндры, динамометр, вода, соль'],['Формула','$F_A = F_{упр1} - F_{упр2}$']],
|
||||
lr11: [['Цель','проверить ЗСИ'],['Обор.','лоток, два шара, бумага'],['Формула','$m_1 l_1 = m_1 l_1\' + m_2 l_2\'$']],
|
||||
lr12: [['Цель','проверить ЗСЭ'],['Обор.','лоток, шар, пружина, бумага'],['Формула','$F|x| = ml^2g/(2h)$']],
|
||||
@@ -230,49 +230,49 @@ const TIPS_HTML = {
|
||||
p1: 'Кинематика — раздел физики о движении без причин. Мат. точка — тело, размерами которого можно пренебречь.',
|
||||
p2: 'СО = тело отсчёта + система координат + часы. Скорость, путь и траектория зависят от выбора СО.',
|
||||
p3: 'Скаляры — число (масса, путь). Векторы — число + направление (сила, скорость). Сумма векторов: правило треугольника или параллелограмма.',
|
||||
p4: 'Проекция вектора $\\\\vec a$ на ось: $a_x = a\\\\cos\\\\alpha$. Знак зависит от угла $\\\\alpha$. Сумма проекций = проекция суммы.',
|
||||
p5: 'Путь $s$ — скаляр $\\\\ge 0$. Перемещение $\\\\Delta\\\\vec r$ — вектор. Всегда $s \\\\ge |\\\\Delta\\\\vec r|$.',
|
||||
p6: 'Равномерное движение: $\\\\vec v = \\\\text{const}$. $\\\\Delta\\\\vec r = \\\\vec v t$, координата $x = x_0 + v_x t$.',
|
||||
p4: 'Проекция вектора $\\vec a$ на ось: $a_x = a\\cos\\alpha$. Знак зависит от угла $\\alpha$. Сумма проекций = проекция суммы.',
|
||||
p5: 'Путь $s$ — скаляр $\\ge 0$. Перемещение $\\Delta\\vec r$ — вектор. Всегда $s \\ge |\\Delta\\vec r|$.',
|
||||
p6: 'Равномерное движение: $\\vec v = \\text{const}$. $\\Delta\\vec r = \\vec v t$, координата $x = x_0 + v_x t$.',
|
||||
p7: 'График $v(t)$ — прямая параллельная оси $t$. График $x(t)$ — наклонная прямая. Площадь под $v(t)$ = пройденный путь.',
|
||||
p8: 'Средняя скорость: $\\\\langle v\\\\rangle = s/t$. Мгновенная — предел $\\\\Delta s/\\\\Delta t$ при $\\\\Delta t \\\\to 0$. Спидометр показывает мгновенную.',
|
||||
p9: 'Закон сложения скоростей: $\\\\vec v_{1,3} = \\\\vec v_{1,2} + \\\\vec v_{2,3}$. По течению — скорости складываются, против — вычитаются.',
|
||||
p10: 'Ускорение: $\\\\vec a = \\\\Delta\\\\vec v / \\\\Delta t$. Единица м/с². Направление совпадает с $\\\\Delta\\\\vec v$.',
|
||||
p11: 'При равноускоренном движении: $\\\\vec v = \\\\vec v_0 + \\\\vec a t$. В проекциях: $v_x = v_{0x} + a_x t$.',
|
||||
p12: 'Перемещение: $\\\\Delta\\\\vec r = \\\\vec v_0 t + \\\\vec a t^2/2$. Без времени: $v^2 - v_0^2 = 2a_x\\\\Delta x$.',
|
||||
p13: 'Угловая скорость $\\\\omega = 2\\\\pi/T = 2\\\\pi\\\\nu$ (рад/с). Связь с линейной: $v = \\\\omega R$.',
|
||||
p14: 'Центростремит. ускорение: $a_n = v^2/R = \\\\omega^2 R$. Направлено к центру окружности.',
|
||||
p8: 'Средняя скорость: $\\langle v\\rangle = s/t$. Мгновенная — предел $\\Delta s/\\Delta t$ при $\\Delta t \\to 0$. Спидометр показывает мгновенную.',
|
||||
p9: 'Закон сложения скоростей: $\\vec v_{1,3} = \\vec v_{1,2} + \\vec v_{2,3}$. По течению — скорости складываются, против — вычитаются.',
|
||||
p10: 'Ускорение: $\\vec a = \\Delta\\vec v / \\Delta t$. Единица м/с². Направление совпадает с $\\Delta\\vec v$.',
|
||||
p11: 'При равноускоренном движении: $\\vec v = \\vec v_0 + \\vec a t$. В проекциях: $v_x = v_{0x} + a_x t$.',
|
||||
p12: 'Перемещение: $\\Delta\\vec r = \\vec v_0 t + \\vec a t^2/2$. Без времени: $v^2 - v_0^2 = 2a_x\\Delta x$.',
|
||||
p13: 'Угловая скорость $\\omega = 2\\pi/T = 2\\pi\\nu$ (рад/с). Связь с линейной: $v = \\omega R$.',
|
||||
p14: 'Центростремит. ускорение: $a_n = v^2/R = \\omega^2 R$. Направлено к центру окружности.',
|
||||
p15: 'ИСО — система, в которой выполняется 1-й закон Ньютона. В отсутствие сил тело сохраняет скорость (инерция).',
|
||||
p16: 'Масса — мера инертности. $m_1/m_2 = a_2/a_1$. Единица — килограмм, эталонная.',
|
||||
p17: '2-й закон Ньютона: $\\\\vec a = \\\\vec F/m$. Или $\\\\vec F = m\\\\vec a$. Принцип суперпозиции: $\\\\vec F = \\\\sum \\\\vec F_i$.',
|
||||
p18: '3-й закон Ньютона: $\\\\vec F_{12} = -\\\\vec F_{21}$. Силы приложены к разным телам! Принцип относ. Галилея: законы одинаковы во всех ИСО.',
|
||||
p17: '2-й закон Ньютона: $\\vec a = \\vec F/m$. Или $\\vec F = m\\vec a$. Принцип суперпозиции: $\\vec F = \\sum \\vec F_i$.',
|
||||
p18: '3-й закон Ньютона: $\\vec F_{12} = -\\vec F_{21}$. Силы приложены к разным телам! Принцип относ. Галилея: законы одинаковы во всех ИСО.',
|
||||
p19: 'Закон Гука: $F_{упр} = -kx$, где $k$ — жёсткость пружины (Н/м). Линейность только при малых деформациях.',
|
||||
p20: 'Сила трения скольжения: $F_{тр} = \\\\mu N$, где $\\\\mu$ — коэф. трения. Сила сопротивления среды растёт со скоростью.',
|
||||
p21: 'Свободное падение: $g \\\\approx 9{,}81$ м/с² у поверхности Земли. $h = gt^2/2$, $v = gt$.',
|
||||
p22: 'Тело, брошенное под углом: $L = v_0^2 \\\\sin 2\\\\alpha/g$ — дальность; $H = v_0^2\\\\sin^2\\\\alpha/(2g)$ — высота. Макс. $L$ при $\\\\alpha = 45°$.',
|
||||
p23: 'Закон всемирного тяготения: $F = G m_1 m_2/r^2$. $G = 6{,}67\\\\cdot 10^{-11}$ Н·м²/кг². У поверхности: $g = GM/R^2$.',
|
||||
p24: 'Вес $P$ — сила, с которой тело давит на опору / тянет подвес. $P = m(g \\\\pm a)$. При свободном падении $P = 0$ — невесомость.',
|
||||
p25: 'Условия равновесия: $\\\\sum\\\\vec F = 0$ И $\\\\sum M = 0$. Момент силы $M = F \\\\cdot l$, где $l$ — плечо.',
|
||||
p20: 'Сила трения скольжения: $F_{тр} = \\mu N$, где $\\mu$ — коэф. трения. Сила сопротивления среды растёт со скоростью.',
|
||||
p21: 'Свободное падение: $g \\approx 9{,}81$ м/с² у поверхности Земли. $h = gt^2/2$, $v = gt$.',
|
||||
p22: 'Тело, брошенное под углом: $L = v_0^2 \\sin 2\\alpha/g$ — дальность; $H = v_0^2\\sin^2\\alpha/(2g)$ — высота. Макс. $L$ при $\\alpha = 45°$.',
|
||||
p23: 'Закон всемирного тяготения: $F = G m_1 m_2/r^2$. $G = 6{,}67\\cdot 10^{-11}$ Н·м²/кг². У поверхности: $g = GM/R^2$.',
|
||||
p24: 'Вес $P$ — сила, с которой тело давит на опору / тянет подвес. $P = m(g \\pm a)$. При свободном падении $P = 0$ — невесомость.',
|
||||
p25: 'Условия равновесия: $\\sum\\vec F = 0$ И $\\sum M = 0$. Момент силы $M = F \\cdot l$, где $l$ — плечо.',
|
||||
p26: 'Рычаг в равновесии: $F_1 l_1 = F_2 l_2$. Неподвижный блок выигрыша не даёт. Подвижный — выигрыш в силе в 2 раза.',
|
||||
p27: 'Накл. плоскость: выигрыш в силе = $l/h$. «Золотое правило»: выигрываем в силе — проигрываем в пути. КПД: $\\\\eta = A_{пол}/A_{сов}$.',
|
||||
p27: 'Накл. плоскость: выигрыш в силе = $l/h$. «Золотое правило»: выигрываем в силе — проигрываем в пути. КПД: $\\eta = A_{пол}/A_{сов}$.',
|
||||
p28: 'Центр тяжести — точка приложения равнодействующей сил тяжести. Устойчивое равновесие: ЦТ при отклонении поднимается.',
|
||||
p29: 'Закон Архимеда: $F_A = \\\\rho_ж g V_{погр}$. Направлен вверх. Не зависит от глубины, формы тела или плотности тела.',
|
||||
p30: 'Условие плавания: $\\\\rho_т \\\\le \\\\rho_ж$. Подъёмная сила воздухоплавательного аппарата — разность веса вытесненного воздуха и веса аппарата.',
|
||||
p31: 'Импульс тела: $\\\\vec p = m\\\\vec v$ (кг·м/с). Импульс системы — сумма импульсов всех тел.',
|
||||
p32: 'ЗСИ: в замкнутой системе $\\\\sum\\\\vec p = \\\\text{const}$. Реактивное движение: $m_р\\\\vec v_р + m_г\\\\vec v_г = 0$.',
|
||||
p33: 'Работа силы: $A = F \\\\Delta r \\\\cos\\\\alpha$ (Дж). Мощность: $P = A/\\\\Delta t = Fv\\\\cos\\\\alpha$ (Вт).',
|
||||
p34: 'Потенц. энергия тяжести: $E_п = mgh$. Упругости: $E_п = kx^2/2$. Работа консерват. силы: $A = -\\\\Delta E_п$.',
|
||||
p35: 'Кинет. энергия: $E_к = mv^2/2$. Теорема: $A = \\\\Delta E_к$. Полная мех. энергия: $E = E_к + E_п$.',
|
||||
p36: 'ЗСЭ: в замкнутой консервативной системе $E_к + E_п = \\\\text{const}$. При трении мех. энергия превращается в тепло.',
|
||||
p29: 'Закон Архимеда: $F_A = \\rho_ж g V_{погр}$. Направлен вверх. Не зависит от глубины, формы тела или плотности тела.',
|
||||
p30: 'Условие плавания: $\\rho_т \\le \\rho_ж$. Подъёмная сила воздухоплавательного аппарата — разность веса вытесненного воздуха и веса аппарата.',
|
||||
p31: 'Импульс тела: $\\vec p = m\\vec v$ (кг·м/с). Импульс системы — сумма импульсов всех тел.',
|
||||
p32: 'ЗСИ: в замкнутой системе $\\sum\\vec p = \\text{const}$. Реактивное движение: $m_р\\vec v_р + m_г\\vec v_г = 0$.',
|
||||
p33: 'Работа силы: $A = F \\Delta r \\cos\\alpha$ (Дж). Мощность: $P = A/\\Delta t = Fv\\cos\\alpha$ (Вт).',
|
||||
p34: 'Потенц. энергия тяжести: $E_п = mgh$. Упругости: $E_п = kx^2/2$. Работа консерват. силы: $A = -\\Delta E_п$.',
|
||||
p35: 'Кинет. энергия: $E_к = mv^2/2$. Теорема: $A = \\Delta E_к$. Полная мех. энергия: $E = E_к + E_п$.',
|
||||
p36: 'ЗСЭ: в замкнутой консервативной системе $E_к + E_п = \\text{const}$. При трении мех. энергия превращается в тепло.',
|
||||
// ЛР tips
|
||||
lr1: 'ЛР1: погрешности прямых измерений. $\\\\Delta t = \\\\Delta t_{сист} + \\\\Delta t_{случ}$. Результат в интервальной форме: $t = \\\\langle t\\\\rangle \\\\pm \\\\Delta t$.',
|
||||
lr1: 'ЛР1: погрешности прямых измерений. $\\Delta t = \\Delta t_{сист} + \\Delta t_{случ}$. Результат в интервальной форме: $t = \\langle t\\rangle \\pm \\Delta t$.',
|
||||
lr2: 'ЛР2: ускорение шарика по наклонному жёлобу. $a = 2l/t^2$ (из $s = at^2/2$ при $v_0 = 0$).',
|
||||
lr3: 'ЛР3: движение по окружности. Измеряем $T$, считаем $a_n = 4\\\\pi^2 R/T^2$, $\\\\omega = 2\\\\pi/T$, $v = \\\\omega R$.',
|
||||
lr3: 'ЛР3: движение по окружности. Измеряем $T$, считаем $a_n = 4\\pi^2 R/T^2$, $\\omega = 2\\pi/T$, $v = \\omega R$.',
|
||||
lr4: 'ЛР4: закон Гука. Подвешиваем грузы, строим график $F_{упр}(x)$. Жёсткость $k = mg/|x|$.',
|
||||
lr5: 'ЛР5: коэффициент трения скольжения дерева по дереву. $\\\\mu = F_{упр}/P$.',
|
||||
lr6: 'ЛР6: тело, брошенное горизонтально. Измеряем дальность $l$ и высоту $h$. $v_0 = l\\\\sqrt{g/(2h)}$.',
|
||||
lr5: 'ЛР5: коэффициент трения скольжения дерева по дереву. $\\mu = F_{упр}/P$.',
|
||||
lr6: 'ЛР6: тело, брошенное горизонтально. Измеряем дальность $l$ и высоту $h$. $v_0 = l\\sqrt{g/(2h)}$.',
|
||||
lr7: 'ЛР7: условие равновесия рычага. Проверяем $F_1 l_1 = F_2 l_2$.',
|
||||
lr8: 'ЛР8: блоки. Неподв. — без выигрыша; подвижный — выигрыш в силе в 2 раза, проигрыш в пути в 2 раза.',
|
||||
lr9: 'ЛР9: КПД наклонной плоскости. $\\\\eta = A_{пол}/A_{сов} = mgh/(F_{упр}l)\\\\cdot 100\\\\%$. Сравниваем при 30° и 45°.',
|
||||
lr9: 'ЛР9: КПД наклонной плоскости. $\\eta = A_{пол}/A_{сов} = mgh/(F_{упр}l)\\cdot 100\\%$. Сравниваем при 30° и 45°.',
|
||||
lr10: 'ЛР10: выталкивающая сила Архимеда. $F_A = F_{упр1} - F_{упр2}$ (вес в воздухе минус вес в жидкости).',
|
||||
lr11: 'ЛР11: ЗСИ. Шар $m_1$ скатывается, сталкивается с покоящимся шаром $m_2$. Проверяем $m_1 l_1 = m_1 l_1\' + m_2 l_2\'$.',
|
||||
lr12: 'ЛР12: ЗСЭ. Сжатая пружина → шар → дальность полёта. $F_{упр}|x| = ml^2 g/(2h)$.',
|
||||
@@ -760,6 +760,24 @@ function goTo(id){
|
||||
window.scrollTo({top:0,behavior:'smooth'});
|
||||
if((STATE.progress[id]||0)<10) bumpProgress(id, 10);
|
||||
if(window.renderMathInElement) setTimeout(()=>renderMath(el), 0);
|
||||
// Auto-init legacy simulations: call upd<N>() / startAnim<N>() / draw<N>() if defined in phys9_legacy.js.
|
||||
if(id.startsWith('p')){
|
||||
const n = id.slice(1);
|
||||
setTimeout(()=>{
|
||||
['upd','startAnim','init','draw'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){ console.warn(prefix + n + ' init:', e.message); } }
|
||||
});
|
||||
}, 50);
|
||||
} else if(id.startsWith('lr')){
|
||||
const n = id.slice(2);
|
||||
setTimeout(()=>{
|
||||
['updLab','drawLab'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){} }
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
markLastPara(id);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Auto-extracted from frontend/textbooks/physics_9.html (legacy monolith).
|
||||
// Wrapped in IIFE — avoids collisions with chapter inline JS (STATE, PARAS, etc.).
|
||||
// Onclick handlers and TASKS_PN arrays explicitly attached to window at end.
|
||||
// All upd*/draw*/init*/start*/lab*/check*/toggle* functions + TASKS_PN arrays
|
||||
// are explicitly attached to window at the end.
|
||||
// eslint-disable
|
||||
|
||||
(function(){
|
||||
@@ -5864,24 +5865,80 @@ if (window.ResizeObserver) {
|
||||
} catch(e) { console.warn("phys9_legacy setup skipped:", e.message); }
|
||||
|
||||
|
||||
// === Expose onclick handlers + task pools to global scope ===
|
||||
// === Expose handlers + task pools to global scope ===
|
||||
try { if (typeof setParaTab !== "undefined") window.setParaTab = setParaTab; } catch(e) {}
|
||||
try { if (typeof renderNav !== "undefined") window.renderNav = renderNav; } catch(e) {}
|
||||
try { if (typeof goToTask !== "undefined") window.goToTask = goToTask; } catch(e) {}
|
||||
try { if (typeof renderTask !== "undefined") window.renderTask = renderTask; } catch(e) {}
|
||||
try { if (typeof selectMcq !== "undefined") window.selectMcq = selectMcq; } catch(e) {}
|
||||
try { if (typeof checkNum !== "undefined") window.checkNum = checkNum; } catch(e) {}
|
||||
try { if (typeof check !== "undefined") window.check = check; } catch(e) {}
|
||||
try { if (typeof startAnim1 !== "undefined") window.startAnim1 = startAnim1; } catch(e) {}
|
||||
try { if (typeof upd2 !== "undefined") window.upd2 = upd2; } catch(e) {}
|
||||
try { if (typeof upd3 !== "undefined") window.upd3 = upd3; } catch(e) {}
|
||||
try { if (typeof drawArrow3 !== "undefined") window.drawArrow3 = drawArrow3; } catch(e) {}
|
||||
try { if (typeof upd4 !== "undefined") window.upd4 = upd4; } catch(e) {}
|
||||
try { if (typeof upd5 !== "undefined") window.upd5 = upd5; } catch(e) {}
|
||||
try { if (typeof upd6 !== "undefined") window.upd6 = upd6; } catch(e) {}
|
||||
try { if (typeof upd7 !== "undefined") window.upd7 = upd7; } catch(e) {}
|
||||
try { if (typeof upd8 !== "undefined") window.upd8 = upd8; } catch(e) {}
|
||||
try { if (typeof upd9 !== "undefined") window.upd9 = upd9; } catch(e) {}
|
||||
try { if (typeof upd10 !== "undefined") window.upd10 = upd10; } catch(e) {}
|
||||
try { if (typeof upd11 !== "undefined") window.upd11 = upd11; } catch(e) {}
|
||||
try { if (typeof upd12 !== "undefined") window.upd12 = upd12; } catch(e) {}
|
||||
try { if (typeof upd13 !== "undefined") window.upd13 = upd13; } catch(e) {}
|
||||
try { if (typeof upd14 !== "undefined") window.upd14 = upd14; } catch(e) {}
|
||||
try { if (typeof upd16 !== "undefined") window.upd16 = upd16; } catch(e) {}
|
||||
try { if (typeof upd17 !== "undefined") window.upd17 = upd17; } catch(e) {}
|
||||
try { if (typeof upd19 !== "undefined") window.upd19 = upd19; } catch(e) {}
|
||||
try { if (typeof upd20 !== "undefined") window.upd20 = upd20; } catch(e) {}
|
||||
try { if (typeof upd21 !== "undefined") window.upd21 = upd21; } catch(e) {}
|
||||
try { if (typeof upd22 !== "undefined") window.upd22 = upd22; } catch(e) {}
|
||||
try { if (typeof drawAngularThrow22 !== "undefined") window.drawAngularThrow22 = drawAngularThrow22; } catch(e) {}
|
||||
try { if (typeof upd23 !== "undefined") window.upd23 = upd23; } catch(e) {}
|
||||
try { if (typeof drawGravity23 !== "undefined") window.drawGravity23 = drawGravity23; } catch(e) {}
|
||||
try { if (typeof upd24 !== "undefined") window.upd24 = upd24; } catch(e) {}
|
||||
try { if (typeof drawElevator24 !== "undefined") window.drawElevator24 = drawElevator24; } catch(e) {}
|
||||
try { if (typeof upd25 !== "undefined") window.upd25 = upd25; } catch(e) {}
|
||||
try { if (typeof drawSeesaw25 !== "undefined") window.drawSeesaw25 = drawSeesaw25; } catch(e) {}
|
||||
try { if (typeof upd26 !== "undefined") window.upd26 = upd26; } catch(e) {}
|
||||
try { if (typeof drawLever26 !== "undefined") window.drawLever26 = drawLever26; } catch(e) {}
|
||||
try { if (typeof upd27 !== "undefined") window.upd27 = upd27; } catch(e) {}
|
||||
try { if (typeof upd27mu !== "undefined") window.upd27mu = upd27mu; } catch(e) {}
|
||||
try { if (typeof drawIncline27 !== "undefined") window.drawIncline27 = drawIncline27; } catch(e) {}
|
||||
try { if (typeof drawEfficiency27 !== "undefined") window.drawEfficiency27 = drawEfficiency27; } catch(e) {}
|
||||
try { if (typeof startAnim15 !== "undefined") window.startAnim15 = startAnim15; } catch(e) {}
|
||||
try { if (typeof initPlanetGrid16 !== "undefined") window.initPlanetGrid16 = initPlanetGrid16; } catch(e) {}
|
||||
try { if (typeof startAnim17 !== "undefined") window.startAnim17 = startAnim17; } catch(e) {}
|
||||
try { if (typeof startAnim18 !== "undefined") window.startAnim18 = startAnim18; } catch(e) {}
|
||||
try { if (typeof drawSpring19 !== "undefined") window.drawSpring19 = drawSpring19; } catch(e) {}
|
||||
try { if (typeof drawFriction20 !== "undefined") window.drawFriction20 = drawFriction20; } catch(e) {}
|
||||
try { if (typeof startAnim21 !== "undefined") window.startAnim21 = startAnim21; } catch(e) {}
|
||||
try { if (typeof upd28 !== "undefined") window.upd28 = upd28; } catch(e) {}
|
||||
try { if (typeof drawEquilibrium28 !== "undefined") window.drawEquilibrium28 = drawEquilibrium28; } catch(e) {}
|
||||
try { if (typeof upd29 !== "undefined") window.upd29 = upd29; } catch(e) {}
|
||||
try { if (typeof drawArchimedes29 !== "undefined") window.drawArchimedes29 = drawArchimedes29; } catch(e) {}
|
||||
try { if (typeof upd30 !== "undefined") window.upd30 = upd30; } catch(e) {}
|
||||
try { if (typeof drawShip30 !== "undefined") window.drawShip30 = drawShip30; } catch(e) {}
|
||||
try { if (typeof upd31 !== "undefined") window.upd31 = upd31; } catch(e) {}
|
||||
try { if (typeof upd33 !== "undefined") window.upd33 = upd33; } catch(e) {}
|
||||
try { if (typeof upd34zero !== "undefined") window.upd34zero = upd34zero; } catch(e) {}
|
||||
try { if (typeof upd34 !== "undefined") window.upd34 = upd34; } catch(e) {}
|
||||
try { if (typeof upd35 !== "undefined") window.upd35 = upd35; } catch(e) {}
|
||||
try { if (typeof togglePend36 !== "undefined") window.togglePend36 = togglePend36; } catch(e) {}
|
||||
try { if (typeof nextTask !== "undefined") window.nextTask = nextTask; } catch(e) {}
|
||||
try { if (typeof resetTasks !== "undefined") window.resetTasks = resetTasks; } catch(e) {}
|
||||
try { if (typeof updateScoreBar !== "undefined") window.updateScoreBar = updateScoreBar; } catch(e) {}
|
||||
try { if (typeof showSummary !== "undefined") window.showSummary = showSummary; } catch(e) {}
|
||||
try { if (typeof updLab11 !== "undefined") window.updLab11 = updLab11; } catch(e) {}
|
||||
try { if (typeof drawLab11 !== "undefined") window.drawLab11 = drawLab11; } catch(e) {}
|
||||
try { if (typeof lab11add !== "undefined") window.lab11add = lab11add; } catch(e) {}
|
||||
try { if (typeof lab11all !== "undefined") window.lab11all = lab11all; } catch(e) {}
|
||||
try { if (typeof lab11reset !== "undefined") window.lab11reset = lab11reset; } catch(e) {}
|
||||
try { if (typeof toggleSuperAns !== "undefined") window.toggleSuperAns = toggleSuperAns; } catch(e) {}
|
||||
try { if (typeof setParaTab !== "undefined") window.setParaTab = setParaTab; } catch(e) {}
|
||||
try { if (typeof resetTasks !== "undefined") window.resetTasks = resetTasks; } catch(e) {}
|
||||
try { if (typeof nextTask !== "undefined") window.nextTask = nextTask; } catch(e) {}
|
||||
try { if (typeof goToTask !== "undefined") window.goToTask = goToTask; } catch(e) {}
|
||||
try { if (typeof checkNum !== "undefined") window.checkNum = checkNum; } catch(e) {}
|
||||
try { if (typeof TASKS_P31 !== "undefined") window.TASKS_P31 = TASKS_P31; } catch(e) {}
|
||||
try { if (typeof TASKS_P32 !== "undefined") window.TASKS_P32 = TASKS_P32; } catch(e) {}
|
||||
try { if (typeof TASKS_HARD !== "undefined") window.TASKS_HARD = TASKS_HARD; } catch(e) {}
|
||||
try { if (typeof TASKS_P33 !== "undefined") window.TASKS_P33 = TASKS_P33; } catch(e) {}
|
||||
try { if (typeof TASKS_P34 !== "undefined") window.TASKS_P34 = TASKS_P34; } catch(e) {}
|
||||
try { if (typeof TASKS_P35 !== "undefined") window.TASKS_P35 = TASKS_P35; } catch(e) {}
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<script src="/js/api.js" defer></script>
|
||||
<script src="/js/xp.js" defer></script>
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_legacy.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{
|
||||
@@ -635,17 +634,17 @@ const _TB_SLUG = 'physics-9-ch1';
|
||||
const PARAS = [
|
||||
{ id:"p1", num:"§ 1", name:"Механическое движение", sub:"материальная точка" },
|
||||
{ id:"p2", num:"§ 2", name:"Относительность движения. Система отсчёта", sub:"СО · относительность" },
|
||||
{ id:"p3", num:"§ 3", name:"Скалярные и векторные величины. Действия над векторами", sub:"$\\\\vec a + \\\\vec b$" },
|
||||
{ id:"p4", num:"§ 4", name:"Проекция вектора на ось", sub:"$a_x = a\\\\cos\\\\alpha$" },
|
||||
{ id:"p5", num:"§ 5", name:"Путь и перемещение", sub:"$s$ vs $\\\\Delta\\\\vec r$" },
|
||||
{ id:"p6", num:"§ 6", name:"Равномерное прямолинейное движение. Скорость", sub:"$\\\\Delta\\\\vec r = \\\\vec v t$" },
|
||||
{ id:"p3", num:"§ 3", name:"Скалярные и векторные величины. Действия над векторами", sub:"$\\vec a + \\vec b$" },
|
||||
{ id:"p4", num:"§ 4", name:"Проекция вектора на ось", sub:"$a_x = a\\cos\\alpha$" },
|
||||
{ id:"p5", num:"§ 5", name:"Путь и перемещение", sub:"$s$ vs $\\Delta\\vec r$" },
|
||||
{ id:"p6", num:"§ 6", name:"Равномерное прямолинейное движение. Скорость", sub:"$\\Delta\\vec r = \\vec v t$" },
|
||||
{ id:"p7", num:"§ 7", name:"Графическое представление равномерного движения", sub:"графики $v(t)$, $x(t)$" },
|
||||
{ id:"p8", num:"§ 8", name:"Неравномерное движение. Средняя и мгновенная скорость", sub:"$\\\\langle v\\\\rangle = s/t$" },
|
||||
{ id:"p9", num:"§ 9", name:"Сложение скоростей", sub:"$\\\\vec v_{1,3} = \\\\vec v_{1,2} + \\\\vec v_{2,3}$" },
|
||||
{ id:"p10", num:"§ 10", name:"Ускорение", sub:"$\\\\vec a = \\\\Delta\\\\vec v/\\\\Delta t$" },
|
||||
{ id:"p11", num:"§ 11", name:"Скорость при равноускоренном движении", sub:"$\\\\vec v = \\\\vec v_0 + \\\\vec a t$" },
|
||||
{ id:"p8", num:"§ 8", name:"Неравномерное движение. Средняя и мгновенная скорость", sub:"$\\langle v\\rangle = s/t$" },
|
||||
{ id:"p9", num:"§ 9", name:"Сложение скоростей", sub:"$\\vec v_{1,3} = \\vec v_{1,2} + \\vec v_{2,3}$" },
|
||||
{ id:"p10", num:"§ 10", name:"Ускорение", sub:"$\\vec a = \\Delta\\vec v/\\Delta t$" },
|
||||
{ id:"p11", num:"§ 11", name:"Скорость при равноускоренном движении", sub:"$\\vec v = \\vec v_0 + \\vec a t$" },
|
||||
{ id:"p12", num:"§ 12", name:"Перемещение, координата и путь при равноускоренном движении", sub:"$x = x_0 + v_0 t + at^2/2$" },
|
||||
{ id:"p13", num:"§ 13", name:"Линейная и угловая скорости", sub:"$v = \\\\omega R$" },
|
||||
{ id:"p13", num:"§ 13", name:"Линейная и угловая скорости", sub:"$v = \\omega R$" },
|
||||
{ id:"p14", num:"§ 14", name:"Ускорение точки при движении по окружности", sub:"$a_n = v^2/R$" },
|
||||
{ id:"final1", num:'\u2605', name:'Финал главы', sub:"Итоги · боссы главы 1", final:true }
|
||||
];
|
||||
@@ -786,24 +785,42 @@ function goTo(id){
|
||||
window.scrollTo({top:0,behavior:'smooth'});
|
||||
if((STATE.progress[id]||0)<10) bumpProgress(id, 10);
|
||||
if(window.renderMathInElement) setTimeout(()=>renderMath(el), 0);
|
||||
// Auto-init legacy simulations: call upd<N>() / startAnim<N>() / draw<N>() if defined in phys9_legacy.js.
|
||||
if(id.startsWith('p')){
|
||||
const n = id.slice(1);
|
||||
setTimeout(()=>{
|
||||
['upd','startAnim','init','draw'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){ console.warn(prefix + n + ' init:', e.message); } }
|
||||
});
|
||||
}, 50);
|
||||
} else if(id.startsWith('lr')){
|
||||
const n = id.slice(2);
|
||||
setTimeout(()=>{
|
||||
['updLab','drawLab'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){} }
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
markLastPara(id);
|
||||
}
|
||||
|
||||
const SIDEBARS = {
|
||||
p1:{title:"Шпаргалка §1",rows:[["Кинематика","описывает движение без причин"],["Мат. точка","тело с пренебр. размерами"],["Поступательное","все точки движутся одинаково"]]},
|
||||
p2:{title:"Шпаргалка §2",rows:[["СО","тело отсчёта + оси + часы"],["Относ.","скорость, путь, траектория"],["Земля","чаще всего тело отсчёта"]]},
|
||||
p3:{title:"Шпаргалка §3",rows:[["Скаляр","число"],["Вектор","число + направление"],["$\\\\vec a + \\\\vec b$","правило треугольника / параллелограмма"]]},
|
||||
p4:{title:"Шпаргалка §4",rows:[["Проекция","$a_x = a\\\\cos\\\\alpha$"],["Знак","зависит от $\\\\alpha$"],["Сумма","$(\\\\vec a + \\\\vec b)_x = a_x + b_x$"]]},
|
||||
p5:{title:"Шпаргалка §5",rows:[["Путь","скаляр $s \\\\ge 0$"],["Перемещ.","вектор $\\\\Delta\\\\vec r$"],["$s \\\\ge |\\\\Delta\\\\vec r|$",""]]},
|
||||
p6:{title:"Шпаргалка §6",rows:[["$\\\\vec v = \\\\text{const}$","равномерное"],["$\\\\Delta\\\\vec r = \\\\vec v t$",""],["$x = x_0 + v_x t$","координата"]]},
|
||||
p3:{title:"Шпаргалка §3",rows:[["Скаляр","число"],["Вектор","число + направление"],["$\\vec a + \\vec b$","правило треугольника / параллелограмма"]]},
|
||||
p4:{title:"Шпаргалка §4",rows:[["Проекция","$a_x = a\\cos\\alpha$"],["Знак","зависит от $\\alpha$"],["Сумма","$(\\vec a + \\vec b)_x = a_x + b_x$"]]},
|
||||
p5:{title:"Шпаргалка §5",rows:[["Путь","скаляр $s \\ge 0$"],["Перемещ.","вектор $\\Delta\\vec r$"],["$s \\ge |\\Delta\\vec r|$",""]]},
|
||||
p6:{title:"Шпаргалка §6",rows:[["$\\vec v = \\text{const}$","равномерное"],["$\\Delta\\vec r = \\vec v t$",""],["$x = x_0 + v_x t$","координата"]]},
|
||||
p7:{title:"Шпаргалка §7",rows:[["$v(t)$","прямая"],["$x(t)$","наклонная прямая"],["Площадь","под $v(t)$ = путь"]]},
|
||||
p8:{title:"Шпаргалка §8",rows:[["Средняя","$\\\\langle v\\\\rangle = s/t$"],["Мгновенная","предел $\\\\Delta s/\\\\Delta t$"],["Спидометр","показывает мгн. $v$"]]},
|
||||
p9:{title:"Шпаргалка §9",rows:[["$\\\\vec v_{1,3} = \\\\vec v_{1,2} + \\\\vec v_{2,3}$",""],["Лодка/река","$\\\\vec v_{л,б} = \\\\vec v_{л,в} + \\\\vec v_{в,б}$"],["По теч.","скорости складываются"]]},
|
||||
p10:{title:"Шпаргалка §10",rows:[["$\\\\vec a = \\\\Delta\\\\vec v/\\\\Delta t$",""],["Ед.","м/с²"],["Знак","совпадает с $\\\\Delta\\\\vec v$"]]},
|
||||
p11:{title:"Шпаргалка §11",rows:[["$\\\\vec v = \\\\vec v_0 + \\\\vec a t$",""],["Проекция","$v_x = v_{0x} + a_x t$"],["",""]]},
|
||||
p12:{title:"Шпаргалка §12",rows:[["$\\\\Delta\\\\vec r = \\\\vec v_0 t + \\\\vec a t^2/2$",""],["$v^2 - v_0^2 = 2a_x\\\\Delta x$","без $t$"],["",""]]},
|
||||
p13:{title:"Шпаргалка §13",rows:[["$\\\\omega = 2\\\\pi/T$",""],["$v = \\\\omega R$",""],["$\\\\omega$","рад/с"]]},
|
||||
p14:{title:"Шпаргалка §14",rows:[["$a_n = v^2/R$",""],["$a_n = \\\\omega^2 R$",""],["К центру","направление"]]},
|
||||
p8:{title:"Шпаргалка §8",rows:[["Средняя","$\\langle v\\rangle = s/t$"],["Мгновенная","предел $\\Delta s/\\Delta t$"],["Спидометр","показывает мгн. $v$"]]},
|
||||
p9:{title:"Шпаргалка §9",rows:[["$\\vec v_{1,3} = \\vec v_{1,2} + \\vec v_{2,3}$",""],["Лодка/река","$\\vec v_{л,б} = \\vec v_{л,в} + \\vec v_{в,б}$"],["По теч.","скорости складываются"]]},
|
||||
p10:{title:"Шпаргалка §10",rows:[["$\\vec a = \\Delta\\vec v/\\Delta t$",""],["Ед.","м/с²"],["Знак","совпадает с $\\Delta\\vec v$"]]},
|
||||
p11:{title:"Шпаргалка §11",rows:[["$\\vec v = \\vec v_0 + \\vec a t$",""],["Проекция","$v_x = v_{0x} + a_x t$"],["",""]]},
|
||||
p12:{title:"Шпаргалка §12",rows:[["$\\Delta\\vec r = \\vec v_0 t + \\vec a t^2/2$",""],["$v^2 - v_0^2 = 2a_x\\Delta x$","без $t$"],["",""]]},
|
||||
p13:{title:"Шпаргалка §13",rows:[["$\\omega = 2\\pi/T$",""],["$v = \\omega R$",""],["$\\omega$","рад/с"]]},
|
||||
p14:{title:"Шпаргалка §14",rows:[["$a_n = v^2/R$",""],["$a_n = \\omega^2 R$",""],["К центру","направление"]]},
|
||||
final1:{title:"Финал главы 1",rows:[["§§1–14","теория главы 1"],["Награда","+50 XP"]]}
|
||||
};
|
||||
|
||||
@@ -811,17 +828,17 @@ const TIPS=[
|
||||
{sec:"p1",html:"Кинематика — раздел физики о движении без причин. Мат. точка — тело, размерами которого можно пренебречь."},
|
||||
{sec:"p2",html:"СО = тело отсчёта + система координат + часы. Скорость, путь и траектория зависят от выбора СО."},
|
||||
{sec:"p3",html:"Скаляры — число (масса, путь). Векторы — число + направление (сила, скорость). Сумма векторов: правило треугольника или параллелограмма."},
|
||||
{sec:"p4",html:"Проекция вектора $\\\\vec a$ на ось: $a_x = a\\\\cos\\\\alpha$. Знак зависит от угла $\\\\alpha$. Сумма проекций = проекция суммы."},
|
||||
{sec:"p5",html:"Путь $s$ — скаляр $\\\\ge 0$. Перемещение $\\\\Delta\\\\vec r$ — вектор. Всегда $s \\\\ge |\\\\Delta\\\\vec r|$."},
|
||||
{sec:"p6",html:"Равномерное движение: $\\\\vec v = \\\\text{const}$. $\\\\Delta\\\\vec r = \\\\vec v t$, координата $x = x_0 + v_x t$."},
|
||||
{sec:"p4",html:"Проекция вектора $\\vec a$ на ось: $a_x = a\\cos\\alpha$. Знак зависит от угла $\\alpha$. Сумма проекций = проекция суммы."},
|
||||
{sec:"p5",html:"Путь $s$ — скаляр $\\ge 0$. Перемещение $\\Delta\\vec r$ — вектор. Всегда $s \\ge |\\Delta\\vec r|$."},
|
||||
{sec:"p6",html:"Равномерное движение: $\\vec v = \\text{const}$. $\\Delta\\vec r = \\vec v t$, координата $x = x_0 + v_x t$."},
|
||||
{sec:"p7",html:"График $v(t)$ — прямая параллельная оси $t$. График $x(t)$ — наклонная прямая. Площадь под $v(t)$ = пройденный путь."},
|
||||
{sec:"p8",html:"Средняя скорость: $\\\\langle v\\\\rangle = s/t$. Мгновенная — предел $\\\\Delta s/\\\\Delta t$ при $\\\\Delta t \\\\to 0$. Спидометр показывает мгновенную."},
|
||||
{sec:"p9",html:"Закон сложения скоростей: $\\\\vec v_{1,3} = \\\\vec v_{1,2} + \\\\vec v_{2,3}$. По течению — скорости складываются, против — вычитаются."},
|
||||
{sec:"p10",html:"Ускорение: $\\\\vec a = \\\\Delta\\\\vec v / \\\\Delta t$. Единица м/с². Направление совпадает с $\\\\Delta\\\\vec v$."},
|
||||
{sec:"p11",html:"При равноускоренном движении: $\\\\vec v = \\\\vec v_0 + \\\\vec a t$. В проекциях: $v_x = v_{0x} + a_x t$."},
|
||||
{sec:"p12",html:"Перемещение: $\\\\Delta\\\\vec r = \\\\vec v_0 t + \\\\vec a t^2/2$. Без времени: $v^2 - v_0^2 = 2a_x\\\\Delta x$."},
|
||||
{sec:"p13",html:"Угловая скорость $\\\\omega = 2\\\\pi/T = 2\\\\pi\\\\nu$ (рад/с). Связь с линейной: $v = \\\\omega R$."},
|
||||
{sec:"p14",html:"Центростремит. ускорение: $a_n = v^2/R = \\\\omega^2 R$. Направлено к центру окружности."},
|
||||
{sec:"p8",html:"Средняя скорость: $\\langle v\\rangle = s/t$. Мгновенная — предел $\\Delta s/\\Delta t$ при $\\Delta t \\to 0$. Спидометр показывает мгновенную."},
|
||||
{sec:"p9",html:"Закон сложения скоростей: $\\vec v_{1,3} = \\vec v_{1,2} + \\vec v_{2,3}$. По течению — скорости складываются, против — вычитаются."},
|
||||
{sec:"p10",html:"Ускорение: $\\vec a = \\Delta\\vec v / \\Delta t$. Единица м/с². Направление совпадает с $\\Delta\\vec v$."},
|
||||
{sec:"p11",html:"При равноускоренном движении: $\\vec v = \\vec v_0 + \\vec a t$. В проекциях: $v_x = v_{0x} + a_x t$."},
|
||||
{sec:"p12",html:"Перемещение: $\\Delta\\vec r = \\vec v_0 t + \\vec a t^2/2$. Без времени: $v^2 - v_0^2 = 2a_x\\Delta x$."},
|
||||
{sec:"p13",html:"Угловая скорость $\\omega = 2\\pi/T = 2\\pi\\nu$ (рад/с). Связь с линейной: $v = \\omega R$."},
|
||||
{sec:"p14",html:"Центростремит. ускорение: $a_n = v^2/R = \\omega^2 R$. Направлено к центру окружности."},
|
||||
{sec:"final1",html:"Финал главы 1 — интегрированные задачи по §§1–14. В разработке (Phase 1+)."}
|
||||
];
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<script src="/js/api.js" defer></script>
|
||||
<script src="/js/xp.js" defer></script>
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_legacy.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{
|
||||
@@ -627,14 +626,14 @@ const _TB_SLUG = 'physics-9-ch2';
|
||||
const PARAS = [
|
||||
{ id:"p15", num:"§ 15", name:"Взаимодействие тел. Сила. ИСО. 1-й закон Ньютона", sub:"1-й закон Ньютона" },
|
||||
{ id:"p16", num:"§ 16", name:"Масса", sub:"$m_1/m_2 = a_2/a_1$" },
|
||||
{ id:"p17", num:"§ 17", name:"Второй закон Ньютона", sub:"$\\\\vec F = m\\\\vec a$" },
|
||||
{ id:"p18", num:"§ 18", name:"Третий закон Ньютона. Принцип относительности Галилея", sub:"$\\\\vec F_{12} = -\\\\vec F_{21}$" },
|
||||
{ id:"p17", num:"§ 17", name:"Второй закон Ньютона", sub:"$\\vec F = m\\vec a$" },
|
||||
{ id:"p18", num:"§ 18", name:"Третий закон Ньютона. Принцип относительности Галилея", sub:"$\\vec F_{12} = -\\vec F_{21}$" },
|
||||
{ id:"p19", num:"§ 19", name:"Деформация тел. Сила упругости. Закон Гука", sub:"$F = -kx$" },
|
||||
{ id:"p20", num:"§ 20", name:"Силы трения. Силы сопротивления среды", sub:"$F_{тр} = \\\\mu N$" },
|
||||
{ id:"p20", num:"§ 20", name:"Силы трения. Силы сопротивления среды", sub:"$F_{тр} = \\mu N$" },
|
||||
{ id:"p21", num:"§ 21", name:"Движение тела под действием силы тяжести", sub:"$h = gt^2/2$" },
|
||||
{ id:"p22", num:"§ 22", name:"Движение тела, брошенного под углом к горизонту", sub:"$L = v_0^2\\\\sin 2\\\\alpha/g$" },
|
||||
{ id:"p22", num:"§ 22", name:"Движение тела, брошенного под углом к горизонту", sub:"$L = v_0^2\\sin 2\\alpha/g$" },
|
||||
{ id:"p23", num:"§ 23", name:"Закон всемирного тяготения", sub:"$F = Gm_1m_2/r^2$" },
|
||||
{ id:"p24", num:"§ 24", name:"Вес. Невесомость и перегрузки", sub:"$P = m(g \\\\pm a)$" },
|
||||
{ id:"p24", num:"§ 24", name:"Вес. Невесомость и перегрузки", sub:"$P = m(g \\pm a)$" },
|
||||
{ id:"final2", num:'\u2605', name:'Финал главы', sub:"Итоги · боссы главы 2", final:true }
|
||||
];
|
||||
PARAS.forEach(p => { STATE.progress[p.id] = 0; });
|
||||
@@ -770,34 +769,52 @@ function goTo(id){
|
||||
window.scrollTo({top:0,behavior:'smooth'});
|
||||
if((STATE.progress[id]||0)<10) bumpProgress(id, 10);
|
||||
if(window.renderMathInElement) setTimeout(()=>renderMath(el), 0);
|
||||
// Auto-init legacy simulations: call upd<N>() / startAnim<N>() / draw<N>() if defined in phys9_legacy.js.
|
||||
if(id.startsWith('p')){
|
||||
const n = id.slice(1);
|
||||
setTimeout(()=>{
|
||||
['upd','startAnim','init','draw'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){ console.warn(prefix + n + ' init:', e.message); } }
|
||||
});
|
||||
}, 50);
|
||||
} else if(id.startsWith('lr')){
|
||||
const n = id.slice(2);
|
||||
setTimeout(()=>{
|
||||
['updLab','drawLab'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){} }
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
markLastPara(id);
|
||||
}
|
||||
|
||||
const SIDEBARS = {
|
||||
p15:{title:"Шпаргалка §15",rows:[["ИСО","системы, в которых выполняется 1-й закон"],["1-й Н.","$\\\\sum\\\\vec F = 0 \\\\Rightarrow \\\\vec v = \\\\text{const}$"],["Инерция","свойство сохранять скорость"]]},
|
||||
p15:{title:"Шпаргалка §15",rows:[["ИСО","системы, в которых выполняется 1-й закон"],["1-й Н.","$\\sum\\vec F = 0 \\Rightarrow \\vec v = \\text{const}$"],["Инерция","свойство сохранять скорость"]]},
|
||||
p16:{title:"Шпаргалка §16",rows:[["Масса","мера инертности"],["$m_1/m_2 = a_2/a_1$",""],["Ед.","кг (эталон)"]]},
|
||||
p17:{title:"Шпаргалка §17",rows:[["$\\\\vec a = \\\\vec F/m$",""],["$\\\\vec F = m\\\\vec a$",""],["Принцип суперп.","$\\\\vec F = \\\\sum\\\\vec F_i$"]]},
|
||||
p18:{title:"Шпаргалка §18",rows:[["3-й Н.","$\\\\vec F_{12} = -\\\\vec F_{21}$"],["Разные тела","силы действуют на разные тела"],["Галилей","законы одинаковы во всех ИСО"]]},
|
||||
p17:{title:"Шпаргалка §17",rows:[["$\\vec a = \\vec F/m$",""],["$\\vec F = m\\vec a$",""],["Принцип суперп.","$\\vec F = \\sum\\vec F_i$"]]},
|
||||
p18:{title:"Шпаргалка §18",rows:[["3-й Н.","$\\vec F_{12} = -\\vec F_{21}$"],["Разные тела","силы действуют на разные тела"],["Галилей","законы одинаковы во всех ИСО"]]},
|
||||
p19:{title:"Шпаргалка §19",rows:[["Закон Гука","$F = -kx$"],["Жёсткость","$k$, ед. Н/м"],["Лин. упр.","при малых деформациях"]]},
|
||||
p20:{title:"Шпаргалка §20",rows:[["Покоя","до начала движения"],["Скольж.","$F_{тр} = \\\\mu N$"],["$\\\\mu$","коэф. трения"]]},
|
||||
p21:{title:"Шпаргалка §21",rows:[["$g \\\\approx 9{,}81$ м/с²",""],["$h = gt^2/2$","свободное падение"],["$v = gt$",""]]},
|
||||
p22:{title:"Шпаргалка §22",rows:[["$L = v_0^2 \\\\sin 2\\\\alpha / g$","дальность"],["$H = v_0^2\\\\sin^2\\\\alpha/(2g)$","высота"],["$\\\\alpha = 45°$","макс. дальность"]]},
|
||||
p23:{title:"Шпаргалка §23",rows:[["$F = G m_1 m_2 / r^2$",""],["$G = 6{,}67\\\\cdot 10^{-11}$ Н·м²/кг²",""],["$g = GM/R^2$","на поверх. Земли"]]},
|
||||
p24:{title:"Шпаргалка §24",rows:[["Вес $P$","сила на опору/подвес"],["$P = m(g \\\\pm a)$",""],["$P = 0$","невесомость"]]},
|
||||
p20:{title:"Шпаргалка §20",rows:[["Покоя","до начала движения"],["Скольж.","$F_{тр} = \\mu N$"],["$\\mu$","коэф. трения"]]},
|
||||
p21:{title:"Шпаргалка §21",rows:[["$g \\approx 9{,}81$ м/с²",""],["$h = gt^2/2$","свободное падение"],["$v = gt$",""]]},
|
||||
p22:{title:"Шпаргалка §22",rows:[["$L = v_0^2 \\sin 2\\alpha / g$","дальность"],["$H = v_0^2\\sin^2\\alpha/(2g)$","высота"],["$\\alpha = 45°$","макс. дальность"]]},
|
||||
p23:{title:"Шпаргалка §23",rows:[["$F = G m_1 m_2 / r^2$",""],["$G = 6{,}67\\cdot 10^{-11}$ Н·м²/кг²",""],["$g = GM/R^2$","на поверх. Земли"]]},
|
||||
p24:{title:"Шпаргалка §24",rows:[["Вес $P$","сила на опору/подвес"],["$P = m(g \\pm a)$",""],["$P = 0$","невесомость"]]},
|
||||
final2:{title:"Финал главы 2",rows:[["§§15–24","теория главы 2"],["Награда","+50 XP"]]}
|
||||
};
|
||||
|
||||
const TIPS=[
|
||||
{sec:"p15",html:"ИСО — система, в которой выполняется 1-й закон Ньютона. В отсутствие сил тело сохраняет скорость (инерция)."},
|
||||
{sec:"p16",html:"Масса — мера инертности. $m_1/m_2 = a_2/a_1$. Единица — килограмм, эталонная."},
|
||||
{sec:"p17",html:"2-й закон Ньютона: $\\\\vec a = \\\\vec F/m$. Или $\\\\vec F = m\\\\vec a$. Принцип суперпозиции: $\\\\vec F = \\\\sum \\\\vec F_i$."},
|
||||
{sec:"p18",html:"3-й закон Ньютона: $\\\\vec F_{12} = -\\\\vec F_{21}$. Силы приложены к разным телам! Принцип относ. Галилея: законы одинаковы во всех ИСО."},
|
||||
{sec:"p17",html:"2-й закон Ньютона: $\\vec a = \\vec F/m$. Или $\\vec F = m\\vec a$. Принцип суперпозиции: $\\vec F = \\sum \\vec F_i$."},
|
||||
{sec:"p18",html:"3-й закон Ньютона: $\\vec F_{12} = -\\vec F_{21}$. Силы приложены к разным телам! Принцип относ. Галилея: законы одинаковы во всех ИСО."},
|
||||
{sec:"p19",html:"Закон Гука: $F_{упр} = -kx$, где $k$ — жёсткость пружины (Н/м). Линейность только при малых деформациях."},
|
||||
{sec:"p20",html:"Сила трения скольжения: $F_{тр} = \\\\mu N$, где $\\\\mu$ — коэф. трения. Сила сопротивления среды растёт со скоростью."},
|
||||
{sec:"p21",html:"Свободное падение: $g \\\\approx 9{,}81$ м/с² у поверхности Земли. $h = gt^2/2$, $v = gt$."},
|
||||
{sec:"p22",html:"Тело, брошенное под углом: $L = v_0^2 \\\\sin 2\\\\alpha/g$ — дальность; $H = v_0^2\\\\sin^2\\\\alpha/(2g)$ — высота. Макс. $L$ при $\\\\alpha = 45°$."},
|
||||
{sec:"p23",html:"Закон всемирного тяготения: $F = G m_1 m_2/r^2$. $G = 6{,}67\\\\cdot 10^{-11}$ Н·м²/кг². У поверхности: $g = GM/R^2$."},
|
||||
{sec:"p24",html:"Вес $P$ — сила, с которой тело давит на опору / тянет подвес. $P = m(g \\\\pm a)$. При свободном падении $P = 0$ — невесомость."},
|
||||
{sec:"p20",html:"Сила трения скольжения: $F_{тр} = \\mu N$, где $\\mu$ — коэф. трения. Сила сопротивления среды растёт со скоростью."},
|
||||
{sec:"p21",html:"Свободное падение: $g \\approx 9{,}81$ м/с² у поверхности Земли. $h = gt^2/2$, $v = gt$."},
|
||||
{sec:"p22",html:"Тело, брошенное под углом: $L = v_0^2 \\sin 2\\alpha/g$ — дальность; $H = v_0^2\\sin^2\\alpha/(2g)$ — высота. Макс. $L$ при $\\alpha = 45°$."},
|
||||
{sec:"p23",html:"Закон всемирного тяготения: $F = G m_1 m_2/r^2$. $G = 6{,}67\\cdot 10^{-11}$ Н·м²/кг². У поверхности: $g = GM/R^2$."},
|
||||
{sec:"p24",html:"Вес $P$ — сила, с которой тело давит на опору / тянет подвес. $P = m(g \\pm a)$. При свободном падении $P = 0$ — невесомость."},
|
||||
{sec:"final2",html:"Финал главы 2 — интегрированные задачи по §§15–24. В разработке (Phase 2+)."}
|
||||
];
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<script src="/js/api.js" defer></script>
|
||||
<script src="/js/xp.js" defer></script>
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_legacy.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{
|
||||
@@ -619,10 +618,10 @@ const _TB_SLUG = 'physics-9-ch3';
|
||||
const PARAS = [
|
||||
{ id:"p25", num:"§ 25", name:"Условия равновесия тел. Момент силы", sub:"$M = Fl$" },
|
||||
{ id:"p26", num:"§ 26", name:"Простые механизмы. Рычаги. Блоки", sub:"$F_1 l_1 = F_2 l_2$" },
|
||||
{ id:"p27", num:"§ 27", name:"Наклонная плоскость. «Золотое правило» механики. КПД", sub:"$\\\\eta = A_{пол}/A_{сов}$" },
|
||||
{ id:"p27", num:"§ 27", name:"Наклонная плоскость. «Золотое правило» механики. КПД", sub:"$\\eta = A_{пол}/A_{сов}$" },
|
||||
{ id:"p28", num:"§ 28", name:"Центр тяжести. Виды равновесия", sub:"ЦТ · равновесие" },
|
||||
{ id:"p29", num:"§ 29", name:"Закон Архимеда. Выталкивающая сила", sub:"$F_A = \\\\rho g V$" },
|
||||
{ id:"p30", num:"§ 30", name:"Плавание судов. Воздухоплавание", sub:"$\\\\rho_т \\\\le \\\\rho_ж$" },
|
||||
{ id:"p29", num:"§ 29", name:"Закон Архимеда. Выталкивающая сила", sub:"$F_A = \\rho g V$" },
|
||||
{ id:"p30", num:"§ 30", name:"Плавание судов. Воздухоплавание", sub:"$\\rho_т \\le \\rho_ж$" },
|
||||
{ id:"final3", num:'\u2605', name:'Финал главы', sub:"Итоги · боссы главы 3", final:true }
|
||||
];
|
||||
PARAS.forEach(p => { STATE.progress[p.id] = 0; });
|
||||
@@ -754,26 +753,44 @@ function goTo(id){
|
||||
window.scrollTo({top:0,behavior:'smooth'});
|
||||
if((STATE.progress[id]||0)<10) bumpProgress(id, 10);
|
||||
if(window.renderMathInElement) setTimeout(()=>renderMath(el), 0);
|
||||
// Auto-init legacy simulations: call upd<N>() / startAnim<N>() / draw<N>() if defined in phys9_legacy.js.
|
||||
if(id.startsWith('p')){
|
||||
const n = id.slice(1);
|
||||
setTimeout(()=>{
|
||||
['upd','startAnim','init','draw'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){ console.warn(prefix + n + ' init:', e.message); } }
|
||||
});
|
||||
}, 50);
|
||||
} else if(id.startsWith('lr')){
|
||||
const n = id.slice(2);
|
||||
setTimeout(()=>{
|
||||
['updLab','drawLab'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){} }
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
markLastPara(id);
|
||||
}
|
||||
|
||||
const SIDEBARS = {
|
||||
p25:{title:"Шпаргалка §25",rows:[["$M = Fl$","момент силы"],["$\\\\sum\\\\vec F = 0$ и $\\\\sum M = 0$",""],["Плечо","$l$ — расст. от оси до линии действия"]]},
|
||||
p25:{title:"Шпаргалка §25",rows:[["$M = Fl$","момент силы"],["$\\sum\\vec F = 0$ и $\\sum M = 0$",""],["Плечо","$l$ — расст. от оси до линии действия"]]},
|
||||
p26:{title:"Шпаргалка §26",rows:[["Рычаг","$F_1 l_1 = F_2 l_2$"],["Неподв. блок","без выигрыша"],["Подв. блок","выигрыш в силе в 2 раза"]]},
|
||||
p27:{title:"Шпаргалка §27",rows:[["Накл. пл.","выигрыш = $l/h$"],["«Золотое правило»","выигр. в силе = проигр. в пути"],["$\\\\eta = A_{пол}/A_{сов}$","КПД"]]},
|
||||
p27:{title:"Шпаргалка §27",rows:[["Накл. пл.","выигрыш = $l/h$"],["«Золотое правило»","выигр. в силе = проигр. в пути"],["$\\eta = A_{пол}/A_{сов}$","КПД"]]},
|
||||
p28:{title:"Шпаргалка §28",rows:[["ЦТ","точка прилож. силы тяжести"],["Устойч.","ЦТ при отклонении поднимается"],["Безразл.","ЦТ не меняется"]]},
|
||||
p29:{title:"Шпаргалка §29",rows:[["$F_A = \\\\rho g V_{погр}$",""],["Вверх","направление"],["Архимед","выталкивающая сила"]]},
|
||||
p30:{title:"Шпаргалка §30",rows:[["Плав.","$\\\\rho_т \\\\le \\\\rho_ж$"],["Ватерлиния","граница погружения"],["Воздухопл.","подъёмная сила"]]},
|
||||
p29:{title:"Шпаргалка §29",rows:[["$F_A = \\rho g V_{погр}$",""],["Вверх","направление"],["Архимед","выталкивающая сила"]]},
|
||||
p30:{title:"Шпаргалка §30",rows:[["Плав.","$\\rho_т \\le \\rho_ж$"],["Ватерлиния","граница погружения"],["Воздухопл.","подъёмная сила"]]},
|
||||
final3:{title:"Финал главы 3",rows:[["§§25–30","теория главы 3"],["Награда","+50 XP"]]}
|
||||
};
|
||||
|
||||
const TIPS=[
|
||||
{sec:"p25",html:"Условия равновесия: $\\\\sum\\\\vec F = 0$ И $\\\\sum M = 0$. Момент силы $M = F \\\\cdot l$, где $l$ — плечо."},
|
||||
{sec:"p25",html:"Условия равновесия: $\\sum\\vec F = 0$ И $\\sum M = 0$. Момент силы $M = F \\cdot l$, где $l$ — плечо."},
|
||||
{sec:"p26",html:"Рычаг в равновесии: $F_1 l_1 = F_2 l_2$. Неподвижный блок выигрыша не даёт. Подвижный — выигрыш в силе в 2 раза."},
|
||||
{sec:"p27",html:"Накл. плоскость: выигрыш в силе = $l/h$. «Золотое правило»: выигрываем в силе — проигрываем в пути. КПД: $\\\\eta = A_{пол}/A_{сов}$."},
|
||||
{sec:"p27",html:"Накл. плоскость: выигрыш в силе = $l/h$. «Золотое правило»: выигрываем в силе — проигрываем в пути. КПД: $\\eta = A_{пол}/A_{сов}$."},
|
||||
{sec:"p28",html:"Центр тяжести — точка приложения равнодействующей сил тяжести. Устойчивое равновесие: ЦТ при отклонении поднимается."},
|
||||
{sec:"p29",html:"Закон Архимеда: $F_A = \\\\rho_ж g V_{погр}$. Направлен вверх. Не зависит от глубины, формы тела или плотности тела."},
|
||||
{sec:"p30",html:"Условие плавания: $\\\\rho_т \\\\le \\\\rho_ж$. Подъёмная сила воздухоплавательного аппарата — разность веса вытесненного воздуха и веса аппарата."},
|
||||
{sec:"p29",html:"Закон Архимеда: $F_A = \\rho_ж g V_{погр}$. Направлен вверх. Не зависит от глубины, формы тела или плотности тела."},
|
||||
{sec:"p30",html:"Условие плавания: $\\rho_т \\le \\rho_ж$. Подъёмная сила воздухоплавательного аппарата — разность веса вытесненного воздуха и веса аппарата."},
|
||||
{sec:"final3",html:"Финал главы 3 — интегрированные задачи по §§25–30. В разработке (Phase 3+)."}
|
||||
];
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<script src="/js/api.js" defer></script>
|
||||
<script src="/js/xp.js" defer></script>
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_legacy.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{
|
||||
@@ -617,12 +616,12 @@ const TOTAL_PARAS = 7;
|
||||
const _TB_SLUG = 'physics-9-ch4';
|
||||
|
||||
const PARAS = [
|
||||
{ id:"p31", num:"§ 31", name:"Импульс тела. Импульс системы тел", sub:"$\\\\vec p = m\\\\vec v$" },
|
||||
{ id:"p32", num:"§ 32", name:"Закон сохранения импульса. Реактивное движение", sub:"$\\\\sum\\\\vec p = \\\\text{const}$" },
|
||||
{ id:"p33", num:"§ 33", name:"Механическая работа. Мощность", sub:"$A = F\\\\Delta r\\\\cos\\\\alpha$" },
|
||||
{ id:"p31", num:"§ 31", name:"Импульс тела. Импульс системы тел", sub:"$\\vec p = m\\vec v$" },
|
||||
{ id:"p32", num:"§ 32", name:"Закон сохранения импульса. Реактивное движение", sub:"$\\sum\\vec p = \\text{const}$" },
|
||||
{ id:"p33", num:"§ 33", name:"Механическая работа. Мощность", sub:"$A = F\\Delta r\\cos\\alpha$" },
|
||||
{ id:"p34", num:"§ 34", name:"Потенциальная энергия", sub:"$E_п = mgh$" },
|
||||
{ id:"p35", num:"§ 35", name:"Кинетическая энергия. Полная энергия системы тел", sub:"$E_к = mv^2/2$" },
|
||||
{ id:"p36", num:"§ 36", name:"Закон сохранения энергии", sub:"$E_к + E_п = \\\\text{const}$" },
|
||||
{ id:"p36", num:"§ 36", name:"Закон сохранения энергии", sub:"$E_к + E_п = \\text{const}$" },
|
||||
{ id:"final4", num:'\u2605', name:'Финал главы', sub:"Итоги · боссы главы 4", final:true }
|
||||
];
|
||||
PARAS.forEach(p => { STATE.progress[p.id] = 0; });
|
||||
@@ -754,26 +753,44 @@ function goTo(id){
|
||||
window.scrollTo({top:0,behavior:'smooth'});
|
||||
if((STATE.progress[id]||0)<10) bumpProgress(id, 10);
|
||||
if(window.renderMathInElement) setTimeout(()=>renderMath(el), 0);
|
||||
// Auto-init legacy simulations: call upd<N>() / startAnim<N>() / draw<N>() if defined in phys9_legacy.js.
|
||||
if(id.startsWith('p')){
|
||||
const n = id.slice(1);
|
||||
setTimeout(()=>{
|
||||
['upd','startAnim','init','draw'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){ console.warn(prefix + n + ' init:', e.message); } }
|
||||
});
|
||||
}, 50);
|
||||
} else if(id.startsWith('lr')){
|
||||
const n = id.slice(2);
|
||||
setTimeout(()=>{
|
||||
['updLab','drawLab'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){} }
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
markLastPara(id);
|
||||
}
|
||||
|
||||
const SIDEBARS = {
|
||||
p31:{title:"Шпаргалка §31",rows:[["$\\\\vec p = m\\\\vec v$","импульс тела"],["Ед.","кг·м/с"],["Сумма","$\\\\vec p_{сист} = \\\\sum \\\\vec p_i$"]]},
|
||||
p32:{title:"Шпаргалка §32",rows:[["ЗСИ","$\\\\sum\\\\vec p_{до} = \\\\sum\\\\vec p_{после}$"],["Замкн. сист.","без внеш. сил"],["Ракета","$m_р\\\\vec v_р + m_г\\\\vec v_г = 0$"]]},
|
||||
p33:{title:"Шпаргалка §33",rows:[["$A = F\\\\Delta r\\\\cos\\\\alpha$",""],["Ед.","Дж"],["Мощность","$P = A/\\\\Delta t$, Вт"]]},
|
||||
p34:{title:"Шпаргалка §34",rows:[["$E_п = mgh$","тяжести"],["$E_п = kx^2/2$","упругости"],["$A = -\\\\Delta E_п$",""]]},
|
||||
p35:{title:"Шпаргалка §35",rows:[["$E_к = mv^2/2$",""],["Теорема","$A = \\\\Delta E_к$"],["$E = E_к + E_п$","полная"]]},
|
||||
p36:{title:"Шпаргалка §36",rows:[["ЗСЭ","$E = \\\\text{const}$ в замкн. консервативной сист."],["Превращ.","один вид → другой"],["Трение","диссипация $\\\\to$ тепло"]]},
|
||||
p31:{title:"Шпаргалка §31",rows:[["$\\vec p = m\\vec v$","импульс тела"],["Ед.","кг·м/с"],["Сумма","$\\vec p_{сист} = \\sum \\vec p_i$"]]},
|
||||
p32:{title:"Шпаргалка §32",rows:[["ЗСИ","$\\sum\\vec p_{до} = \\sum\\vec p_{после}$"],["Замкн. сист.","без внеш. сил"],["Ракета","$m_р\\vec v_р + m_г\\vec v_г = 0$"]]},
|
||||
p33:{title:"Шпаргалка §33",rows:[["$A = F\\Delta r\\cos\\alpha$",""],["Ед.","Дж"],["Мощность","$P = A/\\Delta t$, Вт"]]},
|
||||
p34:{title:"Шпаргалка §34",rows:[["$E_п = mgh$","тяжести"],["$E_п = kx^2/2$","упругости"],["$A = -\\Delta E_п$",""]]},
|
||||
p35:{title:"Шпаргалка §35",rows:[["$E_к = mv^2/2$",""],["Теорема","$A = \\Delta E_к$"],["$E = E_к + E_п$","полная"]]},
|
||||
p36:{title:"Шпаргалка §36",rows:[["ЗСЭ","$E = \\text{const}$ в замкн. консервативной сист."],["Превращ.","один вид → другой"],["Трение","диссипация $\\to$ тепло"]]},
|
||||
final4:{title:"Финал главы 4",rows:[["§§31–36","теория главы 4"],["Награда","+50 XP"]]}
|
||||
};
|
||||
|
||||
const TIPS=[
|
||||
{sec:"p31",html:"Импульс тела: $\\\\vec p = m\\\\vec v$ (кг·м/с). Импульс системы — сумма импульсов всех тел."},
|
||||
{sec:"p32",html:"ЗСИ: в замкнутой системе $\\\\sum\\\\vec p = \\\\text{const}$. Реактивное движение: $m_р\\\\vec v_р + m_г\\\\vec v_г = 0$."},
|
||||
{sec:"p33",html:"Работа силы: $A = F \\\\Delta r \\\\cos\\\\alpha$ (Дж). Мощность: $P = A/\\\\Delta t = Fv\\\\cos\\\\alpha$ (Вт)."},
|
||||
{sec:"p34",html:"Потенц. энергия тяжести: $E_п = mgh$. Упругости: $E_п = kx^2/2$. Работа консерват. силы: $A = -\\\\Delta E_п$."},
|
||||
{sec:"p35",html:"Кинет. энергия: $E_к = mv^2/2$. Теорема: $A = \\\\Delta E_к$. Полная мех. энергия: $E = E_к + E_п$."},
|
||||
{sec:"p36",html:"ЗСЭ: в замкнутой консервативной системе $E_к + E_п = \\\\text{const}$. При трении мех. энергия превращается в тепло."},
|
||||
{sec:"p31",html:"Импульс тела: $\\vec p = m\\vec v$ (кг·м/с). Импульс системы — сумма импульсов всех тел."},
|
||||
{sec:"p32",html:"ЗСИ: в замкнутой системе $\\sum\\vec p = \\text{const}$. Реактивное движение: $m_р\\vec v_р + m_г\\vec v_г = 0$."},
|
||||
{sec:"p33",html:"Работа силы: $A = F \\Delta r \\cos\\alpha$ (Дж). Мощность: $P = A/\\Delta t = Fv\\cos\\alpha$ (Вт)."},
|
||||
{sec:"p34",html:"Потенц. энергия тяжести: $E_п = mgh$. Упругости: $E_п = kx^2/2$. Работа консерват. силы: $A = -\\Delta E_п$."},
|
||||
{sec:"p35",html:"Кинет. энергия: $E_к = mv^2/2$. Теорема: $A = \\Delta E_к$. Полная мех. энергия: $E = E_к + E_п$."},
|
||||
{sec:"p36",html:"ЗСЭ: в замкнутой консервативной системе $E_к + E_п = \\text{const}$. При трении мех. энергия превращается в тепло."},
|
||||
{sec:"final4",html:"Финал главы 4 — интегрированные задачи по §§31–36. В разработке (Phase 4+)."}
|
||||
];
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<script src="/js/api.js" defer></script>
|
||||
<script src="/js/xp.js" defer></script>
|
||||
<script src="/js/phys.js" defer></script>
|
||||
<script src="/js/phys9_legacy.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{
|
||||
@@ -629,15 +628,15 @@ const TOTAL_PARAS = 13;
|
||||
const _TB_SLUG = 'physics-9-ch5';
|
||||
|
||||
const PARAS = [
|
||||
{ id:"lr1", num:"ЛР 1", name:"Определение абсолютной и относительной погрешностей прямых измерений", sub:"$\\\\Delta t$, $\\\\varepsilon_t$" },
|
||||
{ id:"lr1", num:"ЛР 1", name:"Определение абсолютной и относительной погрешностей прямых измерений", sub:"$\\Delta t$, $\\varepsilon_t$" },
|
||||
{ id:"lr2", num:"ЛР 2", name:"Измерение ускорения при равноускоренном движении", sub:"$a = 2l/t^2$" },
|
||||
{ id:"lr3", num:"ЛР 3", name:"Изучение движения тела по окружности", sub:"$a_n = 4\\\\pi^2 R/T^2$" },
|
||||
{ id:"lr3", num:"ЛР 3", name:"Изучение движения тела по окружности", sub:"$a_n = 4\\pi^2 R/T^2$" },
|
||||
{ id:"lr4", num:"ЛР 4", name:"Проверка закона Гука", sub:"$k = F/x$" },
|
||||
{ id:"lr5", num:"ЛР 5", name:"Измерение коэффициента трения скольжения", sub:"$\\\\mu = F_{тр}/P$" },
|
||||
{ id:"lr6", num:"ЛР 6", name:"Изучение движения тела, брошенного горизонтально", sub:"$v_0 = l\\\\sqrt{g/(2h)}$" },
|
||||
{ id:"lr5", num:"ЛР 5", name:"Измерение коэффициента трения скольжения", sub:"$\\mu = F_{тр}/P$" },
|
||||
{ id:"lr6", num:"ЛР 6", name:"Изучение движения тела, брошенного горизонтально", sub:"$v_0 = l\\sqrt{g/(2h)}$" },
|
||||
{ id:"lr7", num:"ЛР 7", name:"Проверка условия равновесия рычага", sub:"$F_1 l_1 = F_2 l_2$" },
|
||||
{ id:"lr8", num:"ЛР 8", name:"Изучение неподвижного и подвижного блоков", sub:"$P h_1 = F h_2$" },
|
||||
{ id:"lr9", num:"ЛР 9", name:"Изучение наклонной плоскости и измерение её КПД", sub:"$\\\\eta = mgh/A_{сов}$" },
|
||||
{ id:"lr9", num:"ЛР 9", name:"Изучение наклонной плоскости и измерение её КПД", sub:"$\\eta = mgh/A_{сов}$" },
|
||||
{ id:"lr10", num:"ЛР 10", name:"Изучение выталкивающей силы", sub:"$F_A = F_1 - F_2$" },
|
||||
{ id:"lr11", num:"ЛР 11", name:"Проверка закона сохранения импульса", sub:"$m_1 l_1 = m_1 l_1' + m_2 l_2'$" },
|
||||
{ id:"lr12", num:"ЛР 12", name:"Проверка закона сохранения механической энергии", sub:"$F|x| = ml^2 g/(2h)$" },
|
||||
@@ -778,19 +777,37 @@ function goTo(id){
|
||||
window.scrollTo({top:0,behavior:'smooth'});
|
||||
if((STATE.progress[id]||0)<10) bumpProgress(id, 10);
|
||||
if(window.renderMathInElement) setTimeout(()=>renderMath(el), 0);
|
||||
// Auto-init legacy simulations: call upd<N>() / startAnim<N>() / draw<N>() if defined in phys9_legacy.js.
|
||||
if(id.startsWith('p')){
|
||||
const n = id.slice(1);
|
||||
setTimeout(()=>{
|
||||
['upd','startAnim','init','draw'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){ console.warn(prefix + n + ' init:', e.message); } }
|
||||
});
|
||||
}, 50);
|
||||
} else if(id.startsWith('lr')){
|
||||
const n = id.slice(2);
|
||||
setTimeout(()=>{
|
||||
['updLab','drawLab'].forEach(prefix=>{
|
||||
const fn = window[prefix + n];
|
||||
if(typeof fn === 'function'){ try{ fn(); }catch(e){} }
|
||||
});
|
||||
}, 50);
|
||||
}
|
||||
markLastPara(id);
|
||||
}
|
||||
|
||||
const SIDEBARS = {
|
||||
lr1:{title:"Шпаргалка ЛР 1",rows:[["Цель","$\\\\Delta t$, $\\\\varepsilon_t$"],["Обор.","мерная лента, шарик, секундомер"],["Формула","$\\\\varepsilon_t = \\\\Delta t/\\\\langle t\\\\rangle \\\\cdot 100\\\\%$"]]},
|
||||
lr1:{title:"Шпаргалка ЛР 1",rows:[["Цель","$\\Delta t$, $\\varepsilon_t$"],["Обор.","мерная лента, шарик, секундомер"],["Формула","$\\varepsilon_t = \\Delta t/\\langle t\\rangle \\cdot 100\\%$"]]},
|
||||
lr2:{title:"Шпаргалка ЛР 2",rows:[["Цель","измерить $a$ при равноускор."],["Обор.","жёлоб, шарик, секундомер"],["Формула","$a = 2l/t^2$"]]},
|
||||
lr3:{title:"Шпаргалка ЛР 3",rows:[["Цель","$T$, $a_n$, $\\\\omega$, $v$"],["Обор.","штатив, нить, шарик"],["Формула","$a_n = 4\\\\pi^2 R/T^2$"]]},
|
||||
lr3:{title:"Шпаргалка ЛР 3",rows:[["Цель","$T$, $a_n$, $\\omega$, $v$"],["Обор.","штатив, нить, шарик"],["Формула","$a_n = 4\\pi^2 R/T^2$"]]},
|
||||
lr4:{title:"Шпаргалка ЛР 4",rows:[["Цель","$k$ пружины"],["Обор.","штатив, динамометр, грузы"],["Формула","$k = mg/|x|$"]]},
|
||||
lr5:{title:"Шпаргалка ЛР 5",rows:[["Цель","$\\\\mu$ дерево/дерево"],["Обор.","брусок, доска, динамометр"],["Формула","$\\\\mu = F_{упр}/P$"]]},
|
||||
lr6:{title:"Шпаргалка ЛР 6",rows:[["Цель","$v_0$ гориз. бросок"],["Обор.","лоток, шарик, копир. бумага"],["Формула","$v_0 = l\\\\sqrt{g/(2h)}$"]]},
|
||||
lr5:{title:"Шпаргалка ЛР 5",rows:[["Цель","$\\mu$ дерево/дерево"],["Обор.","брусок, доска, динамометр"],["Формула","$\\mu = F_{упр}/P$"]]},
|
||||
lr6:{title:"Шпаргалка ЛР 6",rows:[["Цель","$v_0$ гориз. бросок"],["Обор.","лоток, шарик, копир. бумага"],["Формула","$v_0 = l\\sqrt{g/(2h)}$"]]},
|
||||
lr7:{title:"Шпаргалка ЛР 7",rows:[["Цель","правило рычага"],["Обор.","рычаг, грузы"],["Формула","$F_1 l_1 = F_2 l_2$"]]},
|
||||
lr8:{title:"Шпаргалка ЛР 8",rows:[["Цель","выигр. подв. блока"],["Обор.","блоки, динамометр"],["Формула","$P h_1 = F h_2$"]]},
|
||||
lr9:{title:"Шпаргалка ЛР 9",rows:[["Цель","КПД накл. плоскости"],["Обор.","доска, брусок, динамометр"],["Формула","$\\\\eta = mgh/(F_{упр}l)\\\\cdot 100\\\\%$"]]},
|
||||
lr9:{title:"Шпаргалка ЛР 9",rows:[["Цель","КПД накл. плоскости"],["Обор.","доска, брусок, динамометр"],["Формула","$\\eta = mgh/(F_{упр}l)\\cdot 100\\%$"]]},
|
||||
lr10:{title:"Шпаргалка ЛР 10",rows:[["Цель","$F_A$ для разных жидк."],["Обор.","цилиндры, динамометр, вода, соль"],["Формула","$F_A = F_{упр1} - F_{упр2}$"]]},
|
||||
lr11:{title:"Шпаргалка ЛР 11",rows:[["Цель","проверить ЗСИ"],["Обор.","лоток, два шара, бумага"],["Формула","$m_1 l_1 = m_1 l_1' + m_2 l_2'$"]]},
|
||||
lr12:{title:"Шпаргалка ЛР 12",rows:[["Цель","проверить ЗСЭ"],["Обор.","лоток, шар, пружина, бумага"],["Формула","$F|x| = ml^2g/(2h)$"]]},
|
||||
@@ -798,15 +815,15 @@ const SIDEBARS = {
|
||||
};
|
||||
|
||||
const TIPS=[
|
||||
{sec:"lr1",html:"ЛР1: погрешности прямых измерений. $\\\\Delta t = \\\\Delta t_{сист} + \\\\Delta t_{случ}$. Результат в интервальной форме: $t = \\\\langle t\\\\rangle \\\\pm \\\\Delta t$."},
|
||||
{sec:"lr1",html:"ЛР1: погрешности прямых измерений. $\\Delta t = \\Delta t_{сист} + \\Delta t_{случ}$. Результат в интервальной форме: $t = \\langle t\\rangle \\pm \\Delta t$."},
|
||||
{sec:"lr2",html:"ЛР2: ускорение шарика по наклонному жёлобу. $a = 2l/t^2$ (из $s = at^2/2$ при $v_0 = 0$)."},
|
||||
{sec:"lr3",html:"ЛР3: движение по окружности. Измеряем $T$, считаем $a_n = 4\\\\pi^2 R/T^2$, $\\\\omega = 2\\\\pi/T$, $v = \\\\omega R$."},
|
||||
{sec:"lr3",html:"ЛР3: движение по окружности. Измеряем $T$, считаем $a_n = 4\\pi^2 R/T^2$, $\\omega = 2\\pi/T$, $v = \\omega R$."},
|
||||
{sec:"lr4",html:"ЛР4: закон Гука. Подвешиваем грузы, строим график $F_{упр}(x)$. Жёсткость $k = mg/|x|$."},
|
||||
{sec:"lr5",html:"ЛР5: коэффициент трения скольжения дерева по дереву. $\\\\mu = F_{упр}/P$."},
|
||||
{sec:"lr6",html:"ЛР6: тело, брошенное горизонтально. Измеряем дальность $l$ и высоту $h$. $v_0 = l\\\\sqrt{g/(2h)}$."},
|
||||
{sec:"lr5",html:"ЛР5: коэффициент трения скольжения дерева по дереву. $\\mu = F_{упр}/P$."},
|
||||
{sec:"lr6",html:"ЛР6: тело, брошенное горизонтально. Измеряем дальность $l$ и высоту $h$. $v_0 = l\\sqrt{g/(2h)}$."},
|
||||
{sec:"lr7",html:"ЛР7: условие равновесия рычага. Проверяем $F_1 l_1 = F_2 l_2$."},
|
||||
{sec:"lr8",html:"ЛР8: блоки. Неподв. — без выигрыша; подвижный — выигрыш в силе в 2 раза, проигрыш в пути в 2 раза."},
|
||||
{sec:"lr9",html:"ЛР9: КПД наклонной плоскости. $\\\\eta = A_{пол}/A_{сов} = mgh/(F_{упр}l)\\\\cdot 100\\\\%$. Сравниваем при 30° и 45°."},
|
||||
{sec:"lr9",html:"ЛР9: КПД наклонной плоскости. $\\eta = A_{пол}/A_{сов} = mgh/(F_{упр}l)\\cdot 100\\%$. Сравниваем при 30° и 45°."},
|
||||
{sec:"lr10",html:"ЛР10: выталкивающая сила Архимеда. $F_A = F_{упр1} - F_{упр2}$ (вес в воздухе минус вес в жидкости)."},
|
||||
{sec:"lr11",html:"ЛР11: ЗСИ. Шар $m_1$ скатывается, сталкивается с покоящимся шаром $m_2$. Проверяем $m_1 l_1 = m_1 l_1' + m_2 l_2'$."},
|
||||
{sec:"lr12",html:"ЛР12: ЗСЭ. Сжатая пружина → шар → дальность полёта. $F_{упр}|x| = ml^2 g/(2h)$."},
|
||||
|
||||
Reference in New Issue
Block a user