Sketching in Code / Processing
  Marcin Ignac @ JUG, May 2010, Poznań

How I use Processing to do prototyping in almost ev...
Me, 27, programmer, designer, artist
I live and work in Copenhagen, DK
PROCESSING
                         open source, cross-platform,
                         multimedia programming language
...
Environment

Code editor. Set of basic libraries. Script compiler. Application and applet exporter.
Programming Language
  Beginner

Basic scripting. Static images.
Programming Language
  Intermediate

Functions. Draw loop is executed every frame. Easy acces to keyboard and mouse for
in...
Programming Language
  Advanced

Modularity. Classes. External libraries.
Programming Language
  Expert

Eclipse. Beside better code editor it’s easier to manage your code and writing your own
lib...
Open Source
  Community

http://processing.org - forum, examples
http://openProcessing.org - gallery of projects with sour...
Open Source
  Libraries

3rd party libraries can provide us with better video handling, more advanced 3d, procedural
geome...
Cross-platform
Java: Linux, Mac, Mobile, PC
Cross-platform
  Android

(Photo by creativeapplications.net)

More: http://android.processing.org/
Cross-platform
  JavaScript

All basic Processing functionality was recently ported to Javascript. Audio, video and 3d soo...
Example Projects

Why I called it multimedia or interactive media programming language.
‘Art’

After I finished Computer Science at Poznan University of Technology I studied at the
Academy of Fine Arts in Poznan...
Media

... and some more contemporary stuff like video and interactive installations.
“That what is the first”

One of my favourite art pieces I made. There is an image of a woman projected on the wall.
When v...
Motion Tracking

Recorded image is processed and moving objects are detected to termine their distance to
the target.
Context

The art work was exhibited in a abandoned building in the center of Poznan.
My Mother

Video: http://vimeo.com/666152
CIID
  Copenhagen Institute of Interaction Design

In 2008 I moved to Denmark to take part in the pilot year of new intera...
Greetings gestures

On of our first projects at CIID completed during Computational Design course. The idea was
to record h...
Wii Remote

Controlling device for Nintendo Wii was an obvious choice. It has bluetooth connection and
motion sensors.
Recording
Darwiin Remote

We used DarwiinRemote to connect to the Wii Remote via Bluetooth and record the data.
Korea


                                                               USA

                                              ...
Experiments

I started buy just displaying the raw data (previous slide). Next step was to use the time and
acceleration v...
Demo

I made an interactive application to explore different possibilited and parameters.

Video: http://vimeo.com/1905763
Final posters

Three final designs were made.
Exhibition

All the posters were exhibited at Danish Design School at the end of 2 weeks course.

(Photo by toujjval / Fli...
VJ-ing

I recorded some of the experiments and used them later at one of my vj shows.

Video: http://vimeo.com/2630365
Mor...
Have Fun

My first Wii Remote test :) “White brick in space”
3D Drawing

At the exhibition I met Flemming Tvede Hansen (Ph.D-Scholar, DKDS) who asked me if it was
possible to use Wii ...
We proceeded by making interactive app that Flemming used to explore various dynamic
shapes. This first version was able to...
Second version was able to export 3d models. It was still limited to one 2d plane though.
Final version was fully capable of drawing in 3d. It was controlled by both mouse or Wii
Remote.
Computational Design

Some of the designs were even printed in 3d.
3D Print
3D Print
Serial Port




 External Hardware

Processing can be very easily connected to external hardware. For example throught ser...
Left Rotate Right Next




  Arduino Controller

Arudino board with 3 buttons and light sensor.

Want to know more how to ...
Demo

I showed game controller made in 30min. Tree buttons control position and rotation of the
brick. When you cover the ...
Wi-Fi




  External Hardware

Another possibility is to use Internet / WiFi connection.
Demo

I used multitouch TouchOSC app to simultaneously control two particle systems. oscP5
library was used to handle comm...
Realtime, everytime.

