![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 150
|
Кто может подсказать ссылку на библиотеку или исходники для отрисовки полигона по набору точек кривой Безье, либо любым другим алгоритмом. Т.е. на основе списка точек необходимо отобразить сглаженный полигон с произвольной заливкой, при этом скорость работы алгоритма имеет значение, т.к. отрисовка производится на каждом кадре.
Заранее спасибо. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 150
|
Да, естественно это реализуется с помощью класса Graphics, конкретнее с помощью метода curveTo. Вопрос был, собственно, в алгоритме построения опорных точек, чтобы результирующая прямая выглядела как цельная.
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 150
|
Цитата:
|
|
|||||
|
Какой алгоритм? Или ставьте более конкретную задачу, или вас не понятно.
Если у вас есть координаты для точек, то что мешает их подставить в соответствующие методы?
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 150
|
У меня есть список точек через которые должна проходить замкнутая кривая. Если использовать curveTo и в качестве параметров передавать точки из списка, то итоговая прямая не будет проходить через все точки, т.к. один из параметров (controlX, controlY) - опорная точка, которую собственно и нужно строить на каждом шаге итерации с учетом предыдущей и следующей точки, чтобы результирующий полигон был сглаженным без острых выступов.
Добавлено через 1 минуту Необходим аналог Цитата:
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 150
|
Да, по факту нужно на основе списка точек построить список опорных точек для каждой пары.
|
|
|||||
|
Почти страница обсуждений для выяснения того, что же действительно необходимо...
Исходя из того что известно и то что требуется, то я бы выбрал примерно следующий алгоритм: Строим воображаемые линии, содержащие точки интересующего сегмента и примыкающие точки. На месте пересечения этих линий будет наша опорная точка. При необходимости (так сказать определяем степень сглаженности) - приближаем ее (по перпендикуляру) к воображаемому отрезку, образованному точками интересующего сегмента. Если направление относительно этого отрезка не правильное (определяем по углу, образованному этим отрезком и примыкающей точкой), то "зеркалим" положение опорной точки относительно отрезка. Примерно так.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|