Нарисуйте кривую Безье с набором точек из вектора - PullRequest
2 голосов
/ 01 февраля 2011

Мне было интересно, что будет лучшим и менее сложным способом рисования кривой Безье в c ++ с набором точек (примерно 100+ точек), которые хранятся внутри вектора Из моего понимания: Кривые Безье состоят из 4 контрольных точек, точки в середине определяют направление / тангенс кривой

Один из возможных методов состоит в том, чтобы разбить точки на разные сегменты и из каждого сегмента определить контрольные точки и касательные?

Ответы [ 2 ]

1 голос
/ 01 февраля 2011

Он называется кубическим сплайном, и если вы будете искать, вы можете найти для него код на C ++. Я использовал бесплатный код Фортрана из Numeric Recipes Online и без проблем перенес его на C #.

0 голосов
/ 01 февраля 2011

Был бы один из возможных способов разбить точки на разные сегменты и из каждого сегмента определить контрольные точки и касательные?

Да, в основном один соединяет отрезки линии сквозным, так что наклон, приближающийся к концу отрезка, равен обеим сторонам точки соединения. Это называется кубическим сплайном. Вы можете найти алгоритмы для этого здесь .

...