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\) |
|---|---|---|
|
\(0\) |
\(0\) |
|
\(0\) |
\(1\) |
|
\(-1\) |
\(0\) |
|
\(1\) |
\(0\) |
|
\(- \frac{1}{2}\) |
\(0\) |
|
\(\frac{1}{2}\) |
\(0\) |
|
\(- \frac{1}{2} + \frac{\sqrt{5}}{10}\) |
\(\frac{\sqrt{5}}{5}\) |
|
\(- \frac{1}{2} - \frac{\sqrt{5}}{10}\) |
\(- \frac{\sqrt{5}}{5}\) |
Certified Golden Ratio: HI / BH = GoldenRatio.