Академический Документы
Профессиональный Документы
Культура Документы
на OpenFrameworks
1. Интерактивные мультимедиа-системы.
Знакомство с openFrameworks
Что такое
интерактивная мультимедиа система?
Интерактивная мультимедиа-система
Примеры
FunkyForest
Mehmet Akten
Определение
Разработка
Компьютерное Компьютерная Компьютерный
зрение графика звук / музыка
Реализация
"Физические
Оборудование
вычисления"
и монтаж (physical computing)
Способы разработки интерактивных
систем
- Низкоуровневые библиотеки
- Среднеуровневые платформы
- Высокоуровневые среды
Низкоуровневые библиотеки
- рекламных,
- развлекательных,
- обучающих,
- научных,
- оздоровительных,
- художественных
интерактивных систем.
Описание курса
Чем будем заниматься
( 1 ) Основной интерес
( 2 ) Умеренный интерес
Страница OpenFrameworks
www.openframeworks.cc
Windows
Mac OS X
Linux
iPhone OS
История создания
OpenFrameworks разработан:
Zach Lieberman, Theo Watson, Arturo Castro, Chris O'Shea,
вместе с другими участниками из
Parsons School of Design, MediaLabMadrid,
Hangar Center for the Arts, и др.
Когда использовать
OpenFrameworks
- требуются мультимедиа-возможности (ввод-вывод видео,
ввод-вывод звука, подключение внешних устройств)
3. Проверка работоспособности.
В папке openFrameworks/app/examples загрузить какой-
нибудь пример, скомпилировать и запустить.
Создание нового проекта "Маятник"
с OpenFrameworks
1. В папке openFrameworks/app/examples взять пример
(например, emptyProject ),
скопировать его в /app/myApps/Mayatnik
#ifndef _TEST_APP
#define _TEST_APP
#include "ofMain.h"
public:
void setup();
void update();
void draw();
};
#endif
Текст "Маятника" testApp.cpp, стр. 1/3
#include "testApp.h" //этот класс уже определен
//Переменные для работы
ofPoint pos0; //точка подвеса
ofPoint pos; //текущее положение
ofPoint velocity; //скорость
//Установка значений
void testApp::setup(){
pos0 = ofPoint( 500.0, 200.0 );
pos = ofPoint( 700.0, 200.0 );
velocity = ofPoint( 0.0, 0.0 );
//резинка
ofSetColor(0, 0, 255); //цвет синий
ofLine( pos0.x, pos0.y, pos.x, pos.y ); //нарисовать линию
//кружок
ofSetColor( 255, 0, 0 ); //цвет красный
ofFill(); //включить заливку
ofCircle( pos.x, pos.y, 20); //нарисовать круг
}
1. Создание 3д-скульптуры
2. Разлетающиеся цветочки
3. Динамический мэппинг на кубик
Создание 3д-скульптуры
Сценарий
На стол кладется лист бумаги с меткой,
из нее система достраивает 3д-тело.
Технология
1) Для распознавания меток используется технология AR,
например, на основе библиотеки ARToolKit.
Скульптура представляется набором мелких кубиков (50x50x50).
Разлетающиеся цветочки
Сценарий
Классическая интерактивная инсталляция, в которой зритель
машет рукой перед камерой,
а на экране нарисованы, например, лепестки цветка.
На экране в месте, где махнул зритель - лепестки разлетаются в
разные стороны, там проявляется картинка.
Через некоторое время лепестки снова прилетают на место.
Зрителю надо активно махать руками, чтобы очистить всю
картинку.
Технология
1) Анализ движений пользователя - с помощью оптического
потока.
2) Рендеринг - делать на openFrameworks,
либо на Unity3D или TouchDesigner (передача данных из
openFrameworks через OSC).
Динамический мэппинг на кубик
Сценарий
На грани кубика с помощью проектора проецируются картинки.
Специфика в том, что кубик можно двигать, при этом с помощью
камеры (или кинекта) проекция следует за кубиком.
Таким образом, как бы мы ни двигали кубик, он будет освещен
проектором правильно.
Технология