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

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

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


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

Контакты:

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


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


Описание[1]

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

Пример

  1. float yoff = 0.0;        // измерение «y» для шума Перлина
  2.  
  3. void setup() {
  4.   size(640, 360);
  5. }
  6.  
  7. void draw() {
  8.   background(51);
  9.  
  10.   fill(255);
  11.   // рисуем полигон на основе точек волны:
  12.   beginShape();
  13.  
  14.   float xoff = 0;       // вариант #1: 2D-шум
  15.   // float xoff = yoff; // вариант #2: 1D-шум
  16.  
  17.   // итерируем через каждые 10 пикселей оси X:
  18.   for (float x = 0; x <= width; x += 10) {
  19.     // рассчитываем «y» при помощи noise() и map()...
  20.     // вариант #1 - 2D-шум:
  21. float y = map(noise(xoff, yoff), 0, 1, 200,300);
  22.     // вариант #2 - 1D-шум:
  23.     // float y = map(noise(xoff), 0, 1, 200,300);
  24.    
  25.     // задаем вершину:
  26.     vertex(x, y);
  27.     // инкрементируем значение «x» для расчета шума:
  28.     xoff += 0.05;
  29.   }
  30.   // инкрементируем значение «y» для расчета шума:
  31.   yoff += 0.01;
  32.   vertex(width, height);
  33.   vertex(0, height);
  34.   endShape(CLOSE);
  35. }

См.также

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

  1. processing.org - Noise Wave by Daniel Shiffman