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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Описание<ref>[https://processing.org/examples/noisewave.html processing.org - Noise Wave by Daniel Shiffman]</ref>=
=Описание<ref>[https://processing.org/examples/noisewave.html processing.org - Noise Wave by Daniel Shiffman]</ref>=
Строка 59: Строка 59:
}}
}}


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
float yoff = 0.0;        // измерение «y» для шума Перлина
float yoff = 0.0;        // измерение «y» для шума Перлина


Строка 119: Строка 119:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}
{{Навигационная таблица/Processing/Примеры}}
{{Навигационная таблица/Телепорт}}

Версия от 11:59, 20 мая 2023


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



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

См.также

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