Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


Ambox content.png Черновик


Описание[1]

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

Пример

  1. // импортируем библиотеку «extruder»:
  2. import extruder.*;
  3.  
  4. // счетчик кадров:
  5. int f = 0;
  6.  
  7. // объект «extruder»:
  8. extruder e;
  9.  
  10. // фигура, похожая на круг:
  11. PShape roughCircle;
  12.  
  13. // массив объектов PShape для создания колеса:
  14. PShape[] wheel;
  15.  
  16. // настраиваем сцену:
  17. void setup() {
  18.   // задаем размер изображения на 800х800:
  19.   size(800, 800, P3D);
  20.   // делаем цвет линий белым:
  21.   stroke(255);
  22.   // делаем цвет заполнения зеленым:
  23.   fill(0, 255, 0);
  24.   // инстанцинируем объект «extruder»:
  25.   e = new extruder(this);
  26.   // генерируем «круг» с 10 сторонами по 100 пикселей:
  27.   roughCircle = e.genPlane(10, 100);
  28.   // делаем экструзию прямоугольных плоскостей по оси Z на 100;
  29.   // «box» в параметрах функции extrude() значит,
  30.   // что экструдируемые объекты будут прямоугольниками,
  31.   // соединяющими все точки друг с другом;
  32.   // функция extrude() вернет три объекта:
  33.   // верхнюю плоскость, стороны и нижнюю плоскость
  34.   wheel = e.extrude(roughCircle, 100, "box");
  35. }
  36. void draw(){
  37.   // делаем фон черным:
  38.   background(0);
  39.   // делаем начальными координатами сцены центр изображения:
  40.   translate(width/2, height/2, 0);
  41.   // задаем скорость вращения на 3 градуса в кадр по оси Y:
  42.   rotateY(radians(f*3));
  43.   // рисуем все фигуры, возвращенные функцией extrude():
  44.   for (PShape p:wheel){
  45.     shape(p);
  46.   }
  47.   // инкрементируем счетчик кадров:
  48.   f++;
  49. }

См.также

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

  1. maxlfarrell.gitlab.io - wheel