Sketching in Code

  • 3,532 views
Uploaded 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.

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.

More in: Design , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,532
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
81
Comments
0
Likes
9

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. Me, 27, programmer, designer, artist I live and work in Copenhagen, DK
  • 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. Environment Code editor. Set of basic libraries. Script compiler. Application and applet exporter.
  • 5. Programming Language Beginner Basic scripting. Static images.
  • 6. Programming Language Intermediate Functions. Draw loop is executed every frame. Easy acces to keyboard and mouse for interaction.
  • 7. Programming Language Advanced Modularity. Classes. External libraries.
  • 8. Programming Language Expert Eclipse. Beside better code editor it’s easier to manage your code and writing your own libraries.
  • 9. Open Source Community http://processing.org - forum, examples http://openProcessing.org - gallery of projects with source code
  • 10. Open Source Libraries 3rd party libraries can provide us with better video handling, more advanced 3d, procedural geometry or physics.
  • 11. Cross-platform Java: Linux, Mac, Mobile, PC
  • 12. Cross-platform Android (Photo by creativeapplications.net) More: http://android.processing.org/
  • 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. Example Projects Why I called it multimedia or interactive media programming language.
  • 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. Media ... and some more contemporary stuff like video and interactive installations.
  • 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. Motion Tracking Recorded image is processed and moving objects are detected to termine their distance to the target.
  • 19. Context The art work was exhibited in a abandoned building in the center of Poznan.
  • 20. My Mother Video: http://vimeo.com/666152
  • 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. 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. Wii Remote Controlling device for Nintendo Wii was an obvious choice. It has bluetooth connection and motion sensors.
  • 24. Recording
  • 25. Darwiin Remote We used DarwiinRemote to connect to the Wii Remote via Bluetooth and record the data.
  • 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. 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. Demo I made an interactive application to explore different possibilited and parameters. Video: http://vimeo.com/1905763
  • 29. Final posters Three final designs were made.
  • 30. Exhibition All the posters were exhibited at Danish Design School at the end of 2 weeks course. (Photo by toujjval / Flickr)
  • 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. Have Fun My first Wii Remote test :) “White brick in space”
  • 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. 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. Second version was able to export 3d models. It was still limited to one 2d plane though.
  • 36. Final version was fully capable of drawing in 3d. It was controlled by both mouse or Wii Remote.
  • 37. Computational Design Some of the designs were even printed in 3d.
  • 38. 3D Print
  • 39. 3D Print
  • 40. Serial Port External Hardware Processing can be very easily connected to external hardware. For example throught serial port.
  • 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. 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. Wi-Fi External Hardware Another possibility is to use Internet / WiFi connection.
  • 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. Realtime, everytime. In september 2009 I joined shiftcontrol studios (http://shiftcontrol.dk/)
  • 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. Live Visuals DR P3 Guld’09
  • 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. Projection Mapping
  • 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. Projection Mapping The bigger the projection angle the more image is distored.
  • 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. Experiments in the studio Audio reactive bars on the pipes in our studio. Video: http://vimeo.com/7504037
  • 54. Experiments in the studio Sun ‘behind’ the pipes. Video: http://vimeo.com/7504182
  • 55. Projection Mapping Sun’s trick explained. In the places where there are pipes we simply display black color.
  • 56. Experiments in the studio Some more advanced masking. Video: http://vimeo.com/7504276
  • 57. Experiments in the studio I use just one projector here. Video: http://vimeo.com/7630261
  • 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. Mapping Setup I designed software that allowed me to map particular sides of the cubes and display animations on them.
  • 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. ProjectedQuads More & Source Code: http://marcinignac.com/blog/2010/01/31/projectedquads-source- code/
  • 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. Keep everything Save all ideas / code. You never know when you will need to go back to an older version.
  • 64. Dynamic Identity In our latest project we are looking at properties of paper and how this style can be replicated in code.
  • 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. 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. 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. 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. Thank you! marcinignac.com