Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Тройной Градиент

16K
21 февраля 2006 года
nzv
1 / / 21.02.2006
В OpenGL можно создать многоугольник и назначить каждой вершине свой цвет. Мне нужно срочно, на любом языке реализовать такой алгоритм "треугольной заливки" с нуля, безо всяких сторонних библиотек.

Программа должна принимать координаты трёх точек и их цвета (возможно, с альфа-каналом), и выдавать битмап с треугольником, плавно залитым тремя цветами.

Буду очень благодарен за любую информацию, мне действительно необходимо сделать это, и как можно быстрее!

16K
21 февраля 2006 года
Sister
2 / / 21.02.2006
Все зависит от того, какой именно градиент тебе нужен, какие требования ты на него накладываешь(отсутствие цветовых изломов, гладкости и т.п.). Простой совет - поэкспериментировать с определением расстояний до опорных точек. Можно попробовать использовать линейную интерполяцию дважды: сначала для сторон, а после - для точек внутри треугольника.
16K
02 марта 2006 года
lobs
3 / / 02.03.2006
Тебе обязательно псать с использованиям OpenGL или ты хочеш упростить себе жизнь ???
324
02 марта 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by nzv
В OpenGL можно создать многоугольник и назначить каждой вершине свой цвет. Мне нужно срочно, на любом языке реализовать такой алгоритм "треугольной заливки" с нуля, безо всяких сторонних библиотек.

Программа должна принимать координаты трёх точек и их цвета (возможно, с альфа-каналом), и выдавать битмап с треугольником, плавно залитым тремя цветами.

Буду очень благодарен за любую информацию, мне действительно необходимо сделать это, и как можно быстрее!



Для составления цветов можно использовать сплайн.
Можно попробовать так:
цвет точки треугольника можно задать так (k1 * clr1 + k2 * clr2 + k3 * clr3), где k1 + k2 + k3 = 1;
Коэффициенты k1, k2, k3 следует расчитывать исходя из удаленности точки от каждой из вершин.

16K
03 марта 2006 года
Sister
2 / / 21.02.2006
Цитата:

цвет точки треугольника можно задать так (k1 * clr1 + k2 * clr2 + k3 * clr3), где k1 + k2 + k3 = 1;
Коэффициенты k1, k2, k3 следует расчитывать исходя из удаленности точки от каждой из вершин.



Такой метод очевиден, но к сожалению дает плохой результат (ИМХО). Я делал на примере 4-х точек предложенным методом - но получалось нереалистично.

324
04 марта 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by Sister
Такой метод очевиден, но к сожалению дает плохой результат (ИМХО). Я делал на примере 4-х точек предложенным методом - но получалось нереалистично.



Тут самое главное правильно расчитать коэффициенты!!!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог