Алгоритм обводки пути (преобразование в треугольники / квадраты) или другие предложения

Кто-нибудь знает хороший алгоритм преобразования векторного пути в штриховой путь, состоящий из треугольников / четырехугольников? В идеале с соединением круглых линий.

В основном я пытаюсь нарисовать толстый путь, цвет которого зависит от значения, которое изменяется в зависимости от расстояния вдоль пути. Я думаю, что преобразование пути в треугольники / квадраты и отображение текстуры путем предоставления расстояния вдоль пути в виде 1-мерной координаты текстуры, которую затем можно использовать для получения цветов в углах треугольников и интерполяции. Будем признательны за любые другие предложения о том, как это сделать, которые не будут выглядеть ужасно и могут быть сглажены.

Я использую AGG для рендеринга, в настоящее времяно я мог бы использовать альтернативу, при условии, что у нее не слишком много зависимостей. Я предполагаю, что серверная часть, используемая для рендеринга, на самом деле не имеет значения. Хотя AGG может обводить контуры, интерфейс VertexSource не допускает дополнительной информации о вершинах, кроме координат x / y. Кроме того, передача моего цветового отображения в растеризатор не выглядит возможным при использовании обычного conv_stroke.

7
задан Pete 11 August 2011 в 11:27
поделиться