Genuary 5

Write “Genuary”. Avoid using a font.

I made these letters using the loop drawing algorithm I created for my Loop Line Logics series of plots. The Processing function code is below.

void hhAdjustaLoop(float x, float y, float loopWidth, float loopHeight, float loopLean, float loopEnd) {
  /* draws adjustable loops
   * extra curves added to start and end points to smooth out transitions
   */

  float loopCenter = 0.5 * loopEnd; //calculate center position for the loop proportional to the end point

  //derive anchor and control points - this keeps c1c2 and c3c1 always in the middle
  //in order keep straight lines between control points and prevent kinks
  //curve1
  PVector c1a1 = new PVector(0, 0);
  PVector c1c1 = new PVector(0, 0);
  PVector c1c2 = new PVector(loopCenter, 0);
  //the next PVectors are all assigned dynamically based on loopHeight value
  PVector c1a2 = new PVector(0, 0); //declare a new PVector

  //curve2
  PVector c2c1 = new PVector(0, 0); //declare a new PVector
  PVector c2c2 = new PVector(0, 0); //declare a new PVector
  PVector c2a2 = new PVector(0, 0); //declare a new PVector
  if (loopHeight > 0) {
    c1a2.set(loopCenter+loopWidth+(loopLean*1.0), loopHeight*0.5-(loopLean*0.5));
    c2c1.set(loopCenter+(loopWidth*2.0)+(loopLean*2.0), loopHeight-(loopLean*1.0));
    c2c2.set(loopCenter-(loopWidth*2.0)+(loopLean*2.0), loopHeight+(loopLean*1.0));
    c2a2.set(loopCenter-loopWidth+(loopLean*1.0), loopHeight*0.5+(loopLean*0.5));
  } else {
    c1a2.set(loopCenter+loopWidth+(loopLean*1.0), loopHeight*0.5+(loopLean*0.5));
    c2c1.set(loopCenter+(loopWidth*2.0)+(loopLean*2.0), loopHeight+(loopLean*1.0));
    c2c2.set(loopCenter-(loopWidth*2.0)+(loopLean*2.0), loopHeight-(loopLean*1.0));
    c2a2.set(loopCenter-loopWidth+(loopLean*1.0), loopHeight*0.5-(loopLean*0.5));
  }

  //curve3
  //PVector c3c1 = new PVector(loopCenter-loopWidth+(loopLean*1.0), (loopHeight*0.5)+(loopLean*0.5));
  PVector c3c1 = new PVector(loopCenter, 0);
  PVector c3c2 = new PVector(loopEnd, 0);
  PVector c3a2 = new PVector(loopEnd, 0);

  pushMatrix();
  translate(x, y); //move to starting point
  beginShape();
  vertex(c1a1.x, c1a1.y); //first point
  bezierVertex(c1c1.x, c1c1.y, c1c2.x, c1c2.y, c1a2.x, c1a2.y); //transition from start to center curve
  bezierVertex(c2c1.x, c2c1.y, c2c2.x, c2c2.y, c2a2.x, c2a2.y); //center curve
  bezierVertex(c3c1.x, c3c1.y, c3c2.x, c3c2.y, c3a2.x, c3a2.y); //transition from center curve to end
  endShape();
  popMatrix();
} //end hhAdjustaLoop()

Sound Drawing

Drawing from the third piece in my set at They, Who Sound on Monday 22 November 2021

Many thanks to Nameless Sound, Dave Dove, Thomas Helton, Anthony and Lawndale Arts Center for a great They, Who Sound show in Houston on Monday night! Here’s a guitar-driven drawing created during my set.

I wrote code in Processing to produce these images. Each note I play on the guitar spawns a particle which a traverses the space of the drawing, interacting with virtual gravitational fields.