В моем коде есть несколько объектов Spline2D, каждый из которых имеет метод Position, Velocity и Acceleration, который возвращает вектор указанного количества в определенный момент времени. Я использовал эти векторы для построения геометрии для создания градиентных штрихов для кривых, но у меня проблемы с самопересечением на крутых кривых. Как пример, вот одна кривая, где у меня это происходит:
Каркас: http://twitpic.com/2zplw1/full
Заполнено: http://twitpic.com/2zpmnt/full
Как вы можете видеть, на втором изгибе внутренняя часть пересекает себя, что вызывает этот уродливый артефакт. Есть ли хороший алгоритм / метод для обводки кривых, не вызывая такого самопересечения?
РЕДАКТИРОВАТЬ : более крайние примеры, а также макет того, что я хотел бы достичь:
Каркас: http://twitpic.com/2ztwzi/full
Заполнено: http://twitpic.com/2ztwkt/full
Идеальный результат (Макет): http://twitpic.com/2ztxa8/full