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()

In Conversation on Burnaway

I’m honored to be featured on Burnaway‘s interview series, “In Conversation.” I had a great visit with Atlanta-based artist Noah Reyes who somehow distilled my breathless word babble into print: In Conversation with Holland Hopson.

As befits a publication dedicated to art in the American South and the Caribbean, our conversation was mostly about my studio art practice including my contributions to the Tracing Thin Air exhibition and installation with Karen Brummund and Allison Grant, my Loop Line Logics drawings, and assorted text-based works.

If I Hate Fairyland, Feelings….Fruits Basket, Plural (2024) generative computer image plotter print, archival ink on acid-free paper, in process

Read other interviews in the series at https://burnaway.org/articles/interviews/