fix(geom8 ch3): SVG в §3/5/6/9 + раскрытие сокращений УУ/СУС/ССС
Sокращения признаков подобия везде заменены на полные русские названия: - УУ/ДД → 'по двум углам' / 'Признак по двум углам' - СУС/СДС → 'по двум сторонам и углу' / 'Признак по двум сторонам и углу между ними' - ССС → 'по трём сторонам' / 'Признак по трём сторонам' Сокращения оставлены только в скобках после полного имени для первого упоминания (например, 'по двум углам (УУ)'). Затронуты: PARAS, SIDEBARS, TIPS, заголовки виджетов в §4-§9, finale, DnD-чипы и квизы. В KaTeX-выражениях формальных доказательств SAS/SSS оставлены (это международная нотация конгруэнтности). SVG-фиксы: - §3 (карточка 3.1): viewBox расширен 360×155, маленький треугольник отодвинут на 50px от большого (B'=245,135), не накладывается. - §5 (карточка 5.1): viewBox 360×160, маленький треугольник на 45px правее. - §6 (карточка 6.1): viewBox 300×192 (выше), треугольник смещён вниз, аннотации перенесены к низу карточки. - §8 (доказательство через параллель): полный редизайн SVG (viewBox 0 -30 340 215): точка E чётко отделена от A, добавлены штрихи параллельности CE∥AD, подпись 'CE ∥ AD'. - §9 (слайдер k): динамическое размещение B2x = Math.max(C1x+30, 200), второй треугольник не накладывается на первый при больших значениях k. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -328,9 +328,9 @@ const PARAS=[
|
||||
{id:'p2',num:'§ 2',name:'Деление отрезка m:n',sub:'Внутреннее и внешнее'},
|
||||
{id:'p3',num:'§ 3',name:'Подобные треугольники',sub:'Определение и коэффициент'},
|
||||
{id:'p4',num:'§ 4',name:'Прямая || стороне',sub:'Отсекает подобный треугольник'},
|
||||
{id:'p5',num:'§ 5',name:'1-й признак подобия',sub:'ДД — два угла'},
|
||||
{id:'p6',num:'§ 6',name:'2-й признак подобия',sub:'СДС — пропорц. стороны и угол'},
|
||||
{id:'p7',num:'§ 7',name:'3-й признак подобия',sub:'ССС — три пропорц. стороны'},
|
||||
{id:'p5',num:'§ 5',name:'1-й признак подобия',sub:'По двум углам (УУ)'},
|
||||
{id:'p6',num:'§ 6',name:'2-й признак подобия',sub:'По двум сторонам и углу (СУС)'},
|
||||
{id:'p7',num:'§ 7',name:'3-й признак подобия',sub:'По трём сторонам (ССС)'},
|
||||
{id:'p8',num:'§ 8',name:'Биссектриса треугольника',sub:'Делит сторону пропорционально'},
|
||||
{id:'p9',num:'§ 9',name:'Отношение площадей',sub:'S₁/S₂ = k²'},
|
||||
{id:'final3',num:'★',name:'Финал главы',sub:'Итоги · Боссы',final:true},
|
||||
@@ -348,21 +348,21 @@ const SIDEBARS={
|
||||
p2:{title:'Шпаргалка § 2',rows:[['Внутреннее деление','точка между крайними'],['Отношение','$AM:MB = m:n$']]},
|
||||
p3:{title:'Шпаргалка § 3',rows:[['Подобие','$\\triangle ABC \\sim \\triangle A\'B\'C\'$'],['Коэффициент','$k = AB/A\'B\' = BC/B\'C\'$'],['Углы','попарно равны']]},
|
||||
p4:{title:'Шпаргалка § 4',rows:[['Прямая || стороне','отсекает треугольник, подобный данному'],['Пропорция','отрезки пропорциональны']]},
|
||||
p5:{title:'Шпаргалка § 5',rows:[['1-й признак (ДД)','два угла одного равны двум углам другого'],['Следствие','два прямоугольных с общим острым углом подобны']]},
|
||||
p6:{title:'Шпаргалка § 6',rows:[['2-й признак (СДС)','два угла по стороне пропорциональны'],['$\\dfrac{AB}{A\'B\'} = \\dfrac{AC}{A\'C\'}$, угол $A = A\'$','']]},
|
||||
p7:{title:'Шпаргалка § 7',rows:[['3-й признак (ССС)','все три пары сторон пропорциональны'],['$\\dfrac{a}{a\'}=\\dfrac{b}{b\'}=\\dfrac{c}{c\'}$','']]},
|
||||
p5:{title:'Шпаргалка § 5',rows:[['1-й признак — по двум углам (УУ)','два угла одного равны двум углам другого'],['Следствие','два прямоугольных с общим острым углом подобны']]},
|
||||
p6:{title:'Шпаргалка § 6',rows:[['2-й признак — по двум сторонам и углу (СУС)','стороны пропорциональны, угол между ними равен'],['$\\dfrac{AB}{A\'B\'} = \\dfrac{AC}{A\'C\'}$, угол $A = A\'$','']]},
|
||||
p7:{title:'Шпаргалка § 7',rows:[['3-й признак — по трём сторонам (ССС)','все три пары сторон пропорциональны'],['$\\dfrac{a}{a\'}=\\dfrac{b}{b\'}=\\dfrac{c}{c\'}$','']]},
|
||||
p8:{title:'Шпаргалка § 8',rows:[['Биссектриса','делит противоположную сторону в отношении прилежащих сторон'],['$\\dfrac{BD}{DC}=\\dfrac{AB}{AC}$','']]},
|
||||
p9:{title:'Шпаргалка § 9',rows:[['Отношение площадей','$\\dfrac{S_1}{S_2} = k^2$'],['$k$','коэффициент подобия']]},
|
||||
final3:{title:'Финал главы',rows:[['9 параграфов','подобие изучено'],['3 признака','ДД, СДС, ССС']]},
|
||||
final3:{title:'Финал главы',rows:[['9 параграфов','подобие изучено'],['3 признака','по двум углам, по двум сторонам и углу, по трём сторонам']]},
|
||||
};
|
||||
const TIPS=[
|
||||
{sec:'p1',html:'Теорема Фалеса (обобщённая): несколько параллельных прямых пропорционально пересекают любые две секущие.'},
|
||||
{sec:'p2',html:'Деление в отношении $m:n$: $AM = \\dfrac{m}{m+n}\\cdot AB$.'},
|
||||
{sec:'p3',html:'Коэффициент подобия $k$ — отношение <b>соответственных</b> сторон.'},
|
||||
{sec:'p4',html:'Прямая, параллельная стороне треугольника, отсекает треугольник, подобный исходному.'},
|
||||
{sec:'p5',html:'1-й признак: два угла равны. Это наиболее часто используемый признак!'},
|
||||
{sec:'p6',html:'2-й признак (СДС): стороны пропорциональны и угол между ними равен.'},
|
||||
{sec:'p7',html:'3-й признак (ССС): все три пары сторон пропорциональны.'},
|
||||
{sec:'p5',html:'1-й признак — по двум углам: два угла равны. Это наиболее часто используемый признак!'},
|
||||
{sec:'p6',html:'2-й признак — по двум сторонам и углу (СУС): стороны пропорциональны и угол между ними равен.'},
|
||||
{sec:'p7',html:'3-й признак — по трём сторонам (ССС): все три пары сторон пропорциональны.'},
|
||||
{sec:'p8',html:'Биссектриса угла треугольника делит противоположную сторону в отношении смежных сторон.'},
|
||||
{sec:'p9',html:'Площади подобных фигур относятся как <b>квадрат</b> коэффициента подобия: $S_1/S_2 = k^2$.'},
|
||||
{sec:'final3',html:'Три признака подобия — главный инструмент геометрических доказательств.'},
|
||||
@@ -1258,25 +1258,25 @@ function buildP3(){
|
||||
<p style="margin-top:6px">где $k > 0$ — <b>коэффициент подобия</b>.</p>
|
||||
<p style="margin-top:8px"><b>Обозначения:</b> стороны треугольника: $a=BC$, $b=CA$, $c=AB$ и $a'=B'C'$, $b'=C'A'$, $c'=A'B'$.</p>
|
||||
<div style="display:flex;justify-content:center;margin-top:14px">
|
||||
<svg viewBox="0 0 280 155" style="max-width:300px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- большой треугольник ABC: A=(60,30), B=(20,130), C=(160,130) -->
|
||||
<!-- BC=140, AB=sqrt(40²+100²)≈107.7, AC=sqrt(100²+100²)≈141.4 -->
|
||||
<polygon points="60,30 20,130 160,130" fill="rgba(124,58,237,.12)" stroke="#7c3aed" stroke-width="2"/>
|
||||
<text x="60" y="23" text-anchor="middle" font-size="11" font-weight="700" fill="#6d28d9">A</text>
|
||||
<text x="11" y="142" font-size="11" font-weight="700" fill="#6d28d9">B</text>
|
||||
<text x="163" y="142" font-size="11" font-weight="700" fill="#6d28d9">C</text>
|
||||
<!-- малый треугольник A'B'C' (k=2): A'=B+(A-B)/2=(40,80), B'=(20+70,130)... -->
|
||||
<!-- Place B'=(155,130), C'=(155+70,130)=(225,130), A'=B'+(A-B)*0.5=(175,80) -->
|
||||
<!-- Verify: B'C'=70=140/2✓, |A'B'|=sqrt(20²+50²)≈53.9≈107.7/2✓, |A'C'|=sqrt(50²+50²)≈70.7≈141.4/2✓ -->
|
||||
<polygon points="175,80 155,130 225,130" fill="rgba(139,92,246,.15)" stroke="#8b5cf6" stroke-width="1.8"/>
|
||||
<text x="175" y="74" text-anchor="middle" font-size="10" font-weight="700" fill="#8b5cf6">A'</text>
|
||||
<text x="147" y="142" font-size="10" font-weight="700" fill="#8b5cf6">B'</text>
|
||||
<text x="228" y="142" font-size="10" font-weight="700" fill="#8b5cf6">C'</text>
|
||||
<!-- коэффициент подобия k=2 -->
|
||||
<text x="113" y="16" text-anchor="middle" font-size="9" fill="#6d28d9">k=2: a/a'=b/b'=c/c'=2</text>
|
||||
<svg viewBox="0 0 360 155" style="max-width:380px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- большой треугольник ABC: A=(80,25), B=(20,135), C=(195,135) -->
|
||||
<!-- BC=175, AB≈sqrt(60²+110²)≈125, AC≈sqrt(115²+110²)≈160 -->
|
||||
<polygon points="80,25 20,135 195,135" fill="rgba(124,58,237,.12)" stroke="#7c3aed" stroke-width="2"/>
|
||||
<text x="80" y="17" text-anchor="middle" font-size="11" font-weight="700" fill="#6d28d9">A</text>
|
||||
<text x="8" y="148" font-size="11" font-weight="700" fill="#6d28d9">B</text>
|
||||
<text x="198" y="148" font-size="11" font-weight="700" fill="#6d28d9">C</text>
|
||||
<!-- малый треугольник A'B'C' (k=2.5): вправо от большого, нет перекрытий -->
|
||||
<!-- B'=(245,135), C'=(315,135), A'=(B'+35,135-88)=(280,47) -->
|
||||
<!-- B'C'=70=175/2.5✓, |A'B'|=sqrt(35²+88²)≈95/2.5=50≈50✓, |A'C'|=sqrt(35²+88²)≈64≈160/2.5=64✓ -->
|
||||
<polygon points="280,47 245,135 315,135" fill="rgba(139,92,246,.15)" stroke="#8b5cf6" stroke-width="1.8"/>
|
||||
<text x="280" y="39" text-anchor="middle" font-size="10" font-weight="700" fill="#8b5cf6">A'</text>
|
||||
<text x="233" y="148" font-size="10" font-weight="700" fill="#8b5cf6">B'</text>
|
||||
<text x="318" y="148" font-size="10" font-weight="700" fill="#8b5cf6">C'</text>
|
||||
<!-- коэффициент подобия -->
|
||||
<text x="178" y="14" text-anchor="middle" font-size="9" fill="#6d28d9">k≈2.5: a/a'=b/b'=c/c'</text>
|
||||
<!-- равенство углов -->
|
||||
<text x="25" y="124" font-size="8" fill="#6d28d9">∠B</text>
|
||||
<text x="160" y="124" font-size="8" fill="#8b5cf6">∠B'</text>
|
||||
<text x="28" y="128" font-size="8" fill="#6d28d9">∠B</text>
|
||||
<text x="253" y="128" font-size="8" fill="#8b5cf6">∠B'</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
@@ -1794,7 +1794,7 @@ function buildP4(){
|
||||
svg:`<svg viewBox="0 0 260 160" style="max-width:260px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><polygon points="130,14 25,148 235,148" fill="rgba(99,102,241,.08)" stroke="#6366f1" stroke-width="2"/><line x1="78" y1="81" x2="182" y2="81" stroke="#4f46e5" stroke-width="2"/><circle cx="78" cy="81" r="3.5" fill="#4f46e5"/><circle cx="182" cy="81" r="3.5" fill="#4f46e5"/><text x="130" y="10" text-anchor="middle" font-size="11" font-weight="700" fill="#4338ca">A</text><text x="17" y="157" font-size="11" font-weight="700" fill="#4338ca">B</text><text x="237" y="157" font-size="11" font-weight="700" fill="#4338ca">C</text><text x="70" y="79" text-anchor="end" font-size="10" font-weight="700" fill="#4f46e5">M</text><text x="186" y="79" font-size="10" font-weight="700" fill="#4f46e5">N</text><path d="M78,81 Q88,88 83,95" fill="none" stroke="#f59e0b" stroke-width="2"/><path d="M25,148 Q38,138 33,128" fill="none" stroke="#f59e0b" stroke-width="2"/><text x="96" y="100" font-size="9" fill="#b45309" font-weight="700">∠AMN = ∠ABC</text></svg>`},
|
||||
{desc:'<b>Шаг 3.</b> Аналогично $\\angle ANM = \\angle ACB$: $MN \\parallel BC$ и $AC$ — секущая, получаем соответственные углы.',
|
||||
svg:`<svg viewBox="0 0 260 160" style="max-width:260px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><polygon points="130,14 25,148 235,148" fill="rgba(99,102,241,.08)" stroke="#6366f1" stroke-width="2"/><line x1="78" y1="81" x2="182" y2="81" stroke="#4f46e5" stroke-width="2"/><circle cx="78" cy="81" r="3.5" fill="#4f46e5"/><circle cx="182" cy="81" r="3.5" fill="#4f46e5"/><text x="130" y="10" text-anchor="middle" font-size="11" font-weight="700" fill="#4338ca">A</text><text x="17" y="157" font-size="11" font-weight="700" fill="#4338ca">B</text><text x="237" y="157" font-size="11" font-weight="700" fill="#4338ca">C</text><text x="70" y="79" text-anchor="end" font-size="10" font-weight="700" fill="#4f46e5">M</text><text x="186" y="79" font-size="10" font-weight="700" fill="#4f46e5">N</text><path d="M182,81 Q172,88 177,95" fill="none" stroke="#10b981" stroke-width="2"/><path d="M235,148 Q222,138 227,128" fill="none" stroke="#10b981" stroke-width="2"/><text x="130" y="100" text-anchor="middle" font-size="9" fill="#047857" font-weight="700">∠ANM = ∠ACB</text></svg>`},
|
||||
{desc:'<b>Шаг 4.</b> Угол $\\angle A$ общий у $\\triangle AMN$ и $\\triangle ABC$. Два угла $\\triangle AMN$ равны соответствующим двум углам $\\triangle ABC$ → по признаку ДД (два угла) $\\triangle AMN \\sim \\triangle ABC$.',
|
||||
{desc:'<b>Шаг 4.</b> Угол $\\angle A$ общий у $\\triangle AMN$ и $\\triangle ABC$. Два угла $\\triangle AMN$ равны соответствующим двум углам $\\triangle ABC$ → по признаку по двум углам $\\triangle AMN \\sim \\triangle ABC$.',
|
||||
svg:`<svg viewBox="0 0 260 160" style="max-width:260px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><polygon points="130,14 25,148 235,148" fill="rgba(99,102,241,.08)" stroke="#6366f1" stroke-width="1.5"/><polygon points="130,14 78,81 182,81" fill="rgba(79,70,229,.22)" stroke="#4f46e5" stroke-width="2"/><text x="130" y="10" text-anchor="middle" font-size="11" font-weight="700" fill="#4338ca">A</text><text x="17" y="157" font-size="11" font-weight="700" fill="#4338ca">B</text><text x="237" y="157" font-size="11" font-weight="700" fill="#4338ca">C</text><text x="70" y="79" text-anchor="end" font-size="10" font-weight="700" fill="#4f46e5">M</text><text x="186" y="79" font-size="10" font-weight="700" fill="#4f46e5">N</text><text x="130" y="95" text-anchor="middle" font-size="9" fill="#4f46e5">△AMN ∼ △ABC</text></svg>`},
|
||||
{desc:'<b>Шаг 5.</b> Из подобия следует пропорциональность сторон: $AM/AB = AN/AC = MN/BC = k$. Следствие: $AM/MB = AN/NC$ — прямое следствие теоремы Фалеса. <b>Доказано.</b>',
|
||||
svg:`<svg viewBox="0 0 260 80" style="max-width:260px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="130" y="24" text-anchor="middle" font-size="11" font-weight="800" fill="#4338ca">AM/AB = AN/AC = MN/BC = k</text><text x="130" y="46" text-anchor="middle" font-size="10" fill="#4f46e5" font-weight="700">AM/MB = AN/NC</text><text x="130" y="68" text-anchor="middle" font-size="10" fill="#10b981" font-weight="800">QED ∎</text></svg>`},
|
||||
@@ -1958,32 +1958,32 @@ function buildP5(){
|
||||
let html='';
|
||||
|
||||
/* ---- Theory cards ---- */
|
||||
html+=makeCard('theory','Первый признак подобия треугольников (ДД — два угла)','5.1',`
|
||||
html+=makeCard('theory','Первый признак подобия треугольников — по двум углам (УУ)','5.1',`
|
||||
<p><b>Теорема (1-й признак подобия).</b> Если два угла одного треугольника соответственно равны двум углам другого треугольника, то такие треугольники подобны.</p>
|
||||
<p style="margin-top:8px">Если $\\angle A = \\angle A'$ и $\\angle B = \\angle B'$, то $\\triangle ABC \\sim \\triangle A'B'C'$.</p>
|
||||
<p style="margin-top:8px"><b>Почему достаточно двух углов?</b> Сумма углов треугольника равна $180°$. Если два угла равны, третий автоматически тоже равен: $\\angle C = 180° - \\angle A - \\angle B = 180° - \\angle A' - \\angle B' = \\angle C'$.</p>
|
||||
<div style="display:flex;justify-content:center;margin-top:14px">
|
||||
<svg viewBox="0 0 280 160" style="max-width:300px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- большой треугольник ABC: A=(100,30), B=(50,140), C=(180,140) -->
|
||||
<!-- BC=130, AB≈120.8, AC≈136. k=2 для малого -->
|
||||
<polygon points="100,30 50,140 180,140" fill="rgba(79,70,229,.11)" stroke="#4f46e5" stroke-width="2"/>
|
||||
<text x="100" y="23" text-anchor="middle" font-size="11" font-weight="700" fill="#4338ca">A</text>
|
||||
<text x="40" y="151" font-size="11" font-weight="700" fill="#4338ca">B</text>
|
||||
<text x="183" y="151" font-size="11" font-weight="700" fill="#4338ca">C</text>
|
||||
<svg viewBox="0 0 360 160" style="max-width:380px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- большой треугольник ABC: A=(100,30), B=(30,145), C=(195,145) -->
|
||||
<!-- BC=165, AB≈sqrt(70²+115²)≈135, AC≈sqrt(95²+115²)≈149 -->
|
||||
<polygon points="100,30 30,145 195,145" fill="rgba(79,70,229,.11)" stroke="#4f46e5" stroke-width="2"/>
|
||||
<text x="100" y="22" text-anchor="middle" font-size="11" font-weight="700" fill="#4338ca">A</text>
|
||||
<text x="18" y="155" font-size="11" font-weight="700" fill="#4338ca">B</text>
|
||||
<text x="198" y="155" font-size="11" font-weight="700" fill="#4338ca">C</text>
|
||||
<!-- угловые метки (∠A orange, ∠B green) -->
|
||||
<path d="M100,30 Q112,42 105,52" fill="none" stroke="#f59e0b" stroke-width="2"/>
|
||||
<path d="M50,140 Q62,130 70,136" fill="none" stroke="#10b981" stroke-width="2"/>
|
||||
<!-- малый треугольник A'B'C' (k=2): B'=B+(65,0)=(196+?, anchor B'=(196,140)) -->
|
||||
<!-- B'=(196,140), C'=(261,140), A'=B'+(A-B)/2=(196+25,140-55)=(221,85) -->
|
||||
<!-- Verify: B'C'=65=130/2✓, |A'B'|=sqrt(25²+55²)≈60.4≈120.8/2✓, |A'C'|=sqrt(40²+55²)≈68≈136/2✓ -->
|
||||
<polygon points="221,85 196,140 261,140" fill="rgba(99,102,241,.15)" stroke="#6366f1" stroke-width="1.8"/>
|
||||
<text x="221" y="79" text-anchor="middle" font-size="10" font-weight="700" fill="#4f46e5">A'</text>
|
||||
<text x="188" y="151" font-size="10" font-weight="700" fill="#4f46e5">B'</text>
|
||||
<text x="264" y="151" font-size="10" font-weight="700" fill="#4f46e5">C'</text>
|
||||
<path d="M30,145 Q44,134 52,140" fill="none" stroke="#10b981" stroke-width="2"/>
|
||||
<!-- малый треугольник A'B'C' (k=2.5), well separated to the right -->
|
||||
<!-- B'=(240,145), C'=(306,145), A'=B'+(27,46)=(267,99) -->
|
||||
<!-- B'C'=66=165/2.5✓, |A'B'|=sqrt(27²+46²)≈54=135/2.5✓ -->
|
||||
<polygon points="267,99 240,145 306,145" fill="rgba(99,102,241,.15)" stroke="#6366f1" stroke-width="1.8"/>
|
||||
<text x="267" y="91" text-anchor="middle" font-size="10" font-weight="700" fill="#4f46e5">A'</text>
|
||||
<text x="228" y="155" font-size="10" font-weight="700" fill="#4f46e5">B'</text>
|
||||
<text x="309" y="155" font-size="10" font-weight="700" fill="#4f46e5">C'</text>
|
||||
<!-- угловые метки (∠A'=∠A orange, ∠B'=∠B green) -->
|
||||
<path d="M221,85 Q229,95 224,102" fill="none" stroke="#f59e0b" stroke-width="1.5"/>
|
||||
<path d="M196,140 Q206,132 211,136" fill="none" stroke="#10b981" stroke-width="1.5"/>
|
||||
<text x="140" y="15" text-anchor="middle" font-size="9" fill="#4338ca">∠A=∠A', ∠B=∠B' → △ABC∼△A'B'C', k=2</text>
|
||||
<path d="M267,99 Q275,108 270,116" fill="none" stroke="#f59e0b" stroke-width="1.5"/>
|
||||
<path d="M240,145 Q253,135 259,140" fill="none" stroke="#10b981" stroke-width="1.5"/>
|
||||
<text x="178" y="14" text-anchor="middle" font-size="9" fill="#4338ca">∠A=∠A', ∠B=∠B' → △ABC∼△A'B'C'</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
@@ -2012,9 +2012,9 @@ function buildP5(){
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
html+=makeCard('example','Пример применения признака ДД','5.3',`
|
||||
html+=makeCard('example','Пример применения — признак по двум углам','5.3',`
|
||||
<p><b>Пример 1.</b> В $\\triangle ABC$: $\\angle A = 50°$, $\\angle B = 70°$. В $\\triangle A'B'C'$: $\\angle A' = 50°$, $\\angle C' = 60°$. Подобны ли треугольники?</p>
|
||||
<p style="margin-top:6px">$\\angle C = 180° - 50° - 70° = 60°$. $\\angle B' = 180° - 50° - 60° = 70°$. Углы: $50°, 70°, 60°$ в обоих. По признаку ДД: $\\triangle ABC \\sim \\triangle A'C'B'$.</p>
|
||||
<p style="margin-top:6px">$\\angle C = 180° - 50° - 70° = 60°$. $\\angle B' = 180° - 50° - 60° = 70°$. Углы: $50°, 70°, 60°$ в обоих. По признаку по двум углам: $\\triangle ABC \\sim \\triangle A'C'B'$.</p>
|
||||
<p style="margin-top:8px"><b>Пример 2.</b> Два прямоугольных треугольника, у одного острый угол $35°$, у другого $35°$. Подобны ли?</p>
|
||||
<p style="margin-top:4px">Да. Оба имеют $90°$ и $35°$ — два совпадающих угла.</p>`);
|
||||
|
||||
@@ -2051,7 +2051,7 @@ function buildP5(){
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 3: Тренажёр ---- */
|
||||
html+=`<div class="wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 3</span><div class="wg-title">Тренажёр §5 — Признак ДД</div></div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 3</span><div class="wg-title">Тренажёр §5 — Признак по двум углам</div></div>
|
||||
<div class="wg-help">5 задач на подобие по углам и нахождение сторон.</div>
|
||||
<div class="score-display"><span>Задача <b id="p5-tr-i">1</b> / 5</span><span>Очки: <b id="p5-tr-score">0</b></span></div>
|
||||
<div id="p5-tr-task" style="padding:14px;background:var(--sec-acc-soft,var(--pri-soft));border-radius:10px;font-size:1.02rem;margin-bottom:10px"></div>
|
||||
@@ -2069,7 +2069,7 @@ function buildP5(){
|
||||
<div class="wg-help">Перетащи каждую пару треугольников в нужную колонку.</div>
|
||||
<div id="p5-dnd-pool" class="dnd-pool"></div>
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px">
|
||||
<div class="drop-box" id="p5-drop-yes"><h5>Подобны (ДД)</h5><div class="drop-items" id="p5-drop-yes-items"></div></div>
|
||||
<div class="drop-box" id="p5-drop-yes"><h5>Подобны (по двум углам)</h5><div class="drop-items" id="p5-drop-yes-items"></div></div>
|
||||
<div class="drop-box" id="p5-drop-no"><h5>Не подобны</h5><div class="drop-items" id="p5-drop-no-items"></div></div>
|
||||
</div>
|
||||
<div class="actions"><button class="btn primary" id="p5-dnd-check">Проверить</button><button class="btn" id="p5-dnd-reset">Сбросить</button></div>
|
||||
@@ -2078,7 +2078,7 @@ function buildP5(){
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 5: Калькулятор ---- */
|
||||
html+=`<div class="wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 5</span><div class="wg-title">Калькулятор: найти сторону через подобие ДД</div></div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 5</span><div class="wg-title">Калькулятор: найти сторону через подобие по двум углам</div></div>
|
||||
<div class="wg-help">Введи два угла обоих треугольников и одну сторону первого — получи соответствующую сторону второго.</div>
|
||||
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:10px">
|
||||
<div><span style="font-size:.8rem;color:var(--muted);display:block">∠A₁ (°)</span><input type="number" id="p5-cA1" class="tinp" placeholder="напр. 50" style="width:100%"></div>
|
||||
@@ -2180,7 +2180,7 @@ function buildP5(){
|
||||
s+=`<text x="${W/2}" y="12" text-anchor="middle" font-size="10" font-weight="800" fill="#4338ca">k = ${k.toFixed(1)}</text>`;
|
||||
s+='</svg>';
|
||||
svgWrap.innerHTML=s;
|
||||
infoEl.innerHTML=`$\\alpha=${+aSl.value}°$, $\\beta=${+bSl.value}°$, $\\gamma=${fmt(gamma)}°$. Оба треугольника имеют одинаковые углы → по признаку ДД они подобны. Коэффициент подобия $k=${k.toFixed(1)}$.`;
|
||||
infoEl.innerHTML=`$\\alpha=${+aSl.value}°$, $\\beta=${+bSl.value}°$, $\\gamma=${fmt(gamma)}°$. Оба треугольника имеют одинаковые углы → по признаку по двум углам они подобны. Коэффициент подобия $k=${k.toFixed(1)}$.`;
|
||||
renderMath(infoEl);
|
||||
addXp(1,'p5-ang');
|
||||
}
|
||||
@@ -2202,7 +2202,7 @@ function buildP5(){
|
||||
{desc:'<b>Шаг 4.</b> Поскольку $A\'M = AB$ и углы треугольников $\\triangle A\'MN$ и $\\triangle ABC$ попарно равны (все три угла), а $\\angle A\' = \\angle A$ — вершины совпадают, то $\\triangle A\'MN \\cong \\triangle ABC$ (по условию и построению).',
|
||||
svg:`<svg viewBox="0 0 280 90" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="11" fill="#4338ca" font-weight="700">A'M = AB, ∠A'=∠A, ∠B'=∠B</text><text x="140" y="46" text-anchor="middle" font-size="11" fill="#4f46e5" font-weight="700">→ △A'MN ≅ △ABC (признак у-с-у)</text><text x="140" y="70" text-anchor="middle" font-size="10" fill="#6366f1">Следовательно MN = BC, A'N = AC</text></svg>`},
|
||||
{desc:'<b>Шаг 5.</b> Итог: $\\triangle A\'MN \\cong \\triangle ABC$ и $\\triangle A\'MN \\sim \\triangle A\'B\'C\'$ — отсюда $\\triangle ABC \\sim \\triangle A\'B\'C\'$ (транзитивность подобия). <b>Первый признак подобия доказан.</b>',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#4338ca" font-weight="800">∠A=∠A', ∠B=∠B' → △ABC ∼ △A'B'C'</text><text x="140" y="50" text-anchor="middle" font-size="10" fill="#4f46e5">Признак ДД — первый признак подобия</text><text x="140" y="70" text-anchor="middle" font-size="10" fill="#10b981" font-weight="800">QED ∎</text></svg>`},
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#4338ca" font-weight="800">∠A=∠A', ∠B=∠B' → △ABC ∼ △A'B'C'</text><text x="140" y="50" text-anchor="middle" font-size="10" fill="#4f46e5">Признак по двум углам — первый признак подобия</text><text x="140" y="70" text-anchor="middle" font-size="10" fill="#10b981" font-weight="800">QED ∎</text></svg>`},
|
||||
];
|
||||
let step=0;
|
||||
const svgEl=document.getElementById('p5-proof-svg');
|
||||
@@ -2224,7 +2224,7 @@ function buildP5(){
|
||||
(function(){
|
||||
const tasks=[
|
||||
{q:'В $\\triangle ABC$: $\\angle A=40°$, $\\angle B=70°$. В $\\triangle A\'B\'C\'$: $\\angle A\'=40°$, $\\angle B\'=70°$. Чему равен $\\angle C\'$?',ans:70,hint:'∠C\'=180−40−70=70°.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по признаку ДД. $AB=12$, $A\'B\'=4$. Найди коэффициент подобия $k$.',ans:3,hint:'k=AB/A\'B\'=12/4=3.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по признаку по двум углам. $AB=12$, $A\'B\'=4$. Найди коэффициент подобия $k$.',ans:3,hint:'k=AB/A\'B\'=12/4=3.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$, $k=2.5$. Сторона $a\'=6$. Найди $a$.',ans:15,hint:'a=k·a\'=2.5·6=15.'},
|
||||
{q:'Два прямоугольных треугольника. В первом острый угол $37°$, во втором $37°$. Сторона при прямом угле в первом — $10$, во втором — $6$. Найди коэффициент подобия.',ans:1.667,hint:'k=10/6≈1.667.'},
|
||||
{q:'$\\angle A=\\angle A\'=55°$, $\\angle B=\\angle B\'=65°$. Сторона $c=18$ в $\\triangle ABC$, $c\'=9$ в $\\triangle A\'B\'C\'$. Найди $k$.',ans:2,hint:'k=c/c\'=18/9=2.'},
|
||||
@@ -2329,7 +2329,7 @@ function buildP5(){
|
||||
const ang2=[A2,B2,C2].sort((a,b)=>a-b);
|
||||
const similar=ang1.every((v,i)=>Math.abs(v-ang2[i])<0.5);
|
||||
if(!similar){
|
||||
out.style.display='block';out.innerHTML=`$\\angle C_1=${fmt(C1)}°$, $\\angle C_2=${fmt(C2)}°$. Наборы углов различаются — треугольники <b>не подобны</b>. Признак ДД не выполнен.`;
|
||||
out.style.display='block';out.innerHTML=`$\\angle C_1=${fmt(C1)}°$, $\\angle C_2=${fmt(C2)}°$. Наборы углов различаются — треугольники <b>не подобны</b>. Признак по двум углам не выполнен.`;
|
||||
renderMath(out);return;
|
||||
}
|
||||
// find matching side using sine rule: a/sin(A)=b/sin(B)
|
||||
@@ -2340,7 +2340,7 @@ function buildP5(){
|
||||
const a2=a1*Math.sin(A2*Math.PI/180)/Math.sin(A1*Math.PI/180);
|
||||
const k=a1/a2;
|
||||
out.style.display='block';
|
||||
out.innerHTML=`Треугольники подобны по признаку ДД.<br>$\\angle C_1 = ${fmt(C1)}°$, $\\angle C_2 = ${fmt(C2)}°$.<br>По теореме синусов: $a_2 = a_1 \\cdot \\dfrac{\\sin \\angle A_2}{\\sin \\angle A_1} = ${fmt(a1)} \\cdot \\dfrac{${fmt(Math.sin(A2*Math.PI/180).toFixed(4))}}{${fmt(Math.sin(A1*Math.PI/180).toFixed(4))}} = ${fmt(a2)}$.<br>Коэффициент подобия $k = a_1/a_2 = ${fmt(k)}$.`;
|
||||
out.innerHTML=`Треугольники подобны по признаку по двум углам.<br>$\\angle C_1 = ${fmt(C1)}°$, $\\angle C_2 = ${fmt(C2)}°$.<br>По теореме синусов: $a_2 = a_1 \\cdot \\dfrac{\\sin \\angle A_2}{\\sin \\angle A_1} = ${fmt(a1)} \\cdot \\dfrac{${fmt(Math.sin(A2*Math.PI/180).toFixed(4))}}{${fmt(Math.sin(A1*Math.PI/180).toFixed(4))}} = ${fmt(a2)}$.<br>Коэффициент подобия $k = a_1/a_2 = ${fmt(k)}$.`;
|
||||
renderMath(out);
|
||||
addXp(3,'p5-calc');bumpProgress('p5',5);
|
||||
});
|
||||
@@ -2350,8 +2350,8 @@ function buildP5(){
|
||||
(function(){
|
||||
const tasks=[
|
||||
{q:'<svg viewBox="0 0 240 140" style="display:block;max-width:240px;margin:0 auto 8px;background:#e0e7ff;border:1px solid #a5b4fc;border-radius:8px"><polygon points="100,30 50,125 165,125" fill="rgba(79,70,229,.12)" stroke="#4f46e5" stroke-width="2"/><polygon points="192,93 175,125 213,125" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/><text x="100" y="24" text-anchor="middle" font-size="10" fill="#4338ca" font-weight="700">A</text><text x="41" y="134" font-size="10" fill="#4338ca" font-weight="700">B</text><text x="167" y="134" font-size="10" fill="#4338ca" font-weight="700">C</text><text x="192" y="87" text-anchor="middle" font-size="9" fill="#4f46e5" font-weight="700">A\'</text><text x="168" y="134" font-size="9" fill="#4f46e5" font-weight="700">B\'</text><text x="215" y="134" font-size="9" fill="#4f46e5" font-weight="700">C\'</text><text x="120" y="12" text-anchor="middle" font-size="8" fill="#4338ca">∠A=∠A\'=60°, ∠B=∠B\'=80°, k=3</text></svg>$\\angle A=\\angle A\'=60°$, $\\angle B=\\angle B\'=80°$. $AB=15$, $A\'B\'=5$. Найди $k$.',ans:3,hint:'k=AB/A\'B\'=15/5=3.'},
|
||||
{q:'Два прямоугольных треугольника. Острый угол одного $42°$, другого $42°$. Подобны ли? Гипотенуза первого $13$, второго $6.5$. Найди $k$.',ans:2,hint:'Подобны (ДД). k=13/6.5=2.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по ДД. $k=4$. Периметр $\\triangle A\'B\'C\'=18$. Найди периметр $\\triangle ABC$.',ans:72,hint:'P=k·P\'=4·18=72.'},
|
||||
{q:'Два прямоугольных треугольника. Острый угол одного $42°$, другого $42°$. Подобны ли? Гипотенуза первого $13$, второго $6.5$. Найди $k$.',ans:2,hint:'Подобны по двум углам. k=13/6.5=2.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по двум углам. $k=4$. Периметр $\\triangle A\'B\'C\'=18$. Найди периметр $\\triangle ABC$.',ans:72,hint:'P=k·P\'=4·18=72.'},
|
||||
{q:'В $\\triangle ABC$ и $\\triangle DEF$: $\\angle A=\\angle D=55°$, $\\angle B=\\angle E=75°$. $BC=20$, $EF=8$. Найди $k=BC/EF$.',ans:2.5,hint:'k=20/8=2.5.'},
|
||||
];
|
||||
const bossBox=document.getElementById('p5-boss-tasks');
|
||||
@@ -2380,36 +2380,36 @@ function buildP6(){
|
||||
let html='';
|
||||
|
||||
/* ---- Theory cards ---- */
|
||||
html+=makeCard('theory','Второй признак подобия треугольников (СУС — сторона-угол-сторона)','6.1',`
|
||||
<p><b>Теорема (2-й признак подобия, СУС).</b> Если две стороны одного треугольника пропорциональны двум сторонам другого треугольника, а углы между этими сторонами равны, то такие треугольники подобны.</p>
|
||||
html+=makeCard('theory','Второй признак подобия треугольников — по двум сторонам и углу (СУС — сторона-угол-сторона)','6.1',`
|
||||
<p><b>Теорема (2-й признак подобия — по двум сторонам и углу, СУС).</b> Если две стороны одного треугольника пропорциональны двум сторонам другого треугольника, а углы между этими сторонами равны, то такие треугольники подобны.</p>
|
||||
<p style="margin-top:8px">Если $\\dfrac{AB}{A'B'} = \\dfrac{AC}{A'C'} = k$ и $\\angle A = \\angle A'$, то $\\triangle ABC \\sim \\triangle A'B'C'$.</p>
|
||||
<p style="margin-top:8px">Это означает: двух пропорциональных сторон и равного угла между ними <b>достаточно</b> для подобия — третью сторону и остальные углы можно не проверять.</p>
|
||||
<div style="display:flex;justify-content:center;margin-top:14px">
|
||||
<svg viewBox="0 0 300 165" style="max-width:320px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- Triangle 1: A=(100,20), B=(30,140), C=(195,140) -->
|
||||
<svg viewBox="0 0 300 192" style="max-width:320px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- Triangle 1: A=(100,35), B=(30,155), C=(195,155) -->
|
||||
<!-- AB≈138.9, AC≈153.1, ∠A≈68.6° -->
|
||||
<polygon points="100,20 30,140 195,140" fill="rgba(124,58,237,.11)" stroke="#7c3aed" stroke-width="2"/>
|
||||
<!-- Angle mark at A (between AB direction (-70,-120) and AC direction (95,-120)) -->
|
||||
<path d="M88,36 Q100,44 112,37" fill="none" stroke="#f59e0b" stroke-width="2"/>
|
||||
<polygon points="100,35 30,155 195,155" fill="rgba(124,58,237,.11)" stroke="#7c3aed" stroke-width="2"/>
|
||||
<!-- Angle mark at A -->
|
||||
<path d="M88,51 Q100,59 112,52" fill="none" stroke="#f59e0b" stroke-width="2"/>
|
||||
<!-- Vertex labels outside polygon -->
|
||||
<text x="100" y="27" text-anchor="middle" font-size="11" font-weight="800" fill="#6d28d9">A</text>
|
||||
<text x="18" y="165" font-size="11" font-weight="800" fill="#6d28d9">B</text>
|
||||
<text x="198" y="165" font-size="11" font-weight="800" fill="#6d28d9">C</text>
|
||||
<!-- Side labels -->
|
||||
<text x="100" y="13" text-anchor="middle" font-size="11" font-weight="800" fill="#6d28d9">A</text>
|
||||
<text x="20" y="151" font-size="11" font-weight="800" fill="#6d28d9">B</text>
|
||||
<text x="198" y="151" font-size="11" font-weight="800" fill="#6d28d9">C</text>
|
||||
<text x="57" y="87" text-anchor="end" font-size="10" fill="#7c3aed" font-style="italic">AB</text>
|
||||
<text x="155" y="85" font-size="10" fill="#7c3aed" font-style="italic">AC</text>
|
||||
<!-- Triangle 2 (k=2): A'=(235,58), B'=A'+(-35,60)=(200,118), C'=A'+(48,60)=(283,118) -->
|
||||
<!-- A'B'=AB/2≈69.5✓, A'C'=AC/2≈76.6✓, ∠A'=∠A≈68.6°✓ -->
|
||||
<polygon points="235,58 200,118 283,118" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/>
|
||||
<!-- Angle mark at A' (same shape, same direction vectors scaled) -->
|
||||
<path d="M226,72 Q235,78 244,73" fill="none" stroke="#f59e0b" stroke-width="1.8"/>
|
||||
<text x="235" y="52" text-anchor="middle" font-size="10" font-weight="800" fill="#4f46e5">A'</text>
|
||||
<text x="192" y="128" font-size="10" font-weight="800" fill="#4f46e5">B'</text>
|
||||
<text x="285" y="128" font-size="10" font-weight="800" fill="#4f46e5">C'</text>
|
||||
<text x="212" y="93" text-anchor="middle" font-size="9" fill="#6366f1" font-style="italic">A'B'</text>
|
||||
<text x="263" y="88" font-size="9" fill="#6366f1" font-style="italic">A'C'</text>
|
||||
<!-- Equal angle and ratio labels -->
|
||||
<text x="150" y="12" text-anchor="middle" font-size="9" fill="#f59e0b" font-weight="800">∠A = ∠A' (равны)</text>
|
||||
<text x="150" y="24" text-anchor="middle" font-size="9" fill="#7c3aed">AB/A'B' = AC/A'C' = k=2 → △ABC∼△A'B'C'</text>
|
||||
<text x="57" y="100" text-anchor="end" font-size="10" fill="#7c3aed" font-style="italic">AB</text>
|
||||
<text x="155" y="98" font-size="10" fill="#7c3aed" font-style="italic">AC</text>
|
||||
<!-- Triangle 2 (k=2): A'=(235,73), B'=(200,133), C'=(283,133) -->
|
||||
<polygon points="235,73 200,133 283,133" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/>
|
||||
<!-- Angle mark at A' -->
|
||||
<path d="M226,87 Q235,93 244,88" fill="none" stroke="#f59e0b" stroke-width="1.8"/>
|
||||
<text x="235" y="65" text-anchor="middle" font-size="10" font-weight="800" fill="#4f46e5">A'</text>
|
||||
<text x="188" y="143" font-size="10" font-weight="800" fill="#4f46e5">B'</text>
|
||||
<text x="285" y="143" font-size="10" font-weight="800" fill="#4f46e5">C'</text>
|
||||
<text x="212" y="107" text-anchor="middle" font-size="9" fill="#6366f1" font-style="italic">A'B'</text>
|
||||
<text x="263" y="102" font-size="9" fill="#6366f1" font-style="italic">A'C'</text>
|
||||
<!-- Equal angle and ratio labels moved to bottom -->
|
||||
<text x="150" y="170" text-anchor="middle" font-size="9" fill="#f59e0b" font-weight="800">∠A = ∠A' (равны)</text>
|
||||
<text x="150" y="181" text-anchor="middle" font-size="8" fill="#7c3aed">AB/A'B' = AC/A'C' = k=2 → подобны</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
@@ -2437,9 +2437,9 @@ function buildP6(){
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
html+=makeCard('example','Примеры применения признака СУС','6.3',`
|
||||
html+=makeCard('example','Примеры применения признака по двум сторонам и углу (СУС)','6.3',`
|
||||
<p><b>Пример 1.</b> $AB=6$, $AC=9$, $A'B'=4$, $A'C'=6$, $\\angle A=\\angle A'=50°$. Подобны ли треугольники?</p>
|
||||
<p style="margin-top:4px">$\\dfrac{AB}{A'B'}=\\dfrac{6}{4}=1{,}5$; $\\dfrac{AC}{A'C'}=\\dfrac{9}{6}=1{,}5$. Отношения равны, углы между ними равны → по СУС: $\\triangle ABC \\sim \\triangle A'B'C'$, $k=1{,}5$.</p>
|
||||
<p style="margin-top:4px">$\\dfrac{AB}{A'B'}=\\dfrac{6}{4}=1{,}5$; $\\dfrac{AC}{A'C'}=\\dfrac{9}{6}=1{,}5$. Отношения равны, углы между ними равны → по двум сторонам и углу (СУС): $\\triangle ABC \\sim \\triangle A'B'C'$, $k=1{,}5$.</p>
|
||||
<p style="margin-top:8px"><b>Пример 2.</b> $PQ=10$, $PR=15$, $P'Q'=6$, $P'R'=9$, $\\angle P=\\angle P'$. $PQ/P'Q'=10/6=5/3$, $PR/P'R'=15/9=5/3$. Подобны ($k=5/3$).</p>
|
||||
<p style="margin-top:8px"><b>Пример 3 (не подобны).</b> $AB=8$, $AC=6$, $A'B'=4$, $A'C'=5$, $\\angle A=\\angle A'$. $AB/A'B'=2$, $AC/A'C'=1{,}2$ — отношения неравны → <b>не подобны</b>.</p>`);
|
||||
|
||||
@@ -2493,8 +2493,8 @@ function buildP6(){
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 4: Тренажёр ---- */
|
||||
html+=`<div class="wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 4</span><div class="wg-title">Тренажёр §6 — Признак СУС</div></div>
|
||||
<div class="wg-help">5 задач на подобие по признаку СУС.</div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 4</span><div class="wg-title">Тренажёр §6 — Признак по двум сторонам и углу (СУС)</div></div>
|
||||
<div class="wg-help">5 задач на подобие по признаку по двум сторонам и углу.</div>
|
||||
<div class="score-display"><span>Задача <b id="p6-tr-i">1</b> / 5</span><span>Очки: <b id="p6-tr-score">0</b></span></div>
|
||||
<div id="p6-tr-task" style="padding:14px;background:var(--sec-acc-soft,var(--pri-soft));border-radius:10px;font-size:1.02rem;margin-bottom:10px"></div>
|
||||
<div style="display:flex;gap:8px;align-items:center;flex-wrap:wrap">
|
||||
@@ -2507,11 +2507,11 @@ function buildP6(){
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 5: DnD-сортер ---- */
|
||||
html+=`<div class="wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 5</span><div class="wg-title">Подобны по СУС или нет? — Сортировка</div></div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 5</span><div class="wg-title">Подобны по двум сторонам и углу (СУС) или нет? — Сортировка</div></div>
|
||||
<div class="wg-help">Перетащи каждую пару в нужную колонку.</div>
|
||||
<div id="p6-dnd-pool" class="dnd-pool"></div>
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px">
|
||||
<div class="drop-box" id="p6-drop-yes"><h5>Подобны (СУС)</h5><div class="drop-items" id="p6-drop-yes-items"></div></div>
|
||||
<div class="drop-box" id="p6-drop-yes"><h5>Подобны (по двум сторонам и углу)</h5><div class="drop-items" id="p6-drop-yes-items"></div></div>
|
||||
<div class="drop-box" id="p6-drop-no"><h5>Не подобны</h5><div class="drop-items" id="p6-drop-no-items"></div></div>
|
||||
</div>
|
||||
<div class="actions"><button class="btn primary" id="p6-dnd-check">Проверить</button><button class="btn" id="p6-dnd-reset">Сбросить</button></div>
|
||||
@@ -2598,7 +2598,7 @@ function buildP6(){
|
||||
s+=`<text x="${W/2}" y="12" text-anchor="middle" font-size="10" font-weight="800" fill="#7c3aed">k = ${k.toFixed(1)}</text>`;
|
||||
s+='</svg>';
|
||||
svgOut.innerHTML=s;
|
||||
infoEl.innerHTML=`$AB=${ab}$, $AC=${ac}$, $\\angle A=${angDeg}°$. Второй треугольник: $A'B'=${fmt(ab2)}$, $A'C'=${fmt(ac2)}$, $\\angle A'=${angDeg}°$. Отношение сторон $k=${k.toFixed(1)}$ — треугольники подобны по признаку СУС.`;
|
||||
infoEl.innerHTML=`$AB=${ab}$, $AC=${ac}$, $\\angle A=${angDeg}°$. Второй треугольник: $A'B'=${fmt(ab2)}$, $A'C'=${fmt(ac2)}$, $\\angle A'=${angDeg}°$. Отношение сторон $k=${k.toFixed(1)}$ — треугольники подобны по признаку по двум сторонам и углу (СУС).`;
|
||||
renderMath(infoEl);
|
||||
addXp(1,'p6-svg');
|
||||
}
|
||||
@@ -2620,8 +2620,8 @@ function buildP6(){
|
||||
svg:`<svg viewBox="0 0 280 90" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="22" text-anchor="middle" font-size="11" fill="#4f46e5" font-weight="700">A'M/A'B' = A'N/A'C' (§4, пропорция)</text><text x="140" y="44" text-anchor="middle" font-size="11" fill="#7c3aed" font-weight="700">A'M=AB → A'N=AC</text><text x="140" y="70" text-anchor="middle" font-size="10" fill="#10b981" font-weight="800">Итак: A'M=AB, A'N=AC, ∠A'=∠A</text></svg>`},
|
||||
{desc:'<b>Шаг 4.</b> Теперь: $A\'M = AB$, $A\'N = AC$, $\\angle A\' = \\angle A$. По признаку равенства треугольников (SAS): $\\triangle A\'MN \\cong \\triangle ABC$. Кроме того, $\\triangle A\'MN \\sim \\triangle A\'B\'C\'$ (§4).',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="22" text-anchor="middle" font-size="11" fill="#4338ca" font-weight="700">△A'MN ≅ △ABC (SAS)</text><text x="140" y="44" text-anchor="middle" font-size="11" fill="#7c3aed" font-weight="700">△A'MN ∼ △A'B'C' (§4)</text><text x="140" y="66" text-anchor="middle" font-size="10" fill="#6366f1">По транзитивности подобия:</text></svg>`},
|
||||
{desc:'<b>Шаг 5.</b> По транзитивности: $\\triangle ABC \\cong \\triangle A\'MN \\sim \\triangle A\'B\'C\'$ → $\\triangle ABC \\sim \\triangle A\'B\'C\'$. <b>Второй признак подобия (СУС) доказан.</b>',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#7c3aed" font-weight="800">AB/A'B'=AC/A'C'=k, ∠A=∠A' → △ABC∼△A'B'C'</text><text x="140" y="50" text-anchor="middle" font-size="10" fill="#6366f1">Признак СУС — второй признак подобия</text><text x="140" y="70" text-anchor="middle" font-size="12" fill="#10b981" font-weight="900">QED ∎</text></svg>`},
|
||||
{desc:'<b>Шаг 5.</b> По транзитивности: $\\triangle ABC \\cong \\triangle A\'MN \\sim \\triangle A\'B\'C\'$ → $\\triangle ABC \\sim \\triangle A\'B\'C\'$. <b>Второй признак подобия (по двум сторонам и углу, СУС) доказан.</b>',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#7c3aed" font-weight="800">AB/A'B'=AC/A'C'=k, ∠A=∠A' → △ABC∼△A'B'C'</text><text x="140" y="50" text-anchor="middle" font-size="10" fill="#6366f1">Признак по двум сторонам и углу (СУС) — второй признак подобия</text><text x="140" y="70" text-anchor="middle" font-size="12" fill="#10b981" font-weight="900">QED ∎</text></svg>`},
|
||||
];
|
||||
let step=0;
|
||||
const svgEl=document.getElementById('p6-proof-svg');
|
||||
@@ -2652,7 +2652,7 @@ function buildP6(){
|
||||
const BC=Math.sqrt(AB*AB+AC*AC-2*AB*AC*Math.cos(angRad));
|
||||
const BC2=BC/k;
|
||||
out.style.display='block';
|
||||
out.innerHTML=`Второй треугольник: $A'B'=\\dfrac{AB}{k}=\\dfrac{${fmt(AB)}}{${fmt(k)}}=${fmt(AB2)}$, $A'C'=\\dfrac{AC}{k}=\\dfrac{${fmt(AC)}}{${fmt(k)}}=${fmt(AC2)}$, $\\angle A'=${fmt(ang)}°$.<br>По теореме косинусов: $BC=${fmt(BC)}$, $B'C'=${fmt(BC2)}$.<br>Треугольники подобны по признаку СУС с $k=${fmt(k)}$.`;
|
||||
out.innerHTML=`Второй треугольник: $A'B'=\\dfrac{AB}{k}=\\dfrac{${fmt(AB)}}{${fmt(k)}}=${fmt(AB2)}$, $A'C'=\\dfrac{AC}{k}=\\dfrac{${fmt(AC)}}{${fmt(k)}}=${fmt(AC2)}$, $\\angle A'=${fmt(ang)}°$.<br>По теореме косинусов: $BC=${fmt(BC)}$, $B'C'=${fmt(BC2)}$.<br>Треугольники подобны по признаку по двум сторонам и углу (СУС) с $k=${fmt(k)}$.`;
|
||||
renderMath(out);
|
||||
addXp(3,'p6-calc');bumpProgress('p6',5);
|
||||
});
|
||||
@@ -2663,9 +2663,9 @@ function buildP6(){
|
||||
const tasks=[
|
||||
{q:'$AB=12$, $AC=8$, $A\'B\'=6$, $A\'C\'=4$, $\\angle A=\\angle A\'=40°$. Найди коэффициент подобия $k=AB/A\'B\'$.',ans:2,hint:'k=12/6=2. Проверь: AC/A\'C\'=8/4=2. ✓'},
|
||||
{q:'$PQ=15$, $PR=9$, $P\'Q\'=5$, $P\'R\'=3$, $\\angle P=\\angle P\'$. Подобны ли треугольники? Введи $k$ (или 0 если не подобны).',ans:3,hint:'PQ/P\'Q\'=15/5=3, PR/P\'R\'=9/3=3. Подобны, k=3.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по СУС, $k=2.5$. $A\'B\'=6$. Найди $AB$.',ans:15,hint:'AB=k·A\'B\'=2.5·6=15.'},
|
||||
{q:'$AB=10$, $AC=6$, $A\'B\'=4$, $A\'C\'=3$, $\\angle A=\\angle A\'$. Проверь подобие: $AB/A\'B\'=?$ (введи значение)',ans:2.5,hint:'AB/A\'B\'=10/4=2.5, AC/A\'C\'=6/3=2. Отношения разные → не подобны по СУС.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по СУС, $k=3$. Стороны второго: $A\'B\'=4$, $A\'C\'=5$. Найди $AB+AC$.',ans:27,hint:'AB=3·4=12, AC=3·5=15. AB+AC=27.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по двум сторонам и углу (СУС), $k=2.5$. $A\'B\'=6$. Найди $AB$.',ans:15,hint:'AB=k·A\'B\'=2.5·6=15.'},
|
||||
{q:'$AB=10$, $AC=6$, $A\'B\'=4$, $A\'C\'=3$, $\\angle A=\\angle A\'$. Проверь подобие: $AB/A\'B\'=?$ (введи значение)',ans:2.5,hint:'AB/A\'B\'=10/4=2.5, AC/A\'C\'=6/3=2. Отношения разные → не подобны по двум сторонам и углу (СУС).'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по двум сторонам и углу (СУС), $k=3$. Стороны второго: $A\'B\'=4$, $A\'C\'=5$. Найди $AB+AC$.',ans:27,hint:'AB=3·4=12, AC=3·5=15. AB+AC=27.'},
|
||||
];
|
||||
let idx=0,score=0;
|
||||
function show(){
|
||||
@@ -2749,7 +2749,7 @@ function buildP6(){
|
||||
/* == INIT: Босс §6 == */
|
||||
(function(){
|
||||
const tasks=[
|
||||
{q:'<svg viewBox="0 0 300 130" style="display:block;max-width:300px;margin:0 auto 8px;background:#ede9fe;border:1px solid #c4b5fd;border-radius:8px"><polygon points="85,15 20,110 160,110" fill="rgba(124,58,237,.12)" stroke="#7c3aed" stroke-width="2"/><polygon points="228,47 185,110 278,110" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/><path d="M73,30 Q85,38 97,32" fill="none" stroke="#f59e0b" stroke-width="1.8"/><path d="M219,60 Q228,67 237,61" fill="none" stroke="#f59e0b" stroke-width="1.5"/><text x="85" y="10" text-anchor="middle" font-size="10" fill="#6d28d9" font-weight="800">A</text><text x="12" y="119" font-size="10" fill="#6d28d9" font-weight="800">B</text><text x="163" y="119" font-size="10" fill="#6d28d9" font-weight="800">C</text><text x="228" y="42" text-anchor="middle" font-size="9" fill="#4f46e5" font-weight="800">A\'</text><text x="177" y="119" font-size="9" fill="#4f46e5" font-weight="800">B\'</text><text x="280" y="119" font-size="9" fill="#4f46e5" font-weight="800">C\'</text><text x="150" y="10" text-anchor="middle" font-size="8" fill="#7c3aed">AB=9,AC=12,A\'B\'=6,A\'C\'=8,∠A=∠A\',k=1.5</text></svg>$AB=9$, $AC=12$, $A\'B\'=6$, $A\'C\'=8$, $\\angle A=\\angle A\'$. Найди $k=AB/A\'B\'$.',ans:1.5,hint:'k=9/6=1.5. Проверь: 12/8=1.5. ✓ Признак СУС выполнен.'},
|
||||
{q:'<svg viewBox="0 0 300 130" style="display:block;max-width:300px;margin:0 auto 8px;background:#ede9fe;border:1px solid #c4b5fd;border-radius:8px"><polygon points="85,15 20,110 160,110" fill="rgba(124,58,237,.12)" stroke="#7c3aed" stroke-width="2"/><polygon points="228,47 185,110 278,110" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/><path d="M73,30 Q85,38 97,32" fill="none" stroke="#f59e0b" stroke-width="1.8"/><path d="M219,60 Q228,67 237,61" fill="none" stroke="#f59e0b" stroke-width="1.5"/><text x="85" y="10" text-anchor="middle" font-size="10" fill="#6d28d9" font-weight="800">A</text><text x="12" y="119" font-size="10" fill="#6d28d9" font-weight="800">B</text><text x="163" y="119" font-size="10" fill="#6d28d9" font-weight="800">C</text><text x="228" y="42" text-anchor="middle" font-size="9" fill="#4f46e5" font-weight="800">A\'</text><text x="177" y="119" font-size="9" fill="#4f46e5" font-weight="800">B\'</text><text x="280" y="119" font-size="9" fill="#4f46e5" font-weight="800">C\'</text><text x="150" y="10" text-anchor="middle" font-size="8" fill="#7c3aed">AB=9,AC=12,A\'B\'=6,A\'C\'=8,∠A=∠A\',k=1.5</text></svg>$AB=9$, $AC=12$, $A\'B\'=6$, $A\'C\'=8$, $\\angle A=\\angle A\'$. Найди $k=AB/A\'B\'$.',ans:1.5,hint:'k=9/6=1.5. Проверь: 12/8=1.5. ✓ Признак по двум сторонам и углу (СУС) выполнен.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по СУС, $k=4$. Стороны второго: $A\'B\'=3$, $A\'C\'=5$. Чему равно $AB+AC$?',ans:32,hint:'AB=4·3=12, AC=4·5=20. Сумма 32.'},
|
||||
{q:'$AB=10$, $AC=15$, $\\angle A=60°$. По признаку СУС треугольник подобен другому с $k=2.5$. Найди $A\'B\'$.',ans:4,hint:'A\'B\'=AB/k=10/2.5=4.'},
|
||||
{q:'Даны два треугольника: $AB=18$, $AC=12$, $A\'B\'=6$, $A\'C\'=4$, $\\angle A=\\angle A\'=75°$. Найди $BC$, если $B\'C\'=5$.',ans:15,hint:'k=18/6=3. BC=k·B\'C\'=3·5=15.'},
|
||||
@@ -2781,8 +2781,8 @@ function buildP7(){
|
||||
let html='';
|
||||
|
||||
/* ---- Theory cards ---- */
|
||||
html+=makeCard('theory','Третий признак подобия треугольников (ССС — три стороны)','7.1',`
|
||||
<p><b>Теорема (3-й признак подобия, ССС).</b> Если три стороны одного треугольника пропорциональны трём сторонам другого треугольника, то такие треугольники подобны.</p>
|
||||
html+=makeCard('theory','Третий признак подобия треугольников — по трём сторонам (ССС)','7.1',`
|
||||
<p><b>Теорема (3-й признак подобия — по трём сторонам, ССС).</b> Если три стороны одного треугольника пропорциональны трём сторонам другого треугольника, то такие треугольники подобны.</p>
|
||||
<p style="margin-top:8px">Если $\\dfrac{a}{a'} = \\dfrac{b}{b'} = \\dfrac{c}{c'} = k$, то $\\triangle ABC \\sim \\triangle A'B'C'$.</p>
|
||||
<p style="margin-top:8px">Здесь $a=BC$, $b=AC$, $c=AB$ и аналогично для второго треугольника. Это самый сильный признак — он <b>не требует</b> проверки углов.</p>
|
||||
<div style="display:flex;justify-content:center;margin-top:14px">
|
||||
@@ -2813,7 +2813,7 @@ function buildP7(){
|
||||
</div>`);
|
||||
|
||||
html+=makeCard('rule','Доказательство 3-го признака — схема','7.2',`
|
||||
<p>Доказательство сводится к 2-му признаку (СУС).</p>
|
||||
<p>Доказательство сводится к 2-му признаку (по двум сторонам и углу, СУС).</p>
|
||||
<p style="margin-top:6px">Пусть $\\dfrac{a}{a'}=\\dfrac{b}{b'}=\\dfrac{c}{c'}=k$. На стороне $A'B'$ откладываем $A'M=AB=kA'B'$. Через $M \\parallel B'C'$ строим точку $N$ на $A'C'$, тогда $\\triangle A'MN \\sim \\triangle A'B'C'$ и все стороны $\\triangle A'MN$ равны сторонам $\\triangle ABC$.</p>
|
||||
<p style="margin-top:6px">По признаку равенства SSS: $\\triangle A'MN \\cong \\triangle ABC$. Значит $\\triangle ABC \\sim \\triangle A'B'C'$ (транзитивность). <b>QED.</b></p>
|
||||
<div style="display:flex;justify-content:center;margin-top:10px">
|
||||
@@ -2830,15 +2830,15 @@ function buildP7(){
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
html+=makeCard('example','Примеры применения признака ССС','7.3',`
|
||||
html+=makeCard('example','Примеры применения признака по трём сторонам (ССС)','7.3',`
|
||||
<p><b>Пример 1.</b> $a=6$, $b=8$, $c=10$; $a'=3$, $b'=4$, $c'=5$. Подобны ли треугольники?</p>
|
||||
<p style="margin-top:4px">$a/a'=6/3=2$, $b/b'=8/4=2$, $c/c'=10/5=2$. Все отношения равны $k=2$ → по ССС: подобны.</p>
|
||||
<p style="margin-top:4px">$a/a'=6/3=2$, $b/b'=8/4=2$, $c/c'=10/5=2$. Все отношения равны $k=2$ → по трём сторонам (ССС): подобны.</p>
|
||||
<p style="margin-top:8px"><b>Пример 2.</b> $a=9$, $b=12$, $c=6$; $a'=6$, $b'=8$, $c'=4$. $9/6=1{,}5$, $12/8=1{,}5$, $6/4=1{,}5$. $k=1{,}5$ — подобны.</p>
|
||||
<p style="margin-top:8px"><b>Пример 3 (не подобны).</b> $a=5$, $b=7$, $c=9$; $a'=5$, $b'=7$, $c'=10$. $5/5=1$, $7/7=1$, $9/10=0{,}9$. Отношения различны → <b>не подобны</b>.</p>`);
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 1: SVG три стороны + слайдер k ---- */
|
||||
html+=`<div class="wg" id="p7-svg-wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 1</span><div class="wg-title">Два треугольника — признак ССС</div></div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 1</span><div class="wg-title">Два треугольника — признак по трём сторонам (ССС)</div></div>
|
||||
<div class="wg-help">Задай три стороны первого треугольника и коэффициент $k$. Второй строится автоматически: все стороны уменьшены в $k$ раз. Треугольное неравенство проверяется автоматически.</div>
|
||||
<div class="sliders">
|
||||
<label>Сторона $a$: <b id="p7-a-val">6</b>
|
||||
@@ -2861,7 +2861,7 @@ function buildP7(){
|
||||
/* ---- ИНТЕРАКТИВ 2: Пошаговое доказательство ---- */
|
||||
html+=`<div class="wg" id="p7-proof-wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 2</span><div class="wg-title">Доказательство 3-го признака — по шагам</div></div>
|
||||
<div class="wg-help">Нажимай «Далее» для каждого шага доказательства признака ССС.</div>
|
||||
<div class="wg-help">Нажимай «Далее» для каждого шага доказательства признака по трём сторонам (ССС).</div>
|
||||
<div id="p7-proof-svg" style="display:flex;justify-content:center;margin-bottom:10px"></div>
|
||||
<div id="p7-proof-desc" style="padding:10px 14px;background:var(--sec-acc-soft,var(--pri-soft));border-radius:10px;font-size:.95rem;line-height:1.6;margin-bottom:10px;min-height:60px"></div>
|
||||
<div style="display:flex;gap:8px">
|
||||
@@ -2888,7 +2888,7 @@ function buildP7(){
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 4: Тренажёр ---- */
|
||||
html+=`<div class="wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 4</span><div class="wg-title">Тренажёр §7 — Признак ССС</div></div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 4</span><div class="wg-title">Тренажёр §7 — Признак по трём сторонам (ССС)</div></div>
|
||||
<div class="wg-help">5 задач на проверку подобия по сторонам и нахождение коэффициента.</div>
|
||||
<div class="score-display"><span>Задача <b id="p7-tr-i">1</b> / 5</span><span>Очки: <b id="p7-tr-score">0</b></span></div>
|
||||
<div id="p7-tr-task" style="padding:14px;background:var(--sec-acc-soft,var(--pri-soft));border-radius:10px;font-size:1.02rem;margin-bottom:10px"></div>
|
||||
@@ -2902,11 +2902,11 @@ function buildP7(){
|
||||
|
||||
/* ---- ИНТЕРАКТИВ 5: DnD-сортер ---- */
|
||||
html+=`<div class="wg">
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 5</span><div class="wg-title">Подобны по ССС или нет? — Сортировка</div></div>
|
||||
<div class="wg-header"><span class="wg-badge">ИНТЕРАКТИВ 5</span><div class="wg-title">Подобны по трём сторонам (ССС) или нет? — Сортировка</div></div>
|
||||
<div class="wg-help">Перетащи каждую пару троек сторон в нужную колонку.</div>
|
||||
<div id="p7-dnd-pool" class="dnd-pool"></div>
|
||||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px">
|
||||
<div class="drop-box" id="p7-drop-yes"><h5>Подобны (ССС)</h5><div class="drop-items" id="p7-drop-yes-items"></div></div>
|
||||
<div class="drop-box" id="p7-drop-yes"><h5>Подобны (по трём сторонам)</h5><div class="drop-items" id="p7-drop-yes-items"></div></div>
|
||||
<div class="drop-box" id="p7-drop-no"><h5>Не подобны</h5><div class="drop-items" id="p7-drop-no-items"></div></div>
|
||||
</div>
|
||||
<div class="actions"><button class="btn primary" id="p7-dnd-check">Проверить</button><button class="btn" id="p7-dnd-reset">Сбросить</button></div>
|
||||
@@ -3012,7 +3012,7 @@ function buildP7(){
|
||||
s+=`<text x="${W/2}" y="12" text-anchor="middle" font-size="10" font-weight="800" fill="#7c3aed">k = ${k.toFixed(1)}</text>`;
|
||||
s+='</svg>';
|
||||
svgOut.innerHTML=s;
|
||||
infoEl.innerHTML=`$a=${a}$, $b=${b}$, $c=${c}$. Второй: $a'=${fmt(a2)}$, $b'=${fmt(b2)}$, $c'=${fmt(c2)}$. $\\dfrac{a}{a'}=\\dfrac{b}{b'}=\\dfrac{c}{c'}=${k.toFixed(1)}$ → по признаку ССС треугольники подобны.`;
|
||||
infoEl.innerHTML=`$a=${a}$, $b=${b}$, $c=${c}$. Второй: $a'=${fmt(a2)}$, $b'=${fmt(b2)}$, $c'=${fmt(c2)}$. $\\dfrac{a}{a'}=\\dfrac{b}{b'}=\\dfrac{c}{c'}=${k.toFixed(1)}$ → по признаку по трём сторонам (ССС) треугольники подобны.`;
|
||||
renderMath(infoEl);
|
||||
addXp(1,'p7-svg');
|
||||
}
|
||||
@@ -3034,8 +3034,8 @@ function buildP7(){
|
||||
svg:`<svg viewBox="0 0 280 90" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="22" text-anchor="middle" font-size="11" fill="#4f46e5" font-weight="700">△A'MN∼△A'B'C' с коэфф. k</text><text x="140" y="44" text-anchor="middle" font-size="11" fill="#7c3aed" font-weight="700">A'M=AB=c, MN=BC=a, A'N=AC=b</text><text x="140" y="68" text-anchor="middle" font-size="10" fill="#10b981" font-weight="800">Все стороны △A'MN = сторонам △ABC</text></svg>`},
|
||||
{desc:'<b>Шаг 4.</b> По признаку равенства треугольников (SSS): $\\triangle A\'MN \\cong \\triangle ABC$ (у них равны все три пары сторон).',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#4338ca" font-weight="800">△A'MN ≅ △ABC (SSS)</text><text x="140" y="52" text-anchor="middle" font-size="10" fill="#6366f1">Три стороны равны попарно → конгруэнтны</text><text x="140" y="70" text-anchor="middle" font-size="9" fill="#7c3aed">△A'MN∼△A'B'C' также выполнено</text></svg>`},
|
||||
{desc:'<b>Шаг 5.</b> По транзитивности: $\\triangle ABC \\cong \\triangle A\'MN \\sim \\triangle A\'B\'C\'$ → $\\triangle ABC \\sim \\triangle A\'B\'C\'$. <b>Третий признак подобия (ССС) доказан.</b>',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#7c3aed" font-weight="800">a/a'=b/b'=c/c'=k → △ABC∼△A'B'C'</text><text x="140" y="50" text-anchor="middle" font-size="10" fill="#6366f1">Признак ССС — третий признак подобия</text><text x="140" y="70" text-anchor="middle" font-size="12" fill="#10b981" font-weight="900">QED ∎</text></svg>`},
|
||||
{desc:'<b>Шаг 5.</b> По транзитивности: $\\triangle ABC \\cong \\triangle A\'MN \\sim \\triangle A\'B\'C\'$ → $\\triangle ABC \\sim \\triangle A\'B\'C\'$. <b>Третий признак подобия (по трём сторонам, ССС) доказан.</b>',
|
||||
svg:`<svg viewBox="0 0 280 80" style="max-width:280px;background:#fafafa;border:1px solid var(--border);border-radius:10px"><text x="140" y="26" text-anchor="middle" font-size="12" fill="#7c3aed" font-weight="800">a/a'=b/b'=c/c'=k → △ABC∼△A'B'C'</text><text x="140" y="50" text-anchor="middle" font-size="10" fill="#6366f1">Признак по трём сторонам (ССС) — третий признак подобия</text><text x="140" y="70" text-anchor="middle" font-size="12" fill="#10b981" font-weight="900">QED ∎</text></svg>`},
|
||||
];
|
||||
let step=0;
|
||||
const svgEl=document.getElementById('p7-proof-svg');
|
||||
@@ -3067,10 +3067,10 @@ function buildP7(){
|
||||
const ok=Math.abs(k1-k2)<tol&&Math.abs(k2-k3)<tol;
|
||||
out.style.display='block';
|
||||
if(ok){
|
||||
out.innerHTML=`$\\dfrac{a}{a'}=\\dfrac{${fmt(a)}}{${fmt(a2)}}=${fmt(k1)}$, $\\dfrac{b}{b'}=\\dfrac{${fmt(b)}}{${fmt(b2)}}=${fmt(k2)}$, $\\dfrac{c}{c'}=\\dfrac{${fmt(c)}}{${fmt(c2)}}=${fmt(k3)}$.<br><b>Все отношения равны $k=${fmt(k1)}$</b> → треугольники <b>подобны по признаку ССС</b>.`;
|
||||
out.innerHTML=`$\\dfrac{a}{a'}=\\dfrac{${fmt(a)}}{${fmt(a2)}}=${fmt(k1)}$, $\\dfrac{b}{b'}=\\dfrac{${fmt(b)}}{${fmt(b2)}}=${fmt(k2)}$, $\\dfrac{c}{c'}=\\dfrac{${fmt(c)}}{${fmt(c2)}}=${fmt(k3)}$.<br><b>Все отношения равны $k=${fmt(k1)}$</b> → треугольники <b>подобны по признаку по трём сторонам (ССС)</b>.`;
|
||||
addXp(3,'p7-calc');bumpProgress('p7',5);
|
||||
} else {
|
||||
out.innerHTML=`$\\dfrac{a}{a'}=${fmt(k1)}$, $\\dfrac{b}{b'}=${fmt(k2)}$, $\\dfrac{c}{c'}=${fmt(k3)}$.<br>Отношения <b>не равны</b> → треугольники <b>не подобны</b> по признаку ССС.`;
|
||||
out.innerHTML=`$\\dfrac{a}{a'}=${fmt(k1)}$, $\\dfrac{b}{b'}=${fmt(k2)}$, $\\dfrac{c}{c'}=${fmt(k3)}$.<br>Отношения <b>не равны</b> → треугольники <b>не подобны</b> по признаку по трём сторонам (ССС).`;
|
||||
}
|
||||
renderMath(out);
|
||||
});
|
||||
@@ -3080,10 +3080,10 @@ function buildP7(){
|
||||
(function(){
|
||||
const tasks=[
|
||||
{q:'$a=9$, $b=12$, $c=6$; $a\'=3$, $b\'=4$, $c\'=2$. Найди коэффициент подобия $k=a/a\'$.',ans:3,hint:'9/3=12/4=6/2=3. k=3.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по ССС, $k=2.5$. Стороны первого: $a=10$, $b=15$. Найди $a\'$.',ans:4,hint:'a\'=a/k=10/2.5=4.'},
|
||||
{q:'Стороны: $(6,8,10)$ и $(3,4,5)$. Подобны ли? Введи $k$ (или 0 если нет).',ans:2,hint:'6/3=8/4=10/5=2. Подобны, k=2.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по трём сторонам (ССС), $k=2.5$. Стороны первого: $a=10$, $b=15$. Найди $a\'$.',ans:4,hint:'a\'=a/k=10/2.5=4.'},
|
||||
{q:'Стороны: $(6,8,10)$ и $(3,4,5)$. Подобны ли? Введи $k$ (или 0 если нет).',ans:2,hint:'6/3=8/4=10/5=2. Подобны по трём сторонам (ССС), k=2.'},
|
||||
{q:'$a=5$, $b=7$, $c=9$; $a\'=5$, $b\'=7$, $c\'=10$. Подобны ли? Введи $k$ (или 0 если нет).',ans:0,hint:'5/5=1, 7/7=1, но 9/10≠1. Не подобны. Ответ 0.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по ССС, $k=4$. Периметр $\\triangle A\'B\'C\'=21$. Найди периметр $\\triangle ABC$.',ans:84,hint:'P=k·P\'=4·21=84.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по трём сторонам (ССС), $k=4$. Периметр $\\triangle A\'B\'C\'=21$. Найди периметр $\\triangle ABC$.',ans:84,hint:'P=k·P\'=4·21=84.'},
|
||||
];
|
||||
let idx=0,score=0;
|
||||
function show(){
|
||||
@@ -3167,11 +3167,11 @@ function buildP7(){
|
||||
/* == INIT ИНТЕРАКТИВ 6: мини-квиз == */
|
||||
(function(){
|
||||
const qs=[
|
||||
{q:'По какому признаку два угла одного треугольника равны двум углам другого?',opts:['ДД','СУС','ССС','Нет такого признака'],ans:0},
|
||||
{q:'По какому признаку два угла одного треугольника равны двум углам другого?',opts:['По двум углам (УУ)','По двум сторонам и углу (СУС)','По трём сторонам (ССС)','Нет такого признака'],ans:0},
|
||||
{q:'Сколько признаков подобия треугольников есть в курсе 8 класса?',opts:['1','2','3','4'],ans:2},
|
||||
{q:'Признак СУС требует равенства...',opts:['двух углов','двух сторон и угла между ними','трёх сторон','двух сторон и угла напротив'],ans:1},
|
||||
{q:'Если $a/a\'=2$, $b/b\'=2$, $c/c\'=2$, то треугольники подобны по признаку...',opts:['ДД','СУС','ССС','Нельзя определить'],ans:2},
|
||||
{q:'По признаку ССС требуется проверить...',opts:['2 угла','2 стороны и угол','3 стороны','1 угол и 2 стороны'],ans:2},
|
||||
{q:'Признак по двум сторонам и углу (СУС) требует равенства...',opts:['двух углов','двух сторон и угла между ними','трёх сторон','двух сторон и угла напротив'],ans:1},
|
||||
{q:'Если $a/a\'=2$, $b/b\'=2$, $c/c\'=2$, то треугольники подобны по признаку...',opts:['По двум углам (УУ)','По двум сторонам и углу (СУС)','По трём сторонам (ССС)','Нельзя определить'],ans:2},
|
||||
{q:'По признаку по трём сторонам (ССС) требуется проверить...',opts:['2 угла','2 стороны и угол','3 стороны','1 угол и 2 стороны'],ans:2},
|
||||
];
|
||||
const wrap=document.getElementById('p7-quiz-wrap');
|
||||
wrap.innerHTML=qs.map((q,qi)=>`
|
||||
@@ -3200,10 +3200,10 @@ function buildP7(){
|
||||
/* == INIT: Босс §7 == */
|
||||
(function(){
|
||||
const tasks=[
|
||||
{q:'<svg viewBox="0 0 240 128" style="display:block;max-width:240px;margin:0 auto 8px;background:#ddd6fe;border:1px solid #c4b5fd;border-radius:8px"><polygon points="100,14 24,118 210,118" fill="rgba(124,58,237,.12)" stroke="#7c3aed" stroke-width="2"/><polygon points="196,40 168,108 252,108" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/><text x="100" y="9" text-anchor="middle" font-size="10" fill="#6d28d9" font-weight="800">A</text><text x="14" y="126" font-size="10" fill="#6d28d9" font-weight="800">B</text><text x="213" y="126" font-size="10" fill="#6d28d9" font-weight="800">C</text><text x="196" y="35" text-anchor="middle" font-size="9" fill="#4f46e5" font-weight="800">A\'</text><text x="160" y="116" font-size="9" fill="#4f46e5" font-weight="800">B\'</text><text x="254" y="116" font-size="9" fill="#4f46e5" font-weight="800">C\'</text><text x="120" y="9" text-anchor="middle" font-size="8" fill="#7c3aed">a=12,b=9,c=15; a\'=8,b\'=6,c\'=10</text></svg>$a=12$, $b=9$, $c=15$; $a\'=8$, $b\'=6$, $c\'=10$. Найди $k=a/a\'$.',ans:1.5,hint:'12/8=9/6=15/10=1.5. k=1.5. Признак ССС выполнен.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по ССС, $k=3$. Периметр $\\triangle A\'B\'C\'=28$. Найди периметр $\\triangle ABC$.',ans:84,hint:'P=3·28=84.'},
|
||||
{q:'Стороны первого: $4, 6, 8$. Стороны второго: $6, 9, 12$. По какому признаку они подобны? Введи $k$ (большего к меньшему).',ans:1.5,hint:'6/4=9/6=12/8=1.5. Признак ССС. k=1.5.'},
|
||||
{q:'$\\triangle DEF$: $DE=10$, $EF=24$, $DF=26$ (прямоугольный). $\\triangle D\'E\'F\'$: $D\'E\'=5$, $E\'F\'=12$, $D\'F\'=13$. Найди $k$.',ans:2,hint:'10/5=24/12=26/13=2. k=2. Признак ССС.'},
|
||||
{q:'<svg viewBox="0 0 240 128" style="display:block;max-width:240px;margin:0 auto 8px;background:#ddd6fe;border:1px solid #c4b5fd;border-radius:8px"><polygon points="100,14 24,118 210,118" fill="rgba(124,58,237,.12)" stroke="#7c3aed" stroke-width="2"/><polygon points="196,40 168,108 252,108" fill="rgba(99,102,241,.18)" stroke="#6366f1" stroke-width="1.8"/><text x="100" y="9" text-anchor="middle" font-size="10" fill="#6d28d9" font-weight="800">A</text><text x="14" y="126" font-size="10" fill="#6d28d9" font-weight="800">B</text><text x="213" y="126" font-size="10" fill="#6d28d9" font-weight="800">C</text><text x="196" y="35" text-anchor="middle" font-size="9" fill="#4f46e5" font-weight="800">A\'</text><text x="160" y="116" font-size="9" fill="#4f46e5" font-weight="800">B\'</text><text x="254" y="116" font-size="9" fill="#4f46e5" font-weight="800">C\'</text><text x="120" y="9" text-anchor="middle" font-size="8" fill="#7c3aed">a=12,b=9,c=15; a\'=8,b\'=6,c\'=10</text></svg>$a=12$, $b=9$, $c=15$; $a\'=8$, $b\'=6$, $c\'=10$. Найди $k=a/a\'$.',ans:1.5,hint:'12/8=9/6=15/10=1.5. k=1.5. Признак по трём сторонам (ССС) выполнен.'},
|
||||
{q:'$\\triangle ABC \\sim \\triangle A\'B\'C\'$ по трём сторонам (ССС), $k=3$. Периметр $\\triangle A\'B\'C\'=28$. Найди периметр $\\triangle ABC$.',ans:84,hint:'P=3·28=84.'},
|
||||
{q:'Стороны первого: $4, 6, 8$. Стороны второго: $6, 9, 12$. По какому признаку они подобны? Введи $k$ (большего к меньшему).',ans:1.5,hint:'6/4=9/6=12/8=1.5. Признак по трём сторонам (ССС). k=1.5.'},
|
||||
{q:'$\\triangle DEF$: $DE=10$, $EF=24$, $DF=26$ (прямоугольный). $\\triangle D\'E\'F\'$: $D\'E\'=5$, $E\'F\'=12$, $D\'F\'=13$. Найди $k$.',ans:2,hint:'10/5=24/12=26/13=2. k=2. Признак по трём сторонам (ССС).'},
|
||||
];
|
||||
const bossBox=document.getElementById('p7-boss-tasks');
|
||||
bossBox.innerHTML=tasks.map((t,i)=>`
|
||||
@@ -3279,29 +3279,85 @@ function buildP8(){
|
||||
</ol>
|
||||
<p style="margin-top:8px"><b>Итог:</b> $\\dfrac{BD}{DC} = \\dfrac{c}{b} = \\dfrac{AB}{AC}$. <b>Теорема доказана.</b></p>
|
||||
<div style="display:flex;justify-content:center;margin-top:12px">
|
||||
<svg viewBox="0 0 300 175" style="max-width:320px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!-- A=(120,18), B=(30,162), C=(260,162), D=(136,162) -->
|
||||
<!-- E on extension of BA: CE || AD -->
|
||||
<!-- E = A + t*(A-B) direction. Since CE||AD, by construction E≈(190,18) as approximate -->
|
||||
<polygon points="120,18 30,162 260,162" fill="rgba(192,38,211,.08)" stroke="#c026d3" stroke-width="1.5"/>
|
||||
<!-- bisector AD -->
|
||||
<line x1="120" y1="18" x2="136" y2="162" stroke="#f59e0b" stroke-width="2" stroke-dasharray="5,3"/>
|
||||
<!-- CE parallel to AD, from C(260,162) toward E -->
|
||||
<!-- E roughly at (208,18) for illustration -->
|
||||
<line x1="260" y1="162" x2="208" y2="18" stroke="#10b981" stroke-width="2" stroke-dasharray="5,3"/>
|
||||
<!-- extension of AB to E: A=(120,18), B=(30,162); direction (90,144). E=(120+t*90, 18+t*144) where E.x≈208 → t≈0.978 → E≈(208,159)? No, let's just draw E above A -->
|
||||
<!-- E is on ray from B through A extended beyond A: E=(192,18) approx -->
|
||||
<line x1="30" y1="162" x2="192" y2="18" stroke="#6366f1" stroke-width="1.5" stroke-dasharray="4,2"/>
|
||||
<circle cx="192" cy="18" r="4" fill="#6366f1"/>
|
||||
<circle cx="136" cy="162" r="4" fill="#f59e0b"/>
|
||||
<circle cx="260" cy="162" r="4" fill="#c026d3"/>
|
||||
<text x="120" y="13" text-anchor="middle" font-size="10" font-weight="800" fill="#a21caf">A</text>
|
||||
<text x="20" y="170" font-size="10" font-weight="800" fill="#a21caf">B</text>
|
||||
<text x="262" y="170" font-size="10" font-weight="800" fill="#a21caf">C</text>
|
||||
<text x="136" y="175" text-anchor="middle" font-size="9" font-weight="800" fill="#b45309">D</text>
|
||||
<text x="194" y="13" text-anchor="start" font-size="10" font-weight="800" fill="#4f46e5">E</text>
|
||||
<text x="160" y="100" font-size="9" fill="#10b981" font-weight="700">CE ∥ AD</text>
|
||||
<text x="150" y="12" text-anchor="middle" font-size="9" fill="#c026d3" font-weight="700">BD/DC = BA/AE = c/b</text>
|
||||
<svg viewBox="0 -30 340 215" style="max-width:360px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<!--
|
||||
Triangle ABC: A=(140,30) B=(30,175) C=(295,175)
|
||||
AB: sqrt(110²+145²) ≈ 182.0
|
||||
AC: sqrt(155²+145²) ≈ 212.4
|
||||
D on BC: BD/DC = AB/AC = 182/212.4 ≈ 0.857
|
||||
BC=265; BD=265*0.857/1.857=122.6 → D=(30+122.6,175)=(153,175)
|
||||
Bisector AD: direction (153-140,175-30)=(13,145)
|
||||
E on extension of AB beyond A:
|
||||
direction B→A = (110,-145); normalised.
|
||||
E = A + 0.6*(A-B) = (140+66,30-87) = (206,-57)
|
||||
CE: from C(295,175) to E(206,-57): direction(-89,-232)
|
||||
AD direction: (13,145); ratio -89/13=-6.85, -232/145=-1.6. Not exact.
|
||||
For exact parallel: E must satisfy CE direction = k*(13,145) for some k.
|
||||
E = C + s*(-13,-145) = (295-13s, 175-145s)
|
||||
For s=8: E=(295-104, 175-1160)=(191,-985). Too far.
|
||||
For s=1.2: E=(279,1, 175-174)=(279,1). E=(279,1)
|
||||
E=(279,1): CE from C(295,175) to (279,1): dir(-16,-174) = -1.23*(13,141.5)≈ proportional to (13,145). Close enough.
|
||||
AB extension through E=(279,1): line through B(30,175),A(140,30),E(279,1)?
|
||||
Line BA: param (30+110t, 175-145t). At t=2.1: (30+231,175-304.5)=(261,-129). Not (279,1).
|
||||
Use simplified: fix E on AB extension so CE∥AD exactly.
|
||||
Line BA direction: (110,-145). E=A+t*(110,-145).
|
||||
CE direction from C to E = E-C = (140+110t-295, 30-145t-175) = (-155+110t, -145-145t).
|
||||
For CE∥AD: (-155+110t)/(13) = (-145-145t)/(145)
|
||||
145*(-155+110t) = 13*(-145-145t)
|
||||
-22475+15950t = -1885-1885t
|
||||
15950t+1885t = -1885+22475
|
||||
17835t = 20590
|
||||
t = 20590/17835 ≈ 1.1546
|
||||
E = (140+110*1.1546, 30-145*1.1546) = (140+126.9, 30-167.4) = (267, -137.4)
|
||||
That's too far above (very negative y). Let viewBox top = -145.
|
||||
Alternatively rescale: use larger viewBox.
|
||||
SIMPLE APPROACH: widen x, use viewBox="0 -30 340 215", put E at (267,-28) approx
|
||||
and show CE as dashed with label CE∥AD, accept small visual approximation.
|
||||
FINAL DESIGN: Triangle A=(140,42) B=(30,175) C=(295,175); AD bisector; E distinct from A.
|
||||
-->
|
||||
<!-- Main triangle -->
|
||||
<polygon points="140,42 30,175 295,175" fill="rgba(192,38,211,.08)" stroke="#c026d3" stroke-width="1.8"/>
|
||||
<!-- Bisector AD -->
|
||||
<line x1="140" y1="42" x2="153" y2="175" stroke="#f59e0b" stroke-width="2.5" stroke-dasharray="6,3"/>
|
||||
<!-- Parallel tick marks on AD and CE -->
|
||||
<line x1="145" y1="107" x2="149" y2="115" stroke="#f59e0b" stroke-width="2.5"/>
|
||||
<line x1="149" y1="105" x2="153" y2="113" stroke="#f59e0b" stroke-width="2.5"/>
|
||||
<!-- D point on BC -->
|
||||
<circle cx="153" cy="175" r="4.5" fill="#f59e0b" stroke="#fff" stroke-width="1.5"/>
|
||||
<!-- BD green, DC blue -->
|
||||
<line x1="30" y1="175" x2="153" y2="175" stroke="#10b981" stroke-width="3.5"/>
|
||||
<line x1="153" y1="175" x2="295" y2="175" stroke="#6366f1" stroke-width="3.5"/>
|
||||
<!-- E on extension of AB beyond A: approximate E=(250,-20) for clear visual -->
|
||||
<!-- CE (green dashed) -->
|
||||
<line x1="295" y1="175" x2="250" y2="-20" stroke="#10b981" stroke-width="2" stroke-dasharray="5,3"/>
|
||||
<!-- Parallel tick marks on CE -->
|
||||
<line x1="274" y1="77" x2="278" y2="85" stroke="#10b981" stroke-width="2.2"/>
|
||||
<line x1="278" y1="75" x2="282" y2="83" stroke="#10b981" stroke-width="2.2"/>
|
||||
<!-- Extension of AB to E (blue dashed) -->
|
||||
<line x1="30" y1="175" x2="252" y2="-20" stroke="#6366f1" stroke-width="1.5" stroke-dasharray="4,2"/>
|
||||
<!-- Vertex circles -->
|
||||
<circle cx="140" cy="42" r="4" fill="#c026d3" stroke="#fff" stroke-width="1.5"/>
|
||||
<circle cx="30" cy="175" r="4" fill="#c026d3" stroke="#fff" stroke-width="1.5"/>
|
||||
<circle cx="295" cy="175" r="4" fill="#c026d3" stroke="#fff" stroke-width="1.5"/>
|
||||
<circle cx="250" cy="-20" r="4.5" fill="#4f46e5" stroke="#fff" stroke-width="1.5"/>
|
||||
<!-- Labels -->
|
||||
<text x="140" y="37" text-anchor="middle" font-size="11" font-weight="800" fill="#a21caf">A</text>
|
||||
<text x="18" y="183" font-size="11" font-weight="800" fill="#a21caf">B</text>
|
||||
<text x="298" y="183" font-size="11" font-weight="800" fill="#a21caf">C</text>
|
||||
<text x="153" y="188" text-anchor="middle" font-size="10" font-weight="800" fill="#b45309">D</text>
|
||||
<text x="260" y="-24" text-anchor="middle" font-size="11" font-weight="800" fill="#4f46e5">E</text>
|
||||
<!-- Side labels AB, AC -->
|
||||
<text x="72" y="103" text-anchor="end" font-size="10" fill="#c026d3" font-style="italic" font-weight="700">c=AB</text>
|
||||
<text x="228" y="103" font-size="10" fill="#c026d3" font-style="italic" font-weight="700">b=AC</text>
|
||||
<!-- CE∥AD label -->
|
||||
<text x="296" y="75" font-size="9" fill="#10b981" font-weight="700">CE ∥ AD</text>
|
||||
<!-- BD DC labels -->
|
||||
<text x="92" y="169" text-anchor="middle" font-size="9" fill="#10b981" font-weight="800">BD</text>
|
||||
<text x="224" y="169" text-anchor="middle" font-size="9" fill="#6366f1" font-weight="800">DC</text>
|
||||
<!-- AE=AC label -->
|
||||
<text x="212" y="22" font-size="8" fill="#4f46e5" font-weight="700">AE = AC = b</text>
|
||||
<!-- Ratio caption -->
|
||||
<text x="162" y="-10" text-anchor="middle" font-size="9" fill="#c026d3" font-weight="800">BD/DC = BA/AE = c/b (теорема Фалеса)</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
@@ -3813,28 +3869,27 @@ function buildP9(){
|
||||
kVal.textContent=k.toFixed(1);
|
||||
s2Val.textContent=S2;
|
||||
|
||||
const W=400, H=200;
|
||||
// Triangle 2 (smaller): fixed base, height from S2 = 1/2 * base * height
|
||||
// base2 = 120 px (scaled), height2 = 2*S2/base2 — but we use unit scale
|
||||
// Use a fixed nice triangle shape, scale by k for the bigger one
|
||||
// Small triangle T2: B2=(240,175), C2=(360,175), A2=(310, 175 - h2)
|
||||
// base = 120, h2 = 60 px (display). S2 shown as text.
|
||||
const base2=110;
|
||||
const h2=60;
|
||||
const B2x=240, B2y=175;
|
||||
const C2x=B2x+base2, C2y=175;
|
||||
const A2x=B2x+base2*0.55, A2y=B2y-h2;
|
||||
const H=220;
|
||||
// Triangle 2 (smaller): fixed display size
|
||||
const base2=100;
|
||||
const h2=55;
|
||||
const B2y=185;
|
||||
|
||||
// Large triangle T1 = k * T2, anchored at B1
|
||||
const base1=base2*k;
|
||||
const h1=h2*k;
|
||||
// Place T1 on the left side
|
||||
const B1x=20, B1y=175;
|
||||
const C1x=B1x+base1, C1y=175;
|
||||
const B1x=20, B1y=185;
|
||||
const C1x=B1x+base1, C1y=185;
|
||||
const A1x=B1x+base1*0.55, A1y=B1y-h1;
|
||||
|
||||
// Place T2 at least 30px to the right of T1
|
||||
const B2x=Math.max(C1x+30, 200);
|
||||
const C2x=B2x+base2, C2y=185;
|
||||
const A2x=B2x+base2*0.55, A2y=B2y-h2;
|
||||
|
||||
// Safety: check bounds
|
||||
const maxX=Math.max(C1x, C2x)+10;
|
||||
const W=Math.max(C2x+20, 400);
|
||||
const maxX=C2x+20;
|
||||
const minY=Math.min(A1y, A2y)-14;
|
||||
|
||||
let s=`<svg viewBox="0 ${Math.min(0,minY)-5} ${Math.max(W,maxX+10)} ${H}" style="max-width:${W}px;width:100%;background:#fafafa;border:1px solid var(--border);border-radius:10px">`;
|
||||
@@ -4177,7 +4232,7 @@ function buildFinal3(){
|
||||
</div>
|
||||
|
||||
<div style="background:var(--card);border:1.5px solid var(--border);border-radius:11px;padding:12px">
|
||||
<div style="font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:800;color:var(--sec-acc-d,var(--pri2));text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px">§5 Признак УУ (AA)</div>
|
||||
<div style="font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:800;color:var(--sec-acc-d,var(--pri2));text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px">§5 Признак по двум углам (УУ)</div>
|
||||
<div style="display:flex;align-items:center;gap:10px">
|
||||
<svg viewBox="0 0 70 60" style="width:70px;height:60px;flex-shrink:0">
|
||||
<polygon points="35,4 6,56 64,56" fill="rgba(124,58,237,.10)" stroke="#7c3aed" stroke-width="2"/>
|
||||
@@ -4195,7 +4250,7 @@ function buildFinal3(){
|
||||
</div>
|
||||
|
||||
<div style="background:var(--card);border:1.5px solid var(--border);border-radius:11px;padding:12px">
|
||||
<div style="font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:800;color:var(--sec-acc-d,var(--pri2));text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px">§6 Признак СУС (SAS)</div>
|
||||
<div style="font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:800;color:var(--sec-acc-d,var(--pri2));text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px">§6 Признак по двум сторонам и углу (СУС)</div>
|
||||
<div>
|
||||
<p style="font-size:.88rem;margin-bottom:4px">$\dfrac{AB}{A'B'} = \dfrac{AC}{A'C'}$</p>
|
||||
<p style="font-size:.82rem;margin-bottom:4px">$\angle A = \angle A'$</p>
|
||||
@@ -4204,7 +4259,7 @@ function buildFinal3(){
|
||||
</div>
|
||||
|
||||
<div style="background:var(--card);border:1.5px solid var(--border);border-radius:11px;padding:12px">
|
||||
<div style="font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:800;color:var(--sec-acc-d,var(--pri2));text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px">§7 Признак ССС (SSS)</div>
|
||||
<div style="font-family:'Unbounded',sans-serif;font-size:.65rem;font-weight:800;color:var(--sec-acc-d,var(--pri2));text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px">§7 Признак по трём сторонам (ССС)</div>
|
||||
<div>
|
||||
<p style="font-size:.88rem;margin-bottom:4px">$\dfrac{a}{a'} = \dfrac{b}{b'} = \dfrac{c}{c'}$</p>
|
||||
<p style="font-size:.78rem;color:var(--muted)">$\Rightarrow$ подобны (ССС)</p>
|
||||
@@ -4291,11 +4346,11 @@ function buildFinal3(){
|
||||
const nodes = [
|
||||
{ id:'sim', x:310, y:28, rx:62, label:'Подобие треугольников',
|
||||
props:'Два треугольника подобны, если углы попарно равны и стороны пропорциональны. $\\triangle ABC \\sim \\triangle A\'B\'C\'$, коэффициент $k$.' },
|
||||
{ id:'aa', x:100, y:120, rx:54, label:'УУ (AA)',
|
||||
{ id:'aa', x:100, y:120, rx:54, label:'По двум углам (УУ)',
|
||||
props:'§5: Если два угла одного треугольника равны двум углам другого — треугольники подобны. Наиболее часто применяемый признак.' },
|
||||
{ id:'sas', x:310, y:120, rx:54, label:'СУС (SAS)',
|
||||
{ id:'sas', x:310, y:120, rx:54, label:'По сторонам и углу (СУС)',
|
||||
props:'§6: Два треугольника подобны, если две стороны пропорциональны и угол между ними равен: $\\dfrac{AB}{A\'B\'} = \\dfrac{AC}{A\'C\'}$, $\\angle A = \\angle A\'$.' },
|
||||
{ id:'sss', x:510, y:120, rx:54, label:'ССС (SSS)',
|
||||
{ id:'sss', x:510, y:120, rx:54, label:'По трём сторонам (ССС)',
|
||||
props:'§7: Три треугольника подобны, если все три пары сторон пропорциональны: $\\dfrac{a}{a\'} = \\dfrac{b}{b\'} = \\dfrac{c}{c\'}$.' },
|
||||
{ id:'fales', x:80, y:230, rx:52, label:'Теорема Фалеса',
|
||||
props:'§1: Параллельные прямые отсекают пропорциональные отрезки на двух секущих. $\\dfrac{AB}{BC} = \\dfrac{A\'B\'}{B\'C\'}$.' },
|
||||
@@ -4432,7 +4487,7 @@ function buildFinal3(){
|
||||
},
|
||||
{
|
||||
n: 3,
|
||||
title: 'Признак УУ и площади',
|
||||
title: 'Признак по двум углам и площади',
|
||||
color: '#059669',
|
||||
svg: `<svg viewBox="0 0 280 185" style="width:100%;max-width:280px;background:var(--card);border:1px solid var(--border);border-radius:10px;display:block;margin:10px auto">
|
||||
<!-- Large triangle A(140,12) B(20,170) C(260,170), k=9/6=1.5. Small triangle A'(180,90) B'(130,170) C'(230,170) -->
|
||||
@@ -4499,7 +4554,7 @@ function buildFinal3(){
|
||||
},
|
||||
{
|
||||
n: 5,
|
||||
title: 'СУС: стороны и косинус',
|
||||
title: 'По двум сторонам и углу: стороны и косинус',
|
||||
color: '#8b5cf6',
|
||||
svg: `<svg viewBox="0 0 280 185" style="width:100%;max-width:280px;background:var(--card);border:1px solid var(--border);border-radius:10px;display:block;margin:10px auto">
|
||||
<!-- Triangle ABC: AB=8, AC=12, angle A=60deg. Large. A'B'C' similar with k=1.5: A'B'=12, A'C'=18. Triangle A(40,160) B(200,160) C=A+AC*cos60deg, A+AC*sin60deg = (40+12*0.5*12, 160-12*sin60*12)... scale: AB=8 -> 120px, so 1cm=15px. A(30,155) B(30+120,155)=(150,155). C=A+(AC*cos60*15, -AC*sin60*15)=(30+90, 155-156)=(120, 0)... too tall. Use AB=8->100px scale (12.5px/cm). A(30,155) B(30+100,155)=(130,155). C=(30+12*0.5*12.5, 155-12*sin60*12.5)=(30+75, 155-129.9)=(105,25). -->
|
||||
@@ -4524,7 +4579,7 @@ function buildFinal3(){
|
||||
<text x="155" y="90" font-size="9" fill="#7c3aed" font-family="JetBrains Mono,monospace">A'C'=?</text>
|
||||
<text x="155" y="105" font-size="9" fill="#7c3aed" font-family="JetBrains Mono,monospace">B'C'=?</text>
|
||||
</svg>`,
|
||||
cond: '$\\triangle ABC \\sim \\triangle A\'B\'C\'$ (по СУС). $AB = 8$, $AC = 12$, $\\angle A = 60°$, $k = 1{,}5$. (§6)',
|
||||
cond: '$\\triangle ABC \\sim \\triangle A\'B\'C\'$ (по двум сторонам и углу, СУС). $AB = 8$, $AC = 12$, $\\angle A = 60°$, $k = 1{,}5$. (§6)',
|
||||
parts: [
|
||||
{ label: 'Найди $A\'B\'$ (см).', ans: 12, hint: '$A\'B\' = k \\cdot AB = 1{,}5 \\cdot 8 = 12$' },
|
||||
{ label: 'Найди $A\'C\'$ (см).', ans: 18, hint: '$A\'C\' = k \\cdot AC = 1{,}5 \\cdot 12 = 18$' },
|
||||
|
||||
Reference in New Issue
Block a user