Can a polygon be split into any number of equal areas?

Can a polygon be split into any number of equal areas?

This post will detail a closed form solution to split polygons into any number of equal areas, while ensuring minimum length of line based cuts. The solution works for both convex and concave polygons, as long as they don’t have non-manifold vertices, and can be traversed with a single loop.

Which is the best algorithm for dividing polygons?

This approach may not always lead to the correct solution, but the results will be fast. The algorithm has cubic time complexity for convex polygons. Checking every edge pair requires quadratic complexity, and for a given edge pair, the algorithm involves calculating area, and doing linear interpolation for finding split lines.

How many edge pairs are there in a polygon?

At each step of splitting into two sub-polygons, there are several possible edge pairs. For example, in the very first step, the 4-sided polygon has 6 possible edge pairs, and therefore 6 possible split lines.

How many cuts are there in a 4 sided polygon?

Since the cut is a line, it would start from one edge and end at another. There are six possible edge pairs ( 4 C 2) in a 4-sided polygon, that could lead to a potential cut. Three of these cuts – c 1, c 2, c 3 are shown in the images below as a reference. We can select the minimum cut from the all potential cuts obtained from each edge pair.

How to minimize the number of vertices in a polygon?

When a bucket gets more than an arbitrary number of vertices full, you can split it. Then take the mean of the vertices in that bucket as the vertex to use in your bounding hull. Or, forget the buckets, and when you’re moving around the centroid, only choose a point if its more than a given distance from the last point.

Can a convex polygon be cut into two triangles?

Given a convex polygon with n+2 sides. The task is to calculate the number of ways in which triangles can be formed by connecting vertices with non-crossing line segments. It is already a triangle so it can only be formed in 1 way. It can be cut into 2 triangles by using either pair of opposite vertices.

How do you check every edge pair of a polygon?

Checking every edge pair requires quadratic complexity, and for a given edge pair, the algorithm involves calculating area, and doing linear interpolation for finding split lines. For concave polygons, another verification step, that involves ensuring split lines don’t intersect with other remaining edges, is needed.

How to determine the angle of a polygon?

Determine the angle bisector of the edge pair. This is dotted line, labelled as m in the figure below. Determine the projected points of the four vertices on their corresponding opposing edge, at the angle perpendicular to the angle-bisector m. Ignore the projected points that don’t lie on the opposing line segment.

How to find a uniformly distributed polygon shape?

Iteratively move the centers to their respective cluster’s center of gravity. Note that this is a heuristic that doesn’t guarantee to find the optimum distribution; when the iterations stabilize, you have found a local minimum that serves as an approximation of ideally uniformly distributed points in your polygon shape.