Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I need to determine the first point of inflection on a Bézier curve, if it exists, for a computer graphics application. My original idea was to iteratively walk the curve, evaluating 2nd derivatives until it reached the end, or the magnitude of the 2nd derivative was at a maximum, but someone advised me that I could calculate the inflection points directly.

Is there a closed mathematical solution to find the inflection point?

share|improve this question
1  
Well, the Bernstein polynomials that are used in defining your Bézier curves admit simple expressions for their derivatives. If you're using cubic Bézier curves, you can use the fact that the second derivative of a cubic function is a linear function... –  J. M. Jul 13 '12 at 18:34
    
@J.M. unfortunately the curves can have an arbitrary number of control points and so can be of any degree. –  cdk Jul 13 '12 at 19:35
    
If the degree is arbitrary, then in general there won't be a "closed form" for your inflection points; you will definitely have to use numerical methods. –  J. M. Jul 13 '12 at 19:37

1 Answer 1

Hi I'm definitely no maths expert (and will probably be having lots of questions to ask here) but have been recently investigating this very same thing so I'll just re-post what I posted elsewhere:

To determine the points of inflection on a bezier, find the time or times in the interval (0, 1) [excluding the endpoints of course] for which the cross product of the first and second derivatives of the parametric equation of the bezier is zero i.e. $f' \times f'' = 0$.

This is noted in various sources like this page and p 4 of this paper.

share|improve this answer
2  
That's called a determinant, written $\det(f', f'')$ or $|f' \; f''|$. The term cross product is used for something else (usually in dimension three or seven). –  WimC Apr 7 '13 at 20:09
    
Hey thanks for your clarification on the terminology. I agree -- cross product is a vector, so I should really call this a determinant. –  jamadagni Apr 9 '13 at 0:07

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.