This project implements a type of computational reasoning. It postulates and proves various theorems in plane geometry. In particular, it can prove a new generalization of Morley's Trisector Theorem (as of June, 2016).
(1) Specify the input in input.txt (see below for format)
(2) Execute run.py script. GEOPAR may ask whether the user wants "pairing," to which the user usually agrees. This is explained in the paper.
input.txt file serves as an input source for the project. It specifies the vertices (points) and the angles of a triangulated figure.
The first number n on the first line in input.txt denotes a number of triangles in the triangulated figure.
The second number m on the first line in input.txt denotes a dimension of the angles that constitute those triangles.
The following n lines denote the points (vertices) and angles of each triangle in the triangulated figure.
The program will process first n+1 lines in input.txt and neglect the remaining part.
The points are written as 3 non-zero, distinct integer numbers in clockwise order separated by a comma.
Example: 1, 3, 5
The angle is written as a mathematical expression:
it is a finite combination of linear terms, where a term is specified by a
coefficient and a variable: aα + bβ + c (c is a constant term).
Coefficients can be of the form:
- 2, 3, 4 - integer number
- 2.5, 3.14 - floating point number
- 1/2, 3/4 - fraction number
Terms can be of the form:
- α - greek letter
- a, b, c - latin letter
- \alpha, \beta - Latex style.
One line contains information about one triangle: three points and three angles, where group of points is separated by a semicolon from a group of angles. Please note that points and angles correspond to each other via their indices in the list.
- This is an example of an information about triangle with all known angles for
m = 3:
1, 3, 5; -α - β + 60, β, α + 120
Vertices:1, 3, 5
Angles:-α - β + 60, β, α + 120 - This is an example of an information about triangle with one
unknownangle:
1, 5, 4; -α - β + 60, β, xVertices:1, 5, 4
Angles:-α - β + 60, β + 60, unknown
The program processes only the first triangle configuration in input.txt.
Thus, you may store all your configurations in input.txt, and move the one of interest to the top
before running the program.
Examples of triangle configurations are collected in a separate section of this github site.
- Triangle vertices are called triangle points (or simply, points), for convenience
- interior point
- dimension of angle
- angle points (Triangle)