Processes for design and creation of interactive works in the visual arts



Дата09.01.2017
Размер105.99 Kb.
#12354
ПРОЦЕСИ ПРИ ПРОЕКТИРАНЕ И ИЗГРАЖДАНЕ НА ИНТЕРАКТИВНИ ВИЗУАЛНИ ПРОИЗВЕДЕНИЯ

Авторски колектив:

доц. д-р Светослав Косев

ас. Атанас Марков
PROCESSES FOR DESIGN AND CREATION OF INTERACTIVE WORKS IN THE VISUAL ARTS

Assoc. Prof. Svetoslav Kossev, Ph.D.

Assist. Prof. Atanas Markov
С навлизане на новите компютърни технологии и изкуствения интелект се създават и нови направления във визуалните изкуства. Една нова посока е създаването на високотехнологични интерактивни творби на базата на компютърни изчисления в реално време. Целта на това изследване е да се проследят процесите при тяхното проектиране и изграждане. Описани са технически и програмни средства необходими за реализацията на интерактивни творби. Всичко това се прави, като се съобразяваме с изискванията крайният продукт да е с предварително търсените естетически качества. Описания проект е реализиран на базата на сензора на Microsoft Xbox360 – Kinect и софтуерната среда Processing.

Ключови думи: Интерактивно изкуство, интерактивни произведения, визуалните изкуства, Kinect, Processing.

The adoption of the new computer technologies and the artificial intelligence causes new directions in the visual arts. A new direction is the creating of high technology interactive works on the base of computer calculations in real time. The purpose of this research is to examine the processes of their projecting and constructing. Technical and program media necessary for the realization of the interactive works are described here. The research is made by taking into consideration of the requirements concerning the aesthetic quality of the end product. The described project is realized on the base of the sensor of Microsoft Xbox360 – Kinect and the software media Processing.

Keywords: Interactive art, interactive works, Visual arts, Kinect, Processing.

Interactive art е форма на визуалното изкуство, в която е въвлечен и зрителят. Някои интерактивни арт инсталации постигат това, като позволяват на наблюдателя да влияе на произведението с присъствието или действията си, а други като станат част от него.

Произведения от този вид често се реализират с компютри и сензори, които реагират на движение, топлина, звук или други видове входни данни, които след това са програмирани да се визуализират по различни начини. Повечето примери за виртуална реалност и различни електронни изкуства са предимно интерактивни.

Въпреки, че някои от най-ранните примери за този вид акции са датирани от 1920 г., повечето интерактивни произведения не успяват да влязат в света на изкуството до края на 90-те години на 20 век. Тогава все повече музеи са благосклонни да включват и интерактивни произведения в своите представяния. Този обещаващ жанр на изкуството продължава да се развива, като намира повече последователи чрез социални субкултури в интернет, или чрез мащабни градски инсталации.

Създаването на интерактивни мултимедийни произведения представлява интердисциплинарна задача. Този вид продукти изисква сериозни познания в областта на софтуерното инженерство (програмиране) и хардуерни технологии, като същевременно крайния резултат е обвързан с естетическите виждания на автора. Изграждането на такива проекти би трябвало да включва екип от художник, софтуерен разработчик, хардуерен инженер и др., както и самите зрители, като участници в произведението. Художникът е с основна роля в проекта. Той отправя основното послание, планира реакциите в публиката и крайния резултат като мултимедийно преживяване. Следващи са софтуерните и хардуерни инженери, които могат да се разглеждат като подизпълнители. Те имат задачата да реализират вижданията на художника, като предложат подходяща технология и инструменти за постигане на крайния продукт в рамките на определения бюджет. Публиката се включва в последния етап когато всичко е изградено и интегрирано в средата. Зрителите се превръщат в участници и влияят на произведението с присъствието си или с действията си, като така стават част от преживяването.

Често артисти се опитват да реализират подобни проекти без необходимите софтуерни и/или хардуерни познания, както и обратното, технически грамотни лица създават проекти с впечатляващи технологии и съмнителна художествена стойност. Тук ще разширя описанието на основния процес при създаването им, като проследя подробно изграждането на един такъв проект.

Процесът при проектиране и реализация на интерактивни произведения е съпътстван с подробен анализ на работата на автори работещи в тази област, проучване на съществуващите технологии за конкретната реализация, както и определяне на естетиката на крайния продукт. Целта на тази разработка е да се изследват процесите при проектиране и изграждане на интерактивно визуално произведение, което да има следните характеристики:


  1. Практическа приложимост;

  2. Актуалност на проблема;

  3. Естетическа стойност;

  4. Съвременно технологично решение.

ПРОЕКТ „ИНТЕРАКТИВНО ГЕНЕРАТИВНИ ФОРМАЦИИ“


Проектът наречен „Интерактивно генеративни формации“ представлява един диалог между зрителя и произведението. Това е едно виртуално поле в което всеки зрител се появява на екрана като контур във вид на мрежа от линии и започва да влияе на самото произведение. Линиите са свързани с алгоритъм, което прави произведението освен интерактивно и генеративно, което е инспирирало и заглавието на проекта. В тази виртуална среда свободно на псевдослучаен принцип се разпръскват мрежа от обекти, които имат определи физични свойства. Те също се свързват помежду си със същия алгоритъм като контура на зрителя, като по този начин се търси графичното усещане. Малките обекти имат гравитация и падат, но също така могат да взаимодействат при сблъсък с потребителите или помежду си. В допълнение има и по-големи кръгли цветни обекти които ще наричаме „игрови топки“. Те също участват в тази виртуална сцена с физични зависимости. Целта на последните е да подтикне зрителя към по-активно участие и чрез елемент на игра да бъде въвлечен в тази виртуална среда.



С. Косев, А. Марков, „Интерактивно генеративни формации“, 2014
Реализацията на тази постановка изисква няколко специфични момента:

  1. Обработката на данните трябва да става в реално време;

  2. Трябва да има сензор за улавяне на движенията на зрителя;

  3. Трябва да се съхрани естетическото усещане в зрителя.

От направените проучвания и експерименти и в предвид достъпа до технологии, избор на хардуерна система за обработка на данни беше естествен, а именно персонален компютър.

При подбора на софтуер съществува по-голям избор: Processing, Adobe Flash (ActionScript), VVVV, Max/MSP, NodeBox, Quartz Composer, Structure Synth … Съществуват още много и различни инструменти във вид на библиотеки, плъгини или като самостоятелни приложения за създаване на интерактивни и генеративни визуални произведения. Използването им самостоятелно или в комбинация с различни софтуерни технологии и хардуерни устройства зависи изцяло от вижданията на автора като разширява полето му на действие и въздействието върху аудиторията.

При направен анализ (като част от по-голямо изследване в проекта за дисертация на Марков) и при така поставените цели се открои Processing, като най-подходящ за конкретния случай. Това е мощно приложение за генериране на визуализации чрез програмиране. То е популярно, безплатно, с отворен код и използва език за програмиране Java. Използва се в професионални, образователни и научни среди и е достъпно за различни платформи: Linux, Mac OS X и Windows. Може да се използва за вграждане в уеб страници като Java аплет или чрез използването на JavaScript библиотелката Processing.js, чрез която се визуализира в HTML5 Canvas елемент. Processing също е достъпно и от Java-базирани мобилни телефони.

Първата стъпка при реализирането на проекта беше реализирането на редица по-малки експерименти, като първоначално това бяха основно 2D генеративни произведения с интеракция основно с мишка и клавиатура. Изградени с помощта на Processing и допълнителни външни библиотеки, като: Generative Design [6], JBox2D, BlobDetection, toxiclibs. Реализирането на подобни проекти не е новост, като със навлизането на HTML5 и съвременните възможности за публикуване на мултимедийно съдържание в интернет това става много популярно. По-известни подобни проекти са: http://weavesilk.com/, http://www.escapemotions.com, http://processingjs.org/exhibition/, http://www.flong.com, http://bomomo.com/.

За да се осъществи връзка между компютърно генерираното интерактивно произведение и зрителя е необходимо наличието на някакво входно устройство, което да предаде реакциите на зрителя към компютъра. Съществуват много и различни устройства свързани с различни действия на потребителя: Микрофон, Камера, Клавиатура, Мишка, Джойстик (Геймпад), Интерактивни дъски, Touch панели, Kinect, Leap motion, Intel Perceptual Computing, DUO3D, PlayStation Move, Nintendo Wii Remote Plus…

Тук възникна и един от основните въпроси: Как да се въвлече зрителя в произведението без това да е обвързано с различни устройства с които да борави. Повечето от посочените примери изискват зрителя да е пред екран и да взаимодейства с компютъра посредством мишка или клавиатура. Но при експонирането на такива интерактивни произведения в обществени пространства зрителят не винаги е склонен да се затруднява с допълнителни инструкции и устройства. Много разработчици на игри имат подобни търсения и именно там беше открита необходимата технология за да се постигнат набелязаните цели.

