кубический от Безье до квадратичного

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

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

1

Решение

Есть определенные формы, такие как круги, которые могут быть достаточно хорошо аппроксимированы кубическим но нет по квадратичному Безье. Так что с чисто математической точки зрения задача не может быть решена.

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

4

Другие решения

наконец, я решил реализовать это самостоятельно, с циклом lineto, подобным этому:
http://www.paultondeur.com/2008/03/09/drawing-a-cubic-bezier-curve-using-actionscript-3/

0