GC-07.01 · Symbolic Model & Source¶
Companion symbolic Python construction for GC-07.01 · Tran Quang Hung’s 2:1 Rhombus & Incircle Diagonal Division (GC-07.01).
Programmatic Usage¶
from geometor.divine.catalog import build_construction
model, cert = build_construction("GC-07.01")
assert cert.ratio_expr == sp.GoldenRatio
Exact Builder Implementation¶
def build_tran_rhombus_incircle() -> ConstructionResult:
"""Tran Quang Hung's rhombus with diagonal ratio 2:1 and its incircle (Buratino 8)."""
m = new_catalog_model("tran-rhombus-incircle")
s5 = sp.sqrt(5)
O = m.set_point(0, 0, classes=["given"], ID="O")
A = m.set_point(0, s5, ID="A")
C = m.set_point(0, -s5, ID="C")
B = m.set_point(2 * s5, 0, classes=["given"], ID="B")
D = m.set_point(-2 * s5, 0, ID="D")
m.construct_polygon([A, B, C, D], ID="ABCD")
m.construct_segment(A, C, classes=["auxiliary"], ID="AC")
ln_bd = m.construct_line(D, B, classes=["golden"], ID="DB")
# Inradius r = (2*sqrt(5) * sqrt(5)) / 5 = 2; tangency on AB at H = (2/sqrt(5), 4/sqrt(5))
F = m.set_point(2, 0, classes=["golden"], ID="F")
c_o = m.construct_circle(O, F, classes=["golden"], ID="cO")
m.intersect(c_o, ln_bd, other_than=F, classes=["golden"], ID="E")
return make_result(m, ("E", "F"), ("F", "B"), ("E", "F", "B"))
Exact Symbolic Point Coordinates¶
All points in tran-rhombus-incircle are certified free of floating-point approximations over \(\mathbb{Q}(\phi)\):
Point |
Exact \(x\) |
Exact \(y\) |
|---|---|---|
|
\(0\) |
\(0\) |
|
\(0\) |
\(\sqrt{5}\) |
|
\(0\) |
\(- \sqrt{5}\) |
|
\(2 \sqrt{5}\) |
\(0\) |
|
\(- 2 \sqrt{5}\) |
\(0\) |
|
\(2\) |
\(0\) |
|
\(-2\) |
\(0\) |
Certified Golden Ratio: EF / FB = GoldenRatio.