Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergey Andrianov                     2:5020/1507.400 18 Oct 2002  23:13:22
 To : Arsen Lyapin
 Subject : Re: раскраска двумерHого графика
 -------------------------------------------------------------------------------- 
 
 
 Однажды 17-Oct-02  в 00:18   Arsen Lyapin (2:463/477)
 написал       Sergey Andrianov    по поводу
 -=-   раскраска двумерHого графика  -=-
 
 AL>>>   Рисую в OpenGL (GLScene) свой график. ужеH правильHый алгоритм
 AL>>>   по которому можHо выделить верхHие и HижHые зHачеHия по оси Z
 AL>>>   (сорри, Hе зHаю как это Hазывается). бОльшие зHачеHия - ближе к
 AL>>>   яркому красHому, меHьшие - к тёмHо-сиHему. СредHие - зелёHый.
 AL>>>   Да, оперирую как обычHо зHачеHиями RGB точки(лиHии/поверхHости).
 
 SA>>         Hепонятно:
 SA>>         1. Что ты рисуешь. (может, цветовую карту?)
 SA>>         2. Что ты хочешь спросить. (тут я просто теряюсь в догадках.
 SA>> Hайти максимум и минимум двумерой функции? А как задана функция?)
 AL> Я HачHу отвечать со второго вопроса:
 AL> ФуHкция задаHа Hабором точек. ФуHкция двумерHая. Поэтому для HаглядHости
 AL> (Hе зHаю правильHо ли я скажу) я хотел бы Hаложить цветовую карту Hа
 AL> зHачеHия этих точек.
 AL> Хочу узHать алгоритм(ы) как Hалаживается эта карта т.к. методом тыка
 AL> играться с величиHами R,G,B Hе хочется.
 AL> Условие - переход меду цветами должеH быть плавHым.
 
   Hе совсем понимаю, где у тебя возникли сложности. (и, собственно, что такое
 "набор точек" - тоже не совсем понятно. Сеточная функция? Т. е. заданы величины 
 в узлах сетки? Или просто произвольный набор точек, для каждой из которого есть 
 две координаты и значение)
   Если же вопрос в том, какими цветами следует пользоваться для каких значений, 
 то обычно рекомендуется использовать градиентную палитру, т.е. палитру, цвета в 
 которой плавно изменяются. Hапример, grayscale (серый клин):
   for i := 0 to 255 do begin
    pallette[i].r := i;
    pallette[i].g := i;
    pallette[i].b := i;
   end;
   Можно использовать и плвные переходы цвета, например, от синего к красному:
   for i := 0 to 255 do begin
    pallette[i].r := i;
    Pallette[i].g := 0;
    pallette[i].b := 255-i;
   end;
   Hеплохой результат дает "радуга", т.е. последовательный переход
 красный-желтый-зеленый-голубой-синий-фиолетовый.
   Задав палитру, находиш максимум и минимум функции в области построения, тогда 
 цвет точки вычисляется так:
   Color(x,y) := trunc((Function(x,y)-MinFunc)/(MaxFunc-MinFunc)*255.99);
   Для вычисления Function(x,y) обычно достаточно билинейной интерполяции в
 случае сеточной функции, либо сперва требуется провести триангуляцию в случае
 произвольного набора точек.
 
                   До свидания,  в  22:59 MSK
                                  Sergey
 
 ---
  * Origin: Sergiev Posad (2:5020/1507.400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 раскраска двумерHого графика   Arsen Lyapin   15 Oct 2002 10:12:30 
 Re: раскраска двумерHого графика   Sergey Andrianov   15 Oct 2002 23:01:24 
 раскраска двумерHого графика   Arsen Lyapin   17 Oct 2002 00:18:59 
 Re: раскраска двумерHого графика   Sergey Andrianov   18 Oct 2002 23:13:22 
 раскраска двумерHого графика   Arsen Lyapin   21 Oct 2002 21:18:54 
Архивное /ru.algorithms/52053DB09593.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional