Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sources:
Belanger, Pierre. Underground Landscape: The Urbanism and Infrastructure
of Toronto’s Downtown Pedestrian Network. Science Direct: Tunnelling and
Underground Space Technology 22 (2007): 272-292.
250 m
North City of Toronto. < http://www.toronto.ca/path/>
Sources:
Belanger, Pierre. Underground Landscape: The Urbanism and Infrastructure
of Toronto’s Downtown Pedestrian Network. Science Direct: Tunnelling and
Underground Space Technology 22 (2007): 272-292.
City of Toronto. < http://www.toronto.ca/path/>
250 m Public Sphere.
North
Total area_3770 m2
Time = 0
Cells are given a defined state to begin with.
First Order
Second Order
Time
Ti = 1 unit
generation
ge 1
Each cell assesses its own state and the state of its neighbours and responds according to a set of rules.
according to some fixed rule eg. If 2 or more neighbours are ‘on’,
turn ‘off.’ Otherwise, remain ‘on’
Reactive
Interactive
Time = 2 unit
Ti
g
generation 2
Each cell re-asesses its own state and the state of its neighbours and responds according to a set of rules.
Static (input only)
Time = 4 unit
Ti
generation 4
g
SYSTEMS
x
0,0 1,0 2,0 3,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0
0,1 1,1 2,1 3,1 4,1 5,1 6,1 7,1 8,1 9,1 10,1 11,1 12,1 13,1 14,1 15,1
0,2 1,2 2,2 3,2 4,2 5,2 6,2 7,2 8,2 9,2 10,2 11,2 12,2 13,2 14,2 15,2
0,3 1,3 2,3 3,3 4,3 5,3 6,3 7,3 8,3 9,3 10,3 11,3 12,3 13,3 14,3 15,3
0,4 1,4 2,4 3,4 4,4 5,4 6,4 7,4 8,4 9,4 10,4 11,4 12,4 13,4 14,4 15,4
0,5 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5 11,5 12,5 13,5 14,5 15,5
0,6 1,6 2,6 3,6 4,6 5,6 6,6 7,6 8,6 9,6 10,6 11,6 12,6 13,6 14,6 15,6
0,7 1,7 2,7 3,7 4,7 5,7 6,7 7,7 8,7 9,7 10,7 11,7 12,7 13,7 14,7 15,7
y 2,8 3,8 15,8
0,8 1,8 4,8 5,8 6,8 7,8 8,8 9,8 10,8 11,8 12,8 13,8 14,8
0,9 1,9 2,9 3,9 4,9 5,9 6,9 7,9 8,9 9,9 10,9 11,9 12,9 13,9 14,9 15,9
0,10 1,10 2,10 3,10 4,10 5,10 6,10 7,10 8,10 9,10 10,10 11,10 12,10 13,10 14,10 15,10
0,11 1,11 2,11 3,11 4,11 5,11 6,11 7,11 8,11 9,11 10,11 11,11 12,11 13,11 14,11 15,11
0,12 1,12 2,12 3,12 4,12 5,12 6,12 7,12 8,12 9,12 10,12 11,12 12,12 13,12 14,12 15,12
0,13 1,13 2,13 3,13 4,13 5,13 6,13 7,13 8,13 9,13 10,13 11,13 12,13 13,13 14,13 15,13
0,14 1,14 2,14 3,14 4,14 5,14 6,14 7,14 8,14 9,14 10,14 11,14 12,14 13,14 14,14 15,14
0,15 1,15 2,15 3,15 4,15 5,15 6,15 7,15 8,15 9,15 10,15 11,15 12,15 13,15 14,15 15,15
0,16 1,16 2,16 3,16 4,16 5,16 6,16 7,16 8,16 9,16 10,16 11,16 12,16 13,16 14,16 15,16
0,17 1,17 2,17 3,17 4,17 5,17 6,17 7,17 8,17 9,17 10,17 11,17 12,17 13,17 14,17 15,17
0,18 1,18 2,18 3,18 4,18 5,18 6,18 7,18 8,18 9,18 10,18 11,18 12,18 13,18 14,18 15,18
0,19 1,19 2,19 3,19 4,19 5,19 6,19 7,19 8,19 9,19 10,19 11,19 12,19 13,19 14,19 15,19
0,20 1,20 2,20 3,20 4,20 5,20 6,20 7,20 8,20 9,20 10,20 11,20 12,20 13,20 14,20 15,20
0,21 1,21 2,21 3,21 4,21 5,21 6,21 7,21 8,21 9,21 10,21 11,21 12,21 13,21 14,21 15,21
0,22 1,22 2,22 3,22 4,22 5,22 6,22 7,22 8,22 9,22 10,22 11,22 12,22 13,22 14,22 15,22
0,23 1,23 2,23 3,23 4,23 5,23 6,23 7,23 8,23 9,23 10,23 11,23 12,23 13,23 14,23 15,23
In order to simulate Cellular Automata, two options exist. The first is to superimpose a grid on top of the public spaces and force
each space to conform into a square or rectangular shape according to the structure of the grid. This method creates a 16 x 24 grid
with 384 cells. However, only 36 of the cells can be considered active since the remainder of the cells do not contain a public space.
This must be accounted for when constituting the rules of cellular automata, otherwise, some cells may remain inactive in future
generations and the system may reach a standstill.
The second option is to rearrange the public spaces into a cell. This method insures that each cell can have an active state and there-
fore the probability of a stand still is significantly lowered. In this scenario, the cells are arranged into a 5 x 6 grid with 30 individual
cells.
This method of obtaining a grid of cells will be used for the remainder of this project due to its advantage over the first.
n=2
n=3
n=4
n=5
The first possible way to define a cells range of awareness or its neighbours is in a radial fashion. Here, a cells neighbour is defined
by its distance from the cell itself. For example, cells that immediately surround the sensing cell are its first group of neighbours,
n=1, etc. In this scenario, the minimum number of neighbour groups is 3 and the maximum number is 5. While this method is most
often used, it provides little information about the location of the sensing cell in relation to the whole since each cell understands
its surrounding neighbours regardless of its location.
n=2
n=3
n=2
n=1
CELL CORE
range of awareness
The second way to define a cells range of awareness is in a directional fashion. The first step here is to define a core. For this project,
the cells lying along King Street W have been chosen as the core of the system due to their relative location in the centre and due to
the fact that they are the areas of the PATH most densely used, especially during rush hour. Once the core is defined, a sensing cell’s
neighbours are grouped according to their distance from the sensing cell up to and including the core. In this scenario, the mini-
mum number of neighbour groups is 3 and the maximum number is 4. This method allows each cell to have a higher understanding
of its distance to the centre and therefore a spatial relation is defined for the cells as a larger system.
This method of defining neighbours will be used for this project due to its advantage in setting up a spatial relation.
Computer A
Actuating Cell (4,5) The information will be stored in
computer A.
A pixilated panel made up of LEDs will obtain the information and translate it
into various colours that move across the panel according to the movement
sensed from the sensing cell. Each neighbour group will be actuated in a
different colour in order to provide an understanding of the activity as a
function of distance from core.
Computer B
The information will be virtually sent
to computer B.
Source: <http://limiteazero.net/reddot/index.html>
Option 1_superimposed grid Option 1_Radial neighbours Option 1_motion & Speed
PATH base map_public spaces
Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
Sensing Cell (4,3)
As an alternative photo
sensors can be used.
Computer A
Actuating Cell (4,5) The information will be stored in
computer A.
A pixilated floor made up of LEDs will obtain the information and translate it
into various colours depending on what neighbour group the information
came from.
Computer B
The information will be virtually sent
to computer B.
Source: <http://gizmodo.com/5036418/led-floor-captures-digital-footprints>
Option 1_superimposed grid Option 1_Radial neighbours Option 1_motion & Speed
PATH base map_public spaces
Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
n=1
n=2
n=3
250 m
North
PATH base map_public spaces Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
Sensing Cell (1,1) Sensing Cell (0,1), (2,1), (3,1), (4,1) Sensing Cell (0,2),(1,2), (2,2), (3,2), (4,2) Sensing Cell (0,3),(1,3), (2,3), (3,3), (4,3)
Actuating Cell (1,1) Actuating Cell (1,1) Actuating Cell (1,1) Actuating Cell (1,1)
n=1
n=2
n=3
PATH base map_public spaces Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
250 m
North
PATH base map_public spaces Option 2_cells reconfigured to grid Option 2_directional neighbours Option 2_motion & density
n=0
n=1
Plexiglass panel
LED
Cell Prototype
Proof of Concept Model
ground
USB Connection
to 5V
1 K resistor
to analog pins 0-7
Panel A Panel B
Arduino Setup
int avrage0=0; avrage4=avrage4/20; digitalWrite(25,LOW);
int avrage1=0; for (int i=0; i<20; i++){ }
int avrage2=0; avrage7=avrage7+analogRead(7);
int avrage3=0; } if((in6<avrage6-25)||(in2<avrage2-25)){
int avrage6=0; avrage7=avrage7/20; digitalWrite(2,HIGH);
int avrage4=0; for (int i=0; i<20; i++){ }else{
int avrage7=0; avrage5=avrage5+analogRead(5); digitalWrite(2,LOW);
int avrage5=0; } }
avrage5=avrage5/20;
void setup(){ Serial.println(“System Ready”); if((in4<avrage4-25)||(in0<avrage0-25)){
Serial.begin(9600); } digitalWrite(4,HIGH);
pinMode(22,OUTPUT); }else{
pinMode(23,OUTPUT); void loop(){ digitalWrite(4,LOW);
pinMode(24,OUTPUT); int in0 = analogRead(0); }
pinMode(25,OUTPUT); int in1 = analogRead(1);
pinMode(2,OUTPUT); int in2 = analogRead(2); if((in7<avrage7-25)||(in3<avrage3-25)){
pinMode(4,OUTPUT); int in3 = analogRead(3); digitalWrite(3,HIGH);
pinMode(3,OUTPUT); int in6 = analogRead(6); }else{
pinMode(5,OUTPUT); int in4 = analogRead(4); digitalWrite(3,LOW);
int in7 = analogRead(7); }
for (int i=0; i<20; i++){ int in5 = analogRead(5);
avrage0=avrage0+analogRead(0); if((in5<avrage5-25)||(in1<avrage1-25)){
} if(in0<avrage0-80){ digitalWrite(5,HIGH);
avrage0=avrage0/20; digitalWrite(22,HIGH); }else{
for (int i=0; i<20; i++){ }else{ digitalWrite(5,LOW);
avrage1=avrage1+analogRead(1); digitalWrite(22,LOW); }
} } }
avrage1=avrage1/20;
for (int i=0; i<20; i++){ if(in1<avrage1-80){
avrage2=avrage2+analogRead(2); digitalWrite(23,HIGH);
} }else{
avrage2=avrage2/20; digitalWrite(23,LOW);
for (int i=0; i<20; i++){ }
avrage3=avrage3+analogRead(3);
} if(in2<avrage2-80){
avrage3=avrage3/20; digitalWrite(24,HIGH);
for (int i=0; i<20; i++){ }else{
avrage6=avrage6+analogRead(6); digitalWrite(24,LOW);
} }
avrage6=avrage6/20;
for (int i=0; i<20; i++){ if(in3<avrage3-80){
avrage4=avrage4+analogRead(4); digitalWrite(25,HIGH);
} }else{
Arduino Code