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

Processing:Примеры/Визуализация шума в 2D

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


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

Контакты:

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


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


Описание[1]

Использование 2D-шума для создания простых текстур.

Пример

  1. float increment = 0.02;
  2.  
  3. void setup() {
  4.   size(640, 360);
  5. }
  6.  
  7. void draw() {
  8.  
  9.   loadPixels();
  10.  
  11.   float xoff = 0.0; // инициализируем «xoff» со значением «0»
  12.   float detail = map(mouseX, 0, width, 0.1, 0.6);
  13.   noiseDetail(8, detail);
  14.  
  15.   // рассчитываем значение шума и генерируем яркость
  16.   // для каждой координаты x,y в 2D-пространстве:
  17.   for (int x = 0; x < width; x++) {
  18.     xoff += increment;   // инкрементируем «xoff»
  19.     float yoff = 0.0;    // начинаем с «0» значение «yoff»
  20.                          // для каждого значения «xoff»
  21.     for (int y = 0; y < height; y++) {
  22.       yoff += increment; // инкрементируем «yoff»
  23.      
  24.       // рассчитываем значение шума и масштабируем к «255»:
  25.       float bright = noise(xoff, yoff) * 255;
  26.  
  27.       // в качестве альтернативы попробуйте эту строчку:
  28.       //float bright = random(0,255);
  29.      
  30.       // задаем монохромный цвет для каждого пикселя на экране:
  31.       pixels[x+y*width] = color(bright);
  32.     }
  33.   }
  34.  
  35.   updatePixels();
  36. }

См.также

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

  1. processing.org - Noise2D by Daniel Shiffman