1 of 70

1

Final Presentation BK7083

Gaudí Invers

Coby Bianco

Tan Đao

Walter Kahn

Thijs Kroft

2 of 70

2

3 of 70

3

Contents

  1. Analysis
  2. Design Ambitions
  3. Scripts
  4. Architecture
  5. Reflection
  6. Conclusion

4 of 70

4

Analysis

5 of 70

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 of 70

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 of 70

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 of 70

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 of 70

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 of 70

10

Maps

11 of 70

11

Sources:

12 of 70

12

Flowchart

Planning

Configuring

Massing

Shaping

13 of 70

13

Design Ambitions

14 of 70

  • student_housing;
  • assisted_living;
  • starter_housing;

14

Agents

  • co_working;
  • startups;
  • workshop;
  • fab_labs;
  • community_ center;
  • library;
  • communal_garden;
  • arcade;
  • cinematheque
  • gym;
  • lobby;
  • shops;
  • grocery;

Housing

Building facilities

Semi-public

Public

  • restaurant;

15 of 70

15

 

 

 

 

 

 

 

 

16 of 70

16

Notable design

Process choices

17 of 70

17

Initial connection graph: Network X

18 of 70

18

Connection graph/ Metro diagram

19 of 70

19

Relationship chart

20 of 70

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 of 70

21

Preference matrix

22 of 70

22

Scripts

23 of 70

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 of 70

  • Street Distance;
  • Football Field distance;
  • Ground Proximity;
  • Loudness/ Noise;
  • Sun Access;
  • Sky view factor;
  • Shadowing;

24

Static Fields

25 of 70

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 of 70

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 of 70

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 of 70

28

Football field distance

28

1 > Create football field points

2 > Use the same idea as in street distance

3 > Normalize

29 of 70

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 of 70

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 of 70

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 of 70

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 of 70

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 of 70

34

Shape based on shadowing

35 of 70

35

Agents seed initialization

36 of 70

36

Shafts

37 of 70

37

Corridors

38 of 70

38

Behaviours

39 of 70

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 of 70

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 of 70

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 of 70

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 of 70

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 of 70

44

Dynamic Field: Street view

45 of 70

45

Dynamic Field: Street view

46 of 70

46

Street view

47 of 70

47

Agent Growth

48 of 70

48

Architecture

49 of 70

49

Reference project Casa Milà

Casa Milà by Antoni Gaudí

50 of 70

50

Façade design

51 of 70

51

Stair modules/voxel size

52 of 70

52

Furniture modules

Furniture modules

53 of 70

53

Furniture modules

54 of 70

54

Furniture modules

55 of 70

55

Furniture modules

56 of 70

56

Housing types and size

  • Student Housing

  • Assisted Living

  • Starter Housing

57 of 70

57

Visualization

58 of 70

58

Reflection

59 of 70

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 of 70

60

Recommendations for the future

  • Documenting during process
  • Better integrality;
  • Having a better initial analysis;
  • Group based location visit;
  • Better progression checks;
  • Full implementation of street view;
  • Full implementation of street distance;
  • Add adaptive field: Façade connection;
  • Add adaptive field: Sun access;
  • Add adaptive field: Sky view factor;
  • Add adaptive field: Noise approval;
  • Be more visual.
  • Create street view evaluation from street to agent

61 of 70

61

Conclusion & Discussion

62 of 70

62

Conclusions: Agent growth

63 of 70

63

Conclusions: Agent growth speed

64 of 70

64

Conclusions: Agent growth speed

65 of 70

65

Conclusions: Agent growth speed

66 of 70

66

Conclusions: Voxel size

  • Works with polygonization
  • Fits to stairs
  • Keeping the current voxel sizes
    • Trouble with agent growth
    • Problems with RAM allocation and storage (sun and shadow)

67 of 70

67

Conclusions: Architecture

68 of 70

68

Conclusion Masterplan

69 of 70

69

Thank you for listening

Gaudí Invers

70 of 70

70

Questions?