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

Материал из Онлайн справочника
Версия от 22:07, 25 июля 2018; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску


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


Черновик


Описание[1]

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

Пример

float increment = 0.02;

void setup() {
  size(640, 360);
}

void draw() {
  
  loadPixels();

  float xoff = 0.0; // инициализируем «xoff» со значением «0»
  float detail = map(mouseX, 0, width, 0.1, 0.6);
  noiseDetail(8, detail);
  
  // рассчитываем значение шума и генерируем яркость
  // для каждой координаты x,y в 2D-пространстве:
  for (int x = 0; x < width; x++) {
    xoff += increment;   // инкрементируем «xoff»
    float yoff = 0.0;    // начинаем с «0» значение «yoff»
                         // для каждого значения «xoff»
    for (int y = 0; y < height; y++) {
      yoff += increment; // инкрементируем «yoff»
      
      // рассчитываем значение шума и масштабируем к «255»:
      float bright = noise(xoff, yoff) * 255;

      // в качестве альтернативы попробуйте эту строчку:
      //float bright = random(0,255);
      
      // задаем монохромный цвет для каждого пикселя на экране:
      pixels[x+y*width] = color(bright);
    }
  }
  
  updatePixels();
}

См.также

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