diff --git a/plans/textbooks-9/PLAN_PHYSICS_9_ADVANCED_INTERACTIVES.md b/plans/textbooks-9/PLAN_PHYSICS_9_ADVANCED_INTERACTIVES.md new file mode 100644 index 0000000..96c7501 --- /dev/null +++ b/plans/textbooks-9/PLAN_PHYSICS_9_ADVANCED_INTERACTIVES.md @@ -0,0 +1,409 @@ +# План: мощные интерактивы и симуляторы для Физики 9 + +**Дата:** 2026-05-30 +**Контекст:** третий план, дополняет [PLAN_PHYSICS_9_VISUAL.md](PLAN_PHYSICS_9_VISUAL.md) (фазы 1-3 сделаны) и [PLAN_PHYSICS_9_PER_PARAGRAPH.md](PLAN_PHYSICS_9_PER_PARAGRAPH.md) (Wave A-G сделаны). +**Цель:** добавить **флагманские** интерактивы — крупные симуляторы / мини-игры / физические песочницы. По 1-3 на главу. Каждый = «вау-эффект», который запомнится школьнику. + +--- + +## Принцип «флагмана» + +Не очередной slider+калькулятор, а: +- **Полноэкранный** интерактив (~ 600×500 px) +- **Анимация** в реальном времени (`requestAnimationFrame`) +- **Управление мышкой / клавиатурой** (drag, click, keyboard) +- **Real-time графики** связанные с симуляцией +- **Сохранение результатов** в localStorage (рекорды) +- **Геймификация** — score, баллы, медали + +--- + +## ⭐ Глава 1 · Кинематика — 4 флагмана + +### F1. Конструктор траектории +**§5** (путь vs перемещение) +- Пользователь **рисует мышкой** на canvas произвольную кривую. +- Программа автоматически считает: + - **Путь** $s$ — длина кривой (через сумму отрезков) + - **Перемещение** $|\Delta\vec r|$ — расстояние start→end + - Отношение $s/|\Delta\vec r|$ +- Кнопка «Закрыть петлю» — соединяет конец с началом, $\Delta r = 0$. +- Шаблоны: прямая, дуга 180°, полная окружность, зигзаг. +- **Wow:** видно, что $s \ge |\Delta\vec r|$, всегда. +- ~400 LOC + +### F2. Гонка двух тел +**§9** (встреча двух тел) +- Симуляция гонки: два автомобиля с разными $v_0$, $a$ на одной трассе. +- Пользователь меняет параметры **до старта**, нажимает «Старт». +- Анимация: автомобили едут по трассе. +- **Real-time графики** $x_1(t)$ и $x_2(t)$ строятся слева от трассы. +- Момент встречи — подсвечен пересечением графиков + звуковой сигнал. +- Кнопка «Случайный сценарий» для тренировки. +- **Wow:** одновременно видна симуляция и математическая зависимость. +- ~500 LOC + +### F3. Тахометр + спидометр + одометр +**§11-13** (равноуск. движение) +- Виртуальный автомобиль с **3 связанными приборами**: + - Тахометр (показывает $a$) + - Спидометр (показывает $v$) + - Одометр (показывает $\Delta x$ за время) +- Управление: педаль газа (slider $a$) и педаль тормоза. +- Реалистичная динамика: при отпускании газа — медленное торможение (трение). При тормозе — резкое. +- **Графики** $v(t)$ и $a(t)$ записываются. +- Цель: разогнаться до 60 км/ч и затормозить за ~50 м (как в реальных тестах). +- **Wow:** игра в автогонщика + интуитивное понимание кинематики. +- ~600 LOC + +### F4. Орбитальный конструктор +**§16-18** (Кеплер, окружность) +- Симулятор «запусти спутник»: Земля в центре, мышью **тянешь стрелку** $\vec v$ начальной скорости и **отпускаешь**. +- Спутник летит по орбите согласно Ньютону+Кеплеру. +- Цвет траектории: круг (идеал) / эллипс / парабола / убегание. +- Подписи: $T$, $a$, эксцентриситет. +- Слайдер «масса Земли» — меняет тяготение. +- **Wow:** видишь, что нужна **определённая** скорость для круговой орбиты. +- ~600 LOC + +--- + +## ⭐ Глава 2 · Динамика — 4 флагмана + +### F5. Машина Атвуда +**§19-22** (динамика связанных тел) +- Виртуальная установка: две массы $m_1$, $m_2$ через блок на нити. +- Slider'ы: $m_1$, $m_2$, $\mu$ (трение в блоке). +- Запуск: бо́льшая масса опускается, меньшая поднимается. +- Реальная физика: $a = (m_1 - m_2)g/(m_1+m_2)$. +- Подсветка сил: $\vec T$ натяжение, $\vec g$ вес. +- График $v(t)$ — линейный (равноуск). +- **Wow:** классический школьный опыт в виртуале. +- ~500 LOC + +### F6. Симулятор скоростной дороги +**§20** (трение), **§22** (F=ma) +- 2D-вид: автомобиль на дороге с разным покрытием (асфальт сухой/мокрый, лёд, гравий). +- Slider $\mu$ автоматически по покрытию. +- Включаем тормоз: автомобиль скользит на расстояние $s = v^2 / (2 \mu g)$. +- При большом $v$ + малом $\mu$ — занос. +- **Wow:** видно, насколько лёд опасен — путь торможения растёт в 5 раз. +- ~400 LOC + +### F7. Лифт с динамометром +**§24** (вес, перегрузка, невесомость) +- Лифт в высоком здании. На полу динамометр с грузом 1 кг. +- Кнопки: «Этаж 1», «Этаж 10», «Аварийный спуск». +- При движении видно показания динамометра и анимацию. +- **Параметры:** $a_{разгон}$, $v_{макс}$ настраиваются. +- График $P(t)$ записывается. +- Особый режим: «свободное падение» → невесомость, груз висит. +- **Wow:** наглядное переживание перегрузки. +- ~500 LOC + +### F8. Полигон трения +**§20** +- Шарик скатывается с пружинной катапульты по плоскости с **разными зонами** ($\mu$ меняется через каждые 30 см). +- Пользователь рисует профиль зон (drag&drop материалов: лёд, асфальт, мел). +- Шарик скользит, замедляется в зависимости от $\mu$. +- Цель: попасть в красную мишень. +- Калибровка через начальную скорость катапульты. +- **Wow:** инженерная задача про разные покрытия. +- ~600 LOC + +--- + +## ⭐ Глава 3 · Статика — 2 флагмана + +### F9. Конструктор моста +**§25-28** (равновесие, рычаг, момент) +- На canvas — балка на 2 опорах. +- Пользователь **добавляет** грузы перетаскиванием (drag) в любую точку балки. +- Программа считает реакции опор $N_1$, $N_2$ через систему 2 уравнений ($\Sigma F = 0$, $\Sigma M = 0$). +- При перегрузке — балка прогибается / ломается. +- Цель: построить «мост» который выдержит автомобиль (фиксированный груз 1000 Н) в любой точке. +- **Wow:** инженерный квест. +- ~700 LOC + +### F10. Виртуальный аквариум +**§29-30** (Архимед, плавание) +- Большой аквариум на canvas. +- Слева — палитра тел разной плотности (дерево, пенопласт, пластик, металл, золото). +- Drag&drop тел в аквариум: правильная физика — плавают, тонут, висят. +- Slider жидкости: вода → масло → ртуть. +- При смене жидкости тела перераспределяются (золото в ртути плавает!). +- **Wow:** интерактивный «фокус» с ртутью. +- ~500 LOC + +--- + +## ⭐ Глава 4 · Импульс / Энергия / Колебания — 4 флагмана + +### F11. Бильярдная физика +**§31-32** (ЗСИ) +- 2D-бильярдный стол с 1 битком + 4 шарами. +- Перетаскивание прицела + slider «сила удара». +- Реальная физика упругих ударов между шарами. +- Real-time векторы импульса до/после. +- Цель: сделать карамболь (тройной удар). +- **Wow:** игра + физика. +- ~700 LOC + +### F12. Американские горки +**§35** (ЗСМЭ) +- Пользователь **рисует профиль** горки (мышкой задаёт высоты). +- Шарик скатывается с начала, физика: $E = E_k + E_p = $ const (без трения) или с диссипацией. +- Real-time графики: $E_p$, $E_k$, $E_{total}$ на 3-х кривых. +- Можно добавить «петлю» (loop) — расчёт минимальной высоты старта. +- Slider «трение» — графики $E_{total}$ спадают. +- **Wow:** «спроектируй сам аттракцион». +- ~700 LOC + +### F13. Маятник Фуко +**§36** (колебания + вращение) +- Длинный математический маятник, его плоскость колебаний **поворачивается** относительно земли из-за вращения. +- Slider: широта (на полюсе вращается за 24 ч, на экваторе не вращается). +- Анимация: вид сверху, ход маятника записывает «розетку». +- **Wow:** красивая, исторически значимая демонстрация (Париж, 1851). +- ~500 LOC + +### F14. Спектр колебаний (резонанс) +**§36** +- Пружинный маятник с внешней периодической силой. +- Slider частоты внешней силы $\nu_{внеш}$. +- Когда $\nu_{внеш} \approx \nu_{собств}$ — амплитуда колебаний нарастает. +- График амплитуды от $\nu_{внеш}$ — классический резонансный пик. +- Аналог: «настройка струны гитары», «разрушение моста». +- **Wow:** объясняет, почему рота не марширует через мост. +- ~500 LOC + +--- + +## 🔬 Глава 5 · Лаборатория — 3 флагмана-практикума + +### F15. Виртуальная лаборатория свободного падения +**ЛР 6** +- Стробоскопический эффект: тело падает, на нём отметки через равные промежутки. +- Пользователь измеряет расстояния линейкой (виртуальная линейка на canvas). +- Таблица заполняется автоматически из измерений. +- Расчёт $g$ по серии 5-6 измерений + погрешность. +- **Wow:** реальный лабораторный отчёт получается за 5 минут. +- ~500 LOC + +### F16. Лаборатория законов сохранения +**ЛР 7** +- Тележка на наклонной + датчики скорости. +- Запускается с разных высот, измерения автоматически. +- Серия из 5 запусков: $h_1, v_1$; $h_2, v_2$; ... +- Расчёт КПД через сравнение $E_p^{0}$ и $E_k^{внизу}$. +- График «отклонение от ЗСМЭ vs скорость» — видна систематическая ошибка от трения. +- **Wow:** настоящие лабораторные навыки. +- ~600 LOC + +### F17. Лаборатория маятника +**ЛР 4, ЛР 12** +- Несколько маятников рядом: математ., пружинный, физический. +- Запуск синхронно, измерение $T$ автоматически. +- Цель: подобрать $l$ так, чтобы $T = 2$ с (секундный маятник). +- Дополнительно: изменение $g$ (на Луне, Марсе) → как меняется $T$. +- **Wow:** «найди $g$ на Марсе по периоду маятника». +- ~500 LOC + +--- + +## 🏆 Финал курса — 2 флагмана + +### F18. Магистр-симулятор +- Большой интерактив **«построй сценарий движения тела»**: +- Точка А → точка Б через любые этапы (равном., равноуск., свободное падение, …). +- Пользователь собирает цепочку этапов как конструктор LEGO. +- Программа автоматически рисует $x(t)$, $v(t)$, $a(t)$. +- Проверка корректности сценария: «достижимо ли?» +- Сохранение в галерею (localStorage), share-кнопка (URL с сценарием в параметрах). +- **Wow:** портфолио своих физических задач. +- ~800 LOC + +### F19. Финальный босс — «Полёт ракеты» +- Симулятор взлёта ракеты с Земли: +- Параметры: масса ракеты, масса топлива, $q$ (скорость истечения газов), $G$. +- Реальная физика: уравнение Циолковского + сила тяжести + сопротивление воздуха. +- График $h(t)$, $v(t)$, остаток топлива. +- Цель: вывести спутник на орбиту 400 км (МКС). +- **Wow:** реальная инженерная задача, объединяющая ВСЁ из курса. +- ~1000 LOC + +--- + +## 📊 Сводка флагманов + +| # | Название | Глава | LOC | Приоритет | +|---|---|---|---|---| +| F1 | Конструктор траектории | §5 | 400 | ⭐ | +| F2 | Гонка двух тел | §9 | 500 | 🔥 | +| F3 | Тахометр + спидометр | §11-13 | 600 | 🔥 | +| F4 | Орбитальный конструктор | §16-18 | 600 | 🔥 | +| F5 | Машина Атвуда | §19-22 | 500 | ⭐ | +| F6 | Симулятор дороги | §20 | 400 | ⭐ | +| F7 | Лифт с динамометром | §24 | 500 | ⭐ | +| F8 | Полигон трения | §20 | 600 | 💡 | +| F9 | Конструктор моста | §25-28 | 700 | 🔥 | +| F10 | Виртуальный аквариум | §29-30 | 500 | ⭐ | +| F11 | Бильярдная физика | §31-32 | 700 | 🔥 | +| F12 | Американские горки | §35 | 700 | 🔥 | +| F13 | Маятник Фуко | §36 | 500 | ⭐ | +| F14 | Резонанс | §36 | 500 | ⭐ | +| F15 | Лаб. свободное падение | ЛР 6 | 500 | ⭐ | +| F16 | Лаб. ЗСЭ | ЛР 7 | 600 | ⭐ | +| F17 | Лаб. маятника | ЛР 4,12 | 500 | ⭐ | +| F18 | Магистр-симулятор | Финал курса | 800 | 🔥 | +| F19 | Полёт ракеты | Финал курса | 1000 | 🔥 | +| **Σ** | **19 флагманов** | | **~10 600 LOC** | | + +**🔥 Критично (8):** F2, F3, F4, F9, F11, F12, F18, F19 +**⭐ Важно (10):** F1, F5, F6, F7, F10, F13, F14, F15, F16, F17 +**💡 Nice-to-have (1):** F8 + +--- + +## 🛠 Технологический стек для флагманов + +### Базовые библиотеки (без внешних зависимостей) +- **Canvas 2D** — для большинства симуляций (производительно) +- **SVG** — для статических интерактивов (легко стилизуется, тёмная тема) +- **Web Audio API** — для звуковых эффектов (опционально) +- **requestAnimationFrame** — с RAF-реестром для cleanup при unmount +- **localStorage** — для сохранения настроек, рекордов +- **Web Workers** — для тяжёлых вычислений (F4 орбита, F19 ракета) + +### Архитектурное правило +Каждый флагман — **отдельный модуль** `phys9_flag_FN_name.js` в `frontend/js/flagships/`. Подключается **только в нужном параграфе** через ленивую загрузку (динамический `