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\)

A

\(0\)

\(2\)

B

\(- \sqrt{3}\)

\(-1\)

C

\(\sqrt{3}\)

\(-1\)

O

\(0\)

\(0\)

L

\(- \frac{\sqrt{3}}{2}\)

\(\frac{1}{2}\)

M

\(\frac{\sqrt{3}}{2}\)

\(\frac{1}{2}\)

X

\(- \frac{\sqrt{15}}{2}\)

\(\frac{1}{2}\)

Y

\(\frac{\sqrt{15}}{2}\)

\(\frac{1}{2}\)

Certified Golden Ratio: LM / MY = GoldenRatio.