От изброените входни хардуерни устройства и от наложените изисквания, да не се ангажира зрителя допълнително, се стигна до избора на сензора на Microsoft използван в игровата им конзола Xbox360 – Kinect. Kinect позволява да се прихваща отделен зрител, скелетна структура на човек, както и позицията на всеки обект в пространството. Това го прави идеален за арт проекти в които зрителя неусетно се озовава в ролята на участник. Изборът е обвързан и с факта, че вече съществуваше софтуерната рамка (framework) Simple-OpenNI за Processing с което да се гарантира връзката между хардуера и софтуера. Целия процес може да се визуализира схематично по следния начин:


Софтуерната рамка съдържа голям брой различни библиотеки, чрез които се разработват софтуерни приложения. OpenNI (Open Natural Interaction) представлява отворена софтуерна рамка за естествено взаимодействие. Целта е да се взаимодейства с различни технологии по начин, подобен на начина по който хората взаимодействат един с друг чрез реч и жестове. Simple-OpenNI за Processing се вгражда като допълнителна библиотека. Това прави възможно реализирането на проекти на персонален компютър с Kinect, който първоначално е създаден за игровите конзоли Xbox 360. Това отваря нови врати пред артисти работещи в областта на интерактивните изкуства, като им предоставя още един силен инструмент в ръцете. В „Интерактивно генеративни формации“ използването на тази библиотека се свежда до разпознаването на отделните потребители (“users”) застанали в обхвата на Kicnect сензора. Това се реализира чрез дефиниране на обекта context от класа SimpleOpenNI.

import SimpleOpenNI.*;

SimpleOpenNI context;

Това е обект от най-високо ниво, който капсулира цялата функционалност на камерата и изображението. Context обикновено се декларира глобално и след това му се създава инстанция в рамките на setup() функцията.



context = new SimpleOpenNI(this);

На всеки кадър в Processing, context трябва да се актуализира с най-новите данни от Kinect.



context.update();

Изображението от context по подразбиране показва света от неговата гледна точка, така че заставяйки пред Kinect полученото изображение на вашите движения няма да е огледално. Това е лесно да се промени с метода setMirror().



context.setMirror(true);

Kinect разполага с три различни камери които, предоставят различни данни и функционалности:



  1. RGB камерата.

RGB камерата е обикновена камера и не е по-различна от стандартна уеб камера. Трябва да се отбележи, че не може да се използва, докато IR камерата (не дълбочината) е активирана. Тя се активира в рамките на setup() функцията.

context.enableRGB()

  1. Дълбочинна камера.

Дълбочината се изчислява чрез IR камера и масив от псевдослучайни инфрачервени точки, проектирани върху сцената. Тя също се активира в рамките на setup() функцията.

context.enableDepth();

  1. Инфрачервена камера (IR).

Изображението от инфрачервената камера е каквото вижда IR сензора на Kinect и не може да бъде включено едновременно с RGB камерата. Тя също се активира в рамките на setup() функцията.

context.enableIR()

Разпознаването на потребители (users) чрез библиотеката Simple-OpenNI в Processing за е сведена до написване на следния ред в setup() функцията:



context.enableUser();

Следващата стъпка е да оцветим пикселите на всеки разпознат потребител с контрастен цвят за да си улесним работата в следващия етап по превръщането му в набор от точки очертаващи неговият контур (векторен контур). Избора е бели потребители на черен фон. Това е само работно изображение за следващата стъпка.



int[] upix=context.userMap();

for (int i=0; i < upix.length; i++) {

if (upix[i] > 0) {

cam.pixels[i]=color(255, 255, 255);

}

else {

cam.pixels[i]=color(0, 0, 0);

}

}

На следващият етап от растерното изображение получено на база разпознатите потребители попаднали в обхвата на Kinect се създава набор от точки образуващи контур. Това се реализира с помощта на друга библиотека blobDetection [7]. Тя чрез алгоритми от областта на компютърното зрение, на база области с различна яркост, намира „петна“ (blobs) от изображението. За цялостното отделяне на контура като набор от точки се използва допълнителен клас PolygonBlob създаден от Amnon Owed в неговият пример „Kinect Physics Tutorial for Processing“ [8]. Това е клас наследил Polygon2D, който на свой ред е от допълнителна библиотека Toxiclib. Библиотеката се занимава с доста разнородни неща, вариращи от генеративен дизайн, анимация, интерактивен интерфейс визуализиране на данни и др. Като в конкретния случай е контура на потребителя представен като двуизмерен полигон. Всичко това се прави с цел създаването на обекти в една обща среда за да могат да си взаимодействат симулиращи физични зависимости. Така обединяващият елемент на всички участници в сцената е обект от класа pbox2d който ще представлява целия физичен „свят“.



PBox2D box2d;

box2d = new PBox2D(this);

