30 KiB
План реализации: Физика 9 (Беларусь, Исаченкова, 2019)
Источник: Fizika_Isachenkova_9_rus_2019.pdf (208 стр., 5 глав, 36 параграфов + 12 ЛР)
Авторы источника: Исаченкова Л.А., Сокольский А.А., Захаревич Е.В. (под ред. Сокольского)
Издательство: «Народная асвета», Минск, 2019, ISBN 978-985-03-3082-6
Уровень: базовый + повышенный (рубрика «Для любознательных», задачи 🦉).
Тематика учебника — классическая механика целиком: кинематика, динамика, статика, законы сохранения, плюс отдельная глава из 12 лабораторных работ. Это продолжение Физики 7 и Физики 8 (тепловые/электрические/оптические явления изучены в 7-8 классах) и подготовка к Физике 10 (молекулярная физика + электродинамика).
Авторство контента: наш материал, написанный по канве источника. Поле
authorв БД — пустое (правило проекта после миграции029_clear_all_textbook_authors.sql).
🎯 Содержание учебника
Глава 1. Основы кинематики (§§1–14) · 14 параграфов · blue
| § | Тема | Ключевые понятия/формулы |
|---|---|---|
| §1 | Механическое движение | Кинематика; абсолютно твёрдое тело; поступательное движение; модель материальной точки |
| §2 | Относительность движения. Система отсчёта | Тело отсчёта, система координат, часы → СО; относительность скорости, траектории, пути |
| §3 | Скалярные и векторные величины. Действия над векторами | Модуль вектора; равенство векторов; сложение (правило треугольника, параллелограмма); умножение на скаляр |
| §4 | Проекция вектора на ось | a_x = a\cos\alpha; знак проекции; разложение по осям |
| §5 | Путь и перемещение | Путь s (скаляр) vs перемещение \Delta\vec r (вектор); \Delta r = \|\vec r - \vec r_0\| |
| §6 | Равномерное прямолинейное движение. Скорость | \vec v = \text{const}; \Delta\vec r = \vec v\,t; x = x_0 + v_x t; s = vt |
| §7 | Графическое представление равномерного прямолинейного движения | Графики v(t) (прямая), x(t) (наклонная); площадь под v(t) = путь |
| §8 | Неравномерное движение. Средняя и мгновенная скорость | \langle v\rangle = s/t; мгновенная скорость как предел; векторная средняя \langle \vec v\rangle = \Delta\vec r/\Delta t |
| §9 | Сложение скоростей | \vec v_{1,3} = \vec v_{1,2} + \vec v_{2,3} (классический закон сложения); пловец/плот, лодка/река |
| §10 | Ускорение | \vec a = \dfrac{\Delta \vec v}{\Delta t}; единица м/с²; направление ускорения |
| §11 | Скорость при равноускоренном движении | \vec v = \vec v_0 + \vec a\,t; в проекциях v_x = v_{0x} + a_x t |
| §12 | Перемещение, координата и путь при равноускоренном движении | \Delta\vec r = \vec v_0 t + \dfrac{\vec a t^2}{2}; x = x_0 + v_{0x}t + \dfrac{a_x t^2}{2}; v^2 - v_0^2 = 2a_x \Delta x |
| §13 | Линейная и угловая скорости | \omega = \dfrac{\Delta\varphi}{\Delta t} = \dfrac{2\pi}{T} = 2\pi\nu; v = \omega R |
| §14 | Ускорение точки при движении по окружности | a_n = \dfrac{v^2}{R} = \omega^2 R; центростремительное направление к центру |
Глава 2. Основы динамики (§§15–24) · 10 параграфов · green
| § | Тема | Ключевые понятия/формулы |
|---|---|---|
| §15 | Взаимодействие тел. Сила. ИСО. 1-й закон Ньютона | Сила как мера взаимодействия; ИСО; принцип инерции: \vec F = 0 \Rightarrow \vec v = \text{const} |
| §16 | Масса | Масса как мера инертности; m_1/m_2 = a_2/a_1; единица кг |
| §17 | Второй закон Ньютона — основной закон динамики | \vec a = \dfrac{\vec F}{m}; \vec F = m\vec a; в проекциях F_x = m a_x |
| §18 | Третий закон Ньютона. Принцип относительности Галилея | \vec F_{12} = -\vec F_{21}; равенство сил действия/противодействия; инвариантность законов в ИСО |
| §19 | Деформация тел. Сила упругости. Закон Гука | Виды деформаций; F_{\text{упр}} = -k x; жёсткость пружины k, единица Н/м |
| §20 | Силы трения. Силы сопротивления среды | Покой/скольжение/качение; F_{\text{тр}} = \mu N; сопротивление среды зависит от скорости |
| §21 | Движение тела под действием силы тяжести | a = g \approx 9{,}81 м/с²; свободное падение; h = \dfrac{gt^2}{2}, v = gt |
| §22 | Движение тела, брошенного под углом к горизонту¹ | Параметрические уравнения: x = v_0\cos\alpha\cdot t, y = v_0\sin\alpha\cdot t - \dfrac{gt^2}{2}; дальность L = \dfrac{v_0^2\sin 2\alpha}{g}; высота H = \dfrac{v_0^2\sin^2\alpha}{2g} |
| §23 | Закон всемирного тяготения | F = G\dfrac{m_1 m_2}{r^2}; G = 6{,}67\cdot 10^{-11} Н·м²/кг²; g = G M_З/R_З^2 |
| §24 | Вес. Невесомость и перегрузки | Вес P vs сила тяжести mg; P = m(g \pm a); P = 0 — невесомость; k = a/g + 1 — перегрузка |
¹ §22 в источнике — «для дополнительного чтения»; пишем на равных.
Глава 3. Основы статики (§§25–30) · 6 параграфов · violet
| § | Тема | Ключевые понятия/формулы |
|---|---|---|
| §25 | Условия равновесия тел. Момент силы | \sum \vec F = 0 и \sum M = 0; M = F\cdot l (плечо); единица Н·м |
| §26 | Простые механизмы. Рычаги. Блоки | F_1 l_1 = F_2 l_2; неподвижный/подвижный блоки; полиспаст |
| §27 | Наклонная плоскость. «Золотое правило» механики. КПД | Выигрыш в силе = проигрыш в пути; \eta = \dfrac{A_{\text{пол}}}{A_{\text{сов}}}\cdot 100\% |
| §28 | Центр тяжести. Виды равновесия | ЦТ однородных тел; устойчивое/неустойчивое/безразличное равновесие |
| §29 | Действие жидкости и газа на погружённые тела. Выталкивающая сила. Закон Архимеда | F_A = \rho_ж g V_{\text{погр}}; вывод через давление сверху/снизу |
| §30 | Плавание судов. Воздухоплавание¹ | Условие плавания \rho_т \le \rho_ж; ватерлиния; подъёмная сила воздухоплавательного аппарата |
¹ §30 в источнике — «для дополнительного чтения»; пишем на равных.
Глава 4. Законы сохранения (§§31–36) · 6 параграфов · pink
Важно: контент §31–36 уже написан в текущем
frontend/textbooks/physics_9.html(формулы, теория, примеры, практические задачи с валидацией). При созданииphysics_9_ch4.htmlконтент переносится с минимальными правками — нужно только заменить общую обвязку (шапку, breadcrumbs, нумерацию).
| § | Тема | Ключевые понятия/формулы |
|---|---|---|
| §31 | Импульс тела. Импульс системы тел | \vec p = m\vec v; единица кг·м/с; импульс системы = \sum \vec p_i |
| §32 | Закон сохранения импульса. Реактивное движение | \sum \vec p_{до} = \sum \vec p_{после} для замкнутой системы; ракета: m_р\vec v_р + m_г\vec v_г = 0 |
| §33 | Механическая работа. Мощность | A = F\Delta r\cos\alpha; единица Дж; мощность P = A/\Delta t = Fv\cos\alpha, единица Вт |
| §34 | Потенциальная энергия | E_п = mgh (тяжести); E_п = kx^2/2 (упругости); A = -\Delta E_п |
| §35 | Кинетическая энергия. Полная энергия системы тел | E_к = mv^2/2; теорема о кинетической энергии A_{\text{полн}} = \Delta E_к; E = E_к + E_п |
| §36 | Закон сохранения энергии | E_к + E_п = \text{const} в замкнутой консервативной системе; превращение видов энергии |
Глава 5. Лабораторный практикум (12 ЛР) · cyan
| ЛР | Название | Цель | Основное оборудование |
|---|---|---|---|
| ЛР1 | Определение абсолютной и относительной погрешностей прямых измерений | Научиться определять \Delta x, \varepsilon_x, интервальная форма |
Мерная лента, шарик на нити l=1 м, секундомер, штатив, треугольник |
| ЛР2 | Измерение ускорения при равноускоренном движении | a = 2l/t^2 из движения шарика по наклонному жёлобу |
Жёлоб, штатив, стальной шарик, упор, секундомер, мерная лента |
| ЛР3 | Изучение движения тела по окружности | Период T, a_n = 4\pi^2 R/T^2, \omega, v = \omega R |
Штатив, нить 40–45 см, шарик, секундомер, лист с окружностью R = 10 см |
| ЛР4 | Проверка закона Гука | Жёсткость пружины k из графика F_{\text{упр}}(x) |
Штатив, динамометр, набор грузов m = 100 г |
| ЛР5 | Измерение коэффициента трения скольжения | \mu = F_{\text{упр}}/P для дерева по дереву |
Брусок, доска, грузы, штатив, мерная лента, динамометр |
| ЛР6 | Изучение движения тела, брошенного горизонтально | v_0 = l\sqrt{g/(2h)} из дальности полёта |
Штатив, шарик, лоток, листы белой+копировальной бумаги, линейка, скотч |
| ЛР7 | Проверка условия равновесия рычага | F_1 l_1 = F_2 l_2; M_1 = M_2 |
Рычаг съёмный с осью, штатив, грузы m = 100 г |
| ЛР8 | Изучение неподвижного и подвижного блоков | Выигрыш в силе для подвижного блока в 2 раза, P h_1 = F h_2 |
Штатив, блоки, грузы, динамометр, нить 80–100 см |
| ЛР9 | Изучение наклонной плоскости и измерение её КПД | \eta = mgh/(F_{\text{упр}}l)\cdot 100\% при углах 30° и 45° |
Доска 40–80 см, брусок, грузы, штатив, динамометр, линейка, треугольник |
| ЛР10 | Изучение выталкивающей силы | F_A = F_{\text{упр1}} - F_{\text{упр2}} для разных жидкостей и тел |
Стакан с водой, мензурка, динамометр, цилиндры разной плотности, раствор соли, штатив |
| ЛР11 | Проверка закона сохранения импульса | m_1 l_1 = m_1 l'_1 + m_2 l'_2 для столкновения шаров |
Штатив, лоток, два шара разной массы, листы белой+копировальной бумаги, линейка, весы, разновес, скотч |
| ЛР12 | Проверка закона сохранения механической энергии | $F_{\text{упр}} | x |
Каждая ЛР в источнике содержит: Цель → Оборудование → Проверьте себя (вопросы перед работой) → Вывод расчётных формул → Ход работы (нумерованные шаги) → Таблица измерений → Контрольные вопросы → Суперзадание. Шаблон ЛР воспроизводим в HTML 1-в-1.
ИТОГО: 5 глав, 36 параграфов + 12 ЛР, 1 часть (только механика).
🎨 SVG/JS-стандарт для Физики 9
Физика 9 — первая физика в проекте, посвящённая только механике. Многие хелперы переиспользуются из Физики 10/11 (которые уже реализованы):
Унаследованные хелперы (из Физики 10/11)
drawArrow(x1, y1, x2, y2, color, width, headSize)— стрелка вектора (нужна везде: сила, скорость, импульс, ускорение)axes2D(W, H, pad, xmin, xmax, ymin, ymax)— координатная плоскость для графиковv(t),x(t),a(t)plotFunc(f, xmin, xmax, ...)— графики кинематикиangleArcAuto,rightAngleMark,unitVec,deg2rad— углы и единичные векторыsnapToValue— snap-точки для интерактивных слайдеров
Новые хелперы для Физики 9 (frontend/js/phys9.js или расширение phys.js)
// === Тело на наклонной плоскости с разложением сил ===
function inclinedPlane(x, y, length, angle, bodyW, bodyH, showForces) {
// SVG: плоскость + брусок + векторы N, mg, F_тр, F_упр (если showForces)
// Возвращает группу с углом наклона, силами с подписями
}
// === Рычаг (двуплечий) ===
function lever(x, y, l1, l2, F1, F2) {
// Горизонтальная линейка с точкой опоры, левая сила вниз (F1, плечо l1), правая (F2, плечо l2)
// Подписи плеч и сил, треугольная опора
}
// === Подвижный/неподвижный блок ===
function pulleyFixed(x, y, r, weight) { /* колесо + нить + груз */ }
function pulleyMovable(x, y, r, weight) { /* колесо в нити, петля сверху + груз снизу */ }
// === Тело в жидкости (закон Архимеда) ===
function bodyInFluid(x, y, bodyW, bodyH, submergeDepth, fluidColor) {
// Прямоугольник тела частично погружён в прямоугольник жидкости
// Вектор F_A вверх, mg вниз
}
// === Пружина с грузом ===
function spring(x1, y1, x2, y2, coils, width) {
// Зигзаг пружины с заданным числом витков
}
// === Траектория тела, брошенного под углом ===
function projectileTrajectory(x0, y0, v0, angle, g, toX, toY, color) {
// Параболическая кривая через серию точек
// Возвращает <polyline points="..."/> + вектор v0 в точке запуска
}
// === Движение по окружности с вектором a_n и v ===
function circularMotion(cx, cy, r, theta, showVectors) {
// Окружность + точка на ней + касательная v + радиальный a_n к центру
}
// === Таймер-сечундомер (статичная иконка для ЛР) ===
function stopwatchIcon(x, y, size) { /* SVG секундомера */ }
Интерактивные виджеты (для блоков «🎱 интерактивная модель»)
- Сложение векторов (§3): drag двух стрелок → результирующий вектор + модуль
- Относительность движения (§2): лодка/река — пользователь меняет
\vec v_{\text{лодки}}и\vec v_{\text{реки}}, смотрит траекторию относительно берега и относительно реки - График
x(t)и $v(t)$ (§§6–12): слайдерv_0, a→ синхронные графики - Закон Гука (§19): пружина с тянущимся грузом + график
F(x) - Архимед (§29): погружение тела разной плотности в разные жидкости →
F_Aв реальном времени - Закон сохранения импульса (§32): столкновение двух шаров — пользователь задаёт массы и скорости, смотрит до/после
Видео-демоопыты (для блоков «📱 опыт»)
Источник 📱 в учебнике (Приложение 2) — это видео BIBLIOMER. У нас вместо видео — встроенная статическая SVG-иллюстрация + краткое описание опыта (или ссылка на YouTube/локальный видеофайл — TBD).
📐 Структура каждого § (универсальный шаблон)
Каждый параграф в physics_9_chN.html оформляется по канве источника:
<section id="p1" class="para">
<!-- 1. Hero-баннер -->
<div class="para-hero ch1-gradient">
<div class="para-num">§ 1</div>
<h2 class="para-title">Механическое движение</h2>
<p class="para-lead">Кинематика как раздел физики...</p>
</div>
<!-- 2. Теория -->
<div class="para-body">
<p>...</p>
<div class="def-box"><strong>Материальной точкой называют тело, размерами которого в данной задаче можно пренебречь.</strong></div>
<figure class="fig"><svg>...</svg><figcaption>Рис. 1. Поступательное движение</figcaption></figure>
<p>Формула: $$\vec v = \frac{\Delta \vec r}{\Delta t}$$</p>
</div>
<!-- 3. Главные выводы (оранжевый) -->
<div class="box-main">
<div class="box-head"><svg class="ic">...</svg> Главные выводы</div>
<ol>
<li>Задача кинематики — математически строгое описание механического движения.</li>
<li>При описании поступательного движения можно использовать модель материальной точки.</li>
<li>Материальной точкой называют тело, размерами которого в данной задаче можно пренебречь.</li>
</ol>
</div>
<!-- 4. Контрольные вопросы (розовый) -->
<div class="box-check">
<div class="box-head"><svg class="ic">...</svg> Контрольные вопросы</div>
<ol>
<li>В чём состоит задача кинематики?</li>
<li>Что такое абсолютно твёрдое тело?</li>
<li>...</li>
</ol>
</div>
<!-- 5. Домашнее задание (синий) -->
<div class="box-home">
<div class="box-head"><svg class="ic">...</svg> Домашнее задание</div>
<ol>
<li>Выразите время в секундах: $t_1 = 20$ мкс; $t_2 = 0{,}40$ мин; $t_3 = 3{,}0$ ч.</li>
<li>...</li>
</ol>
</div>
<!-- 6. Упражнение N с автопроверкой -->
<div class="exercise">
<div class="box-head">Упражнение 1</div>
<div class="task">
<p>1. Что такое траектория? Путь?</p>
<textarea class="answer-text"></textarea>
</div>
<div class="task">
<p>4. Если пути 900 000 км; 15 м пройдены за одно время, то какой пройден пешеходом?</p>
<input class="answer-num" data-correct="15" data-tolerance="0.01">
<button class="check-btn">Проверить</button>
</div>
</div>
<!-- 7. Для любознательных (опционально) -->
<details class="extra">
<summary>Для любознательных</summary>
<p>...</p>
</details>
</section>
Использовать существующий CSS из physics_10_chN.html (адаптировать переменные --ch-color).
🚀 Реализация по фазам
Фаза 1 ✅ (этот документ)
Составить PLAN_PHYSICS_9.md — оглавление, ЛР, хелперы, шаблон §.
Фаза 2. Генератор hub-страницы
backend/scripts/gen_phys9_hub.js(по образцуgen_phys10_hub.js)- SRC:
physics_10_hub.html→ DST:physics_9_hub.html - Палитра: синяя (header
#1e3a8a → #2563eb → #60a5fa) - Заголовок: «Физика 9 класс», подзаголовок: «Механика»
- 5 карточек глав с цветами
blue · green · violet · pink · cyan - Описания глав — из таблиц выше (1 строка на главу)
Фаза 3. Генератор скелетов глав
backend/scripts/gen_phys9_ch.js(по образцуgen_phys10_ch.js)- Генерирует 5 файлов
physics_9_ch1..ch5.htmlсо скелетом (header, breadcrumbs, KaTeX, dark-mode, XP, прогресс per-§). - Главы 1-4: пустые секции по § с заголовками из таблиц.
- Глава 5 (ЛР): 12 пустых секций ЛР с шаблоном (Цель/Оборудование/Ход работы/Контрольные).
Фаза 4. Миграция БД
backend/src/db/migrations/038_physics_9_hub.sql:
-- 1. Удалить старую плоскую строку
DELETE FROM textbooks WHERE slug = 'physics-9';
-- 2. Hub
INSERT INTO textbooks (slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active) VALUES
('physics-9', 'physics', 9, 'Физика — 9 класс', '',
'Полный курс механики: кинематика, динамика, статика, законы сохранения + 12 лабораторных работ. 5 глав, 36 параграфов.',
'physics_9_hub.html', 36, 'blue', 2, 1);
-- 3. Дочерние главы
INSERT INTO textbooks (slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active, parent_slug) VALUES
('physics-9-ch1', 'physics', 9, 'Физика 9 · Основы кинематики', '',
'§1–§14: механическое движение, СО, векторы, путь и перемещение, равномерное и равноускоренное движение, движение по окружности.',
'physics_9_ch1.html', 14, 'blue', 1, 1, 'physics-9'),
('physics-9-ch2', 'physics', 9, 'Физика 9 · Основы динамики', '',
'§15–§24: законы Ньютона, масса, закон Гука, трение, всемирное тяготение, вес и невесомость.',
'physics_9_ch2.html', 10, 'green', 2, 1, 'physics-9'),
('physics-9-ch3', 'physics', 9, 'Физика 9 · Основы статики', '',
'§25–§30: момент силы, рычаги, блоки, наклонная плоскость, КПД, центр тяжести, закон Архимеда.',
'physics_9_ch3.html', 6, 'violet', 3, 1, 'physics-9'),
('physics-9-ch4', 'physics', 9, 'Физика 9 · Законы сохранения', '',
'§31–§36: импульс, реактивное движение, работа, мощность, потенциальная и кинетическая энергия, закон сохранения энергии.',
'physics_9_ch4.html', 6, 'pink', 4, 1, 'physics-9'),
('physics-9-ch5', 'physics', 9, 'Физика 9 · Лабораторный практикум', '',
'12 лабораторных работ: погрешности, ускорение, окружность, закон Гука, трение, бросок, рычаг, блоки, наклонная плоскость, Архимед, импульс, энергия.',
'physics_9_ch5.html', 12, 'cyan', 5, 1, 'physics-9');
Фаза 5. Контент по главам (по образцу Физики 10)
Порядок написания:
- Ch4 (§31–36) — перенести готовый контент из
physics_9.html(минимум работы, проверить, что всё корректно работает с новой обвязкой). - Ch1 (§1–14) — самая большая глава (14 §). Базовая кинематика, много векторных диаграмм, графики
v(t), x(t). - Ch2 (§15–24) — динамика, 10 §. Силы, законы Ньютона, гравитация.
- Ch3 (§25–30) — статика, 6 §. Рычаги, блоки, Архимед.
- Ch5 (ЛР1–12) — 12 лаб. работ по шаблону источника.
Для каждого § (и каждой ЛР) — полная канва из источника (см. шаблон выше).
Фаза 6. Удаление монолита и проверка
- Удалить
frontend/textbooks/physics_9.html(после переноса §31–36 в Ch4). - Запустить сервер, проверить визуально: hub → 5 карточек → каждая глава → KaTeX, dark mode, XP, прогресс, breadcrumb.
- В админке: «Физика — 9 класс» как hub с 5 child-главами.
ast-index rebuild(новые файлы).
Фаза 7. Git
Коммит на каждую завершённую фазу (только изменённые файлы, не git add -A). Финальный коммит после Phase 6.
📂 Файлы, которые будут созданы/изменены
Новые:
plans/textbooks-9/PLAN_PHYSICS_9.md(этот файл) ✅backend/scripts/gen_phys9_hub.jsbackend/scripts/gen_phys9_ch.jsbackend/src/db/migrations/038_physics_9_hub.sqlfrontend/textbooks/physics_9_hub.htmlfrontend/textbooks/physics_9_ch1.html…physics_9_ch5.htmlfrontend/js/phys9.js(опционально, если новых хелперов хватит на отдельный файл — иначе расширитьphys.js)
Удаляется:
frontend/textbooks/physics_9.html(после переноса §31–36 в Ch4)
Изменяется:
frontend/admin.html— если требуется обновление списка учебников (TBD: проверить, реактивен ли список к таблицеtextbooksили есть хардкод).
⚠️ Открытые вопросы
para_countу hub-строки = 36 (только §) — проверить, как Phys 10 (para_count=37) учитывает прогресс. Если ЛР тоже должны учитываться — увеличить до 48.- Видео-демоопыты (📱) — встраиваем статичную SVG-иллюстрацию + текст? Или будут видеофайлы? По умолчанию — статика, без видео.
- Интерактивные модели (🎱) — лимит на сложность. По умолчанию: 1 виджет на 3-4 §, не пытаться сделать каждый параграф интерактивным.