Symbolic Demonstrations¶
Executable pure-symbolic Python demonstrations (Model(…, auto_intersect=False)) verifying every static lever equilibrium, signed barycentric coordinate, isotomic conjugate, projective harmonic range, Rational Trigonometry spread law, multilateral odd-polygon product, 3D seven-line tetrahedral concurrency, and Appendix Geometrica quadrature/cubature in geometor.ceva with zero floating-point coordinates.
1. Static Barycentrics, Negative Weights (F - A), Isotomic Conjugates & Spread Ceva¶
Proves Ceva’s Theorem and sub-triangle area proportions universally over indeterminate coordinates, evaluates canonical centers $X(1), X(2), X(4), X(6), X(7), X(8)$ and the exterior $A$-excenter $J_A$ over $\mathbb{Q}^2$ on the Heronian $(13, 14, 15)$ triangle, constructs @proposition models for interior/exterior concurrency, isotomic conjugation ($X(7) \leftrightarrow X(8)$), and the Menelaus harmonic conjugate $(B, C; D, D') = -1$, and verifies Spread Ceva’s Theorem without square roots.
1#!/usr/bin/env python3
2"""Exact symbolic demonstration of Ceva's static barycentrics, isotomic conjugates, and Spread Ceva."""
3
4from __future__ import annotations
5
6import sympy as sp
7from geometor.model import cross_ratio, is_harmonic
8from rich.console import Console
9from rich.table import Table
10
11from geometor.ceva import (
12 CANONICAL_CENTERS,
13 construct_ceva_concurrency,
14 construct_cevian_menelaus_harmonic,
15 construct_isotomic_conjugate,
16 evaluate_canonical_centers,
17 prove_ceva_barycentric_identity,
18 verify_spread_ceva,
19)
20
21
22def run_demo() -> None:
23 """Execute exact symbolic proofs for Liber Primus and canonical triangle centers."""
24 console = Console()
25 console.print(
26 "[bold amber1]1. Universal Symbolic Proof of Ceva's Barycentric & Area Identities[/bold amber1]"
27 )
28 residuals = prove_ceva_barycentric_identity()
29 for key, expr in residuals.items():
30 assert expr == 0, f"Non-zero symbolic residual {key}: {expr}"
31 console.print(f" • {key}: [green]{expr}[/green]")
32
33 console.print(
34 "\n[bold amber1]2. Canonical Rational Centers on Heronian Δ(13, 14, 15)[/bold amber1]"
35 )
36 tbl = Table(show_lines=False)
37 tbl.add_column("Center", style="bold cyan")
38 tbl.add_column("Weights (u:v:w)", style="magenta")
39 tbl.add_column("Exact P in Q^2", style="green")
40 tbl.add_column("Signed Ratios (AF/FB, BD/DC, CE/EA)", style="yellow")
41 tbl.add_column("Product")
42
43 for code, res in evaluate_canonical_centers().items():
44 _desc, (u_val, v_val, w_val) = CANONICAL_CENTERS[code]
45 tbl.add_row(
46 code,
47 f"{u_val}:{v_val}:{w_val}",
48 f"({res.center.x}, {res.center.y})",
49 f"({res.ratio_af_fb}, {res.ratio_bd_dc}, {res.ratio_ce_ea})",
50 str(res.ceva_product),
51 )
52 console.print(tbl)
53
54 console.print(
55 "\n[bold amber1]3. Constructive @proposition Models (Interior, Exterior F-A, Isotomic, Harmonic)[/bold amber1]"
56 )
57 m_int = construct_ceva_concurrency(24, 28, 21)
58 m_ext = construct_ceva_concurrency(-14, 15, 13)
59 m_iso = construct_isotomic_conjugate(24, 28, 21)
60 m_har = construct_cevian_menelaus_harmonic(24, 28, 21)
61
62 b_pt = m_har.get_element_by_ID("B")
63 c_pt = m_har.get_element_by_ID("C")
64 d_pt = m_har.get_element_by_ID("D")
65 dp_pt = m_har.get_element_by_ID("D_prime")
66 cr_val = cross_ratio(b_pt, c_pt, d_pt, dp_pt)
67 assert is_harmonic(b_pt, c_pt, d_pt, dp_pt)
68
69 console.print(f" • Interior Gergonne X(7) Model elements: [green]{len(m_int)}[/green]")
70 console.print(f" • Exterior Excenter J_A (-14:15:13) elements: [green]{len(m_ext)}[/green]")
71 console.print(f" • Isotomic X(7) <-> X(8) Model elements: [green]{len(m_iso)}[/green]")
72 console.print(
73 f" • Cevian–Menelaus Cross-Ratio (B, C; D, D'): [green]{sp.simplify(cr_val)}[/green]"
74 )
75
76 console.print(
77 "\n[bold amber1]4. Rational Trigonometry Spread Ceva Theorem (Zero Radicals)[/bold amber1]"
78 )
79 spread = verify_spread_ceva()
80 console.print(
81 f" • s(BAD)={spread.spread_bad}, s(DAC)={spread.spread_dac} | "
82 f"s(CBE)={spread.spread_cbe}, s(EBA)={spread.spread_eba} | "
83 f"s(ACF)={spread.spread_acf}, s(FCB)={spread.spread_fcb}"
84 )
85 console.print(
86 f" • Spread Product = [green]{spread.spread_product}[/green], "
87 f"Quadrance Product = [green]{spread.quadrance_product}[/green]"
88 )
89
90
91if __name__ == "__main__":
92 run_demo()
Run locally:
/home/phi/PROJECTS/geometor/.venv/bin/python demos/static_barycentrics.py
2. Multilateral Odd Polygons, Circumscribed Conics, 3D Tetrahedra & Appendix Geometrica¶
Constructs concurrent cevians on a convex rational pentagon, proves Liber Secundus, Lemma I symbolically for polygons circumscribed around circles and Borelli–Serenus projected ellipses, verifies Ceva’s 3D skew-quadrilateral corollary (Elementum V Coroll.) and 7-line tetrahedral equilibrium (Liber Primus, Prop. XXIII), and confirms Hippocratean lune quadrature, cylindrical ungula $\frac{2}{3}$ prism cubature, and hemisphere ($5:3$) / paraboloid ($2:1$) centroids.
1#!/usr/bin/env python3
2"""Exact symbolic demonstration of multilateral polygons, 3D tetrahedra, and Appendix Geometrica."""
3
4from __future__ import annotations
5
6from rich.console import Console
7
8from geometor.ceva import (
9 construct_pentagon_ceva,
10 prove_circumscribed_polygon_lemma,
11 solve_tetrahedron_static_equilibrium,
12 verify_appendix_invariants,
13 verify_odd_polygon_ceva,
14 verify_skew_quadrilateral_ceva,
15)
16
17
18def run_demo() -> None:
19 """Execute exact symbolic verifications for Liber Secundus, 3D statics, and Appendix."""
20 console = Console()
21
22 console.print(
23 "[bold amber1]1. Liber Secundus: Odd Multilateral Polygon Ceva & Circumscribed Conic Lemma I[/bold amber1]"
24 )
25 pent = verify_odd_polygon_ceva()
26 pent_model = construct_pentagon_ceva()
27 conic_lemma = prove_circumscribed_polygon_lemma(5)
28 console.print(f" • Rational Pentagon side ratios: {pent.side_ratios}")
29 console.print(
30 f" • Cyclic opposite-side product = [green]{pent.cyclic_product}[/green] "
31 f"(Model elements: {len(pent_model)})"
32 )
33 console.print(f" • Borelli–Serenus Circumscribed Ellipse residuals: {conic_lemma}")
34
35 console.print(
36 "\n[bold amber1]2. Liber Primus Elem. V Coroll. & Prop. XXIII: 3D Skew Quad & 7-Line Tetrahedron[/bold amber1]"
37 )
38 skew = verify_skew_quadrilateral_ceva()
39 tet = solve_tetrahedron_static_equilibrium()
40 console.print(
41 f" • 3D Skew Quadrilateral: 6·Vol = {skew.tetrahedron_det6}, "
42 f"coplanarity det = [green]{skew.fulcrum_coplanarity_det}[/green], "
43 f"cyclic product = [green]{skew.cyclic_ratio_product}[/green]"
44 )
45 console.print(
46 f" • 3D Tetrahedron Center O = [green]{tuple(tet.center_of_gravity)}[/green]"
47 )
48 console.print(f" • 4 Vertex-to-Face-CG ratios VO/OG: {tet.vertex_cevian_ratios}")
49 console.print(f" • 3 Skew-Edge Bimedian ratios: {tet.bimedian_ratios}")
50
51 console.print(
52 "\n[bold amber1]3. Appendix Geometrica: Lune Quadrature, Ungula Cubature & Centroids[/bold amber1]"
53 )
54 app = verify_appendix_invariants()
55 for k, val in app.items():
56 console.print(f" • {k}: [green]{val}[/green]")
57
58
59if __name__ == "__main__":
60 run_demo()
Run locally:
/home/phi/PROJECTS/geometor/.venv/bin/python demos/polygon_tetrahedron.py