W.12 Vertex Bisectors, Square Vertices & The Four Incenters — Code

The locus of points X having equal quadrance Q(X, l_1) = Q(X, l_2) to two intersecting non-null lines l_1, l_2 splits into two orthogonal vertex bisectors over F if and only if (a_1^2 + b_1^2)(a_2^2 + b_2^2) is a square in F; when two vertices of a triangle have bisectors in F, so does the third, producing four symmetric incenters I_0, I_1, I_2, I_3.
t c_in (Q = 16) b_1 b_2 b_3 A_1 = [0, 0] A_2 = [14, 0] A_3 = [5, 12] I_0 = [6, 4] A = [6, 0] B = [6 - 12*sqrt(13)/13, 4 - 8*sqrt(13)/13] C = [12*sqrt(13)/13 + 6, 8*sqrt(13)/13 + 4] D = [6 - 8*sqrt(5)/5, 4*sqrt(5)/5 + 4] E = [8*sqrt(5)/5 + 6, 4 - 4*sqrt(5)/5] F = [6 - 4*sqrt(65)/65, 32*sqrt(65)/65 + 4] G = [4*sqrt(65)/65 + 6, 4 - 32*sqrt(65)/65] I_0 = [6, 4], Inquadrance R_0 = 16 s(I_0 A_1, I_0 A_2) = 49/65 A1A1 A2A2 A3A3 I0I0 + − ⟲ Lbl Gde

Exact geometor.model SVG output of model.py for W.12 (Vertex Bisectors, Square Vertices & The Four Incenters).

Symbolic Construction & Verification Script (model.py)

"""GEOMETOR Wildberger symbolic model and proof script for W.12: Vertex Bisectors, Square Vertices & The Four Incenters.

        Enunciation: The locus of points X having equal quadrance Q(X, l_1) = Q(X, l_2) to two intersecting non-null lines l_1, l_2 splits into two orthogonal vertex bisectors over F if and only if (a_1^2 + b_1^2)(a_2^2 + b_2^2) is a square in F; when two vertices of a triangle have bisectors in F, so does the third, producing four symmetric incenters I_0, I_1, I_2, I_3.
        """

        from __future__ import annotations

        import sys
        from pathlib import Path

        _ROOT_SRC = Path(__file__).resolve().parents[3] / "src"
        if str(_ROOT_SRC) not in sys.path:
            sys.path.insert(0, str(_ROOT_SRC))

        from geometor.wildberger.models import (  # noqa: E402
            TopicBuildResult,
            assert_zero_floats,
            build_principle_model,
        )
        from geometor.wildberger.render import render_svg  # noqa: E402


        def construct_w_12() -> TopicBuildResult:
            """Construct the exact symbolic model and verifications for W.12.

            Returns:
                Populated `TopicBuildResult` for W.12 (Vertex Bisectors, Square Vertices & The Four Incenters).
            """
            result = build_principle_model("W.12")
            assert_zero_floats(result.model)
            return result


        def main() -> None:
            """Execute W.12 symbolic construction, render `w-12.svg`, and print invariants."""
            here = Path(__file__).resolve().parent
            bundle = construct_w_12()
            svg_out = render_svg(
                bundle.model,
                here / "w-12.svg",
                extra_curves=bundle.extra_curves,
                annotations=bundle.annotations,
            )
            print("W.12: Vertex Bisectors, Square Vertices & The Four Incenters")
            print(f"  Elements in model: {len(bundle.model)}")
            print(f"  Rendered SVG:      {svg_out.name}")
            for label, val, status in bundle.verifications:
                print(f"  [OK] {label}: {val} ({status})")


        if __name__ == "__main__":
            main()