• home
  • About the project
  • Miniature know-how
  • Language
    • Polski
    • English
Mi

Wilderness

Endlessly evolving forests
Preview: no camera Preview: default camera Preview: back camera
Parameters
pointer
cv
synth
tintplanting
tintidle
Description

“Prapuszcza” is a miniature that allows you to draw various tree-like forms, based on a recursive function—one that calls itself. In programming, this approach is often used to work with objects that, like trees, are characterized by self-similarity, meaning when a smaller part of the object resembles a larger one. The most well-known forms of this type are fractals—collections of geometric shapes. The forest we create is infinite—new trees obscure older ones, which gradually fade into the background. The original “Prapuszcza” (Paweł Janicki, Gosia Gawlik, 2020) is an interactive installation that uses a position and hand position sensor to “draw” trees in space. The miniature version of the work uses a camera (built into the device or connected via USB) and AI used for the same purpose as the sensor. Endlessly evolving forests occasionally appear in works of media art, such as in Tamás Waliczky’s classic work “Der Wald” from 1993.

The direct inspiration for the creation of Miniatura came from Janicki and Gawlik’s shared observations regarding similarities between hand exercise techniques in several areas: developing fine motor skills in children, rehabilitating accident victims, and slowing the decline of motor skills in the elderly. Similar sets of exercises were also used by representatives of the Lviv pickpocketing school (after World War II, the “school” operated in Wrocław).

Technical documentation

Parameters passed via URL

  • famo user | environment (or env); default user; [facingMode] allows forcing the use of the front (user) or rear (environment) camera on devices equipped with dual cameras (most modern mobile devices)
  • mirror 0 or 1; default 0; disables/enables mirroring of the image from the camera
  • pointer 0 or 1; default 1; hides/shows the mouse cursor
  • cv 0 or 1; default 1; disables or enables the hand and finger position detector
  • w horizontal resolution of the image processed by the motion detector
  • h vertical resolution of the image processed by the motion detector
  • synth 0 or 1; default 1; disables/enables the internal sound generator
  • worker 0 or 1; default 0; allows blocking the browser’s built-in mechanisms that suspend the program when the window is not visible
  • bg 0xAARRGGBB background color with transparency
  • col 0xAARRGGBB tree color with transparency
  • tintplanting 0 … 255 transparency of the drawn image if the motion detector is enabled and a drawing gesture is detected
  • tintidle 0 … 255 transparency of the drawn image if the motion detector is enabled and no drawing gesture is detected
  • branchweight thickness of tree branches
  • ws address; disabled by default; enables and sets the address (usually localhost:9001) for WebSocket communication (allows external control of Miniature and customization)
  • xws address; disabled by default; enables and sets the address (usually ws://localhost:9001) with protocol specification for WebSocket communication (allows external control of Miniature and customization)

Messages passed via WebSocket

Messages to which Miniature responds

not applicable

Messages sent by Miniature

  • systime time t1 t2 t1 – time in milliseconds according to the system clock, t2 – current system time expressed in milliseconds, calculated based on hours, minutes, seconds, and milliseconds

MIDI

Messages to which Miniature responds

not applicable

Messages sent by Miniature

not applicable

Communication with MaxMSP

Messages to which Miniature responds

not applicable

Messages sent by Miniature

not applicable

Source code

index.html

sketch.js

gestures.js

gui.js

midi.js

roi.js

synth.js

worker.js

ws.js

mediapipehand.js

wilderness.js

Cgk8ZGl2IGNsYXNzPSJqcy1tYWlubWVudSI+CgkJPGRpdiBjbGFzcz0ibWVudS1tYWlubWVudS1jb250YWluZXIiPjx1bCBpZD0ibWVudS1tYWlubWVudS0xIiBjbGFzcz0ibWVudSI+PGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBtZW51LWl0ZW0tMzI3Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC9lbi8iPmhvbWU8L2E+PC9saT4KPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tMzI1Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC9lbi9vLXByb2pla2NpZS8iPkFib3V0IHRoZSBwcm9qZWN0PC9hPjwvbGk+CjxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTk2NCI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvZW4vbWFudWFsLyI+TWluaWF0dXJlIGtub3ctaG93PC9hPjwvbGk+CjxsaSBjbGFzcz0icXRyYW54cy1sYW5nLW1lbnUgcXRyYW54cy1sYW5nLW1lbnUtZW4gbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBjdXJyZW50LW1lbnUtcGFyZW50IG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gbWVudS1pdGVtLTMyOCI+PGEgaHJlZj0iIyIgdGl0bGU9IkVuZ2xpc2giPkxhbmd1YWdlPC9hPgo8dWwgY2xhc3M9InN1Yi1tZW51Ij4KCTxsaSBjbGFzcz0icXRyYW54cy1sYW5nLW1lbnUtaXRlbSBxdHJhbnhzLWxhbmctbWVudS1pdGVtLXBsIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLTk2NSI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvcGwvcHJhcHVzemN6YS8iPlBvbHNraTwvYT48L2xpPgoJPGxpIGNsYXNzPSJxdHJhbnhzLWxhbmctbWVudS1pdGVtIHF0cmFueHMtbGFuZy1tZW51LWl0ZW0tZW4gbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBjdXJyZW50LW1lbnUtaXRlbSBtZW51LWl0ZW0tOTY2Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC9lbi9wcmFwdXN6Y3phLyIgYXJpYS1jdXJyZW50PSJwYWdlIj5FbmdsaXNoPC9hPjwvbGk+CjwvdWw+CjwvbGk+CjwvdWw+PC9kaXY+CTwvZGl2PgoJPGJ1dHRvbiBjbGFzcz0ianMtYTExeSI+PGltZyBhbHQ9IkhpZ2ggY29udHJhc3QiIHNyYz0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvd3AtY29udGVudC90aGVtZXMvbWkyMDI2L2ltZy9rb250cmFzdC5zdmciPjwvYnV0dG9uPgo=
Wilderness — Mi
KPO Unia Europejska #NextGenerationEU Rzeczpospolita Polska
WRO ART CENTER
  • About the project
  • Miniature know-how