Processing:Примеры/Вращающееся колесо

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

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


Описание[1]

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

Пример

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

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

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

// фигура, похожая на круг:
PShape roughCircle;

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

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

См.также

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