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

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


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


Описание[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();
}

См.также

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