xvii

xvi

97 Figure 2.3.4 Vectors can be thought of as the difference between 2 points.

From Daniel Shiffman, “Chapter 1. Vectors,” in The Nature of Code (United States: D. Shiffman, 2012), accessed October 17, 2019, https://natureofcode.com/book/chapter-1-vectors/.

97 Figure 2.3.5 Vectors can be described by 2 scaler variables.

From Shiffman, “Chapter 1. Vectors.”

97 Figure 2.3.6 Velocity vector updates position

From Shiffman, “Chapter 1. Vectors.”

98 Figure 2.3.7 A list of Vector operations that can be used within Processing.

From Shiffman, “Chapter 1. Vectors.”

98 Figure 2.3.8 Vector Multiplication

From Shiffman, “Chapter 1. Vectors.”

99 Figure 2.3.9 Vector Addition

From Shiffman, “Chapter 1. Vectors.”

99 Figure 2.3.10 Vector Subtraction

From Shiffman, “Chapter 1. Vectors.”

99 Figure 2.3.11 Vector Division

From Shiffman, “Chapter 1. Vectors.”

101 Figure 2.3.12 The relationship between distance, velocity, and acceleration

From “Motion Graphs,” accessed December 27, 2019, http://hyperphysics.phy-astr.gsu.edu/hbase/Mechanics/motgraph.html.

103 Figure 2.3.13 The calculated opposing Steering force, when added to current velocity, will bring it closer to desired velocity

From Daniel Shiffman, “Chapter 6. Autonomous Agents,” in The Nature of Code (United States: D. Shiffman, 2012), accessed October 17, 2019, https://natureofcode.com/book/chapter-6-autonomous-agents/.

103 Figure 2.3.14 The steering force is pushing down on the vehicle to steer it towards desired velocity

From Shiffman, “Chapter 6. Autonomous Agents.”

103 Figure 2.3.15 Desired velocity can be calculated by obtaining the Vector distance between the vehicle position and agent position

From Shiffman, “Chapter 6. Autonomous Agents.”

103 Figure 2.3.16 We must then limit this distance vector to obtain our desired velocity so our vehical, or human, can’t move too fast

From Shiffman, “Chapter 6. Autonomous Agents.”

103 Figure 2.3.17 How Max force can affect radius

From Shiffman, “Chapter 6. Autonomous Agents.”

105 Figure 2.3.18 The 3 rules of flocking is defined by Reynolds as Separation, Alignment, and Cohesion

From Shiffman, “Chapter 6. Autonomous Agents.”

105 Figure 2.3.19 Arriving behavior once they get to a certain distance from target location

From Shiffman, “Chapter 6. Autonomous Agents.”

105 Figure 2.3.20 Avoiding walking into walls

From Shiffman, “Chapter 6. Autonomous Agents.”

105 Figure 2.3.21 These same forces are useful in other types of simulations as well, such as planetary motion

From Daniel Shiffman, “Chapter 2. Forces,” in The Nature of Code (United States: D. Shiffman, 2012), accessed October 17, 2019, https://natureofcode.com/book/chapter-2-forces/.

107 Figure 2.3.22 Edward T Hall’s Interpersonal Distances of man

By WebHamster, “File:Personal Space.svg,” Diagram Representation of Personal Space Limits, According to Edward T. Hall’s Interpersonal Distances of Man, March 8, 2009, Wikimedia Commons, accessed December 25, 2019, https://commons.wikimedia.org/wiki/File:Personal_Space.svg.

107 Figure 2.3.23 We can use these defined personal spaces to determine the area around the agent in which they will be affected

From Shiffman, “Chapter 6. Autonomous Agents.”

107 Figure 2.3.24 Utilizing Fleeing behaviour to avoid other agents that may have entered the Agent’s personal space

From Shiffman, “Chapter 6. Autonomous Agents.”

109 Figure 2.3.25 Crowd density vs crowd flow rate graph

From Keith Still, “Static crowd density (general),” Crowd Safety and Risk Analysis, accessed December 27, 2019, http://www.gkstill.com/Support/crowd-density/CrowdDensity-1.html.

110 Figure 2.3.26 Pathfinding flowchart

Illustrated by Author.

113 Figure 2.3.27 Canadian census info-graphic breaking down the population into percentages

