Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bezier clipping

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.

like image 557
jjrv Avatar asked Sep 20 '08 20:09

jjrv


People also ask

What does Bézier mean?

Definition of Bezier : using or having the characteristics of a Bezier curve a Bezier path tool a Bezier spline.

What is Bézier interpolation?

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.

What is the use of Bézier?

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.

What do Bézier handles do?

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.


1 Answers

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

like image 56
lehni Avatar answered Sep 16 '22 20:09

lehni