Last week I used my initial concept map and brainstorm to identify and further articulate 4 ideas for projects that seemed like good candidates for my thesis.  This week my goal was to narrow my focus further by selecting among those ideas and start the development process.

Building a tool to expand my artistic practice

While it was useful to brainstorm and I was amazed that I came up with so many project ideas that I hope to return to, I find that I still find myself drawn to working on the project that I identified as GeoComposer last week.  I came into the year (and in fact applied to Low-Res IMA) with the hope of finding the time and space to work on this project and I think I would regret it if I didn’t take advantage of the time and resources available now to do so.

The project is one that grows out of a slow but intense burn that began more than 15 years ago when I first found myself exploring Geometer’s Sketchpad while working as a technology facilitator after graduating with a BA in Mathematics. I was immediately drawn in by the interactivity of dynamic geometry software and couldn’t believe I hadn’t been aware of it while I was learning mathematics in college (though it was relatively new at the time).  Over time the exploration of mathematics and demonstration of ideas slowly morphed into a more open-ended and free flowing exploration of digital art using the tools available in the software.

Eventually I happened upon a particular kind of design process using the iteration tool that felt like something a little different than other things that I had seen and proved to be an engaging and  generative method.  I have been creating sketches entirely within the software off and on for years now as I explore the possibilities of this type of design and have dozens of examples.  Here are a few samples:

As I continued to work in this medium, I became frustrated with the limitations built into the tools.  Geometer’s Sketchpad wasn’t designed with this technique in mind nor as a tool for artistic practice.  That is where the idea for this project came from, a desire to develop a way to push this process in new mathematical and artistic directions.

Though I am hopeful that others will find pleasure and delight in using this tool/interactive experience that I’m creating, I am first and foremost doing this project to expand my own understanding of the underlying concepts behind these sketches that I’ve made and the creative freedom to take them in other interesting directions.  I want to make something that I will personally continue to use and build on in the future.

I think being honest and upfront about this will help guide my decision making and keep me motivated throughout the thesis process.

Starting on an initial prototype

I have begun to work on an initial rough prototype in p5 with the goal of creating a minimalist dynamic geometry environment with the ability to define rules for procedurally generating geometry in a recursive manner using a graphical interface.  I think that by working quickly towards a minimum viable product such as this, I will both be able to gauge what sorts of technical challenges I might encounter as well as have something in hand that I can start to experiment with and envision next steps.  Though I don’t have much formal training in software design, I think this approach shares a fair amount with agile software design which, for me as an educator, very much relates to the notion of responsive teaching:

Responsive teaching book

My goal this week was to develop a p5 sketch in which I can create points, lines and circles that are draggable.  I also wanted to be able to create points on existing objects which takes the first step into establishing the kinds of dependency trees that characterize the underlying data structure necessary for a dynamic geometry environment.  I found reviewing Coding Train’s videos (like this one) on Encapsulation, Inheritance and Polymorphism to be useful as I tried to write the sketch by creating classes for these dynamic objects that will make it manageable to add in additional functionality and keep my code modular and readable.  Much more on this in the weeks to come probably as I get into the nitty gritty of trying to create the prototype.

A few experiments

As part of my process for this week, I also began to conduct little mini weekly ‘experiments’ that involve testing out an idea or prototype, gathering data or in some way exploring my topic with other people.  I had one that I planned and one that developed more spontaneously.

First, I decided to have my family pose for an infinite portrait during our weekly Zoom call.  Central to the topic of my project is the idea of iterating a process over and over again.  In many of the pieces I’ve created, I use repeated subdivision of a shape using a scripted geometric construction. I remember playing with video feedback from my family’s camcorder hooked up to our TV in the basement when I was in high school and being amazed by the swirling patterns of color you can get from feedback.  Here is our family photo:

infinite family photo

A few ideas that this experiment brought up for me were:

  1. The color of the photo changes through subsequent iterations through a process that I don’t fully understand (degradation, feedback?) Is there a way to integrate similar changes in appearance across scales as part of the iteration process used in these compositions?
  2. The static image doesn’t capture it but there is a delay as signals find their way through the processing components when you move in front of the camera. A snap of the fingers results in a stuttering hand appearing in each subsequent photo frame and the audio echoing with reverb.  Dynamic geometry software typically updates all at once when dragging points but I wonder what it might look like to introduce delays or lag.

The second experiment was a conversation that I had with a classmate about how some of the ideas and processes at play in these compositions might show up in music production.  I’ve been trying to think about what I’m doing to create these geometries and relate the process to mathematical art or creative processes in other domains.  An early idea that I’m grappling with is what it means to repeat a form or structure at multiple scales vs. repeatedly iterating a function or process. 

This made me want to formulate as general a description of the ‘big idea’ of what is happening here.  The distinction between form and process seems somehow related to the difference between object oriented and functional programming.  I’m pretty new to the idea of functional programming and trying to do some research to wrap my mind around the concept.  At a very general level, I’m interested in a ‘function’ as a system that converts a set of inputs into outputs and what happens when you iterate that function but are able to remap or mix up which inputs are being fed into which ‘input jacks’ for  the next iteration.  I was curious about how this might apply to music production and the use of effects, patches, modules, etc.  Are these tools ever repeated over and over again or used in a strategically alternating fashion?  I chatted a bit with Christina about these things and came across the following two projects that feel very relevant to the kinds of questions I’m asking:

https://tinkersynth.com/

https://fd.baku89.com/

Making a Cornell box

As another assigned experiment this week, we were asked to develop a Cornell box that captures the feelings that we hope our thesis might evoke.

I think that because of where I am in the design process, I struggled a bit starting with the notion of the ‘emotional core’ of the experience I was aiming for.  Instead, I began at a rather conceptual and literal level.  But I was pleased that I found through selection of specific items, the arrangement and the emotional resonance of these particular objects for me began to provide an aesthetic and emotional context.

Here is the box:

cornell box

List of items:

  • My sketchbook
  • Postcard of a Kandinsky painting
  • Crayons
  • Black pen
  • Fine line colored pens
  • Pencil
  • Eraser
  • Pencil sharpener
  • Compass
  • Ruler (straightedge)
  • Digital caliper
  • Tweezers
  • Cuisenaire rods 
  • Red tangram pieces
  • Pocket mirror with infinite regression of the box

I was mostly selecting objects from the categories of ‘art supplies’, ‘sketches and artworks’, ‘math manipulatives’ and ‘measurement and production tools’.  Through putting the box together, I realized that I was trying to find balance between free flowing media and more constrained and controlled processes.  I also very much had the idea of a tool kit in mind but also the idea of decomposing something and laying out it’s pieces in an orderly fashion similar to these kinds of pieces which I very much enjoy:

The idea of the infinitely regressed image at the center grew directly out of my Zoom family portrait for the week and adds both an element of self-reference (I am ‘in’ the box) as well as suggesting the idea of infinity within a finite space.  The idea of the infinite and infinitesimal have always fascinated me.

Two of the comments that came out of our class discussion were that there seemed to be a self-similarity to the arrangement of the items in the box itself and that the vibrancy of the color palette stood out.  I think that Kelsie picking up on the idea of color is an important one because it is often what draws me to a particular piece of art (the colors and the rhythms of the forms) but is also something that I haven’t had much of a chance to experiment with in the stuff that I’ve made so far.  And Steven’s observation of a degree of self-similarity permeating the composition made me realize that I had arranged the objects themselves in a manner similar to the kind of procedural subdivision that a lot of the compositions demonstrate.

Finally, in an attempt to implement some sort of physical kanban board to help structure my work from week to week, I stumbled upon this blog post and have started something similar on my whiteboard:

http://michaelb.org/solo-game-dev-kanban-magic/