5381679c68
Зафиксирована накопленная незакоммиченная работа рабочего дерева, КРОМЕ файлов учебника «Химия 7» (migration 046, chemistry_7_*.html, chem7_svg.js, тест — оставлены незакоммиченными по запросу). Включает: модуль биохимии (ядро BIO, 3D VSEPR, химдвижок, баланс, challenges, пути из БД), System Health Level 1 (вердикт/мониторинг), а также frontend- страницы и lab/textbooks-правки параллельной сессии. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
425 lines
30 KiB
Markdown
425 lines
30 KiB
Markdown
# План реализации: Физика 10 (Беларусь, Громыко, 2019)
|
||
|
||
**Источник:** `fizika_10kl_gromika_rus_2019.pdf` (267 стр., 2 части, 6 глав, 37 §)
|
||
**Издательство:** «Адукацыя і выхаванне», 2019
|
||
**Уровень:** базовый + повышенный (с электронным приложением).
|
||
|
||
> **Самый большой учебник во всём проекте** — 37 параграфов против 19 в Алгебре 9 и 16 в Геометрии 9. Учитывает весь опыт 10 предыдущих учебников: единый KaTeX-эскейп, ноль пикселей в подписях, ноль эмодзи, 3D-движок `g3d.js`, snap-точки в slider'ах, цветовая кодировка, drag-to-rotate. **Главная фишка** — настоящие физические **симуляции**: броуновское движение, изопроцессы (PV-диаграммы), линии поля, электрические цепи, движение заряженных частиц в магнитном поле, явление индукции.
|
||
|
||
---
|
||
|
||
## 🎯 Содержание учебника
|
||
|
||
### Часть 1. МОЛЕКУЛЯРНАЯ ФИЗИКА
|
||
|
||
**Глава 1. Основы молекулярно-кинетической теории (§§1–10)**
|
||
| § | Тема | Ключевые формулы |
|
||
|---|------|------------------|
|
||
| §1 | Основные положения МКТ | 3 положения: вещество — частицы, частицы движутся, частицы взаимодействуют |
|
||
| §2 | Масса и размеры молекул. Количество вещества | $N_A = 6.022 \cdot 10^{23}$, $M = m \cdot N_A$, $\nu = N/N_A = m/M$ |
|
||
| §3 | Макро- и микропараметры. Идеальный газ. Основное уравнение МКТ | $p = \dfrac{1}{3} n m_0 \overline{v^2} = \dfrac{2}{3} n \overline{E_k}$ |
|
||
| §4 | Тепловое равновесие. Температура | $\overline{E_k} = \dfrac{3}{2} kT$, шкала Кельвина: $T = t + 273$ |
|
||
| §5 | Уравнение состояния идеального газа | $pV = \nu RT$, $pV = \dfrac{m}{M} RT$ (Клапейрон–Менделеев) |
|
||
| §6 | Изопроцессы | Изотерма $pV = \text{const}$, изобара $V/T = \text{const}$, изохора $p/T = \text{const}$ |
|
||
| §7 | Строение и свойства твёрдых тел | Кристаллы (моно-, поликристаллы), аморфные тела, анизотропия |
|
||
| §8 | Строение и свойства жидкостей | Поверхностное натяжение, смачивание |
|
||
| §9 | Испарение и конденсация. Насыщенный пар | Динамическое равновесие, давление насыщенного пара |
|
||
| §10 | Влажность воздуха | $\varphi = \dfrac{p}{p_н} \cdot 100\%$, точка росы, психрометр |
|
||
|
||
**Глава 2. Основы термодинамики (§§11–15)**
|
||
| § | Тема | Ключевые формулы |
|
||
|---|------|------------------|
|
||
| §11 | Внутренняя энергия | $U = \dfrac{3}{2} \nu R T$ (одноатомный газ) |
|
||
| §12 | Работа в термодинамике | $A = p \Delta V$ (изобарный), графически площадь под кривой |
|
||
| §13 | Количество теплоты | $Q = cm \Delta T$, $Q = \lambda m$ (плавление), $Q = rm$ (испарение), $Q = qm$ (сгорание) |
|
||
| §14 | Первый закон термодинамики | $\Delta U = Q + A_{внеш}$ или $Q = \Delta U + A_{газ}$ |
|
||
| §15 | Тепловые двигатели. КПД | $\eta = \dfrac{A}{Q_1} = \dfrac{Q_1 - Q_2}{Q_1}$, $\eta_{Карно} = \dfrac{T_1 - T_2}{T_1}$ |
|
||
|
||
### Часть 2. ЭЛЕКТРОДИНАМИКА
|
||
|
||
**Глава 3. Электростатика (§§16–24)**
|
||
| § | Тема | Ключевые формулы |
|
||
|---|------|------------------|
|
||
| §16 | Электрический заряд. Закон сохранения | $q = ne$, $e = 1.6 \cdot 10^{-19}$ Кл, $\sum q = \text{const}$ |
|
||
| §17 | Закон Кулона | $F = k \dfrac{|q_1 q_2|}{r^2}$, $k = 9 \cdot 10^9$ Н·м²/Кл² |
|
||
| §18 | Электростатическое поле | Силовая характеристика, источник |
|
||
| §19 | Напряжённость поля. Принцип суперпозиции | $\vec{E} = \dfrac{\vec{F}}{q_{пр}}$, $\vec{E} = \sum \vec{E_i}$ |
|
||
| §20 | Линии напряжённости | Силовые линии, поле точечного заряда, диполя |
|
||
| §21 | Работа поля. Потенциал | $A = qU$, $\varphi = \dfrac{W_p}{q}$ |
|
||
| §22 | Разность потенциалов. Напряжение | $U = \varphi_1 - \varphi_2$, $E = U/d$ (однородное) |
|
||
| §23 | Конденсаторы. Электроёмкость | $C = q/U$, $C = \dfrac{\varepsilon \varepsilon_0 S}{d}$ |
|
||
| §24 | Энергия поля конденсатора | $W = \dfrac{CU^2}{2} = \dfrac{q^2}{2C} = \dfrac{qU}{2}$ |
|
||
|
||
**Глава 4. Постоянный электрический ток (§§25–26)**
|
||
| § | Тема | Ключевые формулы |
|
||
|---|------|------------------|
|
||
| §25 | ЭДС источника тока | $\mathcal{E} = A_{ст}/q$, ЭДС, сторонние силы |
|
||
| §26 | Закон Ома для полной цепи | $I = \dfrac{\mathcal{E}}{R + r}$, КПД $\eta = U/\mathcal{E}$ |
|
||
|
||
**Глава 5. Магнитное поле. Электромагнитная индукция (§§27–33)**
|
||
| § | Тема | Ключевые формулы |
|
||
|---|------|------------------|
|
||
| §27 | Магнитное поле тока | Опыт Эрстеда, взаимодействие проводников |
|
||
| §28 | Индукция магнитного поля | $\vec{B}$, правило буравчика, линии индукции |
|
||
| §29 | Сила Ампера | $F_A = BIL\sin\alpha$, правило левой руки |
|
||
| §30 | Сила Лоренца | $F_L = qvB\sin\alpha$, движение по окружности: $R = \dfrac{mv}{qB}$ |
|
||
| §31 | Магнитный поток. Электромагнитная индукция | $\Phi = BS\cos\alpha$, опыты Фарадея |
|
||
| §32 | Правило Ленца. Закон ЭМИ | $\mathcal{E}_i = -\dfrac{d\Phi}{dt}$ |
|
||
| §33 | Самоиндукция. Индуктивность | $\mathcal{E}_{si} = -L \dfrac{dI}{dt}$, $W_L = \dfrac{LI^2}{2}$ |
|
||
|
||
**Глава 6. Электрический ток в различных средах (§§34–37)**
|
||
| § | Тема | Ключевые формулы |
|
||
|---|------|------------------|
|
||
| §34 | Ток в металлах. Сверхпроводимость | Свободные электроны, $\rho(T) = \rho_0(1+\alpha t)$ |
|
||
| §35 | Ток в электролитах | Электролиз, законы Фарадея: $m = kIt$, $k = \dfrac{M}{F n}$ |
|
||
| §36 | Ток в газах. Плазма | Самостоятельный/несамостоятельный разряд, виды разрядов |
|
||
| §37 | Ток в полупроводниках | Собственная и примесная проводимость, n-тип, p-тип, p-n-переход |
|
||
|
||
**ИТОГО:** 6 глав, 37 параграфов, **2 части**.
|
||
|
||
---
|
||
|
||
## 🎨 SVG-СТАНДАРТ КАЧЕСТВА ДЛЯ ФИЗИКИ
|
||
|
||
Это первая физика в проекте — нужны новые хелперы. Унаследует всё от математических учебников + добавляет physics-specific.
|
||
|
||
### Унаследованные хелперы (из Алгебры 11 / Геометрии 11)
|
||
- `axes2D(W, H, pad, xmin, xmax, ymin, ymax)` — координатная плоскость
|
||
- `plotFunc(f, xmin, xmax, toX, toY, color, N)` — график функции
|
||
- `pointWithDrop(x, fx, toX, toY, color, label)` — точка с проекциями
|
||
- `asymptote(orientation, value, ...)` — асимптота
|
||
- `snapToValue(value, snaps, tolerance)` — snap-точки
|
||
- `rightAngleMark`, `angleArcAuto`, `unitVec`, `deg2rad`
|
||
- **`g3d.js`** — мини-3D движок (для линий магнитной индукции, движения частиц)
|
||
|
||
### Новые physics-specific хелперы (в `frontend/js/phys.js`)
|
||
|
||
```javascript
|
||
// === Стрелка вектора (2D) ===
|
||
function drawArrow(x1, y1, x2, y2, color, width, headSize) {
|
||
// Возвращает SVG: линия + треугольная стрелка на конце
|
||
const dx = x2 - x1, dy = y2 - y1;
|
||
const len = Math.sqrt(dx*dx + dy*dy);
|
||
const ux = dx / len, uy = dy / len;
|
||
const px = -uy, py = ux; // перпендикуляр
|
||
const h = headSize || 10;
|
||
const w = (headSize || 10) * 0.6;
|
||
const tipX = x2, tipY = y2;
|
||
const baseX = x2 - ux * h, baseY = y2 - uy * h;
|
||
const leftX = baseX + px * w, leftY = baseY + py * w;
|
||
const rightX = baseX - px * w, rightY = baseY - py * w;
|
||
return `<line x1="${x1}" y1="${y1}" x2="${baseX.toFixed(1)}" y2="${baseY.toFixed(1)}" stroke="${color}" stroke-width="${width || 2}"/>`
|
||
+ `<polygon points="${tipX},${tipY} ${leftX.toFixed(1)},${leftY.toFixed(1)} ${rightX.toFixed(1)},${rightY.toFixed(1)}" fill="${color}"/>`;
|
||
}
|
||
|
||
// === Линии электрического поля от точечного заряда ===
|
||
function fieldLinesPointCharge(cx, cy, sign, scale, numLines) {
|
||
// sign: +1 или -1 (от знака заряда)
|
||
// numLines: число линий (12-24)
|
||
// Возвращает массив SVG-линий — стрелки наружу для +q, внутрь для -q
|
||
let s = '';
|
||
const N = numLines || 16;
|
||
for (let i = 0; i < N; i++) {
|
||
const a = 2 * Math.PI * i / N;
|
||
const r1 = 15, r2 = scale;
|
||
const x1 = cx + r1 * Math.cos(a), y1 = cy + r1 * Math.sin(a);
|
||
const x2 = cx + r2 * Math.cos(a), y2 = cy + r2 * Math.sin(a);
|
||
if (sign > 0) s += drawArrow(x1, y1, x2, y2, '#dc2626', 1.5);
|
||
else s += drawArrow(x2, y2, x1, y1, '#2563eb', 1.5);
|
||
}
|
||
return s;
|
||
}
|
||
|
||
// === Линии поля диполя (две точечных зарядов противоположных) ===
|
||
function fieldLinesDipole(c1, c2, scale, numLines) {
|
||
// Параметрически — линия от +q к -q вдоль кривых, перпендикулярных эквипотенциалям
|
||
// Упрощённо: использовать numerical integration по полю
|
||
// ...
|
||
}
|
||
|
||
// === Электрическая схема: компоненты ===
|
||
function batteryEMF(x, y, EMF, orientation) {
|
||
// Возвращает SVG условного обозначения батареи (две полоски + подпись ε)
|
||
}
|
||
function resistor(x, y, w, h, R, orientation) {
|
||
// Возвращает SVG зигзага резистора + подпись R
|
||
}
|
||
function capacitor(x, y, C, orientation) {
|
||
// Две параллельные линии + подпись C
|
||
}
|
||
function ammeter(x, y) {
|
||
// Круг с буквой A
|
||
}
|
||
function voltmeter(x, y) {
|
||
// Круг с буквой V
|
||
}
|
||
function inductor(x, y, L, orientation) {
|
||
// Серия маленьких полукругов
|
||
}
|
||
function lightbulb(x, y) {
|
||
// Круг с крестиком (или волной)
|
||
}
|
||
|
||
// === Магнитное поле: стрелки В через плоскость экрана ===
|
||
function magneticField(x, y, direction, dx, dy) {
|
||
// direction: 'in' (крест) или 'out' (точка)
|
||
// Рисует сетку 5x5 крестиков (вошло в плоскость) или точек (вышло из плоскости)
|
||
let s = '';
|
||
for (let i = 0; i < 5; i++) {
|
||
for (let j = 0; j < 5; j++) {
|
||
const cx = x + i * dx, cy = y + j * dy;
|
||
if (direction === 'in') {
|
||
s += `<circle cx="${cx}" cy="${cy}" r="6" fill="none" stroke="#0891b2" stroke-width="1.5"/>`;
|
||
s += `<line x1="${cx-4}" y1="${cy-4}" x2="${cx+4}" y2="${cy+4}" stroke="#0891b2" stroke-width="1.5"/>`;
|
||
s += `<line x1="${cx-4}" y1="${cy+4}" x2="${cx+4}" y2="${cy-4}" stroke="#0891b2" stroke-width="1.5"/>`;
|
||
} else {
|
||
s += `<circle cx="${cx}" cy="${cy}" r="6" fill="none" stroke="#0891b2" stroke-width="1.5"/>`;
|
||
s += `<circle cx="${cx}" cy="${cy}" r="2" fill="#0891b2"/>`;
|
||
}
|
||
}
|
||
}
|
||
return s;
|
||
}
|
||
|
||
// === PV-диаграмма с изопроцессами ===
|
||
function pvDiagram(W, H, pad, pMax, vMax) {
|
||
// Возвращает axes2D-объект с диапазоном (0..vMax, 0..pMax)
|
||
// Подписи осей: P (атм или Па), V (л или м³)
|
||
}
|
||
|
||
// === Молекула газа (частица) ===
|
||
function molecule(x, y, r, color) {
|
||
return `<circle cx="${x}" cy="${y}" r="${r}" fill="${color}" stroke="#0f172a" stroke-width="0.8"/>`;
|
||
}
|
||
|
||
// === Симуляция броуновского движения / движения молекул газа ===
|
||
class GasSimulation {
|
||
constructor(opts) {
|
||
this.W = opts.W; this.H = opts.H;
|
||
this.N = opts.N || 30;
|
||
this.particles = [];
|
||
for (let i = 0; i < this.N; i++) {
|
||
this.particles.push({
|
||
x: Math.random() * this.W,
|
||
y: Math.random() * this.H,
|
||
vx: (Math.random() - 0.5) * opts.speed,
|
||
vy: (Math.random() - 0.5) * opts.speed
|
||
});
|
||
}
|
||
}
|
||
step(dt) {
|
||
this.particles.forEach(p => {
|
||
p.x += p.vx * dt; p.y += p.vy * dt;
|
||
// отражение от стенок
|
||
if (p.x < 0 || p.x > this.W) p.vx = -p.vx;
|
||
if (p.y < 0 || p.y > this.H) p.vy = -p.vy;
|
||
});
|
||
}
|
||
render() {
|
||
return this.particles.map(p => molecule(p.x, p.y, 4, '#2563eb')).join('');
|
||
}
|
||
}
|
||
```
|
||
|
||
### Цветовая кодировка для физики
|
||
|
||
- **Положительный заряд** — красный (`#dc2626`)
|
||
- **Отрицательный заряд** — синий (`#2563eb`)
|
||
- **Электрическое поле $\vec{E}$** — оранжевый (`#ea580c`)
|
||
- **Магнитное поле $\vec{B}$** — фиолетовый (`#7c3aed`)
|
||
- **Сила** — зелёный (`#10b981`)
|
||
- **Скорость** — голубой (`#0891b2`)
|
||
- **Молекулы газа** — синие точки
|
||
- **Температура** — градиент от синего (холод) к красному (горячо)
|
||
- **Ток** — янтарный (`#d97706`)
|
||
- **Резистор / провод** — тёмно-серый (`#374151`)
|
||
- **Изотерма** (P-V) — оранжевый
|
||
- **Изобара** (V-T) — синий
|
||
- **Изохора** (P-T) — зелёный
|
||
|
||
### Правила (обязательны с §1)
|
||
|
||
1. **Все единицы измерения через KaTeX** — `\\text{Н}`, `\\text{м}^2$, `\\text{Дж/(моль·К)}` — никогда сырой текст.
|
||
2. **Slider'ы — в реальных физических величинах** с разумными диапазонами:
|
||
- Температура: 100..500 К (или $-100..200$ °C)
|
||
- Давление: 0.5..5 атм или $10^4..10^6$ Па
|
||
- Объём: 1..10 л или $0.001..0.01$ м³
|
||
- Заряд: $\pm 10^{-9}..10^{-6}$ Кл (нКл, мкКл)
|
||
- Расстояние между зарядами: 0.01..1 м
|
||
- Напряжение: 1..220 В
|
||
- Ток: 0.01..10 А
|
||
- Магнитная индукция: $10^{-3}..1$ Тл
|
||
3. **Snap-точки** на эталонных значениях: $T = 273$ К ($0$ °C), $T = 0$ K, $p = 1$ атм.
|
||
4. **Все формулы с КаTeX**, двойные backslash.
|
||
5. **Векторы — со стрелками** через `drawArrow`. Никогда `→` в тексте — через KaTeX `\\vec{E}`.
|
||
6. **Подписи единиц измерения** — обязательны на всех осях графиков, во всех результатах калькуляторов.
|
||
7. **Симуляции — через `requestAnimationFrame`** с возможностью паузы и сброса.
|
||
8. **Эмодзи запрещены.**
|
||
9. **Никаких пикселей в подписях** — всё в СИ или производных единицах.
|
||
|
||
### Типы интерактивов по темам
|
||
|
||
| Тип | Применение |
|
||
|-----|-----------|
|
||
| **Симуляция движения молекул** | §1 (МКТ), §3 (давление как удары о стенку), §9 (испарение) |
|
||
| **PV/VT/PT диаграммы** | §6 (изопроцессы — главное!), §15 (цикл Карно) |
|
||
| **Калькулятор Клапейрона–Менделеева** | §5 |
|
||
| **Психрометрический анализ** | §10 |
|
||
| **Поток теплоты симуляция** | §13 |
|
||
| **Цикл Карно — анимированная PV-диаграмма** | §15 |
|
||
| **Закон Кулона: 3D-визуализатор сил** | §17 |
|
||
| **Линии напряжённости электрического поля** | §20 (главный визуал электростатики) |
|
||
| **Эквипотенциальные поверхности** | §22 |
|
||
| **Конденсатор-конструктор** | §23 |
|
||
| **Электрическая цепь — конструктор** | §25, §26 |
|
||
| **Правило буравчика / левой руки — 3D** | §28, §29, §30 |
|
||
| **Движение заряженной частицы в B-поле — 3D-траектория** | §30 (главный визуал магнетизма) |
|
||
| **Опыты Фарадея — анимация катушки и магнита** | §31 |
|
||
| **Самоиндукция — LR-цепь, ток как функция времени** | §33 |
|
||
| **p-n переход — визуализация дырок и электронов** | §37 |
|
||
|
||
---
|
||
|
||
## 🚀 ПОРЯДОК РЕАЛИЗАЦИИ
|
||
|
||
Учитывая 37 параграфов — самый большой проект, разбиваем на **8 фаз**.
|
||
|
||
### Phase 0: Архитектура (фундамент)
|
||
- `physics_10_hub.html` — палитра **yellow/amber** (классический физический цвет) или **orange**
|
||
- 6 ch-файлов: `physics_10_ch1.html` (МКТ), `_ch2.html` (термодинамика), `_ch3.html` (электростатика), `_ch4.html` (пост. ток), `_ch5.html` (магнитное поле), `_ch6.html` (ток в средах)
|
||
- Миграция `0XX_physics_10_hub.sql` (следующий доступный номер)
|
||
- **`frontend/js/phys.js`** — новый модуль physics-хелперов (drawArrow, fieldLines, magneticField, схемы, GasSimulation, pvDiagram)
|
||
- 2D-хелперы (axes2D, plotFunc, etc.) и G3D подключены в каждый ch
|
||
- KaTeX CDN + auto-render
|
||
- POLISH CSS + bump-score JS
|
||
|
||
### Phase 1: Молекулярная физика — Глава 1 (10 §) — 5 волн
|
||
Самая большая глава учебника. По 2 §§ на волну.
|
||
- **Wave 1**: §1 (МКТ основные положения, БРОУНОВСКОЕ ДВИЖЕНИЕ симуляция) + §2 (масса/количество вещества, калькулятор $N$, $\nu$, $m$).
|
||
- **Wave 2**: §3 (давление через удары молекул, симуляция $p = \frac{1}{3} n m \overline{v^2}$) + §4 (температура, шкалы, $\overline{E_k} = \frac{3}{2}kT$).
|
||
- **Wave 3**: §5 (уравнение Клапейрона–Менделеева, калькулятор) + §6 (**изопроцессы — главный визуал главы**: PV/VT/PT диаграммы с slider'ом T, V, p).
|
||
- **Wave 4**: §7 (твёрдые тела, виды кристаллов SVG) + §8 (жидкости, поверхностное натяжение симуляция).
|
||
- **Wave 5**: §9 (испарение, насыщенный пар, динамическое равновесие симуляция) + §10 (влажность, психрометрический калькулятор) + **Финал главы 1** (7 боссов + ачивка «Мастер МКТ»).
|
||
|
||
### Phase 2: Молекулярная физика — Глава 2 «Термодинамика» (5 §) — 3 волны
|
||
- **Wave 1**: §11 (внутренняя энергия, $U = \frac{3}{2} \nu R T$) + §12 (работа в термодинамике, площадь под P-V кривой).
|
||
- **Wave 2**: §13 (количество теплоты — все 4 формулы) + §14 (первый закон термодинамики, применение к изопроцессам).
|
||
- **Wave 3**: §15 (тепловые двигатели, **цикл Карно — анимация PV-цикла**, КПД) + **Финал главы 2** (5 боссов + ачивка «Мастер термодинамики»).
|
||
|
||
### Phase 3: Электростатика (9 §) — 5 волн
|
||
- **Wave 1**: §16 (заряд, закон сохранения) + §17 (**закон Кулона — визуализатор сил**, slider $q_1, q_2, r$).
|
||
- **Wave 2**: §18 (электрическое поле) + §19 (напряжённость, суперпозиция).
|
||
- **Wave 3**: §20 (**линии напряжённости — главный визуал** — поле точечного заряда, диполя, двух одноимённых) + §21 (работа поля, потенциал).
|
||
- **Wave 4**: §22 (разность потенциалов, напряжение, $E = U/d$) + §23 (конденсаторы, $C = \varepsilon \varepsilon_0 S/d$).
|
||
- **Wave 5**: §24 (энергия поля конденсатора) + **Финал главы 3** (7 боссов + ачивка «Мастер электростатики»).
|
||
|
||
### Phase 4: Постоянный ток (2 §) — 1 волна
|
||
- **Wave 1**: §25 (ЭДС, сторонние силы) + §26 (закон Ома для полной цепи, **конструктор электрической цепи**) + **Финал главы 4** (5 боссов).
|
||
|
||
### Phase 5: Магнитное поле и индукция (7 §) — 4 волны
|
||
- **Wave 1**: §27 (опыт Эрстеда, симуляция) + §28 (индукция, правило буравчика, **3D-линии магнитной индукции вокруг проводника**).
|
||
- **Wave 2**: §29 (сила Ампера, правило левой руки, симуляция) + §30 (**сила Лоренца — 3D-движение частицы по спирали в B-поле**).
|
||
- **Wave 3**: §31 (магнитный поток, **опыты Фарадея — анимация катушки и магнита**) + §32 (правило Ленца, закон ЭМИ).
|
||
- **Wave 4**: §33 (самоиндукция, индуктивность, LR-цепь) + **Финал главы 5** (7 боссов + ачивка «Мастер магнетизма»).
|
||
|
||
### Phase 6: Ток в различных средах (4 §) — 2 волны
|
||
- **Wave 1**: §34 (металлы, сверхпроводимость) + §35 (электролиты, законы Фарадея).
|
||
- **Wave 2**: §36 (газы, плазма, виды разрядов) + §37 (полупроводники, **p-n переход — визуализация дырок и электронов**, n-/p-тип) + **Финал главы 6** (5 боссов + ачивка «Мастер токов»).
|
||
|
||
### Phase 7: Финал курса Физика 10
|
||
- Итоговая шпаргалка (6 mini-карточек: МКТ, термодинамика, электростатика, ток, магнетизм, ток в средах)
|
||
- **10 интегрированных боссов**, комбинирующих темы из разных глав:
|
||
1. **МКТ + термодинамика**: $U$ и $T$ моноатомного газа
|
||
2. **Изопроцесс + работа**: $A$ за изобарное расширение
|
||
3. **Цикл Карно**: КПД при $T_1 = 600$ К, $T_2 = 300$ К
|
||
4. **Закон Кулона + суперпозиция**: сила на 3-й заряд от двух источников
|
||
5. **Конденсатор + энергия**: $W$ от $C$, $U$
|
||
6. **Закон Ома для полной цепи + КПД**
|
||
7. **Сила Лоренца + радиус**: $R = mv/(qB)$
|
||
8. **Закон ЭМИ Фарадея**: $\mathcal{E}_i$ от $d\Phi/dt$
|
||
9. **Самоиндукция + энергия**: $W_L = LI^2/2$
|
||
10. **Магистр электродинамики**: синтез
|
||
- Ачивка **«Магистр физики 10»** (+150 XP — крупнейший курс)
|
||
- Кнопка «К каталогу учебников» → `/textbooks`
|
||
|
||
---
|
||
|
||
## 📦 Структура каждого § (стандарт)
|
||
|
||
### Wave 0 главы — skeleton (включено в Phase 0)
|
||
- CSS + цветовая палитра 3 акцентов на §
|
||
- Sections + stub-builders
|
||
- Hub-карточка обновляется
|
||
- Миграция в БД
|
||
|
||
### Wave N — наполнение § (по 2 § на волну)
|
||
|
||
**Каждый § содержит:**
|
||
- **3 теоретические карточки** (`theory`, `rule`, `example`) с SVG-схемами/графиками
|
||
- **4 интерактива** (`.wg` виджеты):
|
||
1. **Симуляция** или **3D/SVG-визуализатор** (главный)
|
||
2. **Калькулятор закона** (ввод параметров → формула с подстановкой → результат с единицами)
|
||
3. **DnD/Квикфайр** (понятийный)
|
||
4. **Тренажёр расчётных задач** (5-6 задач с числовым ответом, допуск 1-5%)
|
||
- **Кнопка «Я прочитал § (+10 XP)»**
|
||
- **Прогресс/XP**: IV1 15%/10XP, IV2 15%/10XP, IV3 25%/15XP, IV4 25%/15XP, чтение 30%/10XP
|
||
|
||
### Wave финал главы
|
||
- **Итоговая шпаргалка** с формулами
|
||
- **5-7 интегрированных боссов** (синтез тем главы)
|
||
- **Ачивка «Мастер главы N»** + 50 XP + confetti
|
||
- **Кнопка** перехода к следующей главе
|
||
|
||
---
|
||
|
||
## 📊 Оценка объёма
|
||
|
||
| Глава | § | LOC |
|
||
|-------|---|-----|
|
||
| Phase 0: skeleton + phys.js | — | 2500 |
|
||
| Глава 1 МКТ (§§1-10) | 10 | 13 000 |
|
||
| Глава 2 Термодинамика (§§11-15) | 5 | 6 500 |
|
||
| Глава 3 Электростатика (§§16-24) | 9 | 12 000 |
|
||
| Глава 4 Пост. ток (§§25-26) | 2 | 3 000 |
|
||
| Глава 5 Магнетизм (§§27-33) | 7 | 10 500 |
|
||
| Глава 6 Ток в средах (§§34-37) | 4 | 5 500 |
|
||
| Phase 7 финал курса | — | 1 500 |
|
||
| **Итого** | **37** | **~54 500 LOC** |
|
||
|
||
Это **больше**, чем Геометрия 11 (~30K) или Алгебра 9 (~30K). Самый объёмный курс.
|
||
|
||
---
|
||
|
||
## ⚠️ Критические правила (опыт всех 10 предыдущих учебников)
|
||
|
||
### ❌ НЕ делать
|
||
- **Slider'ы в пиксельных диапазонах** (40..150). Только в реальных физических единицах с правильным масштабом отрисовки.
|
||
- **Подписи без единиц измерения** ($p = 100$ — это что? Па? атм?). Всегда: $p = 1$ атм $= 10^5$ Па.
|
||
- **Эмодзи** (`⚠`, `🌡️`, `🔋`). Только inline SVG.
|
||
- **Одиночный `\` перед буквой** в JS template literals: `\dfrac`, `\sin`, `\vec`. ВСЕГДА `\\dfrac`.
|
||
- **Сырой KaTeX в `<option>`** — KaTeX там не рендерится. Только unicode-текст в `<option>`.
|
||
- **Эталонные значения вместо реальных** — в задачах используй $\pi = 3.14$, $g = 10$ м/с², $k_B = 1.38 \cdot 10^{-23}$ Дж/К ровно.
|
||
- **Symbol `\degree`** не существует в KaTeX. Используй `^\\circ` для °.
|
||
- **Бесконечные симуляции без паузы** — всегда кнопка «Пауза / Сброс» и `cancelAnimationFrame` при unmount.
|
||
|
||
### ✅ Обязательно
|
||
- **Все единицы СИ в формулах** — никаких ватт в задаче без обозначения «Вт».
|
||
- **Snap-точки в slider'ах** для эталонных значений: $T = 273$ К, $p = 1$ атм, $g = 10$ м/с².
|
||
- **Цветовая кодировка** едина по всем § (заряд+/−, поле $E$/$B$, сила, скорость, ток).
|
||
- **KaTeX-аудит** через `node` после каждого Wave (паттерн `[^\\]\\[a-z]{2,}` в JS-блоках).
|
||
- **JS parse-check** через `new Function(scriptBody)` после каждого Wave.
|
||
- **Авторов нет** — в hub footer'е только «Интерактивный учебник «Физика — 10 класс» · LearnSpace» (как сделали для остальных).
|
||
- **Симуляции** должны иметь паузу, перезапуск, и быть **физически корректными**: реальная скорость, реальная масса, реальные коэффициенты.
|
||
|
||
---
|
||
|
||
## 🎬 Запуск
|
||
|
||
**Phase 0**: skeleton 6 ch-файлов + hub + миграция + новый модуль `phys.js` со всеми physics-хелперами.
|
||
|
||
Палитра hub: **yellow/amber** (классическая для физики) — `--pri:#ca8a04` (yellow-600), `--pri-d:#a16207` (yellow-700), `--pri-soft:#fef3c7`. Header gradient: `linear-gradient(110deg,#713f12 0%,#ca8a04 55%,#fde047 100%)`. Эта палитра отличается от Алгебры 11 (teal) и Геометрии 11 (cyan).
|
||
|
||
После Phase 0 → Phase 1 Wave 1 (§1 МКТ + §2 масса молекул).
|
||
|
||
После завершения всех 8 Phase Физика 10 — план одного 10-класса завершён (можно потом план Алгебры 10 + Геометрии 10).
|