Tag: Scripting
Going off at a tangent
Generating tangents and perpendiculars
Organisation and arrangements
Extrapolating the geometry into structure
Development Axonometric – Three systems meeting – Walls, beams and roof
Python System Breakdown
Development model – reviewing wall to roof connections
Analysing different input curves and the generations
Classifying the spaces created
Implementing forced perspective into the structure
Development model – Full circle – roof begins to inform the plan
Radial structure – rationalising geometry and simplifying connections
Radial structure – integrating the flexible circulation system
Roof curvature – Two curves vs one – how this affects the section through spaces
Analysing the gradient of the roof – walkable vs non-walkable
Full integrated python and grasshopper system
Curves not angles.
Drawing from the research and testing throughout project_01 and _02, I began to compile and implement the system I created in order to give architectural form to the space filling curve that is the dragon curve. The path and control points of the test M1 from project one inform the grid along which both the walls and roof structure are set, thereby enforcing a direct correlation between section and plan. Altering parameters such as thickness, scale and spacing of the walls and roof, with respect to desired lighting, movement, material etc. can easily be navigated as the structure and form are resolved thanks to the connection in plan and section
.
Manipulating the roofscape
After producing the axonometric development drawing , I used this as a snapshot to analyse how the code was generating spaces and controlling circulation. But most importantly to reflect on how the walls, beams and roof were working together through manipulation of the code. I started to alter the logic of the code to create a controlled circulation route through the spaces. By randomly deciding whether to shift a wall and creating an opening, or leave the wall untouched.
I then also explored how different input curves could create different spaces and variations by using the same script.
Below is an example of one of the many unique generations that can be produced on the exact same curve. If used on different input curves I could create even more unique variations.
I started to look at the roof form in more detail by considering how it could vary in different ways to affect the environment and experience of the space below. I would then use this to dictate what spaces could be used for. I considered how the spacing and arrangements could be altered to let through different amounts of light, or no light if you want to project video installations. They could even be used as acoustic buffers in tall spaces. Whilst I was exploring the variations of roof form and the transparency of the walls to shut off and expose views, I still wanted the roof form to appear as one cohesive system.
CONTROLLED UNPREDICTABILITY
I was inspired by the ”calculated randomness” of plans like Fujimoto’s Children’s Center for Psychiatric Rehabilitation, where the programmed elements seems to be randomly shuffled.
With set parameters – conditions for form, construction, utility, site and so on – in combination with automatic randomizing many different propositions of such plans could be generated through programming, and maybe result in finding unexpected configurations.
I created a program that could shuffle objects like walls, rooms, pillars by placing them randomly on a predetermined area and assign each a randomized angle (A_001). This generated plans that was totally random, and though I could change the values of angle and plane, the arrangement of the elements was uncontrollable.
From that I tried to add controlling parameters by using predetermined objects like curves to add a level of intention, though still keeping the randomness of angles (A_002 – A_003).
By constraining the random shuffling within smaller areas the outcome could be further controlled. By using a combination of these two methods (within area and along curve), and experimenting with different types of elements, I could generate outcomes that were generally controlled and still quite unpredictable each time (A_004 – A_007).
I chose the site from the map of future developments of Årsta and Årstafältet. I am intrigued by the crossroads on the field, since I think they can be used as parameters in the system, as one of the constants that can control the randomness.
Going off at a tangent
During my precedent study of spatial configurations, I was particularly interested in how circulation defined the form and organisation of a building and how the building could be treated as a continuous space.
I became particularly interested in the second precedent study and how the continuous space of a building can be subdivided into a sequence of spaces. The subdivision creates different relationships between one another, but also a different relationship between each interior to the exterior of the building. I began by exploring how tangents could be generated along a curve in varying ways to define spaces in between them which either enclose or open.
I then started to evolve these 2D configurations into 3D, by randomly extruding different thicknesses of walls to different heights. To create circulation openings between spaces, or recesses within the walls.
Lastly I created an example of how I could integrate this configuration into the site. I plan to explore how the code could be used to map walls onto topography lines, key geometry or paths within the site to create a series of spaces which are linked to the outside.
Some lines, and some circles…
When looking at configurations of precedents, I found two aspects particularly interesting. One was the direct, linear spaces that appear as occupied pathways, and the other is the overlapping of simple geometries to create a dynamic form.
I feel like the first one is a missed opportunity for some interest or excitement in locations where these paths meet. I began by working with a simple box boundary, dividing the boundary into points and connecting them. These then cross over each other, and I have added circles at the intersections.
By randomising these circles, cleaning up the overlap and forming paths out of the lines, I have created a configuration, which can then be applied to any boundary curve. In 3D, it starts to form something like this:
And finally, an example on site:
Gothic-inspired Vaults
Process:
Script:
Vault variations:
Architectural Renderings:
Booklets:
Process Renderings:
Patterns:
Ribs:
Vaults:
A System for Constrained Aggregation
Rule-Based Component Aggregation with Constrained Rotation, Reflective Symmetry and Collision Detection | September-October 2017
This project resulted in the development of a geometrically general but compositionally constrained system for component aggregation in the Rhinoceros 3D / Python environment. Components and connection points are defined as blocks in Rhinoceros, and parameters for aggregation rules, rotation constraints and levels of symmetry are given as Python variables.
Random Populations and Notations
Random Populations
Studies
Iterative Cursor Growth