Approximating arc length of Bezier by another Bezier

In summary, the conversation discusses the difficulties of calculating the arc length of a cubic Bezier spline and potential solutions. One proposed solution is to approximate the parameter-to-arc-length mapping of a Bezier with another Bezier, using a method such as fitting a 1D Bezier to data points obtained from the line segment method. The conversation concludes with the mention of a paper that addresses this issue.
  • #1
Reedbeta
3
0
(Note: cross posted to http://www.devmaster.net/forums/showthread.php?t=16227 )

Hey everyone,

As we know, the arc length of a cubic Bezier spline is kinda hard to calculate. There's no closed-form mathematical expression, so most people just subdivide it into a bunch of line segments and add those up. This is slow, but you can dress it up with adaptive subdivision and things like that to make it a bit faster.

I'd like to approximate the parameter-to-arc-length mapping of a Bezier with another Bezier. That is, given some 3D Bezier B(t) I'd like to compute a 1D Bezier s(t) that gives approximately the arc length of B from B(0) to B(t).

I could use the line segment method to get a bunch of "data points" on the arc length of B and then fit the 1D Bezier to it with least-squares or something. But I'm hoping (perhaps vainly) for a faster way...ideally something to compute the control points of s directly from the control points of B. I've googled around a bit but not found anything addressing this specific issue...anyone here happen to have heard of something like this before? :)
 
Last edited by a moderator:
Mathematics news on Phys.org
  • #2
Just to follow up, I did eventually find this paper which does a pretty good job of solving my problem.
 

1. What is a Bezier curve?

A Bezier curve is a mathematical curve that is commonly used in computer graphics and design. It is defined by a set of control points that determine the shape and direction of the curve.

2. How do you approximate arc length of a Bezier curve?

To approximate the arc length of a Bezier curve, you can use a numerical integration method such as the Gauss-Kronrod algorithm or the Romberg integration method. These methods divide the curve into smaller segments and calculate the length of each segment, then sum them up to get an approximate value for the total arc length.

3. Why would you want to approximate arc length of a Bezier curve?

Calculating the exact arc length of a Bezier curve can be a complex and time-consuming process. Approximating it using numerical methods is a faster and easier way to get an estimate of the arc length, which can be useful in computer graphics and design applications.

4. Can you approximate arc length of a Bezier curve by using another Bezier curve?

Yes, it is possible to approximate the arc length of a Bezier curve by using another Bezier curve with a higher degree. This is known as the "degree elevation" method, where the original curve is transformed into a new curve with a higher degree, and the arc length of the new curve is then calculated.

5. Are there any limitations to approximating arc length of a Bezier curve?

Yes, there are limitations to approximating the arc length of a Bezier curve. The accuracy of the approximation depends on the number of segments used in the numerical integration method and the degree of the Bezier curve. Higher degree curves and a larger number of segments will result in a more accurate approximation, but it may also increase the computational complexity.

Similar threads

Replies
8
Views
3K
Replies
2
Views
5K
  • General Math
Replies
5
Views
3K
Replies
3
Views
1K
Replies
2
Views
3K
Replies
7
Views
7K
  • Special and General Relativity
Replies
12
Views
825
Replies
1
Views
3K
Replies
14
Views
3K
  • Calculus and Beyond Homework Help
Replies
1
Views
1K

Back
Top