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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Перевод от Сubewriter}}
{{Перевод от Сubewriter}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


=Описание<ref>[https://processing.org/examples/noise3d.html processing.org - Noise3D]</ref>=
=Описание<ref>[https://processing.org/examples/noise3d.html processing.org - Noise3D]</ref>=
Строка 74: Строка 71:
}}
}}


<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.01;
float increment = 0.01;
// третий аргумент функции noise() – это глобальная переменная,
// третий аргумент функции noise() – это глобальная переменная,
Строка 131: Строка 128:
<references />
<references />


{{SEO
{{Навигационная таблица/Портал/Processing}}
|Заголовок статьи=Processing: Визуализация шума в 3D / Онлайн справочник - wikihandbk.com
|Ключевые слова=processing, Визуализация шума в 3D,Визуализация шума в 3D в processing, пример Визуализация шума в 3D, пример Визуализация шума в 3D в processing
|Описание статьи=
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Примеры/Визуализация шума в 3D</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-25
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Processing/Примеры}}
{{Навигационная таблица/Телепорт}}

Текущая версия от 07:44, 27 августа 2023

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


Описание[1]

Этот скетч-пример создает простую анимированную текстуру при помощи 3D-шума. Третий параметр (ось Z) отвечает за время.

Пример

float increment = 0.01;
// третий аргумент функции noise() – это глобальная переменная,
// значение которой увеличивается с каждым циклом:
float zoff = 0.0;  
// инкрементирование значения «zoff» будет осуществляться не так,
// как инкрементирование значений «xoff» и «yoff»:
float zincrement = 0.02; 

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

void draw() {
  
  // здесь настраивается детализация шума (опционально):
  // noiseDetail(8,0.65f);
  
  loadPixels();

  float xoff = 0.0; // инициализируем «xoff» со значением «0»:
  
  // рассчитываем значение шума и генерируем яркость
  // для каждой координаты 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,zoff)*255;

      // в качестве альтернативы попробуйте эту строчку:
      //float bright = random(0,255);
      
      // задаем монохромный цвет для каждого пикселя на экране:
      pixels[x+y*width] = color(bright,bright,bright); 
    }
  }
  updatePixels();
  
  zoff += zincrement; // инкрементируем «zoff»
  
  
}

См.также

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