pymunk.util Module¶
This submodule contains utility functions, mainly to help with polygon creation.
-
pymunk.util.is_clockwise(points)[source]¶ Check if the points given forms a clockwise polygon
Returns: True if the points forms a clockwise polygon
-
pymunk.util.reduce_poly(points, tolerance=0.5)[source]¶ Remove close points to simplify a polyline tolerance is the min distance between two points squared.
Returns: The reduced polygon as a list of (x,y)
-
pymunk.util.convex_hull(points)[source]¶ Create a convex hull from a list of points. This function uses the Graham Scan Algorithm.
Returns: Convex hull as a list of (x,y)
-
pymunk.util.poly_vectors_around_center(pointlist, points_as_Vec2d=True)[source]¶ Rearranges vectors around the center If points_as_Vec2d, then return points are also Vec2d, else pos
Returns: pointlist ([Vec2d/pos, ...])
-
pymunk.util.is_convex(points)[source]¶ Test if a polygon (list of (x,y)) is convex or not
Returns: True if the polygon is convex, False otherwise
-
pymunk.util.calc_perimeter(points)[source]¶ Calculate the perimeter of a polygon
Returns: Perimeter of polygon
-
pymunk.util.triangulate(poly)[source]¶ Triangulates poly and returns a list of triangles
Parameters: - poly
list of points that form an anticlockwise polygon (self-intersecting polygons won’t work, results are undefined)
-
pymunk.util.convexise(triangles)[source]¶ Reduces a list of triangles (such as returned by triangulate()) to a non-optimum list of convex polygons
Parameters: - triangles
list of anticlockwise triangles (a list of three points) to reduce