A small corner of my house
I need professional help.
A small corner of my house
I need professional help.
There are similar projects to Autoarchitect. They usually approach the problem from slightly different perspectives. For this post, I will be talking about some of them, in addition to some related research.
In his book, Friedman mentions a proposal for what he calls an "apartment writer". He cites the Tyranny of the Architect, the tendency of architects to advance their own ego over their client's needs, as a major problem, and proposes a new task for Architects and Planners. Mainly this: design should be treated like a restaurant menu, where there is a repertoire of architectural elements the client can pick and choose from. Every item has a warning that is either the food combination or the price. The role of the Architect becomes like the Chef in that analogy: to organize and curate the repertoire. Here it is in Yona Friedman's own words:
Other authors have echoed Friedman's sentiment, like Nicholas Negroponte in Soft Architecture Machines (a part of which Friedman introduced). Negroponte frames it under the title User Participation in Design. He separates the field of user participation into 3 categories: more info, more advocacy, and the part least protective of "professionalism", citing Friedman: control. The two categories are not really considered participation. He likens the traditional architect-client relationship as Paternalistic, as follows:
A Pattern Language, published in the late 70's by Christopher Alexander, tried to envision a brave new world for Architecture. It defined a series of "patterns", or rule sets, that encapsulate what is according to him good design principles. It encapsulates Architecture, and by extension any design process, into a series of individually and scientifically testable rules, which can be taught and expanded on and adapted. While the book was more or less a dud in mainstream architectural circles, it became a huge influence on the field of software design. Coders and designers came to define their own design patterns and use them as a guide for good and efficient software design. One programmer, Bruno Postle, figured he should take the idea back to Architecture through an algorithm called Urb.
Postle used genetic algorithms to produce plans and designs for residential houses, using Alexander's patterns as fit criteria. In other words, the algorithm generates thousands of house designs then basically picks the one that satisfies Alexander's patterns the most. Every individual pattern was assigned a score, and each generation was scored by all the patterns, and all the scores were multiplied. The higher the product, the better the house is in theory. The algorithm, when applied to generate cities, seems successful as replicated traditional house designs. The project is written in Perl (for some reason) and is open sourced. It can be found in its homepage.
This is an attempt to solve the problem that most houses designed are designed without paying attention to the eventual resident. The only party with input into the design is the developer, whose best interest lies in having the exact same design for all the houses they build. HAS tries to find a compromise between developers' needs and clients' needs, by creating a a mass-customizable house design that can be customized by the buyer using very simple criteria, such as the shape of the site, the existence of a car, and so on. This affects items like how long the rooms are, the angle of certain joints, the number of floors, all within a ready design structural system that can apply to all these solutions. More details about the process can be found in their website.
To end this post, I would like you to ponder this quote, while thinking about the status of typesetting in today's world:
The images from the article came from the books and websites mentioned just before.
Riyadh is the capital of Saudi Arabia, with a population of 5.7 million. It is one of the least dense cities in the world, at 2,500 /sq.mi. (Dubai is 6,863. Istanbul 7,060. Los Angeles 3,189. Chicago 11,864.) There is no public transport available, but they are working on it.
Yet for a city with so little density and that is literally in the middle of the desert, it is currently in an ongoing housing crisis. 50% of residential units are of the typical "villa" type, which means a walled, but not wall to wall, 2.5-story house. Land available to buy and build is too scarce, leading to an increase in prices as the demand for houses rises, while income remains largely the same. Land that is available for sale to build on is becoming smaller and smaller.
This has prompted a research project in my first semester in SAIC : an investigation on how Houses grow. Starting from the simple observation about how houses of the Middle East grew historically with their families, I speculated into how could that be applied to the Riyadh houses of today. It started with an analysis of a typical Riyadh house and the rules and patterns that generally govern it. The rules had to written in a way that allowed potential extendability in the future.
In addition to speculation about how could a single house grow and how the neighborhood would grow with it. For the case study, I took the house I grew up in, and imagines a past and a future for its extendability, spaced over the typical growth of a Saudi family, based on a study by an undergraduate classmate, Ahmad Alfarhan.
Eventually, this the original exercise led to the first prototype of Autoarchitect. A genetic algorithm was created to design house based on the number of family members, and a typical program based on earlier research. The prototype, while not including doors and windows and staircases, accounted well for rooms that intersect with each other and sent rooms up to the second floor as needed. The only problem is that it took a long time and the result was nowhere useable.
This was, in a nutshell, the first version of Autoarchitect. In the next blog post I will share some of prior art and some of the writing on the subject that influenced me then and later.
At the heart of the geometric function of Autoarchitect is the Room class and the Pull function. While this is still "at flux", the Pull Loop works as intended. It looks for Rooms that are marked as "Adjacent", based on a previous setting where it pairs rooms according to an adjacency rule. In this file, there are three Rooms, all are adjacent to each other. Throw them randomly in the Rhino space, and the code arranges them neatly next each other.
You will find that Room 2 and Room 3 intersect sometimes. This is intended to be fixed by a later Push Loop, which I have not implemented yet. I figured I might want to register the code here for prosperity.
You can download the Grasshopper file where this is implemented here.