part 1:
part 2:
- Q1: In the reading “Art, Interaction and Engagement” by Ernest Edmonds, he identifies four situations in an interactive artwork: ‘Static’, ‘Dynamic-Passive’, ‘Dynamic-Interactive’ and ‘Dynamic-Interactive(Varying)’. From the exercise you did today which situations you identify in every part you executed? Explain.
I think the things I made today are both static artworks. Because the patterns move by themselves and are not influenced by the context and the user’s action.
- Q2: What is the benefit of using arrays? How might you use arrays in a potential project?
I think the benefit of using arrays is that it can efficiently represent several data of the same type using one object. The data inside the array can be really easy to create by using the for loop, which is really convenient. And it is also really convenient to use data from the array by calling its index.
code:
part 1
int[] colorB = new int[40]; void setup(){ size(800, 800); background(#c7e3ff); for (int i = 0; i < colorB.length; i++){ colorB[i] = i*10; } } void draw(){ background(#c7e3ff); int i =0; for (int column = 0; column < 1000; column += 150){ for (int row = 0; row < 1000; row += 200){ cloud(row,column, 40*abs(1 + sin(millis()/300.0)/4.0), 10, 100, colorB[i]); i += 1; } } } void cloud(int x, int y, float size, int r, int g, float b){ noStroke(); fill(r, g, b); circle(x+size, y, size); circle(x+size/2, y-size/1.8, size); circle(x, y - size/1.2, size); circle(x-size/2, y-size/1.8, size); circle(x-size, y, size); circle(x-size/3, y+size/4, size); circle(x+size/3, y+size/4, size); circle(x, y, size); }
part2:
int[] colorB = new int[8]; int[] posX = new int[8]; int[] posY = new int[8]; float[] speed = new float[8]; void setup() { size(800, 800); background(#c7e3ff); for (int i = 0; i < colorB.length; i++) { colorB[i] = i*36; } for (int i = 0; i < posX.length; i++) { posX[i] = i *-300; } for (int i = 0; i < posY.length; i++) { posY[i] = i*120; } for (int i = 0; i < posY.length; i++) { speed[i] = i* 0.3; } } void draw() { background(#c7e3ff); //println(sin(millis()/300.0)/4.0); for (int i = 0; i < colorB.length; i++) { for (int j = 0; j < colorB.length; j++) { cloud(posX[i], posY[j]+sin(millis()/60.0)*20.0, 30, 10, 100, colorB[i]); float s = speed[j]; posX[i] += s; } } } void cloud(int x, float y, float size, int r, int g, float b) { noStroke(); fill(r, g, b); circle(x+size, y, size); circle(x+size/2, y-size/1.8, size); circle(x, y - size/1.2, size); circle(x-size/2, y-size/1.8, size); circle(x-size, y, size); circle(x-size/3, y+size/4, size); circle(x+size/3, y+size/4, size); circle(x, y, size); }

















