Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Approximating arc length of Bezier by another Bezier

  1. Aug 10, 2010 #1
    (Note: cross posted to http://www.devmaster.net/forums/showthread.php?t=16227 [Broken])

    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: May 4, 2017
  2. jcsd
  3. Aug 18, 2010 #2
    Just to follow up, I did eventually find this paper which does a pretty good job of solving my problem.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook