//multi-
PERFORMATIVE URBANSCAPES //14st- 25th August//C o m p u t a t i o n a l D e s i g n W o r k s h o p
//CODING DENSITY STUDIO//UTS 2017
//workshop agenda
A
B
C
each group will select and study 1 area //Deliverables: -3 Infrastructure studies -3 Function allocation options with different degrees of density and mixture between different functions -Show how the model evolves in time (when more transportation nodes will be added etc)
//multi-agent computational systems //Swarm algorithms
a flock of birds=a swarm=a multi-agent system
//multi-agent computational systems //Swarm algorithms so what is swarm intelligence? //agent A
a glimpse of agent A in very crucial negotiations with the flock
//agent A
//agent B
//agent C
[agent direction]
[agent distance]
RULE A
RULE B
RULE C
cohesion
separation
alignment
//each agent behaves according to certain rules SELF-ORGANIZATION “the spontaneous appearance of order out of local level interactions”
//multi-agent computational systems //Physarealm
//Imitates the behaviour of Physarum Polycephalum
//multi-agent computational systems //Open the file “1. Introduction to Physarealm� Plug-in the terrain for the simulation
The Physarealm machine
select the starting points of the simulation
select the attractor nodes [f.i. the new infrastructure nodes]
//Physarealm
//multi-agent computational systems //Open the file “1. Introduction to Physarealm�
//Physarealm
//multi-agent computational systems //How to start the simulation
//Physarealm
Double-click the Boolean Toggle to turn it from True to False If the timer looks like this
double-click on it to activate it
After you start the simulation, double-click this to turn it to false, in order to visualize the agent trails
//multi-agent computational systems //What you should see
//Physarealm
//multi-agent computational systems //Let’s go through the plug-in tabs
Different kinds of emitters
Different kinds of environments
//Physarealm
And the mysterious settings
//multi-agent computational systems //Case application: our site
//Physarealm
//Open the file “2. Introduction to Physarealm_Case application� For the Environment we need a surface/ brep, but we have a mesh, so this part converts it to the desired geometry type
The Environment/Emitter/Food as usual
The Physarealm machine
Visualisation techniques
The Settings are not connected yet// connect them to see how it will affect the simulation
//multi-agent computational systems //How to visualize the agent field
//Physarealm
!!!!AFTER YOU START THE SIMULATION
Visualizes the history of the agent movement as points Increase this number to get longer agent trails
Visualizes the history of the agent movement as curves
//multi-agent computational systems //What you should see- with point set 1
//Physarealm
//multi-agent computational systems //What you should see- with point set 2
//Physarealm
//multi-agent computational systems //What if we use curves as emitters instead of points?
//Physarealm
//Open the file: “ 2. Introduction to Physarealm_Case application_curve as emitter�
Right-click on the Curve component and select Set Multiple Curves, then select your curves from the Rhino interface
Select the Curve Emitter component instead of the Point Emitter (you will find it under the Emitter tab). If you have many curves, right-click and select Flatten.
//multi-agent computational systems //What you should see
ITERATION A
//Physarealm
ITERATION B
ITERATION C
//multi-agent computational systems //What if we want to use both curves and points as emitters? //Open the file: “ 2a.Introduction to Physarealm_Case application_curve as emitter_2�
If you want to use point and curve emitters together, Physarealm does not accept that. You can though divide the curves and get the points in this way.
Remember to right-click and flatten the Points (same in the case of curves etc)
//Physarealm
//multi-agent computational systems //What you should see
ITERATION A
//Physarealm
ITERATION B
ITERATION C
//multi-agent computational systems //A more advanced example
//Physarealm
//Open the file “3. Introduction to Physarealm_Case application�
Mesh-to-Brep conversion-same as before
Surface split following the pattern of the hydrological network
Same as before
//multi-agent computational systems //Physarealm
The part of the algorithm that splits the surface
The surface is split in 3 areas
Area populated with 21 nodes
Change the number of points (21 and 17) in the Population components and plug the points in the POINT FOOD or POINT EMITTER component
Area populated with 17 nodes
//Also very popular for 3D micro-scale experimentations
//How to interpret this? -As infrastructure networks -Set different gradients of points in each district in order to examine the density of the transportation network -Alternatively: The paths can be interpreted as parts of the city with denser functional grid -To create branching water management networks
YOUR TURN!
Experiment with: -the settings -different emitters and food points -what if you use curves from the water network as emitters and work with a branching system for water management?
//multi-agent computational systems //Kangaroo
//multi-agent computational systems //Open the file “4. Introduction to Kangaroo_Particle attraction and repulsion�
//Kangaroo
all Kangaroo simulations need 3 things
the Kangaroo Physics machine: runs the simulation
Right-click here to select different points
Simulation reset button
Timer
//multi-agent computational systems //Kangaroo
the force object that we are going to use
the Kangaroo Physics machine: runs the simulation
PLUG-IN YOUR FORCE OBJECTS PLUG-IN YOUR GEOMETRY
//multi-agent computational systems The circle-packing algorithm
HOUSING
COMMERCE
BIOPHARMA
AGRICULTURE
//Kangaroo
//multi-agent computational systems //Open the file “4. Introduction to Kangaroo_Simple circle packing�
Plug-in the surface/mesh that you want to populate [in this case our site]
Defines the amount of agents [circles]
Defines the numerical domain of the circle sizes [smallest circle radius:2, largest circle radius:5] Double-click the reset button to execute the simulation
//Kangaroo
//multi-agent computational systems //What you should see
//Kangaroo
No control yet over the size/place of the functions
//multi-agent computational systems //Open the file “6. Kangaroo_Advanced circle packing�
forget the rest-just play with the settings here
This part retrieves from an excel file the sizes of each function and the number of units to be generated
//Kangaroo
This part populates the surface with the desired amount of particles, and then splits this amount to subgroups according to the units of each function the math jargon
Here you put the destination point for each function, and the land is divided to patches surrounding those points
Pulls the functions to a specific patch of land
//multi-agent computational systems //Script logic
//select the points that will attract the functions
//select the x number of Closest Points that surround them
//Kangaroo
//based on that, select the brep faces that are closest to these points =CREATE SUBDISTRICTS
//pull the spheres to the selected surfaces by using Pull to Surface
//multi-agent computational systems //How to connect the file with the excel sheet
STEP 1. !!Super important: Paste here the directory of the excel file in your computer!!
//Kangaroo
//multi-agent computational systems //How to connect the file with the excel sheet
STEP 2. Right-click the Spreadsheet Reader component, disable it and enable it again [otherwise the excel sheet will not be read and an error message will pop up] ,
//Kangaroo
//multi-agent computational systems //How to connect the file with the excel sheet FUNCTION NAME
FUNCTION TOTAL AREA
//Kangaroo
SUBDIVISION INDEX [how many units does each function contain: how many houses, schools etc
6
//Count the number of cells that each category occupies
8
7 4 STEP 3. Put these numbers [6,8,7,4] here as a list
//multi-agent computational systems //How to play with the script Just play with the settings here
Connect here the points that you want to use as attractors for the functions [it has to be 4 points,each representing 1 district] Connect this to the site brep
//Kangaroo
//multi-agent computational systems //How to play with the script
//Kangaroo
Also play with this
This number controls the size of each of the 4 subdistricts-play with it to see how it affects the density of the function distribution
Case A: N=10
Case B: N=20
Case C: N=200
what’s next? THE MEGA CROSSOVER
//Physarealm
VS
//Kangaroo
//what’s next? //Kangaroo vs Physarealm: The Great Crossover
DISTRICT 1 DISTRICT 2 DISTRICT 3 DISTRICT 4
//Run a simulation for the infrastructure in Physarealm
//Use it as input for selecting the attraction points in the Circle Packing algorithm
YOUR TURN!
Experiment with: -various areas and numbers of subfunctions in order to achieve different densities -Various distances between the starting points
once again//workshop agenda
A
B
C
each group will select and study 1 area //Deliverables: -3 Infrastructure studies -3 Function allocation options with different degrees of density and mixture between different functions -Show how the model evolves in time (when more transportation nodes will be added etc)
Physarealm Kangaroo
COFFEE BREAK
//branching techniques //Wooly Paths
Mimics the behaviour of wet wool threads Look for: Otto Frei-Wooly threads Edge bundling Kernel Density Estimation-based Edge bundling
//branching techniques //Wooly Paths
Physical vs Digital
//branching techniques //Open the file “7. Branching techniques_Wooly Paths_Start�
//Wooly Paths
Input: LINES
!!!!!!!!!First play with all the sliders etc on the left and then activate this component (right-click on it and then select ENABLE), otherwise it will crash!!!
//branching techniques //Wooly Paths
1. Divides the creek curves to create points
2. Interconnects the points
RIGHT-CLICK THIS AND SELECT “ENABLED”
//branching techniques //Wooly Paths
Kernel Size 5
Kernel Size 3
//branching techniques //How to create VARIOUS DENSITIES //Open the file “8. Branching techniques_Wooly Paths_Various densities�
We want District 1 to have a low density so we have just 15 interconnecting lines
We want District 1 to have a medium density so we have 66 interconnecting lines
We want District 1 to have high density so we have 120 interconnecting lines
//Wooly Paths
more interconnections
more density
District A: 15 Interconnecting lines
District B: 66 Interconnecting lines
District C: 120 Interconnecting lines
//branching techniques //How to use the curves as a pattern to split the surface
//Wooly Paths
//Open the file “9. Branching techniques_Wooly Paths_ Get surfaces from the curves and connect to Kangaroo�
1. Activate the Kernel Density component
2. Activate the Project component
3. Set the Boolean Toggle to TRUE 4. Activate the Project component 5. Activate the Patch Surface component
//branching techniques //Wooly Paths
The initial network
The subdistricts Notice how there is a gradient transitioning from larger to smaller subdistricts
what’s next? ANOTHER MEGA CROSSOVER
//Frei Otto and his wooly paths
VS
//Kangaroo
KANGAROO
DISTRICT 3 DISTRICT 2
DISTRICT 4
DISTRICT 1
//Create a curvilinear network with the Wooly Paths definition
//Use it as input for selecting the attraction points in the Circle Packing algorithm
COFFEE BREAK