What is Processing?
Processing originated from the Aesthetics and Computation Group at the MIT Media Lab in the United States, initiated by Casey Reas and Benjamin Fry. Processing is an open-source programming language that provides an environment for programming images, animations, and sound. Students, artists, designers, architects, researchers, and hobbyists can use Processing for learning, prototyping, and as a production tool. You can learn the basics of computer programming through a visual interface or use it as a software sketchbook and specialized production tool. In addition to other related proprietary software in the field, Processing offers a new choice for artists and designers. The DNA of Processing itself blends art and scientific aspects: rooted in digital art, it simplifies syntax based on the Java language, and possesses cross-platform capabilities.
Who uses Processing?
Processing was initially created specifically for visual interaction and media art design; it is a language developed for artists and designers. In the creative industry, tools can influence the creative process and consequently impact the final outcomes. Each creative professional has one or more tools they excel in.
Currently, various design software such as Photoshop, Illustrator, 3ds MAX, etc., can produce outstanding works. However, the emergence of Processing has made everyone realize once again: programming is not just the work of engineers; it can provide an effective avenue for artists, designers, and anyone interested in using programming to create paintings, animations, and interactions.
Not only designers and artists but also anyone with creativity is no longer confined by the limitations of specific tools and software. With Processing, they can turn their interesting ideas into reality.
What are the benefits of Processing?
Open Source and Simple
The first major hurdle for many beginners may be configuring the development environment and installing the development software. They enthusiastically download the software, only to find out that they need to pay a fee first. After paying the fee and following the tutorial to install, they discover that the operating system is not compatible. Finally, after overcoming compatibility issues and successfully downloading the software, they realize that their computer specifications are inadequate, and the software simply won’t run.
However, when using Processing, there is no need for such concerns. You can easily download the Processing installation package corresponding to mainstream operating systems from the official website. The latest version, compatible with Windows 64-bit operating systems, has a package size of only 122MB. After extracting the Processing installation package, you can simply open the program and start creating without any further worries.
Abundant Resources
The official website of Processing not only provides the software installation package but also offers a wealth of learning resources and reference cases. The website brings together a large community of developers, artists, and creative programmers, facilitating the sharing of code through open discussions of ideas and works. Most of the learning documents and tutorials you need can be easily found here.
Widespread Applications
Despite its small installation package size, Processing has a wide range of applications. It can be used to create web applications, various visual artworks, and can also be combined with platforms such as Arduino, Kinect, OpenCV, etc. to create various artistic installations and exhibition devices for public spaces. We will provide detailed introductions to these applications in the following sections.
What Can Processing Do?
Processing can be summarized with three keywords: programming, visualization, and ease of learning. Therefore, visualization is a traditional artistic project of Processing.
Visualization Artwork
A year of weather visualization for 35 major cities worldwide. Each circle in the image represents a city, and the circle is composed of 365 line segments, with each segment representing the temperature for one day. Rain, snow, and hail are represented by translucent circles. Exceptional visualizations can always provide an immersive experience.
Visual Artwork
The low learning cost and strong visual expressiveness of Processing make it a great companion for artists and designers. Photographers use Processing to generate abstract patterns and incorporate them into portrait photography:
Commercial Advertisement
Using only 50 lines of code in Processing, this style of system was created. By simply importing a still-life image, you can generate a poster in the same style.
Creating Interactive and Exhibition Installations
Processing is a software platform that cannot directly control various interactive hardware on its own. However, with the help of the Arduino platform, Processing can read sensor values and control various hardware entities such as motors, robotic arms, and more.
The combination of Processing and Arduino enables the interaction between graphical interfaces and hardware. Building upon this foundation and integrating with other platforms allows for the realization of more sophisticated interactive effects. For example, adding the OpenCV library (a cross-platform computer vision library) enables advanced graphic processing functions like face recognition. Adding the Kinect library (motion capture, skeleton tracking) allows for the recognition of body movements and interaction. Since it originates from Java, numerous Java libraries can be directly added and utilized, such as Box2D (2D physics engine), Unity (game engine, suitable for real-time rendering in installations), offering the ability to create real-time interactive effects, interesting interactive works, and games.
New York design studio SOFTlab, commissioned by HP, designed a unique interactive light installation called “Volume.” It features numerous responsive mirrors within an interactive cube that can alter the direction of light and sound, reflecting and spatializing the commotion created by surrounding spectators.