# GEOMETOR

`geometor.model`

is the foundational library for the GEOMETOR initiative.

At the core of the module is the `Model`

class which establishes the field
and methods of operation for creating the geometric constructions while maintaining integrity.

The **field** might be easy to consider as a Cartesian grid. But in reality, it
is an ordered set of information and operations. Points are the information.
Lines and circles are the operations.

In our system, all geometric elements of the `Model`

are defined as Sympy Geometry
objects. This means a `Point`

can be defined as a pair of any algebraic
Sympy Expressions that can be evaluated into a floating point value.

`Line`

and `Circle`

are each defined by two points. So each construction
must begin with at least two given points at the start. As lines and circles
are added, intersection points are discovered with previous lines and circles
and added to the model, so they may be used with new lines and circles.

There are three main operations of the `Model`

:

set_point

construct_line

construct_circle

The major responsibilities of the `Model`

:

**deduplicate**when elements are added to the model, we check to see if they already exist. This is particularly important for intersection points that often coincide with exisitng points.

**clean values**discover

**intersections****save**to and load from jsonmaintain a set of

**related**info for each element:ancestral relationships

establish labels for elements

classes for styles

All of the plotting functionality has moved to **GEOMETOR** render. However, there are several report functions in the this module:

report_summary

report_group_by_type

report_sequence

## recent logs

23.324 - First Log - Lots of changes

This log entry marks the commencement of the Geometor.model project. After extensive changes in recent months, the project’s concepts, though not new, are entering a phase of significant development. The primary focus has been on refining the Geometor code, transitioning from the original Geometor Explorer, which encompassed a broad range of functions, to a more segmented approach. This segmentation allows for a clearer division of the project’s key components: modeling, rendering, and analyzing complex geometric constructions.

22.348 - Welcome to GEOMETOR.com

first log entry for the new system