Description:
This project consisted of creating a simple work of art using for() or while() loops.
Idea:
For this assignment, I had a hard time coming up with an idea so I decided to take a look at the old computer magazines provided for inspiration. I found an interesting piece of art called “Structure” by Zdenek Sykora in the Computer Graphics and Art Magazine. I really liked the composition and I thought it would accurately represent the use of for loops. While I was coming up with the composition of the artwork, I heard my friend talking about Euphoria and I saw an image. This inspired me to use the color palette represented by this television series.
Challenges:
One of the main challenges in this project was calculating the initial and final angle of the arc. I am still learning how to calculate the angles of the circle to make the arc I want to make. Another significant challenge was coming up with randomizing the colors of the square in the background. After trying to include specific colors in the program I found a website for color palettes. Through this website, I realized that I could get the colors I wanted by keeping the blue and green values in the RGB constant while changing the red value within a specific range.
Process:
For this project, I first tried to recreate several squares using for loops. Then I tried to create several arcs of the same angle and design. After accomplishing this I worked on randomizing the angles of the arcs to have different positions of arcs while maintaining the same size. Finally, I worked on the randomizing of colors for the squares and circles.
Conclusion:
Overall I think I got to practice with the for loop and how to think about two-dimensional art. Also, this project helped me work with random numbers and use RGB colors. Last assignment I mentioned that I struggled with hardcoding. However, I think for this assignment I improved on using more variables instead of constant numbers in my code. Although I haven’t been able to completely fix the habit of hardcoding, I think I have significantly improved in this area. Overall, I really liked the outcome of this project because it resembled perfectly what I wanted to make initially.
int rowofSquares = 10; int lengthofSquares = 60; int colorcircle; void setup(){ size(600, 600); frameRate(0.5); } void draw(){ background(238); for(int y = 0; y < rowofSquares; y++){ for(int x = 0; x < rowofSquares; x++){ color colorsquare = color(int(random(30,180)), 0, 250); fill(colorsquare); noStroke(); rect(lengthofSquares * x, lengthofSquares * y, lengthofSquares, lengthofSquares); } } for(int y = 0; y < rowofSquares; y++){ for(int x = 0; x < rowofSquares; x++){ float r = random(0,4); int position = (int)r; int colorcircle = (255*int(random(0,2))); fill(colorcircle); arc(lengthofSquares * x + lengthofSquares*0.5, lengthofSquares * y + lengthofSquares*0.5, lengthofSquares, lengthofSquares, position*HALF_PI, (position+2)*HALF_PI, CHORD); if(position == 0){ int randpos = int(random(0,2)); if(randpos == 0){ colorcircle = (255*int(random(0,2))); fill(colorcircle); arc(lengthofSquares * x + lengthofSquares*0.5, lengthofSquares * y + lengthofSquares*0.5 , lengthofSquares, lengthofSquares, (position+2)*HALF_PI, (position+4)*HALF_PI, CHORD); } else{ colorcircle = (255*int(random(0,2))); fill(colorcircle); arc(lengthofSquares * x + lengthofSquares*0.5, lengthofSquares * y, lengthofSquares, lengthofSquares, (position)*HALF_PI, (position+2)*HALF_PI, CHORD); } } } } }
Great job on figuring out how to randomize the arc angles, and working with tasteful use of random colors too.