Project

Thinking like a Computer: Drawing Activities (Prototype)

Eva Smerekanych

Can computer graphics algorithms be taught through drawing?

In this prototypical activity book, we present the steps of four computer graphics algorithms in a fun, lightweight, friendly series of drawing activities. Our goal is to create an introduction to highly technical topics in an inviting way, encouraging the view of computation as a creative medium and spreading understanding of computational craft and thinking in an approachable form.

Background

In the Spring of 2022, while preparing the syllabus for Future Sketches’ fall lecture on Drawing and Computation, an adjacent idea popped into mind: Without coding, can we teach the steps and logic of computer graphics algorithms by drawing them out by hand? Can we do this in a fun, engaging, and lightweight way? What if we turned computer graphics algorithms into a coloring book?

In creative coding, computer graphics algorithms are the underlying logic that is used to create visual artistic outputs of digital art. Getting through learning the syntax of computer programming languages can sometimes be initially off-putting and intimidating. It also requires getting past a steep learning curve to be able to learn the logic of a specific computer graphics algorithm, write the code necessary to implement that algorithm, and then visually see the output it creates. What if we could provide an earlier, more introductory step to learning this logic and way of thinking through the lightweight lens of a coloring book? This is where the idea to create and design a “coloring book” of computer graphics algorithms started. 

Over the Summer of 2022, we made progress on this idea by designing four prototypical drawing activities that present the logic of four computer graphics algorithms– the Voronoi algorithm, the Quadtree algorithm, the Gaussian blur algorithm, and the Delaunay Triangulation algorithm– broken down into instructional drawing steps. These four drawing activities are available for download here as PDFs. 

Our ultimate goal is to create a range of coloring/drawing-based activities around this idea and publish them as a thoughtfully designed activity or coloring book. Our overall desire and goal is to show how computer science can be used for creative expression and to introduce this idea to the wider public through the low-stakes, friendly, more approachable medium of drawing. 

Workshop and Drawing Activity Outputs

Thank you to fellow researcher Raechel Walker of the Personal Robots Group for inviting us to give a workshop for her students with our drawing activities!

The Process

These four prototypical drawing activities were created by Eva Smerekanych (Future Sketches  Summer 2022 UROP) under the advisement of Chelsi Alise Cocking. Below, Eva gives a recap on her experience as a summer UROP and what it was like creating these algorithmic drawing activities: 

Eva's Recap

This summer, as a UROP in the Media Lab’s Future Sketches group, I investigated several algorithms that are utilized in computer graphics. These algorithms often result in beautiful visuals and require minimal coding knowledge to understand. I was interested in developing a set of activities that could introduce new coders to the exciting world of computer graphics without the stress of needing to understand complicated code. This led to the development of four drawing activities, each touching on the mathematics behind a different feature in computer graphics. My aim was to encourage high school students, college students, or anyone new to coding with an interest in graphics to learn more about how a computer “thinks” in a fun and engaging way.


There are hundreds of important graphics algorithms out there. For this project, I chose four that I found particularly engaging and aesthetically pleasing. Below are some descriptions and examples of each algorithm and why they’re important. You can find all four of the drawing activities I developed above in this post!


Quad Tree Compression

When storing information about images, it is desirable to compress the image in order to minimize the required amount of memory used up by a single image. Quad tree compression is one method for doing so. Rather than keep track of every single pixel’s RGB value, we can break the image into “chunks” that separate distinct data features. This could take the form of breaking an image down by color, such as defining red regions, black regions, and white regions on a photo of, say, a penguin wearing a red scarf. It could also take the form of separating several data points into their own classifications. Essentially, quad tree compression prioritizes areas of dense data and quickly glances over regions where little data is present. 

Delauney Triangulation

When a software must render a three-dimensional object it can be quite memory-intensive to keep track of complicated shapes and forms. This can cause the GPU (graphics processing unit) to work slower, and less effectively. To combat this, computers will simplify complicated forms into lots of smaller, simple shapes, like triangles. For instance, when one is playing a video game where a hilly landscape must be rendered in realtime behind the players, it is much easier for the computer to quickly draw a bunch of triangles that resemble a hill, rather than a photorealistic hill. Delauney triangulations are a specific kind of geometric simplification that optimized the shapes of the triangles in relation to the form to be modeled.

Gaussian Blur

If you’ve ever used Photoshop or another photo editing software to make a photo blurry for artistic purposes, chances are that you’ve used a “Gaussian” blur (pronounced “gow-sian”). Have you ever wondered how computers create that blurry, underwater-looking effect? It’s all math! In a Gaussian blur, each pixel in the original image is “smudged” by mixing it with colors from its surrounding neighbors. The trick is that not all of the pixels get smudged by the same amount. Rather, a pixel's neighbors are given weighted impact according to a Gaussian bell curve (hence why it’s called a Gaussian blur!). 

Voronoi Diagrams

Voronoi diagrams appear all the time in nature, from volcanic rock to bee hives to mud flats. These unique and beautiful partitions separate data points into their own optimally spaced regions. Computers can then make decisions on how to operate on data points based on which region they fall into. Voronoi diagrams also show up in a variety of applications, such as biology and astrophysics!

You can explore these beautiful geometric phenomena more with the four drawing activities I created this summer. These activities are meant to be a fun introduction to the theory behind computer graphics algorithms in an interactive and low-stress environment. So grab a pencil and have fun!

Grab a pencil and have fun!