geometry

Base module for geometric abstractions

Created on Wed May 5 17:34:45 2021.

@author: HugoFara

General geometry functions.

pylinkage.geometry.bounding_box(locus)

Compute the bounding box of a locus.

locuslist[tuple[float]]

A list of point or any iterable with the same structure.

tuple[float]

Bounding box as (y_min, x_max, y_max, x_min).

pylinkage.geometry.circle_intersect(circle1, circle2, tol=0.0)

Return the intersections between two circles.

Transcription of a Matt Woodhead program, method provided by Paul Bourke, 1997. http://paulbourke.net/geometry/circlesphere/.

circle1: first circle, sequence of (abscisse, ordinate, radius) circle2: second circle, sequence of (abscisse, ordinate, radius) tol: distance under which two points are considered equal.

pylinkage.geometry.cyl_to_cart(radius, theta, ori=(0, 0))

Convert polar coordinates into cartesian.

radius: distance from ori theta: angle is the angle starting from abscisses axis ori: origin point.

pylinkage.geometry.dist_builtin(point1, point2)

Euclidian distance between two 2D points.

Legacy built-in unoptimized equivalent of math.dist in Python 3.8.

pylinkage.geometry.intersection(obj_1, obj_2, tol=0.0)

Return intersection between two objects (points or circles).

Return nothing of no intersection. tol: absolute tolerance to use if provided.

pylinkage.geometry.norm(vec)

Return the norm of a 2-dimensional vector.

pylinkage.geometry.sqr_dist(point1, point2)

Square of the distance between two points.

Faster than dist.