2012-01-20 5 views
0

Скажем, у меня есть четыре точки, которые определяют кривую Безье. Я хотел бы реализовать функцию в VC++, которая разделила бы эту кривую на процент X, чтобы генерировать точки для двух новых кривых Безье, которые при рисовании кажутся точно перекрывающими первую кривую. Может ли кто-нибудь предоставить код, который делает что-то вроде этого?Разбиение кривой Безье

Спасибо за любую помощь.

С уважением, Kevin

ответ

0

Там в Python код here.

Преобразование в C++ очень простое. Я сам не пробовал код, поэтому не могу утверждать, что это правильно.

+0

Спасибо, этот код получает мне очки для первой кривой, но мне непонятно, как получить точки для второй кривой? – Kevin

+0

Возможно, самый простой подход без какой-либо математики - это перевернуть точки и снова вызвать функцию, эффективно работая с другого конца. например Если вы хотите разделить на 17%, вызовите 'sliceBezier (points, 0.17)' и 'reverse (sliceBezier (reverse (points), 0.83))'. – arx

+0

Да, это будет отлично работать, еще раз спасибо! – Kevin

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