I didnt know about that people really deal with this stuff.
(But I always guessed that I could not be the only one
![Wink ;)](./images/smilies/wink.gif)
So then we can just dive into the details.
Basicly I do exactly what is described on that site, but some essential details are unclear to me yet:
Lets start with the subtraction algorithm pictures of that page:
![Image](http://www.flowerfire.com/ADSODA/6in/SubtractSolids.gif)
![Image](http://www.flowerfire.com/ADSODA/6in/SubtractSlice1.gif)
![Image](http://www.flowerfire.com/ADSODA/6in/SubtractSlice2.gif)
![Image](http://www.flowerfire.com/ADSODA/6in/SubtractSlice3.gif)
![Image](http://www.flowerfire.com/ADSODA/6in/SubtractSlice4.gif)
![Image](http://www.flowerfire.com/ADSODA/6in/SubtractSlice5.gif)
My problem is when I draw the 3 green pieces, then I also have to draw their intersections/adjacency lines. So I developed a model where two (adjacent) faces can be "snapped" to each other and thereby become invisible during painting because they are internal. This would complicate the given algorithm in the following way:
![Image](http://blafoo.de/misc/slices2.png)
I mean I know that one can solve the problem by adjacency tests, but I wanted to go the "discrete way", i.e. where I only need the actual point coordinates for slicing an edge, but not to determine adjacency. Thats only because my deep mistrust to the exactness of floating point computations
![Wink ;)](./images/smilies/wink.gif)