Question

I have a Cubic Bézier curve. But I have a problem when I need only one point. I have only value from the X-axis and want to find a value that coresponds to Y-axis to that point. Or find the t step, from it I can easely calculate the Y-axis.

Any clue how to do it? Or is there any formula to do this?

Was it helpful?

Solution

A parametric curve extends to any dimension by adding coefficients for those dimensions. Are you sure you've got things straight? It seems like you are using the x-axis as the curve parameter t. The t parameter controls the computations of X- and Y-coordinates by having two cubic equations. Take a look at Wikipedia which provides some pretty neat explanations for the 2D case.

Edit:

Solve as a general third-degree polynomial. Beware that it might have 3 solutions, though.

OTHER TIPS

Any solution will have to deal with the fact that there may be multiple solutions if the curve is not X monotone. Consider the cubic bezier (0,0),(2,0),(-1,1),(1,1):

As you can see, there are 4 parameter values (and Y coordinates) at which X==1/2.

This means that if you use subdivision (which is probably your simplest solution), then you need to be careful that your initial bounding t values only surround the point you want.

You can also guess what this implies about the order of an algebraic solution.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top