• home
  • O projekcie
  • Miniaturowe know-how
  • Język
    • Polski
    • English
Mi

Malowanie światłem

interakcja i światło (i ciemność)
Podgląd: domyślna kamera Podgląd: tylna kamera
Parametry
gui
lang
pointer
alpha
blend
colpicker
colsrc
cut
displaymode
fade
feedback
mirror
mul
points
polys
synth
threshold
ttl
vol
Opis

“Malowanie Światłem” to sieciowa wersja instalacji interaktywnej pod tym samym tytułem, autorstwa Dominiki Sobolewskiej i Pawła Janickiego. Pierwotna wersja “Malowania Światłem” była premierowo prezentowana w ramach wystawy “Interaktywny Plac Zabaw” (Patrycja Mastej, Dominika Sobolewska, Paweł Janicki) — otwierającej nową siedzibę Centrum Sztuki WRO w 2008 r.

Praca dotyka kilku ważnych i ciekawych kwestii: niesemantycznej interakcji (wzajemnych i z dziełem) z wieloma osobami jednocześnie, operowania światłem/kolorem/ciemnością jako podstawowymi jakościami wizualnymi, wykorzystania kodu jako materii sztuki. Tradycyjnie wystawiennicze wersje “Malowania Światłem” — nic nie stoi na przeszkodzie, aby z takiej samej strategii skorzystać w domu — korzystają z różnych obiektów emitujących światło (zabawek, zwykłych, inspekcyjnych i warsztatowych lamp i lampek, itp.), ustanawiając relację do przedmiotów bliższą readymade i sztuce performance, niż podejściu inscenizacyjnemu i “rekwizytom”.

Dokumentacja techniczna

