Find value of $t$ at a point on a cubic Bezier curve, part 2

294 Views Asked by At

I would like to find the value of parameter $t$ of a cubic Bezier curve for a given point $x, y$ lying on the curve. In other words, I would like to find $t$ which, if the Bezier curve would be evaluated at it, would result in given $x, y$.

I found similar question already posted here but mine is a bit different:

  1. the accepted answer refers to the notes of Tom Sederberg. I tried to look it up but there seems to be an error: the equation at the very bottom of the page 203:

$984100t^9_2 - 458200t^8_2 + 8868537t^7_2 - 9420593t^6_2 + 5949408t^5_2 - 2282850t^4_2 + 522890t^3_2 - 67572t^2_2 + 4401t_2 - 109 = 0$

seemingly cannot result in the very last column of the table at the p. 204:

$0.3489$
$0.1330$
$...$

Am I correctly assuming that the column should contain the roots of the equation? When I plug the coefficients into a online solver:

9
984100
-458200
8868537
-9420593
5949408
-2282850
522890
-67572
4401
-109

I get several complex roots instead.

  1. Even if I could make this "inversion technique" work, what would I do if the point would lie on a self-intersection (there: "double point")? I mean, if the given point should result in two or more $t$-s, how to find all of them? Sederberg just leaves a comment: "At a double point, an inversion equation will always give 0/0."

Thank you in advance!

1

There are 1 best solutions below

0
On

At a double point, the inversion equation requires solving a degree-two polynomial. The two roots of the polynomial are the parameter values at the double point. The degree-two polynomial can be easily be found from the implicitization matrix.