1
Final Presentation BK7083
Gaudí Invers
Coby Bianco
Tan Đao
Walter Kahn
Thijs Kroft
2
3
Contents
4
Analysis
5
Starting Principle: Compact city
Inner City Densification:
Increase building area density by increasing building height
Livening up the surface level facade:�offering space on the groundfloor for different functions creating more of a relation with the street
Closeness of greenery:
Creating more green spaces throughout the city
Stacking functions:
Intermixing urban density through the creation of multi functional buildings
Mobility:
Decreasing car usage by providing better options
6
Starting Principle: Healthy city
Exercise:
Make and keep spaces available for outside exercise
Rotterdam city of bikes:
Boost bike usage by requiring good public and private bike parking
Balance between Red and Green:
Incorperate green spaces throughout the city
Balance between noise and quiet:
All homes should have a quiet side
7
Starting Principle: Inclusive city
Accessibility for all:
Create entrances for all able and unable people
Use of public spaces:
Use public spaces for events at building and neighborhood level
Assisted living:
Combining able and un-able living situations
Space for citizen initiatives:
Allow for the use of public spaces to increase inclusivity in the city
Safe streets:
Making sure all people feel safe throughout the city by ensuring less eye-less corridors
8
Starting Principle: Environmental city
Energy from roofs:
Using as much roof surface as possible for energy collection
Circular usage:
Design buildings with the intent to reduce, reuse and recycle existing materials
Electric car usage:
Providing Electric charging points
Repair Cafe:
Providing repair spaces for the reuse of clothing and furniture
9
Starting Principle: Productive city
City streets:
Streets where commerce and offices are mixed
Growth for small companies:
Providing ample spaces for start-ups to grow
Work and meet places:
Satisfying the need for co-working spaces throughout the city
Maker spaces:
Access to tools and machines for creative productivity
Affordable workspaces:
Creating affordable working spaces for small start-up companies
10
Maps
11
Sources:
12
Flowchart
Planning
Configuring
Massing
Shaping
13
Design Ambitions
14
Agents
Housing
Building facilities
Semi-public
Public
15
16
Notable design
Process choices
17
Initial connection graph: Network X
18
Connection graph/ Metro diagram
19
Relationship chart
20
Function relations and Weights
Importance of relationship
1. Unimportant
2. Little importance
3. Moderate
4. Important
5. Very important
Adjacency Matrix
X linked
21
Preference matrix
22
Scripts
23
Voxelization
High and low
23
Details:
Low res voxelization�3.780 voxels
4.2 x 4.2 x 9.6 voxel
Details:
high res voxelization�79.056 voxels
1.4 x 1.4 x 3.2 voxel
24
Static Fields
25
Street Point Creation
25
1 > Get x_min, x_max, y_min, y_max of the envelope
2 > Create points in the range ([x_min, x_max], [y_min, y_max])
3 > Add offsets in the range above for variations
26
Street Distance
26
1 > Create street points (from previous slide)
2 > Find voxels closest to the street points (normally the ground façade voxels)
3 > Set those voxel values to 0 and the rest to infinity
4 > Use breath first search traversal to find the distance of the rest of the voxels to the voxels closest to the street points
27
Loudness/ Noise
27
1 > Create street points (from previous slide)
2 > Create football field noise
3 > Calculate the distance from each voxel to every noise points
4 > Normalize
28
Football field distance
28
1 > Create football field points
2 > Use the same idea as in street distance
3 > Normalize
29
Ground proximity
29
1 > Extract each voxel centroids in the form of (x, y, z)
2 > Set the voxel values to their corresponding z values
3 > Normalize
30
Sun access
30
1 > Find out sun directions every 90 days
2 > Accumulate the sun directions
3 > Do an intersection test from each voxel in the direction of the sun
4 > Use the result of the intersection to calculate the percentage of rays not hitting the context mesh (getting the rays that can see the sun)
5 > Store the percentages as field values
31
Shadow blocking
31
1 > Find out sun directions every 90 days
2 > Accumulate the sun directions
3 > Do an intersection test from each voxel in the inverse direction of the sun
4 > Use the result of the intersection to calculate the percentage of rays not hitting the context mesh (getting the rays that can see the sun)
5 > Store the percentages as field values
32
Skyview factor
32
1 > Create a hemispherical point cloud that would surround the envelope
2 > Trace rays from each voxel to the direction of the sky points (we assume the sky points are directions themselves)
3 > Use the result of the intersection to calculate the percentage of rays not hitting the context mesh (getting the rays that can see the sky)
4 > Store those results as voxel values
33
Shadowing
1 > Import shadowing field calculated before as a lattice
2 > Define a threshold
3 > If shadow value > threshold:
Set voxel to False
Else:
Set voxel to True
34
Shape based on shadowing
35
Agents seed initialization
36
Shafts
37
Corridors
38
Behaviours
39
Squareness
1 > Find neighbours of the current agent (neighbours can be duplicated)
2 > Count the number of duplicated neighbours
3 > The more times a neighbour is duplicated, the more probable it is the
necessary voxel the agent has to grow to achieve squareness
40
Agent connectiveness
1 > Initialize agent seeds
2 > For each agent:
Calculate the breath-first distance to the seed
3 > Append them to the field values
3 > Agent growth for-loop:
Use weighted products to evaluate the distance field of the neighbouring voxels
4 > Choose the best voxel out of them
5 > Recalculate the distance field of the current agent since it has grown 1 more voxel
41
Eating and leaving voxels
1 > Define a max size for each agent
2 > Store the value array of each voxel of each agent
3 > If an agent has reach it max size:
Get the best neighbouring voxel
If best_neighbour_voxel_value > worst_voxel_value_in_array:
Remove the worst voxel in the value array (doing this will reduce the size of
the agent, then we can add new voxel in step 4)
Else:
Continue (not adding any new voxels, concluding the growth of this agent)
4 > Continue the agent growth process if the current agent hasn't reached its max size yet (adding the best neighbouring voxel to the agent)
42
Building depth
1 > Define a max depth for each agent
2 > For each agent:
2.2 > Create a stencil in the x and y directions with the length
of max depth
2.3 > Set stencil function to sum
2.4 > Get lattice that contains only the current agent voxels
2.5 > Apply the stencil to the lattice to get res_lattice (this would calculate how many voxels
are surrounding each voxel)
2.6 > res_lattice = res_lattice / max_depth (to obtain the number of axis filled for each voxel)
2.7 > If the number of axis filled >= 2:
Ignore this voxel as a neighbour for the current agent
Else:
Use it normally
43
Building height
1 > Define a max height for each agent
2 > For each agent:
2.2 > Create a stencil in the x and y directions with the length
of max depth
2.3 > Set stencil function to sum
2.4 > Get lattice that contains only the current agent voxels
2.5 > Apply the stencil to the lattice to get res_lattice (this would calculate how many voxels
are surrounding each voxel)
2.6 > res_lattice = res_lattice / max_height (to obtain the number of axis filled for each voxel)
2.7 > If the number of axis filled >= 1:
Ignore this voxel as a neighbour for the current agent
Else:
Use it normally
44
Dynamic Field: Street view
45
Dynamic Field: Street view
46
Street view
47
Agent Growth
48
Architecture
49
Reference project Casa Milà
Casa Milà by Antoni Gaudí
50
Façade design
51
Stair modules/voxel size
52
Furniture modules
Furniture modules
53
Furniture modules
54
Furniture modules
55
Furniture modules
56
Housing types and size
57
Visualization
58
Reflection
59
Reflections
Result:
Even though we will need to further fine tune the results in the next couple of days it can generally be said that the result is adequate. ��Group process:��Overal the group process went smooth, we all have different qualities that came to light during the project. The initial personal assessment regarding the self assigned role was in general correct. Though it can be said that people often grew towards what was needed in the group at that moment. Everybody had their own expertise and that shows during the presentation.
Group communication:��Throughout the process we used a lot (to many) forms of communication which sometimes led to confusion. �
60
Recommendations for the future
61
Conclusion & Discussion
62
Conclusions: Agent growth
63
Conclusions: Agent growth speed
64
Conclusions: Agent growth speed
65
Conclusions: Agent growth speed
66
Conclusions: Voxel size
67
Conclusions: Architecture
68
Conclusion Masterplan
69
Thank you for listening
Gaudí Invers
70
Questions?