GC-07.03 · Symbolic Model & Source¶
Companion symbolic Python construction for GC-07.03 · Jingcheng Tong’s Area-Bisecting Chord in a 1:3 Trapezoid (GC-07.03).
Programmatic Usage¶
from geometor.divine.catalog import build_construction
model, cert = build_construction("GC-07.03")
assert cert.ratio_expr == sp.GoldenRatio
Exact Builder Implementation¶
def build_tong_trapezoid_rms() -> ConstructionResult:
"""Jingcheng Tong's area-bisecting chord in a trapezoid of base ratio 1:3."""
m = new_catalog_model("tong-trapezoid-rms")
s5 = sp.sqrt(5)
A = m.set_point(-1, 2, classes=["given"], ID="A")
D = m.set_point(1, 2, ID="D")
B = m.set_point(-3, 0, classes=["given"], ID="B")
C = m.set_point(3, 0, ID="C")
m.construct_polygon([A, B, C, D], ID="ABCD")
ln_ab = m.construct_line(A, B, classes=["golden"], ID="AB")
ln_cd = m.construct_line(D, C, classes=["auxiliary"], ID="DC")
# Area-bisecting parallel chord MN of RMS length sqrt((2^2 + 6^2)/2) = 2*sqrt(5) at y = 3 - sqrt(5)
M = m.set_point(-s5, 3 - s5, classes=["golden"], ID="M")
N = m.set_point(s5, 3 - s5, classes=["golden"], ID="N")
_ = (ln_ab, ln_cd)
m.construct_line(M, N, classes=["golden"], ID="MN")
return make_result(m, ("A", "M"), ("M", "B"), ("A", "M", "B"))
Exact Symbolic Point Coordinates¶
All points in tong-trapezoid-rms are certified free of floating-point approximations over \(\mathbb{Q}(\phi)\):
Point |
Exact \(x\) |
Exact \(y\) |
|---|---|---|
|
\(-1\) |
\(2\) |
|
\(1\) |
\(2\) |
|
\(-3\) |
\(0\) |
|
\(3\) |
\(0\) |
|
\(- \sqrt{5}\) |
\(3 - \sqrt{5}\) |
|
\(\sqrt{5}\) |
\(3 - \sqrt{5}\) |
Certified Golden Ratio: AM / MB = GoldenRatio.