G.50 converse hinge theorem — Code

I.25

If two triangles have two sides equal to two sides respectively, the one with the greater base has the greater included angle.
A B C D E F
"""Programmatic construction for Book I, Proposition 25 (I.25).

        If two triangles have the two sides equal to two sides respectively, but have the base greater than the base, they will also have the one of the angles contained by the equal straight lines greater than the other.
        """

        from __future__ import annotations

        from geometor.model import Model


        def construct_g1() -> Model:
            """Construct the figure for 0313.g1 (I.25) using geometor.model."""
            model = Model("I.25")

            # Points
            pt_A = model.set_point(60.5, -24, classes=["given"], ID="A")
            pt_B = model.set_point(12, -114.5, classes=["given"], ID="B")
            pt_C = model.set_point(144, -114.5, classes=["given"], ID="C")
            pt_D = model.set_point(236, -23, classes=["given"], ID="D")
            pt_E = model.set_point(220.5, -114.5, classes=["given"], ID="E")
            pt_F = model.set_point(313, -114.5, classes=["given"], ID="F")

            # Segments
            model.set_segment(pt_A, pt_B)
            model.set_segment(pt_A, pt_C)
            model.set_segment(pt_B, pt_C)
            model.set_segment(pt_D, pt_E)
            model.set_segment(pt_D, pt_F)
            model.set_segment(pt_E, pt_F)

            # Polygons
            model.set_polygon([pt_A, pt_B, pt_C])
            model.set_polygon([pt_D, pt_E, pt_F])

            # Angles (Wedges)
            model.set_wedge(pt_A, pt_B, pt_B, pt_C)
            model.set_wedge(pt_B, pt_A, pt_A, pt_C)
            model.set_wedge(pt_C, pt_A, pt_A, pt_B)
            model.set_wedge(pt_D, pt_E, pt_E, pt_F)
            model.set_wedge(pt_E, pt_D, pt_D, pt_F)
            model.set_wedge(pt_F, pt_D, pt_D, pt_E)

            return model


        if __name__ == "__main__":
            construct_g1()