Скажем, у меня есть кубический путь Безье следующим образом (отформатирован для использования с функцией пути Raphael):Рисунок половина пути Безье в Рафаэль
M55 246S55 247 55 248
Просто пример. Это было взято из моего приложения рисования, где я использую курсор для рисования линии, когда пользователь удерживает кнопку мыши, вроде как карандаш или маркер. Я использую событие mousemove jquery для рисования линии между двумя точками каждый раз, когда пользователь перемещает мышь. Существует другая (контрольная точка), которая берется до того, как линия будет нарисована, чтобы можно было создать кривую Безье.
Вот мой вопрос: можно ли заставить Рафаэля нарисовать только половину заданного пути? Я знаю функцию getSubpath(), но если мое понимание кривых Безье верное, было бы довольно сложно вычислить второй аргумент. Проблема с функцией анимации заключается в том, что она создает двойные строки (то есть создает изогнутую строку, которую я хочу, и квадратную линию вокруг нее, которая не должна отображаться, возможно, потому что мышь перемещается быстрее, чем анимация может обрабатывать).
Конечно, если мой подход сам по себе является некорректным (или моим пониманием возможных решений), я бы хотел его услышать. Любая помощь будет оценена по достоинству.
Что вы подразумеваете под «половиной»? Какую половину вы хотите нарисовать? – Gabe
Я бы хотел нарисовать первую половину (от начала движения мыши до середины кривой Безье). Обоснованием этого является устранение краев, которые неизменно появляются, если вы просто рисуете линии от одной позиции курсора к следующему. – Fibericon