Critical Making Reflections, 2D Packing, and Grids in R
#083 Creative Coding / Generative Arts Weekly
Every story follows a pattern. - Seb Reilly
Happy Weekend!
So I wanted to highlight a few passages / lines from the book “The Art of Critical Making” RISD on Creative Practice. The book was a recommendation by a fellow lover of the arts and thought it might be good to highlight some thoughts on the idea of making and art. I highlighted passages, many were validations on thoughts Ive had but find hard to articulate. Others were novel ways to think about things.
Possibilities are tests of endurance, and one must be willing to do something over and over again until it is right or until something else is discovered. But how will we know what “right” is or what discovery looks and feels like? To begin, two main constants must be addressed: one involves identifying and observing underlying rules; the other involves breaking them. (Groundwork, Hirst)
Objects brought to life by a maker return the favor, not only by fostering confidence and vitality but by sharpening personal identity and adding meaning to the experience of consciousness.” (Groundwork, Hirst)
Creativity arises out of the tension between the rules and imagination. (Groundwork, Hirst)
The other constant in the work of art and design is a willingness to break the rules once they are understood—maybe even those that we establish for ourselves. (Groundwork, Hirst)
Those who are willing to just start making something no matter where those steps are leading will go much farther than those who timidly walk a direct line, because every step of the journey amounts to something. (Groundwork, Hirst)
The impulse to draw is not to capture appearance so much as a demand to animate thought. Thus drawing is always beyond perception, the other side of perception. (Conversation: Drawing, Phillips)
“critical thinking, the ability to process and evaluate information while challenging assumptions and employing multiple ways of knowing; and critical making, the process of creating things by altering materials and giving form to ideas.” (Thingking, Dunnigan)
Most works of art do not reveal extensive information at first glance. Instead they appear as puzzles, complex bodies of information that don’t quite make sense. One way to start to derive meaning from what we see is to assign language to form, to name what is visually apparent, exercising observational skills.” (Object Lessons, Blythe)
Thinking evolves and becomes much more concrete through that kind of back and forth. You read. You come up with an understanding of what you’ve read. (Conversation:Materials, Dobson)
A symbol is a story that represents a larger idea or belief. Such “stories” can be as brief as a simple mark or as complex as an overarching identity system that brands a complex organization or corporation. (Graphic Design, Storytelling, and the Making of Meaning, Hitchcock)
Through the practice of talking about your work, you say things you didn’t know you were aware of. It’s important for students to know that talking out loud is another way of thinking, and that new thoughts come out through that process. (Conversation: Critique, Sutton)
Innovation requires thinking and doing at the same time about things we haven’t imagined yet. (Acting into the Unknown, Sharma)
These ideas serve as foundational principles for creative thinking, problem-solving, and developing new perspectives.
Art is often dismissed as an unproductive pursuit.
Many have implied that "there is no value in the practice of creating."
Yet the highlights above reveal fundamental practices that extend far beyond a basic "art" degree.
There are unique ways to interpret and evaluate our surroundings that help us see things differently.
This requires looking beyond the obvious and concrete.
It's about diving beneath surface-level understanding.
While sometimes making is simply about the end product, we often miss the full scope of what we're examining.
Consider bird watching—if you're not familiar with it, you might simply see a bird by its color.
It's a brown or black bird, or maybe you know it's a cardinal.
But when you look deeper, you discover countless varieties, colors, patterns, habits, and behaviors—an endless well of detail.
The same applies to an artist's object and design thinking. There's much more than just technical skill with materials. It's about the process of creating from scratch with a developed idea, illuminating the benefits of seeing things from new perspectives.
Hope you all enjoy some of the following links.
Hope you have a wonderful week!
Chris Ried (generatecoll)
Tutorials, Articles and More
Bitframes
Bitframes is an open source artwork encoded in 32 bytes of data, inspired by punched cards and early computer art. Mint your designs to the blockchain for a small fee, and help crowdfund a documentary film that preserves the history of generative art.
This is a worthwhile crowdfunding project that will document the history of generative art. I'm confident it will be handled with great care.
To participate in the project, you can contribute to the crowdfunding campaign that supports the documentary's creation. Matt (the artist) will select 32 tokens—16 will be distributed through a raffle, and the other 16 will go to the top donors.
Another one of the projects Matt DesLaurier has worked on with Kjetil Golid and Andreas Rau was Patterned Language.
Pattern Language
In Pattern Language, the rich traditions of weaving in Balestrand, Norway meet the technology-driven reality of 2024. Traditional weave patterns drawn from the archive of the Norwegian Travel Museum are juxtaposed with computer icons inspired by 1980s graphical user interfaces and woven into imaginary, computer-generated tapestries.
CMajor - Sound LIbrary
Cmajor is a programming language for writing fast, portable audio software.
You've heard of C, C++, C#, objective-C... well, Cmajor is a C-family language designed specifically for writing DSP signal processing code.
Creating music with code happens all the time. There are many other languages, frameworks that make this happen. But this one is specifically for just music and may just be what you need to start testing it out!
Neuron Fractal
Neuron fractal structures using the new shortest edge path node with geometry nodes in Blender. In this tutorial, learn to create procedural growing fractal tree-like shapes using this node along with edge paths to curves geometry node.
Pixel Art Color Palettes
The Lospec Palette List is a database of palettes for pixel art. We include both palettes that originate from old hardware that could only display a few colors, as well as palettes created by pixel artists specifically for making art.
These palettes are really fun to see and just look over. The above image is one of my favorites as its bright and simple.
Two Dimensional Packing
Initially, I thought this was quite a specific problem, but it happens to have industrial impacts too. How many ads can I fit on this newspaper page? How many shapes can I cut in this piece of wood? How many packages can I fit in the back of a delivery van? Thus, the 2D packing problem has been studied academically too.
This technical article explains how to efficiently pack multiple boxes into a defined space. This packing technique appears frequently in generative art and is particularly useful when working with grid-based layouts, such as website photo galleries.
Shaded Relief Maps in Blender
This guide will help you prepare DEM data using QGIS in order to render 3D looking shaded-relief maps in Blender.
As you have seen from my last couple newsletters I’ve been spending quite a bit of time digging deeper into Blender. Here is another tutorial on creating maps, data art, data visualization using yet another tool.
Generative Art with Grid
The grid package provides the underlying graphics system upon which ggplot2 is built. It’s one of two quite different drawing systems that are included in base R: base graphics and grid. Base graphics has an imperative “pen-on-paper” model: every function immediately draws something on the graphics device. Much like ggplot2 itself, grid takes a more declarative approach where you build up a description of the graphic as an object, which is later rendered. This declarative approach allows us to create objects that exist independently of the graphic device and can be passed around, analysed, and modified. Importantly, parts of a graphical object can refer to other parts, which allows you to do things like define rectangle A to have width equal to the length of text string B, and so on.
Speaking of grids and 2D packing, here is a piece on using R when creating procedural / generative work.
Plant
Plant is a toy language for "branching" drawing. See example or how to write Plant code. It is useful for drawing things like plants.
This specialized language makes it easy to create branching and fractal-like patterns. It shows how developers can build a design system that generates exactly the visual effects they want.
p5.plotSvg
The p5.plotSvg library allows the p5.js creative coding toolkit to generate SVG files specifically tailored for path-based vector output devices like the AxiDraw pen-plotter. Note that p5.plotSvg is not a general-purpose library for importing, exporting, optimizing, or rendering SVG files in p5.js. The p5.plotSvg library is known to be compatible with p5.js v.1.11.1.
And as everyone might already know, Golan Levin (website) released the following package for those of you who use p5. I have yet to use it, so let me know if you like it.
Website | Instagram | Youtube | Behance | Twitter | BuyMeACoffee