Plane geometry
The geometry module of the SymPy library covers basic geometry capabilities. Rather than giving an academic description of all objects and properties in that module, we discover the most useful ones through a series of small self-explanatory Python sessions.
We start with the concepts of point and segment. The aim is to illustrate how easily we can check for collinearity, compute lengths, midpoints, or slopes of segments, for example. We also show how to quickly compute the angle between two segments, as well as decide whether a given point belongs to a segment or not. The following diagram illustrates an example, which we will follow up with the code:
In [1]: from sympy.geometry import Point, Segment, Line, \ ...: Circle, Triangle, Curve In [2]: P1 = Point(0, 0); \ ...: P2 = Point(3, 4); \ ...: P3 = Point(2, -1); \ ...: P4 = Point(-1, 5) In [3]: statement = Point.is_collinear(P1, P2, P3); \ ...: print "Are P1, P2, P3 collinear?," statement...