Processing:Примеры/Волна на основе значений шума

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

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


Описание[1]

Использование шума Перлина для генерирования паттерна в виде волны.

Пример

float yoff = 0.0;        // измерение «y» для шума Перлина

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

void draw() {
  background(51);

  fill(255);
  // рисуем полигон на основе точек волны:
  beginShape(); 
  
  float xoff = 0;       // вариант #1: 2D-шум
  // float xoff = yoff; // вариант #2: 1D-шум
  
  // итерируем через каждые 10 пикселей оси X:
  for (float x = 0; x <= width; x += 10) {
    // рассчитываем «y» при помощи noise() и map()...
    // вариант #1 - 2D-шум:
float y = map(noise(xoff, yoff), 0, 1, 200,300);
    // вариант #2 - 1D-шум:
    // float y = map(noise(xoff), 0, 1, 200,300);
    
    // задаем вершину:
    vertex(x, y); 
    // инкрементируем значение «x» для расчета шума:
    xoff += 0.05;
  }
  // инкрементируем значение «y» для расчета шума:
  yoff += 0.01;
  vertex(width, height);
  vertex(0, height);
  endShape(CLOSE);
}

См.также

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