2015-11-22 2 views
0

Как вычислить контрольные точки, заданные кривой в форме силовой формы? Скажем, что p (t) = (x (t), y (t)) и 4 контрольных точки.Преобразование полиномиальной кривой в контрольные точки кривой Безье

x(t) = 2t 
y(t) = (t^3)+3(t^2) 
+0

Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что речь идет о [math.se] вместо программирования или разработки программного обеспечения. – Pang

ответ

0

это чисто математический вопрос (если вы не идти на # 3) ... Я выводя вам нужно 4 контрольных точек для одной кубической кривой Безье в 2D.

  1. алгебраический подход

    пытаются соответствовать вашим x(t),y(t) полиномы в Безье виде многочленов и извлечь коэффициенты/контрольные точки. Это не всегда выполнимо, но наиболее точно ... см. Ссылку в # 2 в конце я делаю это для моего интерполяционного полинома, чтобы соответствовать Безье, поэтому я получаю формулу преобразования между контрольными точками.

  2. интерполяция

    найти крайние точки на вашей кривой (для сохранения точности как можно больше), если нет или не хватает экстремумы нашли применение в равной степени рассредоточенные точки вдоль кривой для остальных. Вам нужно 4 контрольных точки на кривой. Теперь просто преобразовать эти 4 точки на кривой, например, следующим образом: how to convert interpolation cubic polynmial to cubic Bezier

  3. можно использовать кривую фитинга

    либо использовать approximation search или любой другой минимизации кривых расстояния ... подгонкой Безье контрольных точек, но это 8 параметров для поиска, который является медленным и не точным без дополнительных ограничений ..

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

4

Вы всегда можете преобразовать из power basis в основание Bernstein. Это всегда выполнимо и даст вам точный результат. Подробнее см. Раздел 3.3 этой ссылки (http://cagd.cs.byu.edu/~557/text/ch3.pdf).

+0

Я не знаю, почему этот ответ не получает любви, но это то, что я искал сюда. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^