Skip to main content

A symbolic engine for defining and verifying geometric constructions.

Project description

https://img.shields.io/pypi/v/geometor-model.svg https://img.shields.io/github/license/geometor/model.svg

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

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

geometor_model-0.5.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geometor_model-0.5.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

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

Hashes for geometor_model-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ff6849d68195958886bd0e79fad74af775862d7647d99d96ebe3538f97cd0fed
MD5 05b5b613c225d35415cbbef6ef7ffed4
BLAKE2b-256 30d58ce5dbb1b0bccb712df879cbb7f2dac75b8acb3a885b477e3bb83d6099e3

See more details on using hashes here.

File details

Details for the file geometor_model-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for geometor_model-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22afb829a0c0e07380a93e52aa0d9453e0833b497047d95d18f2954ca179ff92
MD5 09e98bae9a5c5958e1ce8e7a5749ff7a
BLAKE2b-256 73c6019655bf51c56133c49778a302464e4f952a0eae904b6ff2926b1c97ee4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page