Files
Learn_System/plans/textbooks-9/PLAN_PHYSICS_9.md
T

30 KiB
Raw Blame History

План реализации: Физика 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

Важно: контент §3136 уже написан в текущем 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)$ (§§612): слайдер 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)

Порядок написания:

  1. Ch4 (§3136) — перенести готовый контент из physics_9.html (минимум работы, проверить, что всё корректно работает с новой обвязкой).
  2. Ch1 (§114) — самая большая глава (14 §). Базовая кинематика, много векторных диаграмм, графики v(t), x(t).
  3. Ch2 (§1524) — динамика, 10 §. Силы, законы Ньютона, гравитация.
  4. Ch3 (§2530) — статика, 6 §. Рычаги, блоки, Архимед.
  5. Ch5 (ЛР112) — 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.js
  • backend/scripts/gen_phys9_ch.js
  • backend/src/db/migrations/038_physics_9_hub.sql
  • frontend/textbooks/physics_9_hub.html
  • frontend/textbooks/physics_9_ch1.htmlphysics_9_ch5.html
  • frontend/js/phys9.js (опционально, если новых хелперов хватит на отдельный файл — иначе расширить phys.js)

Удаляется:

  • frontend/textbooks/physics_9.html (после переноса §31–36 в Ch4)

Изменяется:

  • frontend/admin.html — если требуется обновление списка учебников (TBD: проверить, реактивен ли список к таблице textbooks или есть хардкод).

⚠️ Открытые вопросы

  1. para_count у hub-строки = 36 (только §) — проверить, как Phys 10 (para_count=37) учитывает прогресс. Если ЛР тоже должны учитываться — увеличить до 48.
  2. Видео-демоопыты (📱) — встраиваем статичную SVG-иллюстрацию + текст? Или будут видеофайлы? По умолчанию — статика, без видео.
  3. Интерактивные модели (🎱) — лимит на сложность. По умолчанию: 1 виджет на 3-4 §, не пытаться сделать каждый параграф интерактивным.