The Living City
The Living City

Thursday, June 9, 2011

Summary of my Experiments and their Findings

Rather than being distinct, the experiments at times melded in with one another conceptually. So, I'll describe them individually, but you'll likely see some overlap. To save on words, I'll also state here that many of the experiments served a secondary purpose of improving my programming skills.



Experiment 1 Programming Forms that React to Occupants in Unity3D
Purposes: Check feasibility of hosting a 3D model of a building on this blog that users can walk through and experience. Program forms that can dynamically react to someone's presence.
Observations:
  • It's possible to host a 3D model of a building on this blog, and users can walk through and experience it. Graphically not as pleasing or realistic as the Crysis Engine, but portability and formal nature somewhat balances this. Custom shaders could be downloaded and used to improve the aesthetic.
  • Forms reacted to someone's presence, but are too abstract for now so were left as ethereal blocks. This idea could prove useful and interesting for seeing realtime sections of building spaces.

Experiment 2 Evolution with Javascript
Purposes: Familiarise myself with concepts of evolution and encapsulating them through Javascript.
Observations:
  • Evolution was fairly simple to encapsulate, though the script started to get a little messy from a bit of design-as-you-code that was inevitable in this circumstance.
  • Russell commented that it the fine structure and processes behind the evolution weren't really being shown, so that could stand revision.

Experiment 3 Generating Forms in Grasshopper
Purposes: Familiarise myself with Grasshopper and Rhino for later use in evolving a building.
Observations:
  • After to referring to a few video tutorials online, some examples from Jeremy Harkins that Russell suggested, and doing a ton of trial-and-error modelling, I can safely say I'm fairly confident in Grasshopper now. It definitely seems promising to use in the coming semester!

Experiment 4 Growth and Evolution with Javascript
Purposes: Familiarise myself with concepts of evolution and encapsulating them through Javascript. Show fine structure and processes behind the evolution.
Observations:
  • Evolution wasn't successfully encapsulated this time, since I spent too much time trying to get the aesthetic both pleasing and simple enough for the canvas to render (quite a mission given the poor canvas support from most browser versions!).
  • HTML5 seems not to be as well-supported as needed by most browsers yet.

Experiment 5 Evolutionary Algorithms in Grasshopper: City Generation
Purposes: Familiarise myself with Grasshopper and Rhino. Seeing if I can produce something that looks convincingly like a city to test my understanding of city form and development.
Observations:
  • This was my favourite experiment of all, and perhaps the most challenging. The main issues I faced related to caveats of Rhino and Grasshopper functionality, some of which needed workarounds with VBScript components. For example, when offsetting a curve, there's no way to tell Rhino or Grasshopper to expand or contract it, so you just need to try an offset and see if the curve is longer or shorter than the original. The other issue was to do with iterating over trees and lists, and was solved with a Graft component.
  • Convincing city forms were successfully being generated, though the subdivision method for city blocks could do with improvement.
  • After reading through relevant information about evolution, I've got my head around how the Galapagos evolutionary solver component works, and tried it out with the city generator to optimise increasing city GFA against minimising total building footprint area, all while keeping plan areas within reasonable bounds. I'll definitely be involving Grasshopper in next semester's form generation.

Experiment 6 Viewing Sydney through Information Technology (Yahoo Pipes)
Purposes: Familiarise myself with Yahoo Pipes and see if it will prove useful as a design informant to look into the life of Sydney as a kind of living, dynamically changing organism.
Observations:
  • As a feed processor and design informant, Yahoo Pipes shows promise, but as it stands it's lacking in some basic areas of streamlined functionality (eg, the process of filtering out everything but the tags and images from a feed seems needlessly complicated, and getting results from the pipe sometimes requires clicking on each "element" in turn and waiting for it to do its processing.)
  • Over all, I think I can work a little with Yahoo Pipes, but I don't think it would be a good idea to rely on it too heavily.

Experiment 7 Retrieving Information Updated in Real Time with Yahoo Pipes and Processing it for Viewing
Purposes: Develop a means by which to view a collection of snapshots of Sydney found uploaded online; this collection will inform the range of lifestyles and events that a building might potentially be host to and exposed to. Ideally, this data representation will also be aesthetically pleasing.
Observations:
  • Once a Yahoo Pipe is constructed, it works pleasingly well and simply. Remotely extracting information from a Pipe proved fairly easy, needing only a bit of custom Javascript and HTML. Shuffling the results to reduce instances of contiguously-themed blocks of data was simple, too, thanks to a little Googling.
  • With some Javascript and CSS, a pleasing set of images were produced on a grid, which looks somewhat aesthetically pleasing.
  • To get a good snapshot of the city, it would be best to retrieve images from as many sources as possible to get a larger sample population. This means scouring the internet for image feeds.

No comments:

Post a Comment