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

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.4.6.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.4.6-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geometor_model-0.4.6.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.4.6.tar.gz
Algorithm Hash digest
SHA256 e85c1bd81530bc3587e8dd0d32f0ebaa2792138e10b93c629d879bb285b15da1
MD5 5bc95e0b0204c9918e35014606dcb914
BLAKE2b-256 c862ad35477648d87bee5abe6aecc559ed5a8760af3b2574f388dc97a7dc1ad9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for geometor_model-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7f163fe83d33c4c72e69a0b983143dc2b93c8f0a4d602a67dd3566d1652cadca
MD5 4c8d86732462093a9f295427ea89f683
BLAKE2b-256 eeb0d6425c5d01fb642f178d52192f3975d937a7eb9c04d352dcb31691063250

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