diff --git a/frontend/textbooks/geometry_8_ch3.html b/frontend/textbooks/geometry_8_ch3.html index ecf9da7..c1e3d35 100644 --- a/frontend/textbooks/geometry_8_ch3.html +++ b/frontend/textbooks/geometry_8_ch3.html @@ -1381,7 +1381,7 @@ function buildP3(){ const kVal=document.getElementById('p3-k-val'); const svgWrap=document.getElementById('p3-sim-svg'); const infoEl=document.getElementById('p3-sim-info'); - // базовый треугольник: A=(80,20), B=(20,120), C=(160,120) + // базовый треугольник T1: B=(20,120), C=(160,120), A=(80,20) const Ax=80,Ay=20,Bx=20,By=120,Cx=160,Cy=120; const a=Math.hypot(Cx-Bx,Cy-By); // BC const b=Math.hypot(Ax-Cx,Ay-Cy); // CA @@ -1389,32 +1389,39 @@ function buildP3(){ function draw(){ const k=+kSl.value/10; kVal.textContent=k.toFixed(1); - // второй треугольник масштабируем от центра C' = (240, 120) - const ox=240, oy=120; - const Ax2=ox+(Ax-Cx)/k, Ay2=oy+(Ay-Cy)/k; - const Bx2=ox+(Bx-Cx)/k, By2=oy+(By-Cy)/k; - const Cx2=ox, Cy2=oy; - const W=380, H=160; + // второй треугольник — те же пропорции, масштаб 1/k + // T2 anchor: B2x = Cx + 50px gap, base2 = (Cx-Bx)/k + const base1=Cx-Bx; // 140 + const base2=base1/k; + const B2x=Cx+50, B2y=120; + const C2x=B2x+base2, C2y=120; + // A2: same relative shape — horizontal offset of A from B in T1 = (Ax-Bx)/base1 + const A2x=B2x+(Ax-Bx)*base2/base1; + const A2y=B2y+(Ay-By)*base2/base1; + const W=Math.max(380, Math.ceil(C2x+30)); + const H=160; let s=``; - // большой треугольник + // k-label at top centre + s+=`k = ${k.toFixed(1)}`; + // большой треугольник T1 s+=``; s+=`A`; - s+=`B`; + s+=`B`; s+=`C`; - // подписи сторон - s+=`a=${fmt(a/10)}`; - s+=`c=${fmt(c/10)}`; - s+=`b=${fmt(b/10)}`; - // второй треугольник - s+=``; - s+=`A'`; - s+=`B'`; - s+=`C'`; - // подписи сторон 2 + // подписи сторон T1 — OUTSIDE + s+=`a=${fmt(a/10)}`; + s+=`c=${fmt(c/10)}`; + s+=`b=${fmt(b/10)}`; + // второй треугольник T2 — separated to the right const a2=a/k,b2=b/k,c2=c/k; - s+=`a'=${fmt(a2/10)}`; - // k-label - s+=`k = ${k.toFixed(1)}`; + s+=``; + s+=`A'`; + s+=`B'`; + s+=`C'`; + // подписи сторон T2 — OUTSIDE + s+=`a'=${fmt(a2/10)}`; + s+=`c'=${fmt(c2/10)}`; + s+=`b'=${fmt(b2/10)}`; s+=''; svgWrap.innerHTML=s; infoEl.innerHTML=`$k=${k.toFixed(1)}$: $a/a'=k=${k.toFixed(1)} \\to a'=${fmt(a/10/k)}$, $b'=${fmt(b/10/k)}$, $c'=${fmt(c/10/k)}$. Углы всегда равны: $\\angle A=\\angle A', \\angle B=\\angle B', \\angle C=\\angle C'$.`; @@ -2194,7 +2201,7 @@ function buildP5(){ (function(){ const steps=[ {desc:'Шаг 1. Даны $\\triangle ABC$ и $\\triangle A\'B\'C\'$ с $\\angle A = \\angle A\'$ и $\\angle B = \\angle B\'$. Требуется доказать $\\triangle ABC \\sim \\triangle A\'B\'C\'$.', - svg:`ABCA\'B\'C\'∠A=∠A\', ∠B=∠B\' — условие, k≈5/3`}, + svg:`∠A=∠A\', ∠B=∠B\' — условие, k≈5/3ABCA\'B\'C\'`}, {desc:'Шаг 2. Из суммы углов треугольника: $\\angle C = 180° - \\angle A - \\angle B$ и $\\angle C\' = 180° - \\angle A\' - \\angle B\'$. Так как $\\angle A=\\angle A\'$ и $\\angle B=\\angle B\'$, получаем $\\angle C = \\angle C\'$.', svg:`∠A+∠B+∠C = 180°∠A'+∠B'+∠C' = 180°∠C = 180°−∠A−∠B = 180°−∠A'−∠B' = ∠C'`}, {desc:'Шаг 3. На луче $A\'B\'$ откладываем отрезок $A\'M = AB$. Через $M$ проводим прямую, параллельную $B\'C\'$ — она встречает $A\'C\'$ в точке $N$. По теореме §4: $\\triangle A\'MN \\sim \\triangle A\'B\'C\'$.', @@ -2613,7 +2620,7 @@ function buildP6(){ (function(){ const steps=[ {desc:'Шаг 1. Дано: $\\dfrac{AB}{A\'B\'} = \\dfrac{AC}{A\'C\'} = k$ и $\\angle A = \\angle A\'$. Нужно доказать: $\\triangle ABC \\sim \\triangle A\'B\'C\'$.', - svg:`ABCA\'B\'C\'AB/A\'B\'=AC/A\'C\'=k=2, ∠A=∠A\'`}, + svg:`AB/A\'B\'=AC/A\'C\'=k=2, ∠A=∠A\'ABCA\'B\'C\'`}, {desc:'Шаг 2. На луче $A\'B\'$ откладываем точку $M$ так, что $A\'M = AB$. Через $M$ проводим прямую $MN \\parallel B\'C\'$, где $N$ на луче $A\'C\'$.', svg:`A'B'C'MNA'M=AB, MN∥B'C'`}, {desc:'Шаг 3. По теореме о прямой, параллельной стороне (§4): $\\dfrac{A\'M}{A\'B\'} = \\dfrac{A\'N}{A\'C\'}$. Так как $A\'M = AB$ и $\\dfrac{AB}{A\'B\'} = k$, получаем $A\'N = A\'C\' \\cdot \\dfrac{AB}{A\'B\'}= AC$.', @@ -2786,29 +2793,29 @@ function buildP7(){

Если $\\dfrac{a}{a'} = \\dfrac{b}{b'} = \\dfrac{c}{c'} = k$, то $\\triangle ABC \\sim \\triangle A'B'C'$.

Здесь $a=BC$, $b=AC$, $c=AB$ и аналогично для второго треугольника. Это самый сильный признак — он не требует проверки углов.

- - - - - A - B - C - - c=AB - a=BC - b=AC - - - - A' - B' - C' - - c' - a' - b' - - a/a'=b/b'=c/c'=k≈2.5 → △ABC∼△A'B'C' + + + + + A + B + C + + c=AB + a=BC + b=AC + + + + A' + B' + C' + + c' + a' + b' + + a/a'=b/b'=c/c'=k≈2.5 → △ABC∼△A'B'C'
`); @@ -3027,7 +3034,7 @@ function buildP7(){ (function(){ const steps=[ {desc:'Шаг 1. Дано: $\\dfrac{a}{a\'}=\\dfrac{b}{b\'}=\\dfrac{c}{c\'}=k$. Нужно доказать: $\\triangle ABC \\sim \\triangle A\'B\'C\'$.', - svg:`ABCA\'B\'C\'a/a\'=b/b\'=c/c\'=k (k≈2) — условие`}, + svg:`a/a\'=b/b\'=c/c\'=k (k≈2) — условиеABCA\'B\'C\'`}, {desc:'Шаг 2. На луче $A\'B\'$ откладываем $A\'M = AB = k \\cdot A\'B\'$. Через $M$ проводим $MN \\parallel B\'C\'$, $N$ на $A\'C\'$. По теореме §4: $\\triangle A\'MN \\sim \\triangle A\'B\'C\'$.', svg:`A'B'C'MNA'M=AB, MN∥B'C'`}, {desc:'Шаг 3. Поскольку $\\triangle A\'MN \\sim \\triangle A\'B\'C\'$ с коэффициентом $k$, все стороны $\\triangle A\'MN$ равны соответствующим сторонам $\\triangle ABC$: $A\'M=AB$, $MN=a$, $A\'N=b$.', @@ -3279,85 +3286,58 @@ function buildP8(){

Итог: $\\dfrac{BD}{DC} = \\dfrac{c}{b} = \\dfrac{AB}{AC}$. Теорема доказана.

- + - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - A - B - C - D - E - - c=AB - b=AC + + + + + A + B + C + D + E + + c=AB + b=AC - CE ∥ AD + CE∥AD - BD - DC - - AE = AC = b - - BD/DC = BA/AE = c/b (теорема Фалеса) + BD + DC + + AE=AC=b + + BD/DC = BA/AE = c/b (теорема Фалеса)
`); @@ -3712,26 +3692,21 @@ function buildP9(){

Площади подобных треугольников относятся как квадрат коэффициента подобия. Это означает: при увеличении сторон в $k$ раз площадь вырастает в $k^2$ раз.

Обобщение: отношение площадей любых подобных фигур (многоугольников, кругов) тоже равно $k^2$.

- - - - A - B - C - S₁ - - - - - - A' - B' - C' - S₂ - - k = 2: S₁/S₂ = k² = 4 - - k=2 + + + k = 2: S₁/S₂ = k² = 4 + + + A + B + C + S₁ + + + A' + B' + C' + S₂
`); @@ -3936,7 +3911,7 @@ function buildP9(){ (function(){ const steps=[ {desc:'Шаг 1. Дано: $\\triangle ABC \\sim \\triangle A\'B\'C\'$, коэффициент подобия $k$. Нужно доказать: $\\dfrac{S_{ABC}}{S_{A\'B\'C\'}} = k^2$.', - svg:`ABCA\'B\'C\'△ABC ∼ △A\'B\'C\', коэфф. k`}, + svg:`△ABC ∼ △A\'B\'C\', коэфф. kABCA\'B\'C\'`}, {desc:'Шаг 2. Из подобия: $BC = k \\cdot B\'C\'$ (основание). Проведём высоты $BH \\perp AC$ и $B\'H\' \\perp A\'C\'$. Так как $\\triangle ABH \\sim \\triangle A\'B\'H\'$ (тот же коэффициент $k$), то $BH = k \\cdot B\'H\'$.', svg:`ABCh = k·h\'HBC = k·B\'C\', BH = k·B\'H\'`}, {desc:'Шаг 3. Запишем формулу площади для каждого треугольника: $S_{ABC} = \\dfrac{1}{2} \\cdot BC \\cdot h$, $S_{A\'B\'C\'} = \\dfrac{1}{2} \\cdot B\'C\' \\cdot h\'$.', @@ -4118,7 +4093,7 @@ function buildP9(){ /* == INIT: Босс §9 == */ (function(){ const tasks=[ - {q:'ABCA\'B\'C\'S₂=8, k=3$\\triangle ABC \\sim \\triangle A\'B\'C\'$, $k=3$, $S_{A\'B\'C\'}=8$. Найди $S_{ABC}$.',ans:72,hint:'S₁ = k²·S₂ = 9·8 = 72.'}, + {q:'S₂=8, k=3 → S₁=?ABCA\'B\'C\'$\\triangle ABC \\sim \\triangle A\'B\'C\'$, $k=3$, $S_{A\'B\'C\'}=8$. Найди $S_{ABC}$.',ans:72,hint:'S₁ = k²·S₂ = 9·8 = 72.'}, {q:'Стороны двух подобных треугольников: первый $12$, второй $8$. Площадь первого $S_1=54$. Найди $S_2$.',ans:24,hint:'k = 12/8 = 1.5. S₂ = S₁/k² = 54/2.25 = 24.'}, {q:'$S_1 = 75$, $S_2 = 48$. Найди коэффициент подобия $k = \\sqrt{S_1/S_2}$ (Ответ в виде десятичной дроби).',ans:1.25,hint:'k = √(75/48) = √(25/16) = 5/4 = 1.25.'}, {q:'Прямоугольный треугольник с катетами $3$ и $4$. Подобный с $k=2$. Найди площадь большего треугольника.',ans:24,hint:'S_мал = 0.5·3·4 = 6. S_бол = k²·S_мал = 4·6 = 24.'},