Для визуализации трехмерного пространства, все CAD-программы используют возможность управления камерой при помощи мыши. Поэтому мы можем «облететь» вокруг объектов и получить больше понимания их геометрии. Когда мы имеем дело с данными, полученными с сенсора Kinect в Processing, то нам, прежде всего, нужно подключить библиотеку управления камерой в свои скетчи.
На веб-сайте Processing в разделе Libraries можно найти несколько ссылок на библиотеки для управления камерой:
- Peasycam от Johnathan Feinberg
- Obsessive Camera Detection (OCD) от Kristian Linn Damkjer
- Proscene от Jean Piere Charalambos
В своих примерах в этой и последующих публикациях я буду использовать библиотеку Peasycam.
Если вы не знаете как устанавливать библиотеки в Processing, то рекомендую почитать статью Библиотеки Processing для работы с Kinect
Пример использования Peasycam
Давайте поэкспериментируем с этой библиотекой.
Прежде всего, в новом скетче, импортируем библиотеки Peasycam и OpenGL. Затем объявим объект PeasyCam и назовем его myOrbit.
import processing.opengl.*; import peasy.*; PeasyCam myOrbit;
В функции setup () определим размер рабочего окна и наш 3D-рендер, а также инициализируем объект myOrbit.
void setup() { size(800, 600, OPENGL); myOrbit = new PeasyCam(this, 100); }
В методе draw () установим серым цвет заднего фона, поместим объект myOrbit, нарисуем куб в центре системы координат со стороной длиной в 500 единиц и извлечем наш объект. Про матричные преобразования и функции pushMatrix () и popMatrix () я писал в статье Третье измерение в Processing. После этого, изобразим квадрат на экране, используя функцию Processing rect () для сравнения.
void draw() { background(128); pushMatrix(); box(500); popMatrix(); rect(10,10,50,50); }
Запустим скетч на выполнение.
Перемещая мышь с нажатой левой кнопкой, позволяет поворачивать камеру вокруг объекта. Нажатие правой кнопки мыши позволяет приближать и удалять объект. Нажатие средней кнопки мыши (на Mac это комбинация cmd⌘ и левой кнопки мыши) меняет точку обзора. Двойной щелчок возвращает камеру в ее исходное положение. При нажатой клавише Shift⇧ вращение и изменение точки обзора происходит относительно той или иной оси.
PeasyCam располагается на сфере, радиус которой задан расстоянием от точки обзора. Вращение происходит вокруг осей, которые проходят через точку обзора.
[add_ratings]