docs(plans): добавлен план реализации Алгебры 9 + Геометрии 9

Полный план по учебникам Беларуси 2019:
- Algebra_Arefieva_9kl_rus_2019.pdf (4 главы, 19 §)
- Geometriya_Kazakov_9kl_rus_2019.pdf (4 главы, 16 §)

Порядок реализации: сначала вся Алгебра 9 (Phases 0-5),
затем вся Геометрия 9 (Phases 6-11).

Включает:
- Полное содержание каждой главы с ключевыми формулами
- SVG-стандарт качества (хелперы regularPoly, rightAngle,
  angleArcAuto, tickMarks, arrow, axes2D, plotFunc)
- Типы SVG по темам для каждого учебника
- Правила drag-интерактивов из опыта Геом 8
- Phase-by-phase порядок реализации (11 phase)
- Структура каждой главы (Wave 0 skeleton, Wave 1-N §, Wave финал)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-05-28 23:39:29 +03:00
parent ff78851310
commit 995661158b
+299
View File
@@ -0,0 +1,299 @@
# План реализации: Алгебра 9 + Геометрия 9 (Беларусь)
**Порядок: сначала Алгебра 9, затем Геометрия 9.**
## 🎯 Источники
| Книга | Автор | Изд. | Глав | § | Стр. |
|-------|-------|-----|-----|---|------|
| `Algebra_Arefieva_9kl_rus_2019.pdf` | Арефьева И.Г., Пирютко О.Н. | Народная асвета, 2019 | 4 | 19 | 304 |
| `Geometriya_Kazakov_9kl_rus_2019.pdf` | Казаков В.В. | Народная асвета, 2019 | 4 | 16 + 4 «креативная»* | 197 |
PDF'ы лежат в `g:\Dev\Тесты\Методички\тест_6 класс\Книги\`.
---
## 📕 АЛГЕБРА 9 — содержание
### Глава 1 «Рациональные выражения» (§§1–5)
| § | Тема | Ключ |
|---|------|---|
| §1 | Рациональная дробь | Определение, ОДЗ |
| §2 | Основное свойство. Сокращение | $\dfrac{AC}{BC}=\dfrac{A}{B}$ |
| §3 | Сложение и вычитание | Общий знаменатель |
| §4 | Умножение и деление | $\dfrac{A}{B}\cdot\dfrac{C}{D}=\dfrac{AC}{BD}$ |
| §5 | Преобразование выражений | Многошаговые упрощения |
### Глава 2 «Функции» (§§6–9)
| § | Тема | Ключ |
|---|------|---|
| §6 | Функция числового аргумента | D(f), E(f), способы задания |
| §7 | Свойства функции | Возрастание/убывание, нули, знакопостоянство, max/min |
| §8 | Чётные и нечётные | $f(-x)=f(x)$ vs $f(-x)=-f(x)$ |
| §9 | Графики $y=f(x)+b$, $y=f(x±a)$ | Сдвиги вертикальный / горизонтальный |
### Глава 3 «Дробно-рациональные уравнения и неравенства» (§§10–13)
| § | Тема | Ключ |
|---|------|---|
| §10 | Дробно-рациональные уравнения | Освобождение от знаменателя |
| §11 | Системы нелинейных уравнений | Подстановка / сложение |
| §12 | Длина отрезка. Уравнение окружности | $d=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$, $(x-a)^2+(y-b)^2=R^2$ |
| §13 | Дробно-рациональные неравенства. Метод интервалов | Знаки на интервалах |
### Глава 4 «Прогрессии» (§§14–19)
| § | Тема | Ключ |
|---|------|---|
| §14 | Числовая последовательность | $a_n=f(n)$, способы задания |
| §15 | Арифметическая прогрессия | $a_n=a_1+(n-1)d$ |
| §16 | Сумма n членов арифметической | $S_n=\dfrac{a_1+a_n}{2}n$ |
| §17 | Геометрическая прогрессия | $b_n=b_1q^{n-1}$ |
| §18 | Сумма n членов геометрической | $S_n=\dfrac{b_1(q^n-1)}{q-1}$ |
| §19 | Сумма бесконечно убывающей | $S=\dfrac{b_1}{1-q}$, $|q|<1$ |
**Итого**: 19 параграфов, 4 главы.
---
## 📐 ГЕОМЕТРИЯ 9 — содержание
### Глава I «Соотношения в прямоугольном треугольнике» (§§1–6)
| § | Тема | Формулы |
|---|------|---------|
| §1 | sin, cos, tg, ctg острого угла | $\sin=\dfrac{прот}{гип}$, etc. |
| §2 | Решение прямоугольного треугольника | Все элементы по двум |
| §3 | Тригонометрические формулы | $\sin^2+\cos^2=1$, значения 30°/45°/60° |
| §4 | sin, cos, tg, ctg тупого угла | Единичная окружность, $\sin(180°-\alpha)=\sin\alpha$ |
| §5 | Формулы площади | $S=\frac{1}{2}ab\sin C$, $S_{пар}=ab\sin\alpha$, $S_{4-уг}=\frac{1}{2}d_1d_2\sin\varphi$ |
| §6 | Среднее геометрическое | $h^2=a_1b_1$, $a^2=ca_1$, $b^2=cb_1$ |
### Глава II «Вписанные и описанные окружности» (§§7–9)
| § | Тема | Ключ |
|---|------|---|
| §7 (= §8 в книге) | Описанная/вписанная окружности треугольника | Серединные ⊥, биссектрисы, $S=pr$ |
| §8 (= §9) | Прямоугольный треугольник | $R=c/2$, $r=(a+b-c)/2$ |
| §9 (= §10) | Вписанные/описанные 4-угольники | Вписанный: $\alpha+\gamma=180°$; описанный: $a+c=b+d$ |
### Глава III «Теорема синусов, теорема косинусов» (§§10–12)
| § | Тема | Формула |
|---|------|---------|
| §10 (= §12) | Теорема синусов | $\dfrac{a}{\sin A}=2R$, $R=\dfrac{abc}{4S}$ |
| §11 (= §13) | Теорема косинусов | $a^2=b^2+c^2-2bc\cos A$ |
| §12 (= §14) | Формула Герона. Решение треугольников | $S=\sqrt{p(p-a)(p-b)(p-c)}$, медиана $m_c$ |
### Глава IV «Правильные многоугольники» (§§13–16)
| § | Тема | Ключ |
|---|------|---|
| §13 (= §16) | Правильные многоугольники | $\beta=\dfrac{180°(n-2)}{n}$ |
| §14 (= §17) | Формулы радиусов | $\dfrac{a}{2}=R\sin\dfrac{180°}{n}=r\tan\dfrac{180°}{n}$ |
| §15 (= §18) | $\triangle$, $\Box$, 6-уг | $a=R\sqrt{3}$, $a=R\sqrt{2}$, $a=R$ |
| §16 (= §19) | Длина окружности и площадь круга | $C=2\pi R$, $S=\pi R^2$, дуга, сектор |
**Итого**: 16 параграфов, 4 главы (4 «креативная геометрия» оставлены как boss-задачи, не отдельный §).
---
## 🎨 SVG-СТАНДАРТ КАЧЕСТВА
### Хелперы (вынести в начало каждого ch-файла)
```js
// 1. Регулярный n-угольник
const regularPoly = (cx,cy,R,n,theta0=-Math.PI/2) =>
Array.from({length:n},(_,i)=>{const a=theta0+2*Math.PI*i/n;
return {x:cx+R*Math.cos(a), y:cy+R*Math.sin(a)};});
// 2. L-маркер прямого угла (polyline ВНУТРЬ угла)
const rightAngle = (V,uIn,wIn,s=9) => {
const p1={x:V.x+s*uIn.x,y:V.y+s*uIn.y};
const c ={x:p1.x+s*wIn.x,y:p1.y+s*wIn.y};
const p2={x:V.x+s*wIn.x,y:V.y+s*wIn.y};
return `${p1.x},${p1.y} ${c.x},${c.y} ${p2.x},${p2.y}`;
};
// 3. Дуга угла с автовыбором sweep
const angleArcAuto = (V,uA,uB,R) => {
const sA={x:V.x+R*uA.x,y:V.y+R*uA.y};
const eB={x:V.x+R*uB.x,y:V.y+R*uB.y};
const cross = uA.x*uB.y - uA.y*uB.x;
const sweep = cross>0 ? 1 : 0;
return `M${sA.x},${sA.y} A${R},${R} 0 0,${sweep} ${eB.x},${eB.y}`;
};
// 4. Tick-марки равенства (count = число штрихов)
const tickMarks = (p1,p2,count,color="#0891b2") => { /* perp normal */ };
// 5. Стрелка вектора
const arrow = (p1,p2,color) => { /* line + arrowhead */ };
// 6. Координатная плоскость
const axes2D = (W,H,pad,xmin,xmax,ymin,ymax) => {
// Returns: { svgInner, toX(v), toY(v), unitX, unitY }
};
// 7. График функции y=f(x)
const plotFunc = (f,xmin,xmax,toX,toY,color,N=200) => { /* path d */ };
// 8. Парабола y=ax²+bx+c с подсветкой вершины
const parabolaPlot = (a,b,c, axes, opts) => { /* ... */ };
```
### Правила (обязательны с §1)
1. **Вершины полигонов** — только через тригонометрию `(cx + R·cos θ, cy + R·sin θ)`, никаких "магических" координат
2. **Маркер прямого угла**`rightAngle()` хелпер, L-форма ВНУТРЬ угла, не по кромке
3. **Дуги**`angleArcAuto()`, sweep по знаку cross product
4. **Tick-марки**`tickMarks()` через перпендикуляр к сегменту
5. **Подписи вершин** — Unbounded font-weight 800, **снаружи** полигона
6. **ViewBox** с запасом ≥18px для подписей
7. **KaTeX** — все `\\angle`, `\\dfrac`, `\\sqrt` (двойные backslash в JS template literals)
8. **Drag**`window.addEventListener` + `{passive:false}` + state ВЫШЕ `redraw()`, делегирование через `data-v`
9. **`touch-action:none`** на каждом draggable SVG
10. **Координатная плоскость** — единый стиль (серая сетка, чёрные оси, синие подписи)
### Типы SVG по темам
**АЛГЕБРА 9:**
| Тема | Тип SVG |
|------|---------|
| Рациональные дроби (§§1–5) | Формула + схема ОДЗ |
| Функции (§§6–9) | Координатная плоскость с графиком, slider для b/a в $y=f(x)+b$ |
| Чётные/нечётные | Симметрия графика, отражение |
| Дробно-рациональные уравнения (§10) | Числовая прямая с разрывами |
| Системы нелинейных (§11) | Координатная плоскость + прямая + парабола/окружность |
| Уравнение окружности (§12) | Окружность с центром и радиусом, slider'ы |
| Метод интервалов (§13) | Числовая прямая с корнями и + / − на интервалах |
| Прогрессии (§§14–18) | Точечная диаграмма (n, $a_n$) + прямая (арифм) / экспонента (геом) |
| Сумма бесконечно убывающей (§19) | Числовая ось с убывающими отрезками |
**ГЕОМЕТРИЯ 9:**
| Тема | Тип SVG |
|------|---------|
| sin/cos/tg острого (§1) | Прямоугольный треугольник с подписями сторон |
| Решение прямоугольного (§2) | Slider угла + сторон, авто-вычисление |
| Тригонометрические значения 30/45/60 (§3) | 3 эталонных треугольника бок-о-бок |
| Тупой угол (§4) | **Единичная окружность** + подвижная точка, slider угла |
| Формулы площади (§5) | Треугольник с углом α; параллелограмм с диагоналями |
| Среднее геометрическое (§6) | Прямоугольный треугольник + высота к гипотенузе + 2 подобных подтреугольника |
| Описанная/вписанная окружности (§§7–8) | Треугольник + окружность; **анимация построения** через серединные ⊥ / биссектрисы |
| Прямоугольный + окружности (§8) | Прямоугольный треугольник с диаметром-гипотенузой |
| Вписанные/описанные 4-угольники (§9) | Циклический 4-угольник, описанный 4-угольник |
| Теорема синусов (§10) | Треугольник + описанная окружность, формула $a/\sin A=2R$ |
| Теорема косинусов (§11) | Slider угла → одна сторона пересчитывается |
| Формула Герона + медиана (§12) | Slider 3-х сторон |
| Правильные многоугольники (§§1316) | Slider $n=3..12$, вписанная и описанная окружности с общим центром |
---
## 🚀 ПОРЯДОК РЕАЛИЗАЦИИ (Алгебра → Геометрия)
### Phase 0: **Архитектура** (фундамент)
- `algebra_9_hub.html` skeleton
- `algebra_9_ch1.html` .. `algebra_9_ch4.html` skeletons (CSS, секции, stubs)
- Миграция 020+ для добавления в каталог
- `/js/textbook_svg.js` с хелперами (или inline)
### Phase 1: **Алгебра 9 Глава 1** «Рациональные выражения» (5 §) — ~3 волны
Простая формульная глава, разогрев.
### Phase 2: **Алгебра 9 Глава 2** «Функции» (4 §) — ~3 волны
Очень визуальная — графики, slider'ы сдвигов. Закладываем `axes2D()` и `plotFunc()`.
### Phase 3: **Алгебра 9 Глава 3** «Дробно-рациональные уравнения и неравенства» (4 §) — ~3 волны
Метод интервалов, уравнение окружности → координатная плоскость в действии.
### Phase 4: **Алгебра 9 Глава 4** «Прогрессии» (6 §) — ~4 волны
Финал алгебры. Точечные графики, анимация суммирования.
### Phase 5: **Алгебра 9 финал** — итоговая шпаргалка + 7 интегр. боссов + ачивка
Переход к геометрии.
### Phase 6: **Геометрия 9 архитектура**
- `geometry_9_hub.html`
- `geometry_9_ch1.html` .. `geometry_9_ch4.html` skeletons
- Миграция
### Phase 7: **Геометрия 9 Глава 1** «Соотношения в прямоугольном треугольнике» (6 §) — ~4 волны
SVG-тяжёлая. Закладываем стандарт качества для всей геометрии.
### Phase 8: **Геометрия 9 Глава 2** «Вписанные и описанные окружности» (3 §) — ~2 волны
Циклические/описанные фигуры с построениями.
### Phase 9: **Геометрия 9 Глава 3** «Теорема синусов/косинусов» (3 §) — ~2 волны
Произвольные треугольники + описанная окружность.
### Phase 10: **Геометрия 9 Глава 4** «Правильные многоугольники» (4 §) — ~3 волны
Slider n=3..12.
### Phase 11: **Геометрия 9 финал** — шпаргалка + 7 интегр. боссов + ачивка
---
## 📦 Структура каждой главы (стандарт)
### Wave 0 главы — skeleton
- CSS (палитра 3 цветовых акцента на §)
- Sections со stub-builders
- Hub-карточка обновляется
- Миграция в БД
### Wave 1-N главы — наполнение § (по 2-3 § на волну)
**Каждый § содержит:**
- 3 теоретических карточки с SVG (`theory`, `rule`, `example`)
- 4-6 интерактивов:
1. **SVG-конструктор** (slider / drag)
2. **Пошаговое доказательство** (4-6 шагов с SVG)
3. **Калькулятор** (форма ввода → ответ)
4. **DnD-сортер**
5. **Тренажёр** (5 задач с inline SVG-диаграммами в `q:`)
6. **Босс §** (4 задачи на интеграцию +5 XP каждая)
- Пополнение глоссария
- jsdom-тест проходит
### Wave финал главы
- **Итоговая шпаргалка** — mini-cards с SVG-иконкой и формулой на §
- **Карта связей** — интерактивная SVG-схема концепций
- **7 интегрированных боссов** — каждый требует ≥2 темы, +10 XP
- **Achievement** «Мастер главы N» + 50 XP бонус + confetti
- **Кнопка** перехода к следующей главе/учебнику
---
## 📊 Оценка объёма
| Учебник | § | Ожидаемый LOC |
|---------|---|---|
| Алгебра 9 | 19 | ~22 000 |
| Геометрия 9 | 16 | ~26 000 (SVG-тяжёлая) |
| **Итого** | **35** | **~48 000 LOC** |
Для сравнения: Геометрия 8 = 56 § + 4 финала = ~26 376 LOC. Здесь меньше §, но глубже на §.
---
## ⚠️ Критические правила (на основе опыта Геом 8)
### ❌ НЕ делать
- `setPointerCapture` (теряется после `innerHTML` replace) → используем `window` listeners + state-flag
- `\angle` без удвоения в JS template literals → всегда `\\angle`
- Slider range за пределы математически возможного → проверяем формулы заранее
- `√` в JS строках → пишем символы `√` напрямую
- Арки `sweep=1` без проверки направления → используем `angleArcAuto()`
- Вершины полигона "на глаз" → всегда тригонометрия
- Tick-марки в произвольных местах → через `tickMarks()` хелпер
### ✅ Обязательно
- Каждый коммит → jsdom-тест 100% pass
- Аудит SVG-геометрии перед каждым commit
- KaTeX-эскейпы через grep после каждого Wave
- Drag всегда использует state ВЫШЕ `redraw()`
- Координаты пересчитываются формулами
- Все builder-функции в registry должны быть НЕ stub'ами в конце Wave финала
---
## 🎬 Запуск
**Начинаем с Phase 0**: skeleton всех 4 файлов Алгебры 9 + миграция + хелперы.
Потом Phase 1: Глава 1 «Рациональные выражения» — ~3 волны до финала.
После завершения всей Алгебры 9 (Phase 5) — переходим к Геометрии 9 (Phase 6).