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 triangle;
  12.  
  13. // массив объектов PShape для создания пирамиды:
  14. PShape[] tpyramid;
  15.  
  16. // настраиваем сцену:
  17. void setup() {
  18.   // задаем размер изображения на 800х800:
  19.   size(800, 800, P3D);
  20.   // делаем цвет линий белым:
  21.   stroke(255);
  22.   // делаем цвет заполнения золотисто-березовым:
  23.   fill(#daa520);
  24.   // инстанцинируем объект «extruder»:
  25.   e = new extruder(this);
  26.   // генерируем треугольник, все стороны которого равны 200 пикселям:
  27.   triangle = e.genPlane(3, 200);
  28.   // делаем экструзию из этого треугольника по оси Z на 100;
  29.   // "triangle" в параметрах функции значит,
  30.   // что экструзия всех точек будет сделана из одной центральной точки
  31.   // (первой точки фигуры PShape)
  32.   // функция extrude() вернет 3 объекта:
  33.   // верхнюю плоскость, стороны и нижнюю плоскость
  34.   tpyramid = e.extrude(triangle, 100, "triangle");
  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.   // рисуем все PShape, возвращенные функцией extrude():
  44.   for (PShape p:tpyramid){
  45.     shape(p);
  46.   }
  47.   // инкрементируем счетчик кадров:
  48.   f++;
  49. }

См.также

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

  1. maxlfarrell.gitlab.io - thin_pyramid