Я хочу подогнать кривую Безье с известными конечными точками (p0 и p3) на шумные 2d-данные. Это кажется более простой проблемой, чем традиционная 4-точечная установка кривой безье, но все же слишком сложная для меня.Фиксация кривой Безье с известными конечными точками
Может ли кто-нибудь указать мне на существующий код или алгоритм, чтобы найти наилучшие значения для контрольных точек p1 и p2?
редактировать: Точки, которые я пытаюсь соответствовать с кривой Безье происходит из кривых, нарисованных с помощью мыши (представьте себе рисовать что-то с помощью кисти в краски, не может быть сотни записанных точек за один длинный удар). Якорные точки p0 и p3 создаются заранее, но контрольные точки p1 и p2 должны вычисляться так, чтобы безье соответствовало форме кривой, нарисованной с помощью мыши.
Почему бы не использовать вместо этого сплайн-шлем? Тем не менее кубический полибезье, но * через * точки, а не «своего рода вокруг». –
Идея заключалась в том, чтобы использовать это в программном обеспечении для векторного рисования, которое опирается на кривые Безье, поэтому сплайны не будут работать в этом случае. – filip
, за исключением того, что они были бы в этом случае: шипы Catmull Rom эквивалентны кубическому поли-Безье (каждая секция CR является гермитовой сплайном, которая может быть представлена либо сплайном CR, либо как кубическая кривая Безье, подобно тому, как вы можете представить Безье либо как математику функция или как последовательность интерполяций. То же, разные, эквивалентные, представления), поэтому, как только у вас есть CR-сплайн, преобразование его координат в те части последовательности явных кубических Beziers [тривиально] (http: //pomax.github .io/bezierinfo/# catmullconv) (прокрутите до конца раздела только для правил преобразования) –