|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Необходимо отобразить цветовой градиент температур(или высоты), т.е формула ,которая значению из интервала [min,max] ставит в соответствие 3 цветовые компоненты (RGB), белый цвет(max)->жёлтый-> рыжий->красный->зелёный-> синий(min) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 10:03 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Я использовал другую формулу. От красного до синего. Что-то вроде радуги. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 10:35 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
maytonЯ использовал другую формулу. От красного до синего. Что-то вроде радуги. -Нет , это не подойдёт. А что за формула? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 11:13 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Это даже не формула, а скорее кусочно-линейная функция, которая растягивает цвета радуги по отрезку от 0 до 1 в вещественном представлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 11:22 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
maytonЭто даже не формула, а скорее кусочно-линейная функция, которая растягивает цвета радуги по отрезку от 0 до 1 в вещественном представлении. ну в принципе, я понял. например , с зелёного на синий переход будет ч/з cyan : (0,1,0)->(0,1,1)->(0,0,1) -------------- С белого на жёлтый: (1,1,1) ->(1,1,0) C жёлтого на красный (1,1,0)->(1,0,0) С красного на зелёный: линейная интерполяция не канает(получается жёлтый в середине) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 11:58 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Я-же тебе говорю - кусочно-линейная. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 12:26 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
maytonЯ-же тебе говорю - кусочно-линейная. Вот только не надо умничать, всё я понял :) как с красного на зелёный организовать будут предложения? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 14:06 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Если RGB(x,y,z) воспринимает значения для x, y, z от 0 до 255 (чаще всего), то можно попробовать x = (t - min)/(max-min)*255 и y = (max - t)/(max-min)*255. z можно экспериментально подобрать от 0 до 100. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 14:35 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
VowkЕсли RGB(x,y,z) воспринимает значения для x, y, z от 0 до 255 (чаще всего), то можно попробовать x = (t - min)/(max-min)*255 и y = (max - t)/(max-min)*255. z можно экспериментально подобрать от 0 до 100. Спасибо, попробую PS: вношу ясность: под 0 и 1, которых я упомянал в пред. постах имеется ввиду значение цвета (в OPenGL), равное GDI [0,255] ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 15:17 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
RGB_Cкак с красного на зелёный организовать будут предложения? Предложений у меня к тебе никаких. Вроде-бы ты на девушку не похож. Вот тебе принцип. Три графика. Для R,G,B соответственно. Область определения 0..1 (цветовой тон (Hue)). Область значений от 0..1 для каждой компоненты. Нормируешь до 255, если надо. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Насчёт фаз я могу ошибатся. Подкорректиуй если что. Но спектр должен начинатся с красного и заканчиватся фиолетовым. Для удобства, область определения можно разбить на 6 отрезков. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 15:44 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Вот такой код откопал: if (PointHeight<WaterLevel)and(NeedWater) then begin HSL.H:=150; HSL.L:=(240- abs(round(PointHeight-WaterLevel) div 25))+10; end else begin HSL.H:=15; HSL.L:=240- round(PointHeight) div 25-2; end; HSL.S:=240; if round(PointHeight) div 25>240 then HSL.L:=0; Получаем структуру типа HSL, которая затем переводится в RGB. Высота в метрах приходила. Деталей не помню, давно писалось. Выглядело красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 17:26 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2009, 17:54 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Да, вы правы. максимому соответствует красный , потом идёт жёлтый -> зелёный -> синий ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2009, 08:28 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Написал то что вам надо (С#): Если dx пробегает значения dx = 0; dx < 255 red[ix] = Math.Floor(255d * (0.5d * (1d + Math.Abs(dx / 42d - 4d) - Math.Abs(dx / 42d - 3d)))) green[ix] = Math.Floor(255d * (0.5d * (1d + Math.Abs(dx / 84d - 1.5d) - Math.Abs(dx / 84d - 0.5d) + (Math.Abs(1d - Math.Abs(dx / 42d - 4d)) + 1d - Math.Abs(dx / 42d - 4d))))) blue[ix] = Math.Floor(255d * (0.5d * (1d + Math.Abs(dx / 42d - 1d) - Math.Abs(dx / 42d) + (Math.Abs(1d - Math.Abs(dx / 42d - 5d)) + 1d - Math.Abs(dx / 42d - 5d))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2012, 20:18 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Прилагаю картинку, как это выглядит. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2012, 13:08 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
D.Mendzhul, неверно. Жёлтый и красный не на своих местах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2012, 14:34 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Это не радуга, читай первое сообщение: "белый цвет(max)->жёлтый-> рыжий->красный->зелёный-> синий(min)" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2012, 08:37 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
D.Mendzhul, спасибо за формулы! Реализовал по предложенной схеме и именно указанная цветовая схема получилась (белый цвет(max)->жёлтый-> рыжий->красный->зелёный-> синий(min)). Буду признателен, если дадите аналогичные формулы для цветовой схемы, как показал в картинке mayton: красный - желтый - зеленый - синий. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 16:13 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
VladimirIC Буду признателен, если дадите аналогичные формулы для цветовой схемы, как показал в картинке mayton: красный - желтый - зеленый - синий. кури матчасть ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 16:22 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
OFF: Никогда не понимал, почему синий - признак холодного, хотя должно быть наоборот. От цвета носа при морозе, что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2020, 23:04 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Соколинский Борис OFF: Никогда не понимал, почему синий - признак холодного, хотя должно быть наоборот. От цвета носа при морозе, что ли? Ты не учел что мы видим отраженный свет. Синий имеет большую энергию чем другие цвета, т.е. чем больше синего отражает предмет, тем он холоднее. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 06:23 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Это квант "синего цвета" имеет большую энергию, а сколько тех квантов будет в общем потоке - вопрос совершенно отдельный. P.S. И, да - в холодное время (не только года, но и суток) "темных" (сине-фиолетовых) цветов - избыток, а "ярких" (жёлто-красных) - недостаток. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 06:40 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
Соколинский Борис OFF: Никогда не понимал, почему синий - признак холодного, хотя должно быть наоборот. От цвета носа при морозе, что ли? Думаю что синий никакого отношения к холоду не имеет. Просто - художественный прием который используют художники для рисования снега и льда. А красным цветом светятся предметы которые особо сильно нагреты. Плавящееся железо. Нагретый ТЭН. Угли костра. Впрочем если вещество сильно долго нагревать (до плазмы хотя-бы) оно должно светиться в белом спектре (тоесть до синего включительно). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 10:59 |
|
формула цветового градиента(температуры) в RGB
|
|||
---|---|---|---|
#18+
mayton Впрочем если вещество сильно долго нагревать (до плазмы хотя-бы) оно должно светиться в белом спектре (тоесть до синего включительно). Белым будет при температуре около температуры Солнца (максимум в зеленой области), если выше - будет синеть, наверное. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 12:45 |
|
|
start [/forum/topic.php?fid=16&msg=35878876&tid=1339806]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 169ms |
0 / 0 |