fix(geom8 ch1): §4.1 tick-марки на правильных серединах + §4.2 дуги B/D на внутренней стороне
§4.1 'Параллелограмм + диагональ': - Tick-марки для пары AB/CD рисовались на (116,103)-(130,97) и (216,103)-(230,97). Но midpoint AB = (77,100), а не (123,100) как указано в комментарии — агент ошибся в арифметике. - Пересчитаны точно через перпендикуляр к каждому сегменту: AB tick at midpoint (77,100); CD tick at midpoint (223,100). Двойные tick'и для пары AB=CD=b, одиночные для BC=AD=a. - Метки сторон 'a' и 'b' перепутаны: AB была помечена 'a' вместо 'b', AD помечена 'b' вместо 'a'. Исправлено по правилу: a = горизонтальная пара (BC, AD), b = наклонная пара (AB, CD). §4.2 'Основные свойства': - Дуги углов B и D использовали sweep=1 (большая 245° внешняя дуга через ВНЕШНЮЮ область параллелограмма). Должно быть sweep=0 (короткая 115° внутренняя дуга через ВНУТРЕННОСТЬ). - Подписи β сдвинуты ближе к дугам внутри полигона. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1991,24 +1991,23 @@ function buildP4(){
|
||||
<!-- Midpoint O = ((50+250)/2,(158+42)/2) = (150,100) -->
|
||||
<circle cx="150" cy="100" r="4" fill="#8b5cf6" stroke="#fff" stroke-width="2"/>
|
||||
<text x="158" y="96" font-size="12" fill="#6d28d9" font-weight="800" font-family="Unbounded,sans-serif">O</text>
|
||||
<!-- Parallel arrow marks on AB (bottom side) and DC (top side) — double arrows for AB∥DC -->
|
||||
<!-- AB mid=(123,100): direction along AB=(54,-116)/|..| = (0.422,-0.906) -->
|
||||
<!-- Tick at mid of AB: perpendicular = (0.906,0.422) -->
|
||||
<line x1="116" y1="103" x2="130" y2="97" stroke="#d97706" stroke-width="2.2"/>
|
||||
<line x1="120" y1="110" x2="134" y2="104" stroke="#d97706" stroke-width="2.2"/>
|
||||
<!-- Tick at mid of DC: D=(196,158),C=(250,42), mid=(223,100): same direction -->
|
||||
<line x1="216" y1="103" x2="230" y2="97" stroke="#d97706" stroke-width="2.2"/>
|
||||
<line x1="220" y1="110" x2="234" y2="104" stroke="#d97706" stroke-width="2.2"/>
|
||||
<!-- Single arrow marks on BC (top) and AD (bottom) -->
|
||||
<!-- BC: B=(104,42),C=(250,42), mid=(177,42), direction=(1,0), perp=(0,1) -->
|
||||
<line x1="174" y1="36" x2="174" y2="48" stroke="#0891b2" stroke-width="2.2"/>
|
||||
<!-- AD: A=(50,158),D=(196,158), mid=(123,158), direction=(1,0), perp=(0,1) -->
|
||||
<line x1="120" y1="152" x2="120" y2="164" stroke="#0891b2" stroke-width="2.2"/>
|
||||
<!-- Side labels -->
|
||||
<text x="99" y="112" text-anchor="middle" font-size="12" fill="#b45309" font-weight="700" font-family="JetBrains Mono,monospace">a</text>
|
||||
<text x="177" y="32" text-anchor="middle" font-size="12" fill="#b45309" font-weight="700" font-family="JetBrains Mono,monospace">a</text>
|
||||
<text x="244" y="112" text-anchor="middle" font-size="12" fill="#0e7490" font-weight="700" font-family="JetBrains Mono,monospace">b</text>
|
||||
<text x="79" y="168" text-anchor="middle" font-size="12" fill="#0e7490" font-weight="700" font-family="JetBrains Mono,monospace">b</text>
|
||||
<!-- Equal-length tick marks. AB and CD are equal pair (label "b"); BC and AD are equal pair (label "a"). -->
|
||||
<!-- AB: A=(50,158) → B=(104,42). midpoint=(77,100). dir=(0.422,-0.907). perp=(0.907,0.422). -->
|
||||
<!-- Double tick (b pair) at AB midpoint: two parallel short perpendicular lines offset by ±2 along dir -->
|
||||
<line x1="73.7" y1="93.6" x2="80.3" y2="96.7" stroke="#d97706" stroke-width="2.2"/>
|
||||
<line x1="74.6" y1="98.7" x2="81.2" y2="101.8" stroke="#d97706" stroke-width="2.2"/>
|
||||
<!-- CD: C=(250,42) → D=(196,158). midpoint=(223,100). same dir, same perp. -->
|
||||
<line x1="219.7" y1="93.6" x2="226.3" y2="96.7" stroke="#d97706" stroke-width="2.2"/>
|
||||
<line x1="220.6" y1="98.7" x2="227.2" y2="101.8" stroke="#d97706" stroke-width="2.2"/>
|
||||
<!-- BC: B=(104,42) → C=(250,42). midpoint=(177,42). dir=(1,0). perp=(0,1). Single tick (a pair). -->
|
||||
<line x1="177" y1="36" x2="177" y2="48" stroke="#0891b2" stroke-width="2.2"/>
|
||||
<!-- AD: A=(50,158) → D=(196,158). midpoint=(123,158). dir=(1,0). perp=(0,1). Single tick. -->
|
||||
<line x1="123" y1="152" x2="123" y2="164" stroke="#0891b2" stroke-width="2.2"/>
|
||||
<!-- Side labels: a for the horizontal pair (BC, AD), b for the slanted pair (AB, CD). -->
|
||||
<text x="63" y="112" text-anchor="middle" font-size="12" fill="#b45309" font-weight="700" font-family="JetBrains Mono,monospace">b</text>
|
||||
<text x="177" y="32" text-anchor="middle" font-size="12" fill="#0e7490" font-weight="700" font-family="JetBrains Mono,monospace">a</text>
|
||||
<text x="238" y="112" text-anchor="middle" font-size="12" fill="#b45309" font-weight="700" font-family="JetBrains Mono,monospace">b</text>
|
||||
<text x="123" y="172" text-anchor="middle" font-size="12" fill="#0e7490" font-weight="700" font-family="JetBrains Mono,monospace">a</text>
|
||||
<!-- vertex dots -->
|
||||
<circle cx="50" cy="158" r="3.5" fill="#d97706" stroke="#fff" stroke-width="1.5"/>
|
||||
<circle cx="104" cy="42" r="3.5" fill="#d97706" stroke="#fff" stroke-width="1.5"/>
|
||||
@@ -2043,16 +2042,14 @@ function buildP4(){
|
||||
<!-- arc start: C+22*(-1,0)=(228,42); arc end: C+22*(-0.422,0.907)=(241,62) -->
|
||||
<path d="M228,42 A22,22 0 0,0 241,62" stroke="#10b981" stroke-width="2" fill="rgba(16,185,129,.25)"/>
|
||||
<text x="220" y="58" font-size="13" fill="#047857" font-weight="800" font-family="Unbounded,sans-serif">α</text>
|
||||
<!-- Angle at B=(104,42): neighbors A=(50,158) and C=(250,42) -->
|
||||
<!-- Direction B→A=(-54,116)/127.95=(-0.422,0.907); Direction B→C=(146,0)/146=(1,0) -->
|
||||
<!-- arc start: B+22*(-0.422,0.907)=(95,62); arc end: B+22*(1,0)=(126,42) -->
|
||||
<path d="M95,62 A22,22 0 0,1 126,42" stroke="#0891b2" stroke-width="2" fill="rgba(8,145,178,.25)"/>
|
||||
<text x="106" y="72" font-size="13" fill="#0e7490" font-weight="800" font-family="Unbounded,sans-serif">β</text>
|
||||
<!-- Angle at D=(196,158): neighbors C=(250,42) and A=(50,158) -->
|
||||
<!-- Direction D→C=(54,-116)/127.95=(0.422,-0.907); Direction D→A=(-146,0)/146=(-1,0) -->
|
||||
<!-- arc start: D+22*(0.422,-0.907)=(205,138); arc end: D+22*(-1,0)=(174,158) -->
|
||||
<path d="M205,138 A22,22 0 0,1 174,158" stroke="#0891b2" stroke-width="2" fill="rgba(8,145,178,.25)"/>
|
||||
<text x="178" y="148" font-size="13" fill="#0e7490" font-weight="800" font-family="Unbounded,sans-serif">β</text>
|
||||
<!-- Angle at B=(104,42): neighbors A=(50,158) and C=(250,42). Interior angle ≈115° (obtuse).
|
||||
Need SHORT arc through the interior (below-right of B). sweep=0 for short arc. -->
|
||||
<path d="M95,62 A22,22 0 0,0 126,42" stroke="#0891b2" stroke-width="2" fill="rgba(8,145,178,.25)"/>
|
||||
<text x="116" y="68" font-size="13" fill="#0e7490" font-weight="800" font-family="Unbounded,sans-serif">β</text>
|
||||
<!-- Angle at D=(196,158): neighbors C=(250,42) and A=(50,158). Interior angle ≈115° (obtuse).
|
||||
SHORT arc through interior (upper-left of D). sweep=0. -->
|
||||
<path d="M205,138 A22,22 0 0,0 174,158" stroke="#0891b2" stroke-width="2" fill="rgba(8,145,178,.25)"/>
|
||||
<text x="184" y="150" font-size="13" fill="#0e7490" font-weight="800" font-family="Unbounded,sans-serif">β</text>
|
||||
<!-- vertex dots -->
|
||||
<circle cx="50" cy="158" r="3.5" fill="#10b981" stroke="#fff" stroke-width="1.5"/>
|
||||
<circle cx="104" cy="42" r="3.5" fill="#0891b2" stroke="#fff" stroke-width="1.5"/>
|
||||
|
||||
Reference in New Issue
Block a user