Мне нужно написать функцию, которая преобразует кубический Безье (start, end, cp1, cp2) в простые квадратичные (start, end, cp1) экземпляры (один кубический может превратиться в 2 или более квадратичных).
Любой язык кодирования принят, мне просто нужен алгоритм.
Есть определенные формы, такие как круги, которые могут быть достаточно хорошо аппроксимированы кубическим но нет по квадратичному Безье. Так что с чисто математической точки зрения задача не может быть решена.
Однако, конечно, можно аппроксимировать один кубический Безье набором кусочно-квадратичных Безье. Точки каждой квадратики будут лежать на точных точках кубики. Контрольные точки вы найдете с помощью некоторого средства оптимизации (наименьших квадратов или чего-то подобного), где вы пытаетесь минимизировать разницу между кубическим и квадратичным Безье.
наконец, я решил реализовать это самостоятельно, с циклом lineto, подобным этому:
http://www.paultondeur.com/2008/03/09/drawing-a-cubic-bezier-curve-using-actionscript-3/