Processing:Примеры/Вращающаяся тонкая пирамида

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

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


Описание[1]

Этот скетч-пример демонстрирует, как при помощи библиотеки extruder создать вращающуюся 3D-пирамиду.

Пример

// импортируем библиотеку «extruder»:
import extruder.*;

// счетчик кадров:
int f = 0;

// объект «extruder»:
extruder e;

// треугольная фигура:
PShape triangle;

// массив объектов PShape для создания пирамиды:
PShape[] tpyramid;

// настраиваем сцену:
void setup() {
  // задаем размер изображения на 800х800:
  size(800, 800, P3D);
  // делаем цвет линий белым:
  stroke(255);
  // делаем цвет заполнения золотисто-березовым:
  fill(#daa520);
  // инстанцинируем объект «extruder»:
  e = new extruder(this);
  // генерируем треугольник, все стороны которого равны 200 пикселям: 
  triangle = e.genPlane(3, 200);
  // делаем экструзию из этого треугольника по оси Z на 100;
  // "triangle" в параметрах функции значит,
  // что экструзия всех точек будет сделана из одной центральной точки
  // (первой точки фигуры PShape)
  // функция extrude() вернет 3 объекта:
  // верхнюю плоскость, стороны и нижнюю плоскость 
  tpyramid = e.extrude(triangle, 100, "triangle");
}
void draw(){
  // делаем фон сцены черным:
  background(0);
  // делаем центр изображения начальными координатами сцены:
  translate(width/2, height/2, 0);
  // задаем скорость 3 градуса в кадр по оси Y:
  rotateY(radians(f*3));
  // рисуем все PShape, возвращенные функцией extrude():
  for (PShape p:tpyramid){
    shape(p);
  }
  // инкрементируем счетчик кадров: 
  f++;
}

См.также

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