Processing:Справочник языка Processing/noiseDetail()

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

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


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


noiseDetail() [1]

Обозначение

noiseDetail()

Описание

Регулирует качество и уровень детализации, создаваемый функцией шума Перлина. Подобно гармоникам в физике, шум вычисляется на несколько октав. Более низкие октавы вносят больший вклад в выходной сигнал и как таковые определяют интенсивность шума, тогда как более высокие октавы создают мельчайшие детали в последовательности шума.

По умолчанию шум вычисляется на 4 октавы, причем каждая октава составляет ровно половину своего предшественника, начиная с 50% для первой октавы. Эта сумма спада может быть изменена путем добавления дополнительного параметра функции. Например, коэффициент спада 0,75 означает, что каждая октава теперь будет иметь 75%-ное воздействие (на 25% меньше) предыдущей более низкой октавы. В то время как любое число между 0.0 и 1.0 является допустимым, обратите внимание, что значения, превышающие 0,5, могут привести к тому, что noise() вернет значения, превышающие 1,0.

Изменяя эти параметры, сигнал, создаваемый функцией noise(), может быть адаптирован для удовлетворения особых потребностей и характеристик.

Синтаксис

noiseDetail(lod)
noiseDetail(lod, falloff)

Параметры

lod     - тип int: количество октав, используемых шумом
lod     - тип int: количество октав, используемых шумом
falloff - тип float: коэффициент спада для каждой октавы

Возвращаемое значение

void

Пример

	
float noiseVal;
float noiseScale=0.02;

void draw() {
  for (int y = 0; y < height; y++) {
    for (int x = 0; x < width/2; x++) {
      noiseDetail(3,0.5);
      noiseVal = noise((mouseX+x) * noiseScale, (mouseY+y) * noiseScale);
      stroke(noiseVal*255);
      point(x,y);
      noiseDetail(8,0.65);
      noiseVal = noise((mouseX + x + width/2) * noiseScale, 
                       (mouseY + y) * noiseScale);
      stroke(noiseVal * 255);
      point(x + width/2, y);
    }
  }
}

См.также

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