top of page

Project Brief: 

Watch the music video for Around the World by Daft Punk. While you’re enjoying the music, think about how each of the different dancers/monsters in the video are like an object. They are similar but have their own behaviors. Create a sketch that has a dance party. Use multiple instances of a class, or create multiple classes and many objects that have their own dance party. Your idea of a dance party may not have actual bodies, but that’s okay. Explore different kinds of ways of creating objects with unique behaviors. Post this on your class site.

The rhythm of this vintage disco music inspired me. I decided to create a dance floor scene and animation which follows it. 

At first, I decide to create floor tiles by using createShapes(). Some tiles will light up following the rhythm by setting up a map and using if statement. 


    let triX = map(cos(frameCount / 5), -1, 1, 50, 255);
    push()
    if(triX > 200){
      fill(random(255), random(10), random(255), 100)
    }
    else{
      fill(30)
   }

Then, I create a DJ table in the middle. In order to give it a 3D feeling, I draw some more shapes behind the rectangle. For the DJ set, I use the arc() function from the clock assignment and animated it based on the frame count to give it a more disco feeling! Of course, the disco stage needs spotlight. So I created two spotlights moving in the middle area. Fill color changes by using random(). 

function createDjset(){
    push();
    noStroke();
   
let Djset = map(sin(frameCount / 5), -1, 1, 50, 255);
    push()
    if(Djset > 200){
      fill(255, 53, 184, 100)
    }
    else{
      fill(70)
    }
    ellipse(335, 350, 50, 20)
    pop();
    push();
   
let Djset1 = map(sin(frameCount / 5), -1, 1, 50, 255);
    if(Djset1 > 200){
      fill(15, 255, 87, 100)
    }
    else{
      fill(70)
    }
    ellipse(400, 350, 50, 20)
    pop();
 

    push();
    strokeWeight(5)
    stroke(0, random(255), random(200));
    let djSet = map(frameCount, 0, 60, 0, 360);
    arc(335, 350, 50, 20, 0, cos(djSet));
    arc(400, 350, 50, 20, 0, sin(djSet));
    pop();

  }

function discoLight(){
  fill(random(255), random(0, 100), random(255), 66);
  noStroke();
 
let triX = map(sin(frameCount / 5), -1, 1, 200, 400);
  arc(triX, 500, 199, 95, 0, PI, OPEN);
  triangle(triX + 100, 500, triX - 100, 500, 100, 0);
  translate(300, 0);
  triangle(triX - 400, 500, triX - 200, 500, 200, 0);

}

 

Using Class{} to create dancers. I decide to use ellipses and rectangles as my dancers. They appear in certain areas and dance around. I also add a Class of low capacity rectangles at the bottom of the stage to represent the reflective light on the floor.

Last but not least, adding drawingContext function for shadows! 

Project display

bottom of page