Smashing Magazine
Beautiful Motion Graphics Created With Programming: Showcase, Tools and Tutorials
When you hear the word “creative”, what type of profession comes to mind? Maybe a graphic designer, painter, sculptor, illustrator, or writer? It’s unlikely that you would consider a “programmer” when thinking of creative fields of work. But programmers have the potential to be creative and come up with ideas or concepts that will impact others in positive ways.
We often turn to programmers to solve mathematical-related problems, but the concept of mathematics in programming is what powers programmers to innovate. When you think of mathematics you imagine numbers, expressions, and equations. But what about art, music, or even beautiful visuals? Those numbers and equations that we often view as mundane and overly-formulaic can generate beautiful visuals and music. This article will present dozens of examples of motion graphics and interactive visuals created with computational code, along with some useful references and resources.
[Offtopic: by the way, did you already get your copy of the Smashing Book?]
Beautiful Motion Graphics Created with Programming
First we’ll look at some examples of beautiful and inspiring motion graphics created by programmers. Some of these are audio-reactive whereas others are data visualization.
Metamorphosis by Glenn Marshall
Swan Lake – Zeno Music Visualiser by Glenn Marshall
Flightpattern by Gwen Vanhee
These beautiful motion graphics were created using ActionScript.
Disco Maths 1 by Stefan Goodchild
Audio Reactive Bubbles by Matthias Dörfelt.
Visualization in 7/4 by Eamae Mirkin
Music Is Math by Glenn Marshall
Audio-generated landscape by flight404
okdeluxe XMAS card 2008 by okdeluxe
Solar, with lyrics. by flight404
Bubbletrouble_2 by Leander Herzog
House of Cards by Radiohead
In Radiohead’s video for “House of Cards”, no cameras or lights were used. Instead, 3D plotting technologies collected information about the shapes and relative distances of objects. The video (directed by James Frost) was created entirely with visualizations of that data.
Shifty by Pedro Mari
Advanced Beauty 13 of 18 by Universal Everything
I Am David Sparkle – Jaded Afghan by Eduardo Omine
Relentless, The REV by flight404
Aphex Twin – Rhubarb by Simon Geilfus
Magnetosphere Revisited by flight404
The Nest That Sailed The Sky by Glenn Marshall
Interpol – Rest My Chemistry Video by Aaron Koblin
Free Applications for Creating Visuals with Computational Code
Processing
Processing is a popular and powerful application for generating visuals using programming. It’s free and open source and uses Java as its coding language. It’s been used in professional, educational, and scientific environments and is available for GNU/Linux, Mac OS X, and Windows. It can also be used for web by embedding as Java applets or through the use of Processing.js, which uses JavaScript to draw shapes and manipulate images using the HTML5 Canvas element. Processing is also available for Java-based mobiles (Mobile Processing).
- Open Processing
Share your sketches online. - Useful Processing Applet Source Codes
A collection of free Java applet source codes. - Processing with Eclipse
If you are an avid Java programmer and have been using Eclipse for your daily routine this would be best way to use Processing, making your workspace comfortable and familiar. Another benefit that Eclipse adds is that you can harness the power of the latest Java IDE.
Quartz Composer
Popular among Mac developers and VJs, Quartz Composer is the simplest application for creating still as well interactive motion graphics. It uses a node-based sequencing visual programming language that takes advantage of the Open GL, JavaScript, Core Image and Core Video devices and other technologies built into Mac OS X. It’s intended for non-programmers and is used by developers to construct user interfaces in conjunction with Cocao and other developer tools bundled in Xcode. It’s also used to create iTunes Music Visualizers.
Using third-party tools like Effect Builder AE and QC Integration FX you can turn your Quartz compositions into plug-ins for professional video editing / motion graphics applications such as Apple Final Cut, Adobe After Effects, Apple Motion, etc., without writing a single line of code. Many professional applications like Pixelmator use Quartz Composer on Mac to generate graphics and this is one of the reasons why some graphics processing application are available only for Mac OS X. As you probably guessed, Quartz Composer is only available for Mac OS X. Users of Mac OS X 10.6 or later can utilize OpenCL in Quartz Composers.
- Quartz Composer Programming Guide
Guide for Quartz Composer. - Quartz Composer Release Notes for Mac OS X v10.6
Highlights major changes to Quartz Composer in Snow Leopard. - Quartz Compositions
Forum dedicated to Quartz Composer users. - Quartz Composer Tutorials
Collection of some of the best Quartz Composer tutorials. - Installing 3rd Party Plug-Ins for Quartz Composer
- Kineme
Kineme offers plug-ins for Quartz Composer, including audio analysis, particle effects, and Kineme3D which can import 3D Models. - Futurismo Zugakousaku
A great collection of Quartz Composer examples. - Sam Kass Blog
Quartz Composer examples that use iSight as an input source for creating real-time effects. - Free Webcam Audio Visualizer
OpenFrameworks
OpenFrameworks is a tool for creating interactive visuals, and is widely used among creative programmers. The user interface is simple and similar to that of Processing. Similar to Processing, it uses libraries, but it’s difficult to find third-party libraries and requires knowledge of C++ programming.
NodeBox
NodeBox is similar to Processing and OpenFrameworks with the only major difference being the programming language used, which is Python. Although NodeBox has a small number of libraries in comparison with Processing, they are of good quality. NodeBox supports PDF, QuickTime movies, fonts and uses the Mac OS X Core Image library for image manipulations (blend modes, color changes, filters etc). NodeBox is available only for Mac OS X.
- NodeBox Library
A collection of libraries, add-ons, and extensions.
VVVV
VVVV is usually used in large media environments like concerts and art installations for real-time motion graphics, video and audio processing and interactive motion graphics. Unlike Quartz Composer, VVVV comes with audio synthesis, 3D Mesh manipulation, and real-time video synthesis built in. It is a powerful application for generating visuals in real-time, even at very high resolution and high frame-rates.
Another important feature of VVVV is that it can make use of multiple computers behaving in sync. All programming and editing can be done on one server computer, while all client computers execute their respective tasks. You can easily use the CPU and GPU power of each computer to do some amazing effects at a cheaper cost. Since VVVV uses DirectX, it’s only available for Windows.
- Strukt
Strukt has done many projects using VVVV, including this beautiful letter universe installation.
eMotion
eMotion is a new free application which can generate real-time as well as offset graphics. It has an awesome text and particle engine which is driven by real-world physics. It is available only for Mac OS X.
Creating Interactive Visuals with Computational Code
Here are some examples demonstrating adding interactivity into visuals.
Graffiti Analysis 2.0 by Evan Roth
Amoeba Dance is built using Quartz Composer. Its not a pre-rendered visual but works totally in real-time mode, controlled using VDMX and is reactive to the audio input.
The Beauty of Fluid Dynamics by Jens Heinen
Beautiful live interactive visual performances. Also watch Lichtfaktor vs Optix and Reincarnation.
Interactive Projection at GAGA Gallery | Laser tag
This project uses powerful lasers to virtually in-script graffiti on tall buildings. The laser is tracked and the graphics are projected in real time. Also check out the Eyewriter project which uses the same technology for helping physically disabled graffiti artists to once again bring their talent back to life. You can take a look at how-to and source code, too.
Digital Graffiti Wall + Stencils by Alex Beim
Another similar version, also built with OpenFrameworks.
Digital Wallpaper by Gregor Hofbauer
Uses VVVV to generate graphics which are then projected and mapped to the wall.
Body Navigation by Ole Kristensen
Amazing example where interactive visuals are projected on to a wall. To add interactivity, everything is tracked using infrared light and cameras.
Hand from Above by Chris O’Shea
An amazing installation built with openFrameworks and openCV. Pedestrians are tickled, stretched, flicked or removed virtually in real-time.
Quadrature by Griduo
The walls of the building are virtually stretched, broken and reconstructed. A similar installation:
Castel Dell’Ovo by Quy & N1ente
A stunning audio-visual performance created by mapping an entire building in a virtual world.
Body Paint by Memo Akten
Beautiful interactive installation which allows performers to paint on a virtual canvas with their body, interpreting gestures and dance into evolving compositions.
Lights on by thesystemis
Created for the Ars Electronica museum, which has a facade that contains 1085 LED controllable windows. The window colors are changed in real time with music that is broadcast on speakers surrounding the building. Visuals are created using openFrameworks.
Vinyl Workout by Theo Watson
A giant record is projected on the floor and it can be played by running around its surface in the direction you want it to go. The speed of playing music is in sync with the speed of the moving person.
Funky Forest – Interactive Ecosystem by Theo Watson
Funky Forest is an interactive installation for children. They can play with the water on floor, grow trees and water it and interact with various creatures. Built using openFrameworks. Also see these other amazing installations: Interactive Mural, Interactive Projection at GAGA Gallery, Guten Touch, Jellyfishes and Interactive Dancers System.
Reverse Shadow Theatre by Gabor Papp
Amazing example in which the code powers the real-time puppet animation. Uses multiple software – Processing, Eyesweb and Animata. Both Eyesweb and Animata are open source, as is Processing. Here Eyesweb handles the motion tracking while Animata takes in the input data from Eyesweb and does the real-time animation. Also watch Jazz Pub.
Tutorials
DIY 3D Scanner by Kyle McDonald
Another great application of computational code.
DaVinci by Razorfish – Emerging Experiences
Apart from producing amazing visual and real-time animations, computational code can give new meaning to human-computer interaction. If you like Microsoft Touch Screen Table then you are sure to like DaVinci. You can interact with a virtual world through a user interface that uses object recognition, real-world physics simulation, and gestural interface design.
London Digital Week by seeper
Multi-touch music sequencer.
Books for Reference
Programming Interactivity: A Designer’s Guide to Processing, Arduino, and Openframeworks by Joshua Noble and Noble Joshua
Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction by Daniel Shiffman
Processing: Creative Coding and Computational Art by Ira Greenberg
Real-Time Motion Graphics with Quartz Composer: A Hands-On Guide to Learning Quartz Composer by Graham Robinson and Surya Buchwald
Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
Algorithms for Visual Design Using the Processing Language by Kostas Terzidis
Visualizing Data by Ben Fry
Resources
- OpenCV
OpenCV is a library of programming functions for real-time computer vision. You can use it for human-computer interaction, object identification, segmentation and recognition, face recognition, gesture recognition, camera and motion tracking, ego motion, motion understanding, stereo and multi-camera calibration and depth computation, and mobile robotics. - Arduino
Open-source software to send signals to the i/o board. - 10 Best Software for Visual Performance Artists
Some of the best professional software for live audio-visual performance - Flickr Group: Processing.org
Collection of graphics created using Processing - Flickr Group: Algorithmic Abstracts
Abstract art created by writing code. - Flickr Group: VVVV
Collection of images created with VVVV. - Flickr Group: Generative Visuals
(ll)
Vailancio Rodrigues, born and currently living in scenic beauty of Goa, spent most of his childhood in art and creativity. At present a college student who likes to try and do different things at every moment. Also a webmaster, web designer and developer.
- 44 Comments
- 1
- 2
February 6th, 2010 6:25 amThank you Vailancio Rodrigues!
I have not heard much about this art.
by the way I love it - 3
February 6th, 2010 6:46 amVery Useful Collection Guys :)
Do check out some powerful motion graphics plugins for some hollywood effects.
http://www.appsheriff.com/software/motion-graphic-plugins-to-create-hollywood-special-effects/ - 4
February 6th, 2010 7:49 amWow. Some of those examples just blew me away… I’m a 3D Arist (well, student) but I’ve done programming before (C++, Java, and Actionscript though none extensively). Can’t wait to give this a try!
- 6
February 6th, 2010 8:09 amVery cool, I quite enjoyed this in depth look to many areas of motion from programming.
- 7
February 6th, 2010 8:12 amAs already said above: Wow! Thanks for collecting all these in one place
- 8
February 6th, 2010 8:31 amHi guys I more into Web than any other thing my brother is really into processing, he told me some cool things can be done for the web with this tool, like interactive an animation stuff you a check out his site is full of information about it an also about programing for architecture and 3d modeling http://designplaygrounds.com
- 9
February 6th, 2010 8:47 amVery very nice work.
- 10
February 6th, 2010 9:53 amI am kind of surprised that ActionScript 3 with Flash Player 10 did not make it into this article. There are many programming artists out there that are using this platform to create some amazing interactive art pieces. The nice thing about AS3 is you do not need Adobe Flash IDE to program it. Flash Develop is an open source IDE that has better functionality than the Flash IDE but it is free!
- 13
February 6th, 2010 11:06 amlooks really nice………
- 14
February 6th, 2010 2:33 pmWow, these are awesome!
- 15
February 6th, 2010 6:50 pmThis is such an amazing medium as it brings the experience of art to a new level. I was just in Seoul where there were many motion graphic pieces located in public spaces around the city and it made me wonder why other cities do not engage the public like this! Thanks for the article!
- 16
February 6th, 2010 10:45 pmThis is amazing ………….
- 17
February 7th, 2010 3:29 amOh wow. I’d heard about this programming language, a friend of mine is doing his Honours study on it, but I hadn’t seen any examples. Fantastic.
- 18
February 7th, 2010 3:33 amWow, very very inspiring artical. I know wat i’m going to do today…
- 19
February 7th, 2010 6:38 amHi,
with a group of friends we have been working on a pretty cool site that allows people to collaboratively create generative art like the examples above using the Processing language – but in a very immediate way and without requiring any downloads: users can browse/copy/edit/share sketches with unprecedented immediacy – all within their browser without downloading a thing.
Some of the works in the gallery are very nice!
The site it’s here, make sure to check it out!
- 20
February 7th, 2010 7:02 am“It’s unlikely that you would consider a “programmer” when thinking of creative fields of work. But programmers have the potential to be creative and come up with ideas or concepts that will impact others in positive ways.”
Programming is actually a highly creative activity. It’s a design activity (as opposed to building activity).
- 21
February 7th, 2010 8:12 amAlso a nice projection with architecture integration
http://vimeo.com/2669170 - 22
February 7th, 2010 12:16 pmNow get us some amazing source code written by designers ; ]
- 23
February 7th, 2010 10:09 pmThis is an absolutely invaluable article. Thank you so much!!
- 24
February 8th, 2010 5:40 amVery nice posting…….keep posting more
- 25
February 8th, 2010 7:35 amWow, this is one of the best posts ever!
Really enjoyed it :)
- 26
February 8th, 2010 8:50 amI love processing. I used it for my senior project… so not as cool but I thought I’d share:
- 27
February 8th, 2010 9:02 amStunning info. I was searching for something like this for a long time.
Thank you, you saved my life :)
- 28
February 8th, 2010 9:19 amLong time ago i read about processing, but in that time i wasn’t programmer,
now I’ll give it a chance - 29
February 8th, 2010 9:51 amIf anyone wants to play with the onedotzero identity then you can download the app and the source from -> http://code.google.com/p/onedotzero-ident/
thanks
- 30
February 8th, 2010 12:28 pmThose looking to create high performance iTunes visualizers might want to check out VizKit. It works on both Windows and Mac. Here’s the homepage:
http://www.imagomat.de/vizkit/The sample viz that comes with it isn’t all that impressive but you can build some crazy stuff. I used to make a visualizer I call Manifesto. It lives at:
http://blog.insightvr.com/?page_id=57and examples of its 3D mode is at:
http://www.vimeo.com/4033579and one of the 2D modes is at:
http://www.vimeo.com/4033579Of course running it on your own machine always looks better than the screen captures.
My goal for the system was to make it as “reactive” as possible to the music. So if nothing is happening audio wise the visualizer shouldn’t be don’t anything new, and all the changes in color, spin, etc should be determined by the music.
- 31

