Страницы

Поиск по вопросам

понедельник, 12 ноября 2018 г.

Построение кривых Безье SVG

В SVG есть встроенная функция построения кривых Безье 2-ой и 3-ей степени, т.е. только по трем и четырем точкам. Нужно строить по произвольному кол-ву точек.
Можно было бы строить кривую произвольной степени, но это не эффективно, и слишком долго, мне надо строить почти мгновенно.
Поэтому хотелось бы объединить несколько кривых второй степени в одну большую.
Как это сделать? Желательно с готовым кодом.
P.S. Пишу векторную рисовалку в академических целях


Ответ

Приведу коды примеров сначала одиночной кривой Безье второго порядка, затем с присоединенной второй кривой и третий пример двух кривых с гарантированным гладким соединением.

Для соединения двух кривых к конечной точке первой кривой присоединяется начальная точка второй кривой. В этом случае координаты начальной точки второй кривой не указываются.

Для гарантированного получения гладкого, без изломов соединения двух кривых применяется команда – (T) или (t) (для относительных координат).

Далее можно присоединять сколько угодно кривых Безье. Примеры кода взяты здесь

Комментариев нет:

Отправить комментарий