fix(geom8 ch4): §8-§11 — точная геометрия SVG + LaTeX в §10.2
§10 Card 10.2 'Доказательство следствия': в KaTeX-формулах \angle и \dfrac были записаны с одинарным \, поэтому JS template literal заменял \a на a, и KaTeX рендерил 'angleAB_1C' и 'dfrac12' как текст. Исправлено на \\angle и \\dfrac. SVG-фиксы: - §8.1: дуга начиналась не с вершины A — исправлено. - §9.1: все три точки A,B,C были вне окружности на 4-7px — пересчитаны на окружность r=65. - §9.2 'случай O на стороне AB': переделана компоновка — B наверху, A в нижней антиподе, O на отрезке BA (диаметр), C на окружности справа. - §9 Интерактив 1 (slider): подпись угла AOC вылетала вправо из viewBox — выровнена по центру. - §10.1 и §10.3: точки на окружности 4-7px смещены — пересчитаны. - §11.1 и §11.3: маркер прямого угла в C был горизонтальной скобкой, не связанной с CA/CB. Пересчитан через единичные векторы — теперь корректно показывает 90° между катетами. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3196,7 +3196,7 @@ function buildP8(){
|
||||
<circle cx="110" cy="85" r="3" fill="#0e7490"/>
|
||||
<line x1="110" y1="85" x2="152" y2="33" stroke="#0891b2" stroke-width="2"/>
|
||||
<line x1="110" y1="85" x2="161" y2="122" stroke="#0891b2" stroke-width="2"/>
|
||||
<path d="M 137,52 A 60,60 0 0,1 161,122" fill="rgba(8,145,178,.18)" stroke="#0891b2" stroke-width="2.5"/>
|
||||
<path d="M 152,33 A 60,60 0 0,1 161,122" fill="rgba(8,145,178,.18)" stroke="#0891b2" stroke-width="2.5"/>
|
||||
<path d="M 118,76 A 12,12 0 0,1 124,96" fill="none" stroke="#f59e0b" stroke-width="2"/>
|
||||
<text x="92" y="82" font-size="10" font-weight="700" fill="#0e7490">O</text>
|
||||
<text x="156" y="27" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
@@ -3559,18 +3559,18 @@ function buildP9(){
|
||||
<svg viewBox="0 0 270 170" style="max-width:290px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<circle cx="115" cy="92" r="65" fill="rgba(6,182,212,.07)" stroke="#06b6d4" stroke-width="2"/>
|
||||
<circle cx="115" cy="92" r="3.5" fill="#0891b2"/>
|
||||
<circle cx="70" cy="40" r="4" fill="#0891b2"/>
|
||||
<circle cx="176" cy="52" r="4" fill="#0891b2"/>
|
||||
<circle cx="82" cy="152" r="5" fill="#dc2626"/>
|
||||
<line x1="115" y1="92" x2="70" y2="40" stroke="#06b6d4" stroke-width="1.8"/>
|
||||
<line x1="115" y1="92" x2="176" y2="52" stroke="#06b6d4" stroke-width="1.8"/>
|
||||
<line x1="82" y1="152" x2="70" y2="40" stroke="#dc2626" stroke-width="2"/>
|
||||
<line x1="82" y1="152" x2="176" y2="52" stroke="#dc2626" stroke-width="2"/>
|
||||
<path d="M 70,40 A 65,65 0 0,1 176,52" fill="rgba(6,182,212,.2)" stroke="#06b6d4" stroke-width="2.5"/>
|
||||
<circle cx="72" cy="43" r="4" fill="#0891b2"/>
|
||||
<circle cx="169" cy="56" r="4" fill="#0891b2"/>
|
||||
<circle cx="84" cy="149" r="5" fill="#dc2626"/>
|
||||
<line x1="115" y1="92" x2="72" y2="43" stroke="#06b6d4" stroke-width="1.8"/>
|
||||
<line x1="115" y1="92" x2="169" y2="56" stroke="#06b6d4" stroke-width="1.8"/>
|
||||
<line x1="84" y1="149" x2="72" y2="43" stroke="#dc2626" stroke-width="2"/>
|
||||
<line x1="84" y1="149" x2="169" y2="56" stroke="#dc2626" stroke-width="2"/>
|
||||
<path d="M 72,43 A 65,65 0 0,1 169,56" fill="rgba(6,182,212,.2)" stroke="#06b6d4" stroke-width="2.5"/>
|
||||
<text x="104" y="88" font-size="10" font-weight="700" fill="#0891b2">O</text>
|
||||
<text x="56" y="34" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="180" y="48" font-size="11" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="68" y="163" font-size="12" font-weight="700" fill="#dc2626">B</text>
|
||||
<text x="56" y="38" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="173" y="52" font-size="11" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="70" y="162" font-size="12" font-weight="700" fill="#dc2626">B</text>
|
||||
<text x="186" y="105" font-size="10" fill="#0891b2">∠AOC</text>
|
||||
<text x="186" y="120" font-size="10" fill="#dc2626">∠ABC = ½∠AOC</text>
|
||||
</svg>
|
||||
@@ -3588,18 +3588,17 @@ function buildP9(){
|
||||
<circle cx="110" cy="75" r="58" fill="rgba(6,182,212,.07)" stroke="#06b6d4" stroke-width="2"/>
|
||||
<circle cx="110" cy="75" r="3" fill="#0891b2"/>
|
||||
<circle cx="110" cy="17" r="4" fill="#dc2626"/>
|
||||
<circle cx="56" cy="107" r="4" fill="#0284c7"/>
|
||||
<circle cx="168" cy="107" r="4" fill="#0284c7"/>
|
||||
<line x1="56" y1="107" x2="110" y2="17" stroke="#0284c7" stroke-width="2"/>
|
||||
<line x1="168" y1="107" x2="110" y2="17" stroke="#0284c7" stroke-width="2"/>
|
||||
<line x1="110" y1="75" x2="56" y2="107" stroke="#64748b" stroke-width="1.4" stroke-dasharray="4,3"/>
|
||||
<line x1="110" y1="75" x2="168" y2="107" stroke="#64748b" stroke-width="1.4" stroke-dasharray="4,3"/>
|
||||
<circle cx="110" cy="133" r="4" fill="#0284c7"/>
|
||||
<circle cx="161" cy="104" r="4" fill="#0284c7"/>
|
||||
<line x1="110" y1="133" x2="110" y2="17" stroke="#0284c7" stroke-width="2"/>
|
||||
<line x1="161" y1="104" x2="110" y2="17" stroke="#0284c7" stroke-width="2"/>
|
||||
<line x1="110" y1="75" x2="161" y2="104" stroke="#64748b" stroke-width="1.4" stroke-dasharray="4,3"/>
|
||||
<line x1="110" y1="17" x2="110" y2="133" stroke="#f59e0b" stroke-width="1.5" stroke-dasharray="3,3"/>
|
||||
<text x="100" y="72" font-size="10" font-weight="700" fill="#0891b2">O</text>
|
||||
<text x="108" y="11" font-size="11" font-weight="700" fill="#dc2626">B</text>
|
||||
<text x="40" y="112" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="172" y="112" font-size="11" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="115" y="128" font-size="9" fill="#b45309">диаметр</text>
|
||||
<text x="115" y="140" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="165" y="107" font-size="11" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="64" y="72" font-size="9" fill="#b45309">O на AB</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
|
||||
@@ -3724,7 +3723,7 @@ function buildP9(){
|
||||
<text x="${Ax+(Ax>cx?7:-16)}" y="${Ay+(Ay>cy?15:-4)}" font-size="12" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="${Ccx+(Ccx>cx?7:-16)}" y="${Ccy+(Ccy>cy?15:-4)}" font-size="12" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="${Bx+(Bx>cx?7:-16)}" y="${By+(By>cy?16:-4)}" font-size="12" font-weight="700" fill="#dc2626">B</text>
|
||||
<text x="${(cx+(cx+cx)/2)/1.5}" y="${cy-R-10}" text-anchor="middle" font-size="10" fill="#0284c7">∠AOC=${alpha}°</text>
|
||||
<text x="${cx}" y="${cy-R-10}" text-anchor="middle" font-size="10" fill="#0284c7">∠AOC=${alpha}°</text>
|
||||
<text x="${cx+R+5}" y="${cy+20}" font-size="10" fill="#dc2626">∠ABC=${Math.round(beta)}°</text>
|
||||
</svg>`;
|
||||
info.textContent='Центральный ∠AOC = '+alpha+'° → Вписанный ∠ABC = '+Math.round(beta)+'° (= '+alpha+'°/2)';
|
||||
@@ -3929,23 +3928,23 @@ function buildP10(){
|
||||
<svg viewBox="0 0 280 170" style="max-width:300px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<circle cx="120" cy="88" r="66" fill="rgba(2,132,199,.07)" stroke="#0284c7" stroke-width="2"/>
|
||||
<circle cx="120" cy="88" r="3" fill="#0369a1"/>
|
||||
<circle cx="68" cy="46" r="4" fill="#0284c7"/>
|
||||
<circle cx="69" cy="47" r="4" fill="#0284c7"/>
|
||||
<circle cx="178" cy="54" r="4" fill="#0284c7"/>
|
||||
<circle cx="72" cy="140" r="4.5" fill="#dc2626"/>
|
||||
<circle cx="75" cy="136" r="4.5" fill="#dc2626"/>
|
||||
<circle cx="120" cy="154" r="4.5" fill="#10b981"/>
|
||||
<circle cx="166" cy="142" r="4.5" fill="#7c3aed"/>
|
||||
<line x1="72" y1="140" x2="68" y2="46" stroke="#dc2626" stroke-width="1.8"/>
|
||||
<line x1="72" y1="140" x2="178" y2="54" stroke="#dc2626" stroke-width="1.8"/>
|
||||
<line x1="120" y1="154" x2="68" y2="46" stroke="#10b981" stroke-width="1.8"/>
|
||||
<circle cx="163" cy="138" r="4.5" fill="#7c3aed"/>
|
||||
<line x1="75" y1="136" x2="69" y2="47" stroke="#dc2626" stroke-width="1.8"/>
|
||||
<line x1="75" y1="136" x2="178" y2="54" stroke="#dc2626" stroke-width="1.8"/>
|
||||
<line x1="120" y1="154" x2="69" y2="47" stroke="#10b981" stroke-width="1.8"/>
|
||||
<line x1="120" y1="154" x2="178" y2="54" stroke="#10b981" stroke-width="1.8"/>
|
||||
<line x1="166" y1="142" x2="68" y2="46" stroke="#7c3aed" stroke-width="1.8"/>
|
||||
<line x1="166" y1="142" x2="178" y2="54" stroke="#7c3aed" stroke-width="1.8"/>
|
||||
<path d="M 68,46 A 66,66 0 0,1 178,54" fill="rgba(2,132,199,.2)" stroke="#0284c7" stroke-width="3"/>
|
||||
<text x="55" y="40" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
<line x1="163" y1="138" x2="69" y2="47" stroke="#7c3aed" stroke-width="1.8"/>
|
||||
<line x1="163" y1="138" x2="178" y2="54" stroke="#7c3aed" stroke-width="1.8"/>
|
||||
<path d="M 69,47 A 66,66 0 0,1 178,54" fill="rgba(2,132,199,.2)" stroke="#0284c7" stroke-width="3"/>
|
||||
<text x="54" y="42" font-size="11" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="182" y="50" font-size="11" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="56" y="152" font-size="10" font-weight="700" fill="#dc2626">B₁</text>
|
||||
<text x="58" y="148" font-size="10" font-weight="700" fill="#dc2626">B₁</text>
|
||||
<text x="116" y="168" font-size="10" font-weight="700" fill="#10b981">B₂</text>
|
||||
<text x="170" y="156" font-size="10" font-weight="700" fill="#7c3aed">B₃</text>
|
||||
<text x="167" y="152" font-size="10" font-weight="700" fill="#7c3aed">B₃</text>
|
||||
<text x="109" y="84" font-size="9" font-weight="700" fill="#0369a1">O</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
@@ -3953,9 +3952,9 @@ function buildP10(){
|
||||
html+=makeCard('theory','Доказательство следствия','10.2',`
|
||||
<p>Пусть $B_1$ и $B_2$ — две точки на окружности, лежащие на одной стороне от хорды $AC$. Тогда:</p>
|
||||
<ul style="margin-left:18px;margin-top:6px;line-height:1.9">
|
||||
<li>По теореме §9: $\angle AB_1C = \dfrac{1}{2}\angle AOC$</li>
|
||||
<li>По теореме §9: $\angle AB_2C = \dfrac{1}{2}\angle AOC$</li>
|
||||
<li>Следовательно: $\angle AB_1C = \angle AB_2C$. <b>ч.т.д.</b></li>
|
||||
<li>По теореме §9: $\\angle AB_1C = \\dfrac{1}{2}\\angle AOC$</li>
|
||||
<li>По теореме §9: $\\angle AB_2C = \\dfrac{1}{2}\\angle AOC$</li>
|
||||
<li>Следовательно: $\\angle AB_1C = \\angle AB_2C$. <b>ч.т.д.</b></li>
|
||||
</ul>`);
|
||||
|
||||
html+=makeCard('example','Пример','10.3',`
|
||||
@@ -3965,23 +3964,23 @@ function buildP10(){
|
||||
<svg viewBox="0 0 240 140" style="max-width:260px;background:#fafafa;border:1px solid var(--border);border-radius:10px">
|
||||
<circle cx="100" cy="72" r="58" fill="rgba(2,132,199,.07)" stroke="#0284c7" stroke-width="2"/>
|
||||
<circle cx="100" cy="72" r="3" fill="#0369a1"/>
|
||||
<circle cx="54" cy="46" r="3.5" fill="#0284c7"/>
|
||||
<circle cx="152" cy="50" r="3.5" fill="#0284c7"/>
|
||||
<circle cx="62" cy="122" r="4" fill="#dc2626"/>
|
||||
<circle cx="50" cy="43" r="3.5" fill="#0284c7"/>
|
||||
<circle cx="153" cy="49" r="3.5" fill="#0284c7"/>
|
||||
<circle cx="65" cy="118" r="4" fill="#dc2626"/>
|
||||
<circle cx="100" cy="130" r="4" fill="#10b981"/>
|
||||
<circle cx="138" cy="122" r="4" fill="#7c3aed"/>
|
||||
<path d="M 54,46 A 58,58 0 0,1 152,50" fill="rgba(2,132,199,.18)" stroke="#0284c7" stroke-width="2.5"/>
|
||||
<line x1="62" y1="122" x2="54" y2="46" stroke="#dc2626" stroke-width="1.6"/>
|
||||
<line x1="62" y1="122" x2="152" y2="50" stroke="#dc2626" stroke-width="1.6"/>
|
||||
<line x1="100" y1="130" x2="54" y2="46" stroke="#10b981" stroke-width="1.6"/>
|
||||
<line x1="100" y1="130" x2="152" y2="50" stroke="#10b981" stroke-width="1.6"/>
|
||||
<line x1="138" y1="122" x2="54" y2="46" stroke="#7c3aed" stroke-width="1.6"/>
|
||||
<line x1="138" y1="122" x2="152" y2="50" stroke="#7c3aed" stroke-width="1.6"/>
|
||||
<text x="42" y="40" font-size="10" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="155" y="46" font-size="10" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="48" y="132" font-size="9" fill="#dc2626">B₁=40°</text>
|
||||
<circle cx="135" cy="118" r="4" fill="#7c3aed"/>
|
||||
<path d="M 50,43 A 58,58 0 0,1 153,49" fill="rgba(2,132,199,.18)" stroke="#0284c7" stroke-width="2.5"/>
|
||||
<line x1="65" y1="118" x2="50" y2="43" stroke="#dc2626" stroke-width="1.6"/>
|
||||
<line x1="65" y1="118" x2="153" y2="49" stroke="#dc2626" stroke-width="1.6"/>
|
||||
<line x1="100" y1="130" x2="50" y2="43" stroke="#10b981" stroke-width="1.6"/>
|
||||
<line x1="100" y1="130" x2="153" y2="49" stroke="#10b981" stroke-width="1.6"/>
|
||||
<line x1="135" y1="118" x2="50" y2="43" stroke="#7c3aed" stroke-width="1.6"/>
|
||||
<line x1="135" y1="118" x2="153" y2="49" stroke="#7c3aed" stroke-width="1.6"/>
|
||||
<text x="36" y="38" font-size="10" font-weight="700" fill="#0284c7">A</text>
|
||||
<text x="157" y="45" font-size="10" font-weight="700" fill="#0284c7">C</text>
|
||||
<text x="49" y="130" font-size="9" fill="#dc2626">B₁=40°</text>
|
||||
<text x="93" y="142" font-size="9" fill="#10b981">B₂=40°</text>
|
||||
<text x="131" y="132" font-size="9" fill="#7c3aed">B₃=40°</text>
|
||||
<text x="128" y="130" font-size="9" fill="#7c3aed">B₃=40°</text>
|
||||
<text x="90" y="68" font-size="9" fill="#0369a1">O</text>
|
||||
</svg>
|
||||
</div>`);
|
||||
@@ -4314,13 +4313,13 @@ function buildP11(){
|
||||
<line x1="53" y1="90" x2="177" y2="90" stroke="#1d4ed8" stroke-width="2.5"/>
|
||||
<circle cx="53" cy="90" r="4.5" fill="#1d4ed8"/>
|
||||
<circle cx="177" cy="90" r="4.5" fill="#1d4ed8"/>
|
||||
<circle cx="100" cy="32" r="5" fill="#dc2626"/>
|
||||
<line x1="100" y1="32" x2="53" y2="90" stroke="#dc2626" stroke-width="2.2"/>
|
||||
<line x1="100" y1="32" x2="177" y2="90" stroke="#dc2626" stroke-width="2.2"/>
|
||||
<polyline points="100,32 109,42 119,32" fill="none" stroke="#dc2626" stroke-width="2"/>
|
||||
<circle cx="99" cy="30" r="5" fill="#dc2626"/>
|
||||
<line x1="99" y1="30" x2="53" y2="90" stroke="#dc2626" stroke-width="2.2"/>
|
||||
<line x1="99" y1="30" x2="177" y2="90" stroke="#dc2626" stroke-width="2.2"/>
|
||||
<polyline points="94,37 101,43 106,36" fill="none" stroke="#dc2626" stroke-width="2"/>
|
||||
<text x="37" y="94" font-size="12" font-weight="700" fill="#1d4ed8">A</text>
|
||||
<text x="181" y="94" font-size="12" font-weight="700" fill="#1d4ed8">B</text>
|
||||
<text x="86" y="28" font-size="12" font-weight="700" fill="#dc2626">C</text>
|
||||
<text x="84" y="26" font-size="12" font-weight="700" fill="#dc2626">C</text>
|
||||
<text x="104" y="87" font-size="10" font-weight="700" fill="#1d4ed8">O</text>
|
||||
<text x="184" y="62" font-size="11" fill="#dc2626" font-weight="700">∠ACB = 90°</text>
|
||||
</svg>
|
||||
@@ -4349,7 +4348,7 @@ function buildP11(){
|
||||
<circle cx="78" cy="20" r="4.5" fill="#dc2626"/>
|
||||
<line x1="78" y1="20" x2="40" y2="72" stroke="#10b981" stroke-width="2.5"/>
|
||||
<line x1="78" y1="20" x2="150" y2="72" stroke="#7c3aed" stroke-width="2.5"/>
|
||||
<polyline points="78,20 87,30 97,21" fill="none" stroke="#dc2626" stroke-width="1.8"/>
|
||||
<polyline points="73,27 80,33 85,25" fill="none" stroke="#dc2626" stroke-width="1.8"/>
|
||||
<text x="26" y="76" font-size="11" font-weight="700" fill="#1d4ed8">A</text>
|
||||
<text x="154" y="76" font-size="11" font-weight="700" fill="#1d4ed8">B</text>
|
||||
<text x="64" y="16" font-size="11" font-weight="700" fill="#dc2626">C</text>
|
||||
|
||||
Reference in New Issue
Block a user