Processing:Примеры/Визуализация шума в 3D
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[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»
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |