Generative City Artwork
My concept: I was really inspired by the work “Patchwork City 65” by Marilyn Henrion (fig 1), which depicts the development of urbanization. The ever-growing urban landscape is a familiar phenomenon for the majority of us because the migration from rural areas to urban places has skyrocketed last 20 years, significantly affecting the demographics of the countries. In order to accommodate the citizens and the immigrants, the countries are building more and more civil constructions of different levels. I wanted to make a ‘timelapse’ kind of thing, presenting the growth of the urban landscape.
Fig 1.“Patchwork City 65” by Marilyn Henrion
A highlight of the code I am proud of is the code for creating one building at a time and moving it randomly by the X and Z axis in the specified range. Considering the fact that the box which is the 3D object is initially positioned in the center of the canvas and the specific dimensions cannot be given directly for them, I was struggling to move the boxes. Every new box was created at the same point. Because of this, I tried to implement the translation learned in class and the movement has created.
function draw() { orbitControl(); //setting the limits of the range the buildings can be created on the X and Z axis. let randomX = random(-60, 60); let randomZ = random(-50, 50); // creating one building at a time and moving it randomly by the X and Z axis. for (let i=0; i<1; i++){ translate(randomX, 0, randomZ); buildings[i] = new Building(); buildings[i].show(); } }
Embedded sketch
FINAL WORK
Reflection and ideas for future work or improvements: I was trying to make the city develop in a parabolic function so that the highest buildings would be constructed in the center, giving a nice image of the city. However, the parabolic function worked oppositely, meaning that the vertex became the lowest point in the center. So all the high buildings were created from two sides with the low buildings in the center of the canvas. The example of the sketch is attached below. Although I tried to make the function inversely proportional by dividing one by the parabolic function, the outcome wasn’t successful either because the extreme heights in the center were ruining the overall image. Hence, I would like to try to work with the giving the limits on the outcomes of the functions more to achieve the initial idea.
FAILED ATTEMPT (THE PREVIOUS SKETCH IS FINAL, NOT THIS)