An algorithm is described which extracts primitive regions (i.e., convex, spiral shaped, and biconcave lens) from complex shapes. The interior region bounded by the shape is decomposed by first slicing it into a set of convex subregions and then rotating and dissolving the various boundaries between subregions until a satisfactory decomposition is obtained. The same algorithm also is used to decompose the exterior region between the shape and its convex hull. The algorithm has been implemented as an Algol-W computer program for the UNIVAC 90/80 and results of running the program are presented for a wide variety of complex shapes. These results compare favorably with the experience reported by previous programs.