- 31
- 32
February 8th, 2010 5:18 pmGreat collection. Thanks very much. My Vimeo likes collection just expanded considerably.
- 33
February 9th, 2010 12:10 amTruly amazing visuals from code and math! Makes a programmer like me happy!
- 34
February 9th, 2010 2:18 amI’d like to point out that we’re actively working on NodeBox 2 which has a node-based interface, like Quartz Composer and vvvv. You can create work using existing nodes or adapt built-in nodes using Python.
- 35
February 9th, 2010 2:30 amI would mention shoebot as well, it’s python, it’s cross-platform, it has both gui and command-line interface, it’s syntax-compatible with Nodebox and almost all of nodebox libraries have been ported to shoebot as well.
- 36
February 9th, 2010 3:44 amA nice collection. Programmed motion graphics isn’t new though, and a whole subculture emerged back in the days of C64 etc.: The demoscene. ( http://en.wikipedia.org/wiki/Demoscene )
Most scene productions (ranging from c++ to javascript etc.) can be found from the community archive at http://www.pouet.net . Beware the discussions though, most of them aren’t for the faint of heart :D
- 37
February 9th, 2010 5:22 amNodebox v2 will be available for windows too – take a look in the beta area at the nodebox website …
- 38
February 9th, 2010 9:23 amVery nice collection of projects and tools. Thanks so much for compiling.
I was of the thinking that processing had a steep learning curve. I finally spent some time with it after browsing through this article and picked it up quicker than I expected. The syntax is similar to ActionScript so it was pretty easy to get familiarized with it.
I’m a web developer by day who’s lost time to focus on VJ projects in the last couple years. This article has definitely re-energized me. Thanks for sharing.
Here’s an tutorial I wrote last year on the ArKaos blog explaining how to create some simple audio-reactive animations for use with the VJ app, GrandVJ:
http://www.arkaos.net/blog/2009/09/tips/create-audio-reactive-flash-for-grandvj/ - 39
February 9th, 2010 7:14 pmMy god . It’s so cool , so beautiful !!
- 40
February 10th, 2010 12:28 pmVery nice interactive installation done with vvvv.
- 41
February 12th, 2010 11:12 amMissed one MAJOR entry in the Tools section:
TouchDesigner : http://www.derivative.ca/ - 42
February 13th, 2010 4:48 amAlso promising is the opensource JavaFX tool “Project Mai Tai”:
http://www.projectmaitai.org/ - 43
February 14th, 2010 9:45 pmWow! Awesome article!! You’ve definitely put a lot of time and research into this. Makes learning java very tempting haha.
Great work!!
- 44
February 15th, 2010 11:07 pmawesome article. amazing
Leave a Comment
Make sure you enter the * required information where indicated. Please also rate the article as it will help us decide future content and posts. Comments are moderated – and rel="nofollow" is in use. Please no link dropping, no keywords or domains as names; do not spam, and do not advertise!
- Fresh on SmashingMag: Designing and Producing Creative Business Cards: Techniques and Details - http://bit.ly/ceOKDd
- Google Instant Search Is Released - http://bit.ly/drRq8U
- Web Project: Weighing Cost vs Speed vs Quality - http://bit.ly/ap9IIl
- CSS3Menu: create CSS3-based menus with this free library - http://bit.ly/bJfj1l
- Web Wireframe Kit (a free PSD file) - http://bit.ly/d14tll
- A step to be ahead: start designing for mobile devices - http://bit.ly/dv6DQN
- @rafiuske thank you :-)
- Showcase: Textures in Web Design - http://bit.ly/cloLIr
- New Cartoon on SmashingMag: Ping Without Pong - http://bit.ly/b7SNmE
- New on SmashingMag: Designing and Producing Creative Business Cards: Techniques and Details - http://su.pr/1HrRO6 (please RT)






























































What a beautiful article!! Simply amazing!!