Как найти пересекающиеся значения Y вдоль сплайна Безье? - PullRequest
0 голосов
/ 21 января 2012

Прошло много времени с тех пор, как я сделал любую математику * такого рода, так что, возможно, кто-то может ответить на это за меня.Я не думаю, что этот вопрос - именно то, что я хочу, потому что я пытаюсь найти пересечения для точных значений x.

Итак, у меня есть сплайн, который идет от X, Y до XX, YY, с контрольными точкамина каждом конце.Я думаю, что я был бы прав, говоря, что это будет квадратичная кривая (кривая не будет пересекать себя).Я планирую использовать подпрограммы пути из данной графической библиотеки (в настоящее время думают о HTML5-холсте), чтобы нарисовать эту линию, поэтому я не буду рисовать ее сам.

У меня есть несколько точек, выраженных как X + n, для которых я хочу найти значение Y пересечения.Я не спрашиваю позицию в данной точке вдоль пути, я спрашиваю позицию на пути, где она пересекает линию X.

Я планирую нарисовать вертикальную линиючтобы встретиться с ним, так что, если возможно, было бы здорово, если бы точка была достаточно точной, чтобы она соответствовала кривой с убедительным взглядом (не на пару пикселей).

Подпрограммы don 'Самому трудно нарисовать линию, так что я мог бы сделать это и просто проверить (с допуском) значения X вдоль графика, если он дошел до него.

* Математика

1 Ответ

0 голосов
/ 29 июля 2012

Недавно я ответил на очень похожий вопрос о том, как преобразовать 2-мерную сплайн-функцию f (t) в f (x) .Ответы там варьировались от точного решения кубического уравнения (поскольку сплайны кубического Безье являются наиболее распространенными) с одной стороны и простого деления пополам с другой стороны, с различными алгоритмами поиска корней между ними.Выбирай.

...