Skip to main content

A Euclidean Geometry based library

Project description

Euclipy

PyPI version

PyPI downloads

A library used to create, model, and solve figures in Euclidean Geometry.

Features:

  • Create symbolic geometric objects (Triangle(), Segment(), Angle(), etc.)

  • Implicitly defines segments and angles created by polygon constructions

  • Keeps a log of steps taken to prove distinct facts

Sample Output

Installation

# PyPi Installation

pip install euclipy

Sample Code (With Comments):

from euclipy.geometric_objects import Point

from euclipy.polygon import Triangle

from euclipy.theorems import isosceles_triangle_theorem

from euclipy.registry import Registry

  

if  __name__ == '__main__':

  

# Pretty print for registry

import pprint

pp = pprint.PrettyPrinter(indent=4)

  

# Define points

A = Point('A')

B = Point('B')

C = Point('C')

  

T1 = Triangle([A, B, C])

T2 = Triangle([B, C, A]) # Test for identity of two triangles expressed in different point

try:

T3 = Triangle([B, A, C]) # Test for inconsistent triangle

except:

print('Inconsistent triangle')

# Assign angle values

T1.angles[0].measure.value = 60

T1.angles[1].measure.value = 60

T1.angles[2].measure.value = 60

  

# Assign side values

T1.edges[2].measure.value = 1

  

# Apply theorem

theorem_applied = isosceles_triangle_theorem(T1)

  

# Print results

print(f'isosceles_triangle_theorem ran: {theorem_applied}')

  

# Print registry

pp.pprint(Registry().entries)

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

euclipy-0.3.0.tar.gz (15.7 kB view hashes)

Uploaded Source

Supported by

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