2012-12-17 4 views
1

Мне нужно написать функцию, которая преобразует кубические безье (начало, конец, cp1, cp2) в простые квадратичные (начало, конец, cp1) экземпляры (одна кубика может превратиться в 2 или более квадратичную).кубический безье до квадратного

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

+2

Эта статья может Гоув некоторые хорошие подсказки: http://www.timotheegroleau.com/Flash/ articles/cub_bezier_in_flash.htm –

+1

разъяснение: 1) есть ли способ? 2) наилучшее приближение – csomakk

+0

отличная ссылка, мне интересно, почему я не смог ее найти. спасибо – csomakk

ответ

3

Существуют определенные формы, такие как круги, которые могут быть достаточно аппроксимированы кубическим , но не по квадратичной безье. Поэтому с чисто математической точки зрения задача не может быть решена.

Однако возможно, конечно, приблизиться к одной кубической безье с набором кусочно-квадратичных безьеров. Точки точки каждой квадратичной точки лежат на точках точки кубики. Контрольные точки, которые вы найдете с помощью некоторых способов оптимизации (наименьшие квадраты или что-то подобное), где вы пытаетесь свести к минимуму разницу между кубической и квадратичной безье.

+0

Хотя верно, что существуют формы, которые могут быть представлены кубической, а не квадратичной кривой Безье, круг не может быть представлен ни одним из них. Однако это может быть аппроксимировано. –

+0

@MikePedersen: Спасибо. Я пересмотрел свой ответ. – datenwolf