X2316

X2-ISOCONJUGATE OF X1319

X2316 is the perspector of the anticevian triangle of X106 and the unary cofactor triangle of the intangents triangle, and also the perspector of ABC and the unary cofactor triangle of Gemini triangle 9. (Randy Hutson, November 30, 2018)
< A B C >: Reference Triangle △ABC [ A B ]: Sideline AB (Base c = 1) [ B C ]: Sideline BC (Side a) [ C A ]: Sideline CA (Side b) { 6, 101 }: Central Line L(6, 101) { 57, 88 }: Central Line L(57, 88) { 44, 517 }: Central Line L(44, 517) { 9, 644 }: Central Line L(9, 644) { 36, 909 }: Central Line L(36, 909) { 333, 645 }: Central Line L(333, 645) A = Vertex A (0.0000, 0.0000) B = Vertex B (1.0000, 0.0000) C = Vertex C (0.6122, 0.5999) X_6 = SYMMEDIAN POINT (LEMOINE POINT, GREBE POINT) (0.6000, 0.2672) X_101 = Ψ(INCENTER, SYMMEDIAN POINT) (0.2143, 0.5249) X_57 = ISOGONAL CONJUGATE OF X(9) (0.6138, 0.3110) X_88 = ISOGONAL CONJUGATE OF X(44) (1.0000, 0.0000) X_44 = -LINE CONJUGATE OF X(1) (2.1429, 2.0996) X_517 = ISOGONAL CONJUGATE OF X(104) (0.8180, 0.7154) X_9 = MITTENPUNKT (0.5110, 0.1615) X_644 = TRILINEAR MULTIPLIER FOR YFF PARABOLA (-0.0171, 0.3359) X_36 = INVERSE-IN-CIRCUMCIRCLE OF INCENTER (1.3333, 1.6330) X_909 = POINT ADHAFERA (0.9286, -0.3499) X_333 = CEVAPOINT OF X(8) AND X(9) (0.4886, 0.1475) X_645 = BARYCENTRIC MULTIPLIER FOR KIEPERT PARABOLA (-0.0375, 0.2992) X_2316 = -ISOCONJUGATE OF X(1319) (1.0000, 0.0000) A B C X6 X101 X57 X88 X44 X517 X9 X644 X36 X909 X333 X645 X2316 (a, b, c) = (5, 6, 7) | AB = 1

X2316 (X2-ISOCONJUGATE OF X1319) constructed on acute reference triangle \((a, b, c) = (5, 6, 7)\) with unit baseline AB = \(1\).

"""GEOMETOR construction model for X_2316 = X_2-ISOCONJUGATE OF X_1319."""

        from __future__ import annotations

        from pathlib import Path

        import sympy.geometry as spg
        from geometor.model import Model

        from geometor.etc.ops import (
            central_line,
            construct_baseline_triangle,
            create_model,
            eval_trilinear_point,
            intersect_lines,
            promote_point_to_top,
            symmedian_point_of,
        )
        from geometor.etc.render import write_center_svg


        def construct_x_02316(
            model: Model, A: spg.Point, B: spg.Point, C: spg.Point
        ) -> spg.Point:
            """Construct X_2316 = X_2-ISOCONJUGATE OF X_1319 on reference triangle ABC."""
            X_6 = symmedian_point_of(model, A, B, C, ID="X_6", classes=["center"])
            X_101 = eval_trilinear_point(model, A, B, C, 'a/(b - c)', ID="X_101", classes=["center"])
            X_57 = eval_trilinear_point(model, A, B, C, '1/(b + c - a)', ID="X_57", classes=["center"])
            X_88 = eval_trilinear_point(model, A, B, C, '1/(b + c - 2*a)', ID="X_88", classes=["center"])
            central_line(model, X_6, X_101, 6, 101)
            central_line(model, X_57, X_88, 57, 88)
            X_2316 = intersect_lines(model, X_6, X_101, X_57, X_88, ID="X_2316", classes=["selected", "target"])
            X_44 = eval_trilinear_point(model, A, B, C, 'b + c - 2*a', ID="X_44", classes=["center", "incident"])
            X_517 = eval_trilinear_point(model, A, B, C, '-1 + cos(B) + cos(C)', ID="X_517", classes=["center", "incident"])
            central_line(model, X_44, X_517, 44, 517, incident=True)
            return promote_point_to_top(model, X_2316)


        def build_model(
            sides: tuple[float, float, float] = (5.0, 6.0, 7.0),
            show_guides: bool = False,
        ) -> Model:
            """Build a `geometor.model.Model` for X_2316 on the given reference triangle."""
            model = create_model('X_2316 = X_2-ISOCONJUGATE OF X_1319')
            A, B, C = construct_baseline_triangle(model, *sides, show_guides=show_guides)
            construct_x_02316(model, A, B, C)
            return model


        if __name__ == "__main__":
            here = Path(__file__).resolve().parent
            model_acute = build_model((5.0, 6.0, 7.0))
            model_acute.save(str(here / "x-02316.json"))
            write_center_svg(
                model_acute,
                here / "x-02316.svg",
                subtitle="(a, b, c) = (5, 6, 7) | AB = 1",
            )