PDA

View Full Version : closed bezier circle curve



soconne
02-18-2004, 05:04 AM
Here is my problem.

I have 6-10 3d points that lie on the same plane and form a pattern for a flat circle. I want to create some sort of bezier curve to connect the points making it look like a smooth flat 3d circle. I tried using the OpenGL functions glMapf ect... But it only tried to 'fit' a line to the points and did not actually connect them all. Anybody know how to do this?

Eric Lengyel
02-18-2004, 05:24 AM
By their very nature, Bezier curves only approximate their interior control points. Assuming you're using an order 3 curve, each cubic piece is determined by four control points -- the two endpoints are interpolated and the two interior points are approximated, with interpolation occurring only if the curve is a straight line.

Also, Bezier curves cannot form perfect circular arcs. If you need a perfect circle, you'll have to generalize to NURBS (Non-Uniform Rational B-Splines).

vmh5
02-18-2004, 10:51 AM
I have 6-10 3d points that lie on the same plane and form a pattern for a flat circle. I want to create some sort of bezier curve to connect the points making it look like a smooth flat 3d circle.
Use your points as the end points and generate the control points. The normalized controlpoint - endpoint vector is the tangent at the end point. Think of the length of that vector as a strength.
With 4 point bezier curves you can get very close to a circle