Creative Art

Concept:

For this assignment, I started by exploring different types of computer graphics art that are possible to create, and I was fascinated by how much we could create and design by coding. From the book “Computer Graphics and Art,” I found the following pieces interesting and went on exploring different methods along this line.

 

 

 

Code and thought process:

To recreate this, I explored many functions which include, the noice(), translation(), and rotate() functions. Well, it took me a time to understand how to use the noice function worked in 1d, 2d, and 3d, and how to add proper resolution scale to smoothen it, but I believe it is one of the best functions that could be used. Following are some of the arts that I created.

 

 

 

 

After exploring different methods I could use I wanted to create something interactive but at the same time aesthethic so finally I created the following. I am part of that code that allows the mouse interaction.

Reflection& Ideas for improvements :

I would exploring and learning so much in this assignment, although one of the main obstruction for me in completing the assignmnet was that I lost my code when I completed most of it and thus had to start over. But over all was an amazing process. I could definitely could improve this by adding 3D rendering or to give an aesthethic look, by adding more shapes and a gradient background.

Let’s Party

Overall Experience
Even though I am a CS major, I started my coding journey only after coming to NYUAD. But all the CS courses I have taken so far don’t involve a creative expression of thoughts and imagination, but this course started off itself with an interesting assignment – to code a self-portrait. I wanted my self-portrait to reflect my vibes, so I wanted the theme to be related to a party.

Process and Progress
Initially, I just explored different functions and methods that I could use to make my theme alive. So, I added a colorful dance floor, for which I used 2d arrays to arrange the rectangles and then used drawingContext.shadowBlur to give a realistic shadow effect, which turned out good. Then I wanted the background to shine, like with lights, so I added little white ellipses in the background.

function disco(Y) {
  for (let x = 0; x <= 600; x += 30) {
    for (let y = Y; y <= 400; y += 30) {
      drawingContext.shadowBlur = 20;
      drawingContext.shadowColor = color(random(255));
      fill(random(255), random(255), y);
      rect(x, y, 30, 30);
    }
  }
}

function sparkle() {
  fill(255);
  noStroke();
  for (let i = 0; i < 100; i++) {
    ellipse(random(width), random(height), random(1, 6));
  }
}

As for drawing myself, in the beginning, the task was to identify which shapes would be the best to use and understand how to use them – rectangles, circles, triangles, ellipses, Bezier curves, Bezier vertices, curves, and arcs. Using Bezier curves and vertices was my favorite. The most difficult part for me was the arms to have two parts of the arm properly rotate. I explored the constrain function and used it to constrain the arms to a region. At first, I found it hard to get the logic on how I could use this function to constrain the parts of the arm and rotate them properly. But I am happy I could figure that out in the end.

function moveHands() {
  strokeWeight(20);
  stroke(25);

  //left arm
  line(245, 180, constrain(mouseX - 70, 175, 325), constrain(mouseY, 150, 250));
  line(
    constrain(mouseX - 70, 175, 325),
    constrain(mouseY, 150, 250),
    constrain(mouseX, 150, 350),
    constrain(mouseY + 10, 50, 300)
  );

  //right arm
  line(
    width - 250,
    180,
    constrain(mouseX + 70, 325, 425),
    constrain(mouseY, 150, 250)
  );
  line(
    constrain(mouseX + 70, 325, 425),
    constrain(mouseY, 150, 250),
    constrain(mouseX, 250, 450),
    constrain(mouseY + 10, 50, 300)
  );

  strokeWeight(1);
  noStroke();
}

Reflection
There is so much more to learn and explore that I can never say my project is fully perfect. Each time I found something or tried something, I kept feeling that I should expand my project more and more. I looked forward to exploring much more in this class and letting my creative side explore.