GC-06.06 · Symbolic Model & Source

Companion symbolic Python construction for GC-06.06 · John Arioni’s Golden Secant in the Yin-Yang Circle (GC-06.06).

Programmatic Usage

from geometor.divine.catalog import build_construction

        model, cert = build_construction("GC-06.06")
        assert cert.ratio_expr == sp.GoldenRatio
        

Exact Builder Implementation

def build_arioni_yin_yang() -> ConstructionResult:
            """John Arioni's Golden Ratio secant in the Yin-Yang twin-circle figure."""
            m = new_catalog_model("arioni-yin-yang")
            O = m.set_point(0, 0, classes=["given"], ID="O")
            B = m.set_point(0, 1, classes=["given"], ID="B")
            PL = m.set_point(-1, 0, ID="PL")
            PR = m.set_point(1, 0, ID="PR")
            A = m.set_point(-sp.Rational(1, 2), 0, ID="A")
            C = m.set_point(sp.Rational(1, 2), 0, ID="C")

            m.construct_circle(O, B, classes=["primary"], ID="cO")
            c_a = m.construct_circle(A, O, classes=["golden"], ID="cA")
            m.construct_circle(C, O, classes=["compass"], ID="cC")
            m.construct_segment(PL, PR, classes=["auxiliary"], ID="PLPR")
            m.construct_segment(O, B, classes=["auxiliary"], ID="OB")

            ln_ba = m.construct_line(B, A, classes=["golden"], ID="BA")
            m.intersect(c_a, ln_ba, between=(B, A), classes=["golden"], ID="H")
            m.intersect(c_a, ln_ba, beyond=(B, A), classes=["golden"], ID="I")

            return make_result(m, ("H", "I"), ("B", "H"), ("B", "H", "I"))
        

Exact Symbolic Point Coordinates

All points in arioni-yin-yang are certified free of floating-point approximations over \(\mathbb{Q}(\phi)\):

Point

Exact \(x\)

Exact \(y\)

O

\(0\)

\(0\)

B

\(0\)

\(1\)

PL

\(-1\)

\(0\)

PR

\(1\)

\(0\)

A

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

\(0\)

C

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

\(0\)

H

\(- \frac{1}{2} + \frac{\sqrt{5}}{10}\)

\(\frac{\sqrt{5}}{5}\)

I

\(- \frac{1}{2} - \frac{\sqrt{5}}{10}\)

\(- \frac{\sqrt{5}}{5}\)

Certified Golden Ratio: HI / BH = GoldenRatio.