Coder Social home page Coder Social logo

xyu6 / projection-mapping-in-processing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bsplt/projection-mapping-in-processing

0.0 2.0 0.0 31.82 MB

The projection mapping software is written in Processing 3 and fully customizable.

Processing 100.00%

projection-mapping-in-processing's Introduction

Projection Mapping in Processing

This code was part of an installation for a short exhibition in which I was featured. It is the working prototype of a projection mapping software, written in and executed via the Processing IDE. The visual effects can be programmed in a linear timeline. The software also implents a feature to ineract with an Arduino. I put it here as a documentation for myself as well as for a couple of other people who were interested in the code. The program might not be the ideal approach to the subject but an interesting solution that crystallized under high time pressure.

Documentation

Documentation of projection mapping in Processing

I wrote this code for an artistic practice. Check out the documentation video.

Getting Started

The sketch is pretty much ready to start. There is an option to trigger a relay with an Arduino over Firmata, you can turn it on in the projection_arduino tab, you'll see. But it it default off, so it doesn't interfere with if there is no Arduino connected.

Most important is the timeline. It is located in the data folder as timeline.csv. It works like this:

Start in ms End in ms Projection Area Effect Name
63980 64200 2 "FFTFillFast"
64100 67500 1 "Outline"
66560 66810 0 "LineVertUp"

Included are the following effects:

  • LineVertDown
  • LineVertUp
  • LineHoriLeft
  • LineHoriRight
  • Fill
  • FadeOut
  • FadeIn
  • Outline
  • StripesHori
  • StripesVert
  • RandomHori
  • RandomVert
  • FFTFillSlow
  • FFTFillFast
  • BlueScreen

Additional effects:

  • Restart (Resets the timeline to 0)
  • ArduinoButton (Waits for a button push on the Arduino to continue the loop)
  • ArduinoSwitch (Turning on a relay)

My advice is if you're interested in my project: Please read the code yourself or contact me directly. Most of the stuff should explain itself and/or is commented.

Running

Most important to projection mapping is to map the projection to the wall. ๐ŸŽ‰ I made a configuration mode that is accessible with the key c. It let's you drag the mapped areas around with your mouse. Once c is pressed again, it will be saved to a file called planes.csv in the data folder.

There is a mapping_sound.wav in the data folder. It will be played with the minim library for Processing.

In the installation set up I used a button that you can see in the video to re-start the loop. I works with the ArduinoButton effect.

So if this is given it will run smoothly once you press play in the Processing IDE.

Further information

Please feel free to contact me if you have questions or suggestions.

License is according to the software used.

projection-mapping-in-processing's People

Contributors

bsplt avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.