GC-02.01 · Symbolic Model & Source¶
Companion symbolic Python construction for GC-02.01 · George Odom’s Equilateral Midline & Circumcircle Chord (1983) (GC-02.01).
Programmatic Usage¶
from geometor.divine.catalog import build_construction
model, cert = build_construction("GC-02.01")
assert cert.ratio_expr == sp.GoldenRatio
Exact Builder Implementation¶
def build_odom_equilateral() -> ConstructionResult:
"""George Odom's 1983 equilateral triangle midline & circumcircle secant."""
m = new_catalog_model("odom-equilateral")
s3 = sp.sqrt(3)
A = m.set_point(0, 2, classes=["given"], ID="A")
B = m.set_point(-s3, -1, classes=["given"], ID="B")
C = m.set_point(s3, -1, classes=["given"], ID="C")
O = m.set_point(0, 0, ID="O")
m.construct_polygon([A, B, C], ID="ABC")
c_o = m.construct_circle(O, A, classes=["primary"], ID="cO")
L = m.set_point(-s3 / 2, sp.Rational(1, 2), ID="L")
M = m.set_point(s3 / 2, sp.Rational(1, 2), ID="M")
ln_lm = m.construct_line(L, M, classes=["golden"], ID="LM")
X = m.intersect(ln_lm, c_o, beyond=(M, L), classes=["golden"], ID="X")
m.intersect(ln_lm, c_o, beyond=(L, M), classes=["golden"], ID="Y")
_ = X
return make_result(m, ("L", "M"), ("M", "Y"), ("L", "M", "Y"))
Exact Symbolic Point Coordinates¶
All points in odom-equilateral are certified free of floating-point approximations over \(\mathbb{Q}(\sqrt{3}, \phi)\):
Point |
Exact \(x\) |
Exact \(y\) |
|---|---|---|
|
\(0\) |
\(2\) |
|
\(- \sqrt{3}\) |
\(-1\) |
|
\(\sqrt{3}\) |
\(-1\) |
|
\(0\) |
\(0\) |
|
\(- \frac{\sqrt{3}}{2}\) |
\(\frac{1}{2}\) |
|
\(\frac{\sqrt{3}}{2}\) |
\(\frac{1}{2}\) |
|
\(- \frac{\sqrt{15}}{2}\) |
\(\frac{1}{2}\) |
|
\(\frac{\sqrt{15}}{2}\) |
\(\frac{1}{2}\) |
Certified Golden Ratio: LM / MY = GoldenRatio.