Имам множество кръгове (като списък от свързани върхове) на произволни позиции.
Когато кръговете се пресичат, се създават затворени области (точно както в диаграма на Вен http://en.wikipedia.org/wiki/Venn_diagram)
Как да генерирам отделни полигони за всички тези области? Целта е да можете да оцветите всеки регион с отделен многоъгълник, както в този пример:
Възможно ли е общо решение с итеративни булеви операции за пресичане?
РЕДАКТИРАНЕ
Следният прост изрязан е [NodeBox](http://nodebox.net/code/index.php/Home)
скрипт, който рисува пресичащи се елипси.
oval(x0,y0,w,h)
създава елипса.
Според doc, булевите операции върху пътеки като p[19].difference(p[17])
ще дадат „плосък“ резултат („съставен от множество прави сегменти“).
Координатите на пътя могат да се добавят или променят.
size(500, 500)
p = []
s = 54
nofill()
stroke(0)
for k in xrange(10):
w = 10+k*s/2
w2 = 10+k*s
h = 10+k*s
h2= 10+k*s
p.append( oval(WIDTH/2 - w/2, HEIGHT/2 - h/2, w, h, draw=False))
p.append( oval(WIDTH/2 - w2/2, HEIGHT/2 - h2/2, w2, h2, draw=False))
cp = p[19].difference(p[17]).intersect(p[18], flatness = 0.3)
for pi in p:
drawpath(pi)
fill(color(1,0,0))
drawpath(cp)