
On Wed, Feb 26, 2014 at 05:27:48PM +0100, Krzysztof Kosi??ski wrote:
2014-02-26 16:37 GMT+01:00 Tavmjong Bah <tavmjong@...8...>:
It would be nice if one could do boolean operations with paths with arcs and not have them turn into Beziers. It looks like CGAL supports this.
The primary shortcoming of the CGAL algorithm is that is requires monotonization of the input curves, which leads to some unnecessary nodes being added, but this can be circumvented by storing pointers to the information about the original curve in the subdivided curves and then removing the superfluous subdivisions.
Yes, and I think there is already code to do the monotonisation in 2Geom. It's very straightforward anyway - subdivide(roots(derivative(B))).
I'm excited about this project because already 3 or 4 people have had a go at it and not quite made it. It's surprisingly hard to implement. But cgal looks like it might get us there finally.
It would also be nice to be able to support CSS3 3d transforms (which already have some browser support for SVG), just as shown in the example in section 25.7 of the Nvidia GPUGems you referenced.
At the moment there is no support for projective transformations in 2Geom or Cairo, so this would be a longer term goal.
2Geom does have divide(curve, curve) so it's mostly about adding the matrix forms and providing a nice api.
njh