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

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


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


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


<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 increment = 0.02;
float increment = 0.02;


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

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


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



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

См.также

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