In september 2009 I joined shiftcontrol studios (http://shiftcontrol.dk/)
Live Visuals
  DR P3 Guld’09

Our first project together. Live audio reactive visuals for Mike Sheridan during danish radio...
Live Visuals
DR P3 Guld’09
Control App

For the purpose of the show we developed audio reactive app. Generated visuals were then
displayed on LED scr...
Projection Mapping
Projection Mapping

When we project an image on the surface in front of the projector the image looks nice.

More: http://...
Projection Mapping

The bigger the projection angle the more image is distored.
Projection Mapping

We can fix that by projecting image from projector point of view. Together with some cleaver
masking we...
Experiments in the studio

Audio reactive bars on the pipes in our studio.

Video: http://vimeo.com/7504037
Experiments in the studio

Sun ‘behind’ the pipes.

Video: http://vimeo.com/7504182
Projection Mapping

Sun’s trick explained. In the places where there are pipes we simply display black color.
Experiments in the studio

Some more advanced masking.

Video: http://vimeo.com/7504276
Experiments in the studio

I use just one projector here.

Video: http://vimeo.com/7630261
Eskulap Club
  Poznań 2009

I fall 2009 I was invited to do some interactive installation in Eskulap Club, Poznan. I decid...
Mapping Setup

I designed software that allowed me to map particular sides of the cubes and display
animations on them.
3xI
  Vivisesja, Poznań 2009

In the final setup I was using one laptop and two projectors. There was also in InfraRed
sens...
ProjectedQuads

More & Source Code: http://marcinignac.com/blog/2010/01/31/projectedquads-source-
code/
Sketching in Code
  a.k.a. prototyping

Sketching on paper, Prototyping interactions, Interactive Sketches
Reasons to sket...
Keep everything

Save all ideas / code. You never know when you will need to go back to an older version.
Dynamic Identity

In our latest project we are looking at properties of paper and how this style can be replicated
in code.
Paper Folding
  Processing

My first experiment was to simulate origami-like paper folding. You can select two triangles
an...
Mesh Deformation
  C++ / Lib Cinder

Second sketch was build for iPad to test multitouch interactions. Using fingers you ca...
Cloth Simulation
  Processing / Traer Physics

Latest sketch involved some physics. The two highest points is where the fin...
Exploring by prototyping.
    Understanding by making.
    Learning while playing.




Simply start making stuff. Right no...
Thank you!
marcinignac.com
Upcoming SlideShare
Loading in...5
×

Sketching in Code

3,756

Published on

My presentation about Processing and the role it has in the prototyping (and very often development) phase of almost every project I take part in.

Published in: Design, Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,756
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
85
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Sketching in Code

  1. 1. Sketching in Code / Processing Marcin Ignac @ JUG, May 2010, Poznań How I use Processing to do prototyping in almost every project. (screenshot from Wiild Life interactive animation http://marcinignac.com/projects/ 2008/10/12/wiild-life)
  2. 2. Me, 27, programmer, designer, artist I live and work in Copenhagen, DK
  3. 3. PROCESSING open source, cross-platform, multimedia programming language What is it? Processing was founded by Ben Fry and Casey Reas in 2001 while both were John Maeda's students at the MIT Media Lab. http://processing.org
  4. 4. Environment Code editor. Set of basic libraries. Script compiler. Application and applet exporter.
  5. 5. Programming Language Beginner Basic scripting. Static images.
  6. 6. Programming Language Intermediate Functions. Draw loop is executed every frame. Easy acces to keyboard and mouse for interaction.
  7. 7. Programming Language Advanced Modularity. Classes. External libraries.
  8. 8. Programming Language Expert Eclipse. Beside better code editor it’s easier to manage your code and writing your own libraries.
  9. 9. Open Source Community http://processing.org - forum, examples http://openProcessing.org - gallery of projects with source code
  10. 10. Open Source Libraries 3rd party libraries can provide us with better video handling, more advanced 3d, procedural geometry or physics.
  11. 11. Cross-platform Java: Linux, Mac, Mobile, PC
  12. 12. Cross-platform Android (Photo by creativeapplications.net) More: http://android.processing.org/
  13. 13. Cross-platform JavaScript All basic Processing functionality was recently ported to Javascript. Audio, video and 3d soon will be also possible with technologies like HTML5 and WebGL. More: http://processingjs.org/
  14. 14. Example Projects Why I called it multimedia or interactive media programming language.
  15. 15. ‘Art’ After I finished Computer Science at Poznan University of Technology I studied at the Academy of Fine Arts in Poznan where I was exposed to both traditional art...
  16. 16. Media ... and some more contemporary stuff like video and interactive installations.
  17. 17. “That what is the first” One of my favourite art pieces I made. There is an image of a woman projected on the wall. When visitor comes closer to the picture, the woman becomes younger and younger. It was was the first time I used Processing (for motion tracking).
  18. 18. Motion Tracking Recorded image is processed and moving objects are detected to termine their distance to the target.
  19. 19. Context The art work was exhibited in a abandoned building in the center of Poznan.
  20. 20. My Mother Video: http://vimeo.com/666152
  21. 21. CIID Copenhagen Institute of Interaction Design In 2008 I moved to Denmark to take part in the pilot year of new interaction design course.
  22. 22. Greetings gestures On of our first projects at CIID completed during Computational Design course. The idea was to record hand movements of people greeting each other. They were comming from different cultures so the gestures varied a lot. (Photo by just.Luc / Flickr)
  23. 23. Wii Remote Controlling device for Nintendo Wii was an obvious choice. It has bluetooth connection and motion sensors.
  24. 24. Recording
  25. 25. Darwiin Remote We used DarwiinRemote to connect to the Wii Remote via Bluetooth and record the data.
  26. 26. Korea USA Denmark #1 Denmark #2 Italy Data India We have collected data for both hands and heads. I decided to use hand data only. Colors: xAcc (red), yAcc (green), zAcc (blue), pitch (yellow), roll (light blue)
  27. 27. Experiments I started buy just displaying the raw data (previous slide). Next step was to use the time and acceleration values to alternate shape of set of cubes in 3d space.
  28. 28. Demo I made an interactive application to explore different possibilited and parameters. Video: http://vimeo.com/1905763
  29. 29. Final posters Three final designs were made.
  30. 30. Exhibition All the posters were exhibited at Danish Design School at the end of 2 weeks course. (Photo by toujjval / Flickr)
  31. 31. VJ-ing I recorded some of the experiments and used them later at one of my vj shows. Video: http://vimeo.com/2630365 More: http://marcinignac.com/blog/2008/11/03/vj-vorg/
  32. 32. Have Fun My first Wii Remote test :) “White brick in space”
  33. 33. 3D Drawing At the exhibition I met Flemming Tvede Hansen (Ph.D-Scholar, DKDS) who asked me if it was possible to use Wii to draw in 3d. I said yes. And few days later I had working prototype. We used Wii Remote’s build in IR-Camera and some IR LEDs. Video: http://vimeo.com/2238077
  34. 34. We proceeded by making interactive app that Flemming used to explore various dynamic shapes. This first version was able to do just flat 2D drawings.
  35. 35. Second version was able to export 3d models. It was still limited to one 2d plane though.
  36. 36. Final version was fully capable of drawing in 3d. It was controlled by both mouse or Wii Remote.
  37. 37. Computational Design Some of the designs were even printed in 3d.
  38. 38. 3D Print
  39. 39. 3D Print
  40. 40. Serial Port External Hardware Processing can be very easily connected to external hardware. For example throught serial port.
  41. 41. Left Rotate Right Next Arduino Controller Arudino board with 3 buttons and light sensor. Want to know more how to build your own stuff? http://arduino.cc - Arduino home page http://protolab.pbworks.com - Stanford prototyping tutorials http://fritzing.org - Circuit design tool http://www.partly-cloudy.com/misc/toolkits/listall - list of Arduino alternatives
  42. 42. Demo I showed game controller made in 30min. Tree buttons control position and rotation of the brick. When you cover the light sensor the current brick is dropped down. I used modified version of Tetris code from http://leo.lobato.org/processing/tetrisclone/ index.html More about my Arduino projects: http://marcinignac.com/blog/tag/arduino/
  43. 43. Wi-Fi External Hardware Another possibility is to use Internet / WiFi connection.
  44. 44. Demo I used multitouch TouchOSC app to simultaneously control two particle systems. oscP5 library was used to handle communication part in Processing (parsing messages in OSC protocol).
  45. 45. Realtime, everytime. In september 2009 I joined shiftcontrol studios (http://shiftcontrol.dk/)
  46. 46. Live Visuals DR P3 Guld’09 Our first project together. Live audio reactive visuals for Mike Sheridan during danish radio music awards show. More & Video: http://marcinignac.com/projects/2009/01/26/DR-P3-Guld'09
  47. 47. Live Visuals DR P3 Guld’09
  48. 48. Control App For the purpose of the show we developed audio reactive app. Generated visuals were then displayed on LED screen on the stage.
  49. 49. Projection Mapping
  50. 50. Projection Mapping When we project an image on the surface in front of the projector the image looks nice. More: http://marcinignac.com/blog/2009/12/09/projection-mapping-in-3d/
  51. 51. Projection Mapping The bigger the projection angle the more image is distored.
  52. 52. Projection Mapping We can fix that by projecting image from projector point of view. Together with some cleaver masking we can achieve very good results.
  53. 53. Experiments in the studio Audio reactive bars on the pipes in our studio. Video: http://vimeo.com/7504037
  54. 54. Experiments in the studio Sun ‘behind’ the pipes. Video: http://vimeo.com/7504182
  55. 55. Projection Mapping Sun’s trick explained. In the places where there are pipes we simply display black color.
  56. 56. Experiments in the studio Some more advanced masking. Video: http://vimeo.com/7504276
  57. 57. Experiments in the studio I use just one projector here. Video: http://vimeo.com/7630261
  58. 58. Eskulap Club Poznań 2009 I fall 2009 I was invited to do some interactive installation in Eskulap Club, Poznan. I decided to do something with the ceiling.
  59. 59. Mapping Setup I designed software that allowed me to map particular sides of the cubes and display animations on them.
  60. 60. 3xI Vivisesja, Poznań 2009 In the final setup I was using one laptop and two projectors. There was also in InfraRed sensor on the floor so whenever somebody was passing by the animation was changing. More: http://marcinignac.com/projects/2009/11/20/3xI
  61. 61. ProjectedQuads More & Source Code: http://marcinignac.com/blog/2010/01/31/projectedquads-source- code/
  62. 62. Sketching in Code a.k.a. prototyping Sketching on paper, Prototyping interactions, Interactive Sketches Reasons to sketch: testing ideas, exploring posibilities, when i start i kind of know what i want to achieve but actual results my vary ;)
  63. 63. Keep everything Save all ideas / code. You never know when you will need to go back to an older version.
  64. 64. Dynamic Identity In our latest project we are looking at properties of paper and how this style can be replicated in code.
  65. 65. Paper Folding Processing My first experiment was to simulate origami-like paper folding. You can select two triangles and bend virtual paper along the edge between them. Video: http://vimeo.com/11810679
  66. 66. Mesh Deformation C++ / Lib Cinder Second sketch was build for iPad to test multitouch interactions. Using fingers you can squeeze the mesh and deform it. Video: http://vimeo.com/11899479
  67. 67. Cloth Simulation Processing / Traer Physics Latest sketch involved some physics. The two highest points is where the fingers will be. I has to be yet tested on multitouch device. Video: http://vimeo.com/11911657
  68. 68. Exploring by prototyping. Understanding by making. Learning while playing. Simply start making stuff. Right now! Even if you don’t fully understand what you want to do. Just try it, whatever is in your mind. You can’t fully understand something until it’s visible, tangible so don’t wait. Play with it, learn from it observe, fix it or build it again.
  69. 69. Thank you! marcinignac.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×