box2d.createWorld();

box2d.setGravity(0, -3);

Добавянето малките и големите кръгли обекти е реализирано също с външен клас DrawPoints, взаимстван от примера на Amnon Owed, но дописан за постигане на предварително определената визия. Той има задачата да създава обекти които са част от физичния „свят“. Те притежават специфични физични свойства, като плътност, триене и възстановяване.



FixtureDef fd = new FixtureDef();

fd.shape = cs;

fd.density = 1.1;

fd.friction = 0.05;

fd.restitution = 0.25;

body.createFixture(fd);

Размера и цвета на обектите се подава като параметри, за да има възможност при генерирането да има вариативност. Така заложената логика за „игровите топки“ е те никога да не са повече от 4 и са с променлив размер между 20 и 60 пиксела и случаен цвят.



bigBallColor=color((int)(random(255)),(int)(random(255)),(int)(random(255)));

if (bigBalls.size()<4) {bigBalls.add(new DrawPoints((int)(random(cam.width)), 30, (int)(random(20,60)), bigBallColor)); }

Докато при малките обекти появяването им е обвързано с натоварването на компютъра и в зависимост от броя на изчислените кадри в секунда се генерират топчета. При падане на броя на визуализираните кадри под 30 генерирането спира.



if (frameRate > 29) {

polygons.add(new DrawPoints((int)(random(cam.width)), 30, (int)(random(2,6)), smallBallColor));

}

Така изградената сцена може да бъде напълно настройвана според нуждите на крайния резултат. От големината, цвета и гъстотата на топчетата до броя на точките изграждащи контура на потребителите. Така може да се подобри крайният визуален резултат, които беше търсен от самото начало като задание от доц. Светослав Косев. За да се доближи проекта до неговата визуална идея трябваше да се добави е и още един алгоритъм за изчертаването на контура, и този за свързването на малките топчета. Тук се заложи на сравнително проста логика, като се обхождат всички точки и се свързват само тези които са на определено разстояние една от друга. Добавено е и прозрачност на линиите, която също зависи от разстоянието между точките.




Целия код може да се види в Приложение 1.

Крайният резултат покри първоначално заложените изисквания да се създаде интерактивно произведение, което да има предварително определени визуални качества, да не изисква от зрителя да използва допълнителни устройства и да се случва в реално време.



Това е една сравнително нова област за развитие в сферата на визуалните изкуства, която дава изцяло нов подход за комуникация със зрителя. За сега може да се разглежда като силно интердисциплинарна, защото създаването на подобни произведения изисква, както творчески подход, така и доста технически умения за реализирането им. Подобряването на компютърните технологии, въвеждането на нови устройства за интеракция и създаването на все по достъпен софтуер ще направи тази форма на представяне все по-популярна и по-масова сред творците. До тогава е препоръчително такива проекти да се реализират от екип от специалисти.

ЛИТЕРАТУРА:





  1. Glassner A. Processing for Visual Artists: How to Create Expressive Images and Interactive Art. A. K. Peters, Ltd, MA, USA ©2010

  2. Shiffman D. Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction. Morgan Kaufmann Publishers Inc. San Francisco, CA, USA ©2008

  3. Nathaniel Stern, The Implicit Body as Performance: Analyzing Interactive Art, Leonardo, Vol. 44, No. 3 (2011) (pp. 232-238)

  4. Edward A. Shanken, Art in the Information Age: Technology and Conceptual Art, Leonardo, Vol. 35, No. 4. (2002), pp. 433-438.

  5. Trifonova, Anna; Jaccheri, Letizia; Bergaust, Kristin. Software engineering issues in interactive installation art. International Journal of Arts and Technology, 2008, 1.1: 43-65.

  6. http://www.generative-gestaltung.de

  7. http://www.v3ga.net/processing/BlobDetection/index-page-home.html

  8. http://www.creativeapplications.net/processing/kinect-physics-tutorial-for-processing/4/

Каталог: 996 -> pub
pub -> The role of computer and information technology in contemporary visual arts
pub -> Класификация на техники и стилове във визуалните изкуства, създадени със средствата на компютърните технологии
996 -> Технически изисквания към респиратор за новородени деца Общи изисквания
996 -> Доцент д-р тодор дудев
996 -> Отшелници, монаси и реформатори в средновековна европа : паралели изток –запад / otshelnitsi, monasi I reformatori V srednovekovna evropa : paraleli iztok-zapad
996 -> Първа общи положения ч
996 -> „Gewinner оод ” е производство на спортни облекла и аксесоари. Компанията ще печели потребителския интерес с една нова концепция за съвременен


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница