A symbolic engine for defining and verifying geometric constructions.
Project description
A symbolic engine for defining and verifying geometric constructions.
Overview
geometor.model is the foundational library for the GEOMETOR initiative. It establishes a rigorous system for defining classical geometric constructions using symbolic algebra.
In this system: - Points are information. - Lines and Circles are operations.
We leverage the power of SymPy to define elements as exact algebraic expressions rather than floating-point approximations.
CLI Usage
The geometor-model package includes a command-line interface (CLI) for building and experimenting with geometric models interactively or via scripts.
To start the CLI REPL:
$ python -m geometor.model
Features: * Interactive REPL with rich output. * Concise syntax for creating Points, Lines, Circles, Polygons, and more. * Support for auto-labeling points. * Pipe scripts for batch processing.
For detailed usage instructions, see the CLI Usage section in the documentation.
Key Features
Symbolic Precision: All elements are defined using symbolic algebra.
Intersection Discovery: Automatically finds intersection points as new lines and circles are added.
Ancestral Tracking: Maintains the history and dependencies of every element.
Serialization: Save and load models to JSON for analysis and visualization.
Usage
from geometor.model import *
# Initialize model
model = Model("vesica")
# Set given points
A = model.set_point(0, 0, classes=["given"])
B = model.set_point(1, 0, classes=["given"])
# Construct lines and circles
model.construct_line(A, B)
model.construct_circle(A, B)
model.construct_circle(B, A)
# Analyze
model.report_summary()
Resources
Documentation: https://geometor.github.io/model
Source Code: https://github.com/geometor/model
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geometor_model-0.5.0.tar.gz.
File metadata
- Download URL: geometor_model-0.5.0.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff6849d68195958886bd0e79fad74af775862d7647d99d96ebe3538f97cd0fed
|
|
| MD5 |
05b5b613c225d35415cbbef6ef7ffed4
|
|
| BLAKE2b-256 |
30d58ce5dbb1b0bccb712df879cbb7f2dac75b8acb3a885b477e3bb83d6099e3
|
File details
Details for the file geometor_model-0.5.0-py3-none-any.whl.
File metadata
- Download URL: geometor_model-0.5.0-py3-none-any.whl
- Upload date:
- Size: 39.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22afb829a0c0e07380a93e52aa0d9453e0833b497047d95d18f2954ca179ff92
|
|
| MD5 |
09e98bae9a5c5958e1ce8e7a5749ff7a
|
|
| BLAKE2b-256 |
73c6019655bf51c56133c49778a302464e4f952a0eae904b6ff2926b1c97ee4b
|