I have a bunch of polygons. I want to divide them with a line that will pass through the center and divide the polygon into two equal pieces with respect to area. I cannot seem to find a place to start with.

Hopefully clearer explanation of the problem:

What i have is a bunch of polygons in 3D. Like below. They are more or less flat polygons suspended in 3 dimensions. I have Cartesian coordinates of each of their vertices. Now what i want is to divide them into two equal pieces. The line can be in any direction and has to pass by the center of the polygon while dividing it into two equal pieces, areawise.

enter image description here enter image description here

As an example above polygon with blue outline, if is divided as i want, would look something like this

enter image description here

With dividing (black) line passing through the center (in red) and dividing the polygon in two equal halves in terms of area.

About how the polygons are shaped.
1. Each of the polygon is flat or the vertices of each polygon is co-planar. 2. However, different polygons are on different plane, think of these polygons as tiles tilling a surface 3. The area is calculated for each polygon based on the its vertices that all lie on the same plane. You can see these properties of the polygons on the following shape. For the division, each polygon is to be divided with separate lines. The dividing line are not the same enter image description here

  • 1
    $\begingroup$ Can you explain more on exactly what you're looking for? It's difficult to understand how to answer based on your current post. Are you looking for a curve that divides all of these polygons? Or a line that divides this hoop of polygons? Also some specifics on how this figure and the polygons it's made of are defined would be needed, as the picture is imprecise. $\endgroup$
    – WB-man
    Commented Apr 10, 2017 at 20:55
  • $\begingroup$ @WB-man hey i have tried to explain the question better. Thanks for your comment. $\endgroup$
    – jkhadka
    Commented Apr 10, 2017 at 21:39
  • 1
    $\begingroup$ 1. It is still unclear if you are trying to divide all the polygons using a single line, or you are trying to divide each polygon separately using a different line per polygon. 2. all of the polygon vertices are coplanar? If not, how do you define the area of the polygons? $\endgroup$
    – user7530
    Commented Apr 10, 2017 at 22:19
  • $\begingroup$ Okay i will further edit the problem addressing y our questions :) sorry for not being clear enough. $\endgroup$
    – jkhadka
    Commented Apr 11, 2017 at 5:54
  • $\begingroup$ The area of a "more or less flat" polygon is not defined. $\endgroup$
    – user65203
    Commented Apr 11, 2017 at 9:56

1 Answer 1


As the comments indicate, your phrasing of the problem is not quite precise. There has been considerable work on computing the "center of area" of a single convex polygon (a point $x$ such that any line through $x$ bisects the area), including this:

Braß, Peter, Laura Heinrich-Litan, and Pat Morin. "Computing the center of area of a convex polygon." International Journal of Computational Geometry & Applications 13.05 (2003): 439-445. Journal link.

They improved on my earlier work with a (then) student:

Diaz, Matthew, and Joseph O'Rourke. "Algorithms for computing the center of area of a convex polygon." The Visual Computer 10.8 (1994): 432-442.

Diaz-O'Rourke Fig.2: 5% contours. The innermost contour ranges over $[45,46)$ percent.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .