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.

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

Create a model, add points, and perform constructions:

# Run the model script
model

Or use it as a library:

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
report_summary(model)

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.4.5.tar.gz (1.0 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.4.5-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

Details for the file geometor_model-0.4.5.tar.gz.

File metadata

  • Download URL: geometor_model-0.4.5.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.3

File hashes

Hashes for geometor_model-0.4.5.tar.gz
Algorithm Hash digest
SHA256 0d78b0f196f8cc7a59feeab8c58beeadb25440259aa5320ba76368f8a21f2dd7
MD5 b19325bce4dd26025365de0ed1e4a102
BLAKE2b-256 6752fbfa10c2927f6bf5035932061380e4d4c1c21bce9e37101cd49babbb6653

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for geometor_model-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c7a2cbb4fa2ce779c61ef059e5ed056612d69ce047f91ca3c80d83e64dd77534
MD5 450fe553f49a5c4071a1470114be53b0
BLAKE2b-256 8d546eef7fcb515c51e032684ecde580c58501a504d55f69fc0c0127ef4fcbd1

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