From Statistics Canada, “Journey to Work, 2016 Census of Population,” November 29, 2017, Government of Canada, accessed December 27, 2019, https://www150.statcan.gc.ca/n1/pub/11-627-m/11-627-m2017038-eng.htm.

115 Figure 2.3.28 If you are in a room with a door and a chair, do you go to the chair? Or do you go to the door?

Illustrated by Author, chair and door graphics taken from “STEFAN Chair - Brown-Black,” IKEA, accessed December 28, 2019, https://www.ikea.com/ca/en/p/stefan-chair-brown-black-00211088/, and “ReliaBilt Colonist Primed 6-Panel Hollow Core Molded Composite Pre-Hung Door (Common: 30-in x 80-in; Actual: 31.5625-in x 81.6875-in),” Lowe’s, accessed December 28, 2019, https://www.lowes.com/pd/ReliaBilt-Colonist-Primed-6-Panel-Hollow-Core-Molded-Composite-Pre-Hung-Door-Common-30-in-x-80-in-Actual-31-5625-in-x-81-6875-in/1000537851.

115 Figure 2.3.29 A decision Tree based on percentages

By Chooseco, from Sarah Laskow, “These Maps Reveal the Hidden Structures of ‘Choose Your Own Adventure’ Books,” June 13, 2017, Atlas Obscura, accessed December 27, 2019, http://www.atlasobscura.com/articles/cyoa-choose-your-own-adventure-maps.

117 Figure 2.3.30 Human Visual Limit- Top View

From “Environmental Considerations and Human Factors for Videowall Design,” Extron, accessed December 28, 2019, https://www.extron.com/article/environconhumanfact.

117 Figure 2.3.31 Human Visual Limit- Side View

From “Environmental Considerations and Human Factors for Videowall Design.”

117 Figure 2.3.32 Sensory limit within simulation

From Shiffman, “Chapter 6. Autonomous Agents.”

119 Figure 2.3.33 Human systems flowchart

Illustrated by Author.

123 Figure 2.4.1 The face on mars

From “Unmasking the Face on Mars,” NASA Science, accessed December 28, 2019, https://science.nasa.gov/science-news/science-at-nasa/2001/ast24may_1.

123 Figure 2.4.2 Google Maps

Google Maps Android application, screen-captured by Author.

123 Figure 2.4.3 Fearful Symmetry by Ruairi Glynn

By Ruairi Glynn, “Fearful Symmetry,” accessed October 18, 2019, http://www.ruairiglynn.co.uk/portfolio/fsymmetry/.

129 Figure 2.5.1 Prototype 2D Simulation created in Processing, based on the Nuit Blanche Installation Cushion

CAD file from the Cushion group, simulated and screen-recorded by Author.

129 Figure 2.5.2 Cushion invites people to walk through a narrow corridor. The light filled ballons change color as people interact with them.

Filmed by Author.

Part 3 | Tool Creation

135 Figure 3.1.1 Parametric node system within Grasshopper

By David Rutten, “File:Grasshopper MainWindow.png,” A Screen Shot of the Grasshopper Main Window, 2011, Wikimedia Commons, accessed December 28, 2019, https://commons.wikimedia.org/wiki/File:Grasshopper_MainWindow.png.

135 Figure 3.1.2 Material node system within 3ds Max

Screen-captured by Author.

135 Figure 3.1.3 Scripting node system within Unreal Engine 4

Default character asset script within UE4, screen-captured by Author.

139 Figure 3.2.1 Game assets within project browser

Screen-captured by Author.

141 Figure 3.3.1 How each asset will be utilized within this software environment

Illustrated by Author.

143 Figure 3.3.2 AI perception

Simulated and screen-recorded by Author.

143 Figure 3.3.3 EQS trace test

From “Environment Query System Overview,” Unreal Engine Documentation, accessed December 28, 2019, https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/EQS/EQSOverview/index.html.

145 Figure 3.3.4 Simplified visual scripting process within UE4

Illustrated by Author.

147 Figure 3.3.5 Decision Network

Screen-captured by Author.

148 Figure 3.3.6 Event Node begins the execution line

Screen-captured by Author.

148 Figure 3.3.7 Boolean percentages controls which path the line takes

Screen-captured by Author.