AFTERWORD

Well done. You’ve reached the end of this book. You’ve come a long way since that first print() function! You’ve used Processing’s Python Mode to delve into randomness, periodic motion, Euclidean vectors, interactivity, and more. You learned how to write code for generating patterns, animations, and data visualizations. You also learned to read in data from CSV and JSON files, and how to structure your programs by using object-orientated programming and modules. If you ever need to refer to the examples in this book, you can access them at https://github.com/tabreturn/processing.py-book/ or look at https://www.nostarch.com/Learn-Python-Visually/. This repository includes solutions to the challenges in each chapter. But there’s plenty more to explore.

Your newly acquired Processing, Python, and creative coding skills are your gateway to programming for an ever-expanding horizon of creative technologies, such as games, the web, augmented/virtual reality, and even visual effects for films. I’ll suggest a few topics here that you might explore next—namely, more advanced Processing techniques, various Python frameworks, and different creative coding environments. Your next big coding project could range from highly expressive (like something you’d see in an art gallery) to highly functional, or anything in between.

You can head in many directions from here. To begin, take a look at other projects for inspiration—investigate how they’re built, the techniques and programming languages involved, and so forth. Peruse the collection of works showcased on the Creative Applications Network website (https://creativeapplications.net/) and elsewhere on the web.

More Python for Processing

Processing has a large community of artists, geeks, tinkerers, designers, researchers, hobbyists, and educators who tend to gather on the official Processing forums at https://discourse.processing.org/. You can chat with community members, get help if you’re stuck, and keep up-to-date with new developments and events. The site includes a dedicated category for Processing.py and a gallery section to share your creations.

The official Python Mode for Processing reference is available at https://py.processing.org/reference/. Each entry includes a description and brief code example. You can also find helpful tutorials in the Tutorials section of the website; the following are topics you may want to explore here:

  • “Images and Pixels” so that you can manipulate graphics on a pixel level. You can even create your very own Photoshop-esque filters this way.
  • Processing’s 3D render mode, “P3D,” for drawing in three dimensions using x-, y-, and z-coordinates, with texture and lighting effects.
  • Processing’s myriad libraries, for physics, GUIs, video, AI, audio, and more. You can find the link to the “Libraries” section on the main Processing page (https://processing.org/). The libraries are built for Processing Java Mode, but it’s possible to get most of them working in Python Mode.

On that last point, you’ll find many useful algorithms written in other languages, especially Processing’s Java Mode. Seek assistance on the forums to help implement those in Python Mode, but after a while, you’ll likely be able to translate Java code to Python by yourself. This also means you can look at Processing Java resources to learn new techniques for your Python Mode sketches.

The Nature of Code is a fantastic book by Daniel Shiffman for Processing’s Java Mode, which you can read online at https://natureofcode.com/book/. It teaches you how to write code to simulate things that occur naturally in the physical world. Topics include vectors, forces, particles systems, physics, autonomous agents, fractals, evolutionary algorithms, and neural networks. You can find Python versions of the tasks at https://github.com/nature-of-code/noc-examples-python/.

More Python

Python is a general-purpose language, suitable for programming AI, games, simulations, web applications, and just about everything in between; for each domain, there are multiple Python libraries and frameworks to explore.

No Starch Press has published several great Python books. For game development, there’s Invent Your Own Computer Games with Python by Al Sweigart. For some geeky fun, there’s Python Playground by Mahesh Venkitachalam, and Impractical Python Projects by Lee Vaughan. Python Crash Course, 2nd edition, by Eric Matthes is an in-depth Python book that also covers some game (Pygame), data visualization (matplotlib), and web (Django) development.

Recall that, at the time of this writing, Python Mode for Processing uses Python 2.7, but I’ve ensured that all the code in this book is Python 3–compatible. You might not even realize the difference when you switch to a Python 3 development environment.

Other Creative Coding Environments

If you’d like to learn a different programming language for creative coding, consider Processing’s Java Mode, as well as Processing variants for JavaScript (p5.js) and Ruby (JRubyArt). Beyond Processing, there’s openFrameworks for creative coding in the C++ language and OPENRNDR for Kotlin. This isn’t everything, but that list should be enough to get you looking in the right places to discover more.

If you want to program devices that can interact with the real world, Arduino provides an open source platform for electronics projects. It’s a relatively cheap, programmable development board that you can connect to sensors, motors, lights, and other electronic components. You can also get your Arduino board talking to your Processing sketches.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.21.158.148