Алгоритм добавления цвета в кривые Безье

Я некоторое время играю с библиотекой GD, особенно с кривыми Безье.

Я использовал некоторый существующий класс , который я модифицировал немного (серьезно eval () ...). Я обнаружил, что это был общий алгоритм , используемый и преобразованный для GD.

Теперь я хочу вывести его на другой уровень: мне нужны цвета.

Нет проблем с цветом линии , но с цветом заливки это сложнее.

Мой вопрос:

Есть ли для этого какой-нибудь алгоритм? Я имею в виду математический алгоритм или любой язык, который уже делает это, чтобы я мог перенести его на PHP + GD?

EDIT2 Итак, я попробовал решение @MizardX с кривой более жесткой :

  • 1-я позиция: 50 - 50
  • конечная позиция: 50 - 200
  • 1-я контрольная точка: 300 - 225
  • 2-я контрольная точка: 300 - 25

Что должно показать это:

http://i.stack.imgur.com/vtzE0.png

И дает следующее:

http://i.stack.imgur.com/waMkU.png

ИЗМЕНИТЬ Я уже читал о решении @MizardX. Использование imagefilledpolygon , чтобы заставить его работать.

Но это работает не так, как ожидалось. См. Изображение ниже, чтобы увидеть проблему . Верхний график - это то, что я ожидал (без черной линии, только с красной частью).

Используемые координаты:

  • первая точка 100–100
  • конечная точка 300–100
  • первая контрольная точка 100–0
  • конечная контрольная точка 300–200

http://i.stack.imgur.com/cWH1y.jpg

Нижняя часть что я получаю с таким алгоритмом ...

11
задан Shikiryu 7 March 2011 в 12:54
поделиться