The problem of partitioning a polygonal region into a minimum number of trapezoids with two horizontal sides is discussed. A triangle with a horizontal side is considered to be a trapezoid with two horizontal sides one of which is degenerate. First, a method of achieving a minimum partition is presented. The number M * of the trapezoids in the minimum partition of a polygonal region P is shown to be M * = n + w - h - d - 1, where n , w , and h are the number of vertices, windows (holes), and horizontal edges of P , respectively, and d is the cardinality of a maximum independent set of the straight-lines-in-the-plane graph associated with P . Next, this problem is shown to be polynomially equivalent to the problem of finding a maximum independent set of a straight-lines-in-the-plane graph, and consequently, it is shown to be NP-complete. However, for a polygonal region without windows, an O ( n 2 )-time algorithm for partitioning it into a minimum number of trapezoids is presented. Finally, an O ( n log n )-time approximation algorithm with the performance bound 3 is presented.
Read full abstract