Parametry przekazywane przez adres URL

  • alpha 0 … 255; domyślnie 255; transparencja (0 – całkowicie przezroczyste obiekty, 255 – brak przezroczystości)
  • blend 0 lub 1; domyślnie 0; metoda mieszania kolorów: 0 – nakładanie („BLEND”), 1 – dodawanie („ADD”)
  • colpicker 0 lub 1; domyślnie 1; metoda wyznaczania centrum ruchomego obiektu: 0 – centrum „masy”, 1 – środek wyznaczany geometrycznie
  • colsrc 0 lub 1; domyślnie 0; obraz, z którego pobierane są kolory: 0 – obraz po wzmocnieniu, 1 – obraz tła
  • cut 0.0 … 1.0; domyślnie 0.01; znormalizowany próg minimalnej jasności pikseli branych pod uwagę w pracy detektora ruchu
  • displaymode 0 … 5; domyślnie 5; tryb wyświetlania: 0 – obraz nieprzetworzony oraz wykryte ruchome obiekty, 1 – obraz po wzmocnienniu i odfiltrowaniu ciemnych obiektów oraz wykryte ruchome obiekty, 2 – tło oraz wykryte ruchome obiekty, 3 – obraz różnicowy (pomiędzy aktualnym obrazem a tłem) oraz wykryte ruchome obiekty, 4 – biarna reprezentacja obrazu różnicowego oraz wykryte ruchome obiekty, 5 – malowanie światłem (finalny efekt)
  • fade 1 … 10; domyślnie 3; czas wyciemniania obiektów
  • famo user | environment (lub env); domyślnie user; [facingMode] pozwala wymusić użycie przedniej (user) lub tylnej (environment) kamery na urządzeniach, które są wyposażone w podwójne kamery/aparaty (większość współczesnych urządzeń mobilnych)
  • feedback 0.0 … 1.0; domyślnie 0.5 intensywność sprzężenia zwrotnego dla obrazu tła
  • gui 0 lub 1; domyślnie 1; chowa/pokazuje panel z interfejsem graficznym
  • h pionowa rozdzielczość kamery
  • lang en lub pl; domyślnie pl; ustawia język zawartości instalacji (istnieje możliwość dodania kolejnych języków)
  • midioutchnoldblobs 1 … 16; domyślnie 2; numer kanału MIDI, na którym wysyłane są komuninkaty związane z obiektami wykrytymi przez detektor ruchu
  • midioutchnoldblobs 1 … 16; domyślnie 3; numer kanału MIDI, na którym wysyłane są komuninkaty związane z obiektami przechodzącymi w stan wyciemnienia
  • midioutport domyślnie wyłączone; numer portu MIDI do zewnętrznego sterowania Miniaturą (nadawanie komunikatów)
  • mirror 0 lub 1; domyślnie 1; wyłącza/włącza lustrzane odbicie obrazu z urządzenia przechwytującego (zwykle kamery)
  • mul 0.0 … 1.0; domyślnie 0.1; znormalizowany poziom wzmocnienia (podbicie jasności) obrazu
  • pointer 0 lub 1; domyślnie 1; chowa/pokazuje kursor myszy
  • points 3 … 20; domyślnie 8; ilość punktów wieloboku reprezentującego ruchomy obiekt
  • polys 0.0 … 1.0; domyślnie 0.5; znormalizowana wielkość odpowiadająca maksymalej ilości obiektów na ekranie
  • synth 0 lub 1; domyślnie 1; wyłącza/włącza wewnętrzny generator dźwięku
  • threshold 0.0 … 1.0; domyślnie 0.5; próg jasości, powyżej którego piksel jest traktowany jako zawierający informację o ruchu
  • ttl 0.0 … 1.0; domyślnie 0.3; znormalizowany czas pozostawannia obiektów na ekranie
  • vol 0.0 … 1.0; domyślnie 0.63; głośność wbudowanego syntezatora
  • w pozioma rozdzielczość kamery
  • worker 0 lub 1; domyślnie 0; umożliwia zablokowanie wbudowanych w przeglądarkę mechanizmów zatrzymywania pracy programu kiedy okno nie jest widoczne
  • ws adres; domyślnie wyłączone; włącza i ustala adres (zwykle localhost:9001) dla komunikacji poprzez WebSocket (umożliwia zewnętrzne sterowanie Miniaturą i dostosowanie do własnych potrzeb)
  • xws adres; domyślnie wyłączone; włącza i ustala adres (zwykle ws://localhost:9001) ze wskazaniem protokołu dla komunikacji poprzez WebSocket (umożliwia zewnętrzne sterowanie Miniaturą i dostosowanie do własnych potrzeb)

Komunikaty przekazywane przez WebSocket

Komunikaty, na które reaguje Miniatura

nie dotyczy

Komunikaty wysyłane przez Miniaturę

  • pbl new nowe obiekty (wykryte przez detektor ruchu): x (znormalizowana pozycja pozioma) y (znormalizowana pozycja pionowa) s (znormalizowana wielkość)
  • pbl old obiekty przechodzące w fazę wyciemniania: x (znormalizowana pozycja pozioma) y (znormalizowana pozycja pionowa) s (znormalizowana wielkość)

MIDI

Komunikaty, na które reaguje Miniatura

nie dotyczy

Komunikaty wysyłane przez Miniaturę

  • note on/off na kanale 2 (domyślny kanał można zmienić na inny parametrami URL) dwie nuty o wysokości wyliczonej na bazie poziomej i pionowej współrzędnej obiektu wykrytego przez detektor ruchu; na kanale 3 (domyślny kanał można zmienić na inny parametrami URL) dwie nuty o wysokości wyliczonej na bazie poziomej i pionowej współrzędnej obiektu przechodzącego w fazę wyciemnienia;

Komunikacja z MaxMSP

Komunikaty, na które reaguje Miniatura

nie dotyczy

Komunikaty wysyłane przez Miniaturę

nie dotyczy

Kod źródłowy

index.html

sketch.js

p5.vida.js

pbl.js

gui.js

midi.js

shaders.js

synth.js

worker.js

ws.js

Cgk8ZGl2IGNsYXNzPSJqcy1tYWlubWVudSI+CgkJPGRpdiBjbGFzcz0ibWVudS1tYWlubWVudS1jb250YWluZXIiPjx1bCBpZD0ibWVudS1tYWlubWVudS0xIiBjbGFzcz0ibWVudSI+PGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBtZW51LWl0ZW0tMzI3Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC8iPmhvbWU8L2E+PC9saT4KPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tMzI1Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC9vLXByb2pla2NpZS8iPk8gcHJvamVrY2llPC9hPjwvbGk+CjxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTk2NCI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvbWFudWFsLyI+TWluaWF0dXJvd2Uga25vdy1ob3c8L2E+PC9saT4KPGxpIGNsYXNzPSJxdHJhbnhzLWxhbmctbWVudSBxdHJhbnhzLWxhbmctbWVudS1wbCBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gbWVudS1pdGVtLTMyOCI+PGEgaHJlZj0iIyIgdGl0bGU9IlBvbHNraSI+SsSZenlrPC9hPgo8dWwgY2xhc3M9InN1Yi1tZW51Ij4KCTxsaSBjbGFzcz0icXRyYW54cy1sYW5nLW1lbnUtaXRlbSBxdHJhbnhzLWxhbmctbWVudS1pdGVtLXBsIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLTk2NSI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvcGwvbWFsb3dhbmllLXN3aWF0bGVtLyI+UG9sc2tpPC9hPjwvbGk+Cgk8bGkgY2xhc3M9InF0cmFueHMtbGFuZy1tZW51LWl0ZW0gcXRyYW54cy1sYW5nLW1lbnUtaXRlbS1lbiBtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtY3VzdG9tIG1lbnUtaXRlbS1vYmplY3QtY3VzdG9tIG1lbnUtaXRlbS05NjYiPjxhIGhyZWY9Imh0dHBzOi8vbWkud3JvY2VudGVyLnBsL2VuL21hbG93YW5pZS1zd2lhdGxlbS8iPkVuZ2xpc2g8L2E+PC9saT4KPC91bD4KPC9saT4KPC91bD48L2Rpdj4JPC9kaXY+Cgk8YnV0dG9uIGNsYXNzPSJqcy1hMTF5Ij48aW1nIGFsdD0iV3lzb2tpIGtvbnRyYXN0IiBzcmM9Imh0dHBzOi8vbWkud3JvY2VudGVyLnBsL3dwLWNvbnRlbnQvdGhlbWVzL21pMjAyNi9pbWcva29udHJhc3Quc3ZnIj48L2J1dHRvbj4K
Malowanie światłem — Mi
KPO Unia Europejska #NextGenerationEU Rzeczpospolita Polska
WRO ART CENTER
  • O projekcie
  • Miniaturowe know-how