Lines and rectangles. Much of my work has centered around taking the corners of a rectangle, and moving them around unexpectedly. I could pursue that concept for the rest of my life and barely scratch the surface of all the possibilities. 

Beyond the art, I find the variability deeply inspiring. To look down and see all the things that can be done with the four corners of a rectangle, I wonder about all the variations I can achieve with my own life. After all, I have many more corners than that.

This page will hopefully shed some light on the deceptively simple processes of Thoughts of Meadow.


1 of 3

Each output is a grid of rectangles that has been deformed, calculated in a chess board format, with the white squares you see above being empty. The corners of each rectangle are shared, so when you alter the position of any point, you change the shape of two rectangles simultaneously.

Once the final deformation has been calculated, layers are drawn one at a time leading up to the final result. Each layer is an interpolation of the deformation, which means the first layer is 0% deformed (just the grid), and the final layer is 100% deformed.

Geometric Deformation

Each form has its own behavior and now there are more than a dozen. They were pieced together through a long process of experimentation, and while some of them were intentional, others were brought about by lucky mistakes.

Overall I have been most drawn towards the forms that elicited the most surprise.

The following examples will give a broad sense of the different forms, each of which carries it's own potential for variation.

Make sure to check out the Examples page or the Goerli outputs to see more of what is possible.

Rotations (Form 5)

Here is a quick look at the formula used to calculate the x and y deformation for this form. This isn't meant to be a tutorial, but will hopefully give an idea as to how the outputs are formed. As the process is broken down, you'll see how simple many of the building blocks are, and that the complexity comes from combining those pieces.

xd = cos((float(zc[sp1]) / xs) * ang1) * (px - ox) - sin((float(zc[fp1]) / ys) * ang2) * (py - oy);
yd = sin((float(zc[sp2]) / ys) * ang4) * (px - ox) - cos((float(zc[fp2]) / xs) * ang3) * (py - oy);

Remember that we're not deforming the rectangles directly, but rather the individual corners, which we can just call points. The idea here is to try and rotate each point in the grid around the center of the image based on randomized factors and varying levels of rotation strength.

Each of the variables you see have their own process for being chosen and help to define the variability in this form. The simplest component is the following code.

float(zc[sp1]) / xs) * ang1

Without getting too deep, zc[sp1] will either the x or the y position of the current point. Divide that position by xs (the width of the grid), and you get a percentage to use for interpolation. Multiply that by ang1 (a random angle between 180° and 360°), and you have calculated rotation strength.

When these components are sufficiently random, you create the possibility for the following examples, all of which use the formula above.

1 of 6

Permutations (Forms 6 and 8)

A similar focus on exploring rotations, but with a random origin point.

Form 8 rotates one way and then reverses direction for another pass.

Folds (Form 0, -2, and -3)

Original based on gently folding a piece of paper, these forms aren't as complex but focus on producing satisfying geometric patterns.

1 of 3

Radials (Forms 7, 2, and 1)

Too much variety to properly capture, these forms float between the simpler geometric shapes and more complex three-dimensional structures.

1 of 2


Choosing the right palettes can have a drastic impact on any work of art. Poor choices can restrict the art's potential, but even the best palettes should exist as support for the underlying structure. For 'Thoughts of Meadow', I worked through much of the development either in black and white or using a single, minimal palette in order to really focus on the geometric forms.

Towards the end of the project, I'm able to focus all of my attention on trying out different color choices. Even as I'm writing this, I'm still tinkering and debating on which palettes deserve to make the final cut.

One of the most important things is to see the palettes applied to the same art piece. Here are three examples that only differ by the color choice.

The challenge is to make sure that each palette brings something new to the system while also contributing to a cohesive collection. The simplest test is to see them displayed together.

Beyond that, it's just experimentation. I knew that I wanted some palettes that were limited to just two colors (besides the dark outline color). Since there are two of them in the list of possibilities, I also made them share a color. I think they work extremely as complements to one another.

Many of the color palettes in 'Thoughts of Meadow' were created from scratch, but I still love finding ways to incorporate some of my favorite artists.

I am incredibly fond of the painting 'Nighthawks' by Edward Hopper. Each I look at that painting, I feel compelled to write a story about the people that are inside the diner. There is so much mystery around them, and it felt so aligned to the original inspiration for this project.

So that's where the following palette originated, and I'm really happy with how it looks in this context.

There are different ways that even the same palettes can reveal themselves. For these next two examples, the same palette is used, but it almost doesn't appear that.

In the first one example, the outline color is the darker default, while the second selects from the palette itself. Additionally, the one with the default outline also happened to choose a darker border color.

So while these pieces are similar in form and share a matching color palette, and yet they each have drastically different presentations.