I'm trying to find/make an algorithm to compute the intersection (a new filled object) of two arbitrary filled 2D objects. The objects are defined using either lines or cubic beziers and may have holes or self-intersect. I'm aware of several existing algorithms doing the same with polygons, listed here. However, I'd like to support beziers without subdividing them into polygons, and the output should have roughly the same control points as the input in areas where there are no intersections.
This is for an interactive program to do some CSG but the clipping doesn't need to be real-time. I've searched for a while but haven't found good starting points.
Definition of Bezier : using or having the characteristics of a Bezier curve a Bezier path tool a Bezier spline.
In general, our Bezier curve interpolation is the fixed interpolation which means that the shape of the interpolating curve is fixed for the given interpolating data and control polygon, since the interpolating function is unique for the given control points.
Bézier curves are widely used in computer graphics to model smooth curves. As the curve is completely contained in the convex hull of its control points, the points can be graphically displayed and used to manipulate the curve intuitively.
Bezier keyframes have handles that allow you to adjust the curve of the animation they produce. This might be acceleration and deceleration for timing, or screen position on a motion path.
I found the following publication to be the best of information regarding Bezier Clipping:
T. W. Sederberg, BYU, Computer Aided Geometric Design Course Notes
Chapter 7 that talks about Curve Intersection is available online. It outlines 4 different approaches to find intersections and describes Bezier Clipping in detail:
http://www.tsplines.com/technology/edu/CurveIntersection.pdf
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With