Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Примеры/Симультанный контраст

Материал из Онлайн справочника
Перейти к: навигация, поиск


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Описание[1]

Восприятие каждого цвета зависит от того, какие цвета расположены рядом с ним. Этот эффект называется симультанным контрастом. В верхней и нижней частях изображения показаны одни и те же цвета, но в разном порядке – в результате «соседи» у цветов получаются тоже разными, из-за чего кажется, что вверху и внизу изображены разные цвета.

Пример

  1. color a, b, c, d, e;
  2.  
  3. void setup() {
  4.   size(640, 360);
  5.   noStroke();
  6.   a = color(165, 167, 20);
  7.   b = color(77, 86, 59);
  8.   c = color(42, 106, 105);
  9.   d = color(165, 89, 20);
  10.   e = color(146, 150, 127);
  11.   noLoop();  // рисуем изображение только один раз
  12. }
  13.  
  14. void draw() {
  15.   drawBand(a, b, c, d, e, 0, width/128);
  16.   drawBand(c, a, d, b, e, height/2, width/128);
  17. }
  18.  
  19. void drawBand(color v, color w, color x, color y, color z, int ypos, int barWidth) {
  20.   int num = 5;
  21.   color[] colorOrder = { v, w, x, y, z };
  22.   for(int i = 0; i < width; i += barWidth*num) {
  23.     for(int j = 0; j < num; j++) {
  24.       fill(colorOrder[j]);
  25.       rect(i+j*barWidth, ypos, barWidth, height/2);
  26.     }
  27.   }
  28. }

См.также

Внешние ссылки

  1. processing.org - Relativity