Human Centric Accessibility Graph For Environment Analysis
HHuman Centric Accessibility Graph For Environment Analysis
Mathew Schwartz a , ∗ a New Jersey Institute of Technology, Newark, NJ, USA
A R T I C L E I N F O
Keywords :accessibilitygraphspatial analysiswalkabilityhuman factorscomputation
A B S T R A C T
Understanding design decisions in relation to the future occupants of a building is a crucial part ofgood design. However, limitations in tools and expertise hinder meaningful human-centric decisionsduring the design process. In this paper, a novel Spatial Human Accessibility graph for Planningand Environment Analysis (SHAPE) is introduced that brings together the technical challenges ofdiscrete representations of digital models, with human-based metrics for evaluating the environment.SHAPE: does not need labeled geometry as input, works with multi-level buildings, captures sur-face variations (e.g., slopes in a terrain), and can be used with existing graph theory (e.g., gravity,centrality) techniques. SHAPE uses ray-casting to perform a search, generating a dense graph of allaccessible locations within the environment and storing the type of travel required in a graph (e.g.,up a slope, down a step). The ability to simultaneously evaluate and plan paths from multiple humanfactors is shown to work on digital models across room, building, and topography scales. The resultsenable designers and planners to evaluate options of the built environment in new ways, and at higherfidelity, that will lead to more human-friendly and accessible environments.
1. Introduction
Understanding design decisions in relation to the futureoccupants of a building is a crucial part of good design. How-ever, technical limitations in tools and the need for an exten-sive understanding of human physiology prevent the ubiq-uity of meaningful human-centric decisions during the de-sign process. While the topic of human movement has beendiscussed in the literature at length, there is no method thatapproaches the construction of the graph-representation ofa digital model with a physiological human factors perspec-tive.When considering an environment designed for people,accessibility is one of the most fundamental criteria for eval-uating the space’s performance. While recent work in com-puter science and architecture have shown an increase in theuse of data and quantified metrics for optimization or eval-uation, there has been only a few works that truly considerhuman factors of an occupant at the physiological level. Al-though building design usually incorporates human factors,the types of calculations used are often limited in scope.For example, the term human comfort is often used in ar-chitecture and urban design as a reference to the thermal,visual, and acoustic relationships of the environment and oc-cupant [19]. To improve analysis, and subsequently, the per-formance of a building for its occupants, we must be able tostreamline the evaluation of a design, taking into account thecomplexities of human experience in aggregate.Accessibility is not a binary value, and the difficulty as-sociated with moving from one point to another must be in-cluded when considering the accessibility of a space. While walkability as a term has various definitions [48, 16], it is of-ten considered to be an aggregate of transportation, policies,mobility, and locations of points of interest [36, 17]. This [email protected] (M. Schwartz) (M. Schwartz)
ORCID (s): (M. Schwartz)
Building Scale Space Object ScaleCity Scale
Figure 1:
The three environmental scales of City, Building,and Object, are all integrated. Path analysis and accessibilityis from one point to another, and includes numerous environ-mental conditions. (Adapted from [71]) paper uses the term walkability as the ability to walk on/over,reflective of the
Environments Conditions → Traversable themeillustrated in [16]. The term accessibility is used in this paperas a person’s ability to access a space–from a human factorsperspective. The various conditions surrounding this abilityand the associated costs it has on a person, are vital consid-erations for human comfort. This is not to say that existingtechniques of spatial analysis are not valid. Rather, this pa-per argues for additional human-centric data to be used, andproposes a method for doing so.While there are past works that evaluate the built envi-ronment with regard to human-based mobility such as slopeand pavement quality [48], the apparatus of the evaluation isoften survey-based, checking if a space meets a given cri-teria that has been generalized or predefined. An impor-tant component of analyzing slope in an environment thatis often lacking in survey data is the question: " why is thisslope bad? ". This disconnect can happen when the metricbeing used to analyze an environment relies on the compar-ison to building code and existing guidelines that create bi-
M Schwartz:
Preprint submitted to Elsevier
Page 1 of 20 a r X i v : . [ c s . G R ] J a n patial Accessibility Graph Fire Stairwell Open Staircase
Minimize DistanceMinimize Open Space
Visualization of Open Space Start and End Locations for Path AnalysisFind Paths for Various FeaturesInitial Building Model Generate GraphDesign Feature Reflection and Analysis
Figure 2:
A multi-level building example of using the AG. Steps shown are 1) A starting model is given in the top left 2) thegraph is generated finding accessible locations 3) a viewshed-type analysis is performed to find locations with maximal space4) path planning start and end locations determined 5) generate paths with various criteria 6) reflection on paths generated byfinding use cases for a given fire stairwell vs. the open staircase. nary and abstracted measures (e.g., [21, 2]). Additionally,while automated code checking based on existing guidelinesis valuable for assessing workflows and minimizing errorsand time [14], the power of computation allows for a morecomplex relationship between accessibility and regulations.Unless ultra-strict laws and regulations are enacted forexplicitly limiting what is allowed to be an accessible path,it is not feasible for a designer to consider these conditions.Furthermore, this extreme restriction-based approach lim-its the design as well as opportunities to improve accessibil-ity through innovation. Computation of human factors com-bined with automatic code checking provides an ideal plat-form for–performative rather than prescriptive–regulation.In order to achieve this goal, we must first solve the challengeof finding accessible locations, and subsequently, incorpo-rating more than distances between the locations to properlyrepresent the occupants experience.In prior work, human-based accessibility analysis hasbeen performed after the generation of a navigable surface.For example, a navigation mesh is first defined; then, a densegraph is generated within it, and a calculation is performedon accessibility factors thereafter; and finally, the graph isculled to the meaningful components. In this paper, a novelapproach is presented for the first step – defining the graph– with a focus on human accessibility, enabling a scalableand information-rich dataset. The graph is constructed byrules dictated from accessibility related factors directly fromthe physiology and biomechanics literature. The algorithmis scalable from the object to urban scale (Fig. 1) and canbe used in multiple other analyses (from light intensity tofall probabilities) to inform the cost of accessibility. The ap-proach allows for early design-stage feedback that can notonly improve designs but also allows for quick iterations andreduced costs (Fig. 2).The two core contributions of the paper to the field aresummarized as follows: 1. A novel ray-casting based method for creating a grid-based weighted directed graph that enables early-stagefeedback in the design process with respect to humanexperience and accessibility.2. An in-depth review of the current literature that cate-gorizes and illuminates factors that should be includedin path and circulation analysis both indoor and out-door for ensuring human-centric built environments.The paper is organized as follows; Sec. 2 presents a re-view of literature on human factors relating to accessibil-ity and motivation for such an approach, Sec 3 provides anoverview of the types of data structures and algorithms forevaluating 3D models, Sec. 4 introduces a novel algorithmfor parsing a building into a graph, Sec. 5 demonstrates thepresented work in a design context with various scales andenvironment types, and Sec. 6 discusses limitations and fu-ture work.
2. Human Factors
Evaluating the accessibility of a space concerns not onlyEuclidean distance but also factors such as energy expen-diture, speed, slips, trips, and falls. Likewise, analyzing anenvironment for human factors and comfort must include thetasks and movements to be performed in any given location(e.g., cutting vegetables or opening a cabinet). In this sec-tion, the basis for a weighted digraph built from an accessi-bility standpoint is introduced.While some laws and regulations exist around the typeof floor surface of a building or urban environment such asthe American Disabilities Act and its accessibility guide-lines [77] for built environments–algorithmic methods forquantifying the accessibility of these environments are lack-ing. However, a large body of research exists that quantifieshuman biomechanics in relation to the built environment. Bydeveloping a method for interpreting a 3D model based on
M Schwartz:
Preprint submitted to Elsevier
Page 2 of 20patial Accessibility Graph
Table 1
Surface types and their significance in human mobility, with corresponding references. Surface material (e.g., sand orconcrete) has an impact in all the examples; however the references focus on angles and variation.Surface Type Description and Example ReferenceFlat Leveled and flat floor with little to no variation across the surface. [72]Ramp Slope is along the progression axis. A person walks in the same direction asthe incline. The balance is front to back. [65, 47]Cross-slope Slope is perpendicular to the progression axis (Fig. 3). A person walks per-pendicular to the incline, forcing the body to adjust side to side. [12, 7, 60]Staggered Stairs and other flat surfaces that are offset and have a change in level, suchas bricks that are protruding directly up in various heights (but not at anangle) or the offset of a curb to the sidewalk. [56, 55, 81, 31]Uneven Variations in curvature of the ground surface (Fig. 5), such as in most naturaltopography, especially mountains, and some poured concrete curved surfacesin modern design. [45, 68]Uneven staggered Faceted surfaces that are both angled and protruding, such as bricks in an oldwalkway with shifted ground underneath. [11]
Cross-slope Up slope
Figure 3:
Cross-slope (left) is when the direction of move-ment is perpendicular to the direction of the slope. Cross-slopeforces one side to have a shorter stance than the other whencompared to a ramp (right) in which both sides equally varyduring movement. the way in which a human moves within a space, the liter-ature based on human factors can be applied and used as amore informative metric than distance alone.From a biomechanical perspective, mobility within thebuilt environment is impacted by surface types and geome-try against physiological factors (e.g., age, weight, and dis-ability). In Table 1, six types of surfaces are identified witha description and relevant reference to the biomechanics lit-erature. These surface types apply to both the outdoor andindoor environments.At the urban scale, the idea of a single brick out of placecan seem irrelevant. However, these small details and as-pects of the environment can significantly affect occupants.Variation in brick height of a walkway can have a direct andmeaningful impact on the ability for people to comfortablyand safely move [11]. Irregular surfaces (e.g., gravel) re-quire significant adaptations in gait to reduce tripping, atthe cost of speed, step length, and cadence [46]. Further-more, wheelchair propulsion energy costs increase signifi-cantly with surface type [35]. The net locomotive energycost for a wheelchair on carpet compared to a tiled surface can increase by more than 70% [26]. Surface resistance changesnot only the energy required but also the speed and rate ofmovement (such as a nearly 50% reduction in average ve-locity from tile to carpet) [8]. In [83], the authors explicitlymentioned the importance of floor type when designing ahospital owing to their findings in energy expenditure acrossconcrete and carpeted floors. In [27], the authors have madea similar point about the importance for designers to knowthis impact when designing homes.
Figure 4:
Energy cost of walking at various gradients as definedby the polynomial function in [47] and shown in Def 9.
When discussing disabilities and mobility an occupantusing a wheelchair is often at the forefront of the discussion.It is important to remember the wide range of human mobil-ity and assistive devices. For instance, canes and crutchesmay cause a reduction in mobility speed and energy up to60% [27]. The inclusion of this data for the analysis of traveltimes to amenities in the urban environment (walkability) orwithin a building would drastically change the results.The impact of a ramp on accessibility is not a simple re-lationship that every designer can instinctively work with.The increase in slope angle of a ramp is not linearly corre-lated to the energy increase it takes for a human to move upit [65, 47]. As seen in Figure 4, the energy expenditure asso-ciated with the slope decreases in a slightly negative gradi-ent. As the gradient negatively increases, the energy expen-
M Schwartz:
Preprint submitted to Elsevier
Page 3 of 20patial Accessibility Graph diture increases as well. Walking on a cross-slope (Fig. 3)of 6° has shown a threefold increase in mediolateral groundreaction force, which is an artifact of adaptations in move-ment to reduce falling [12]. The impact of a cross-slope forwheelchair propulsion is profound as well, with a 2% crossslope increasing energy by over 30% [5]. [81] studied a stag-gered block surface similar to bricks with a vertical variationup to 2.5 cm and observed a 28% increase in energy expen-diture.In a study of adults under 60 years old, it was found thattraumatic brain injuries from falls occurred most often inground level falls (36%), with the second most common be-ing falls down stairs at 27% [18]. Stairs, especially in theurban environment, can significantly range in height, depth,and inclination. Accounting for not only the existence of astep or slope, but also the slope of steps, is a critical partof analyzing an occupant’s path. Energy requirements havebeen shown to increase by 67% from a 24°to a 42°incline.Moreover, the gait pattern is notably not a linear transitionbetween walking and stair climbing, and it likely switchesbetween the two at a certain threshold [63]. Crutch ambula-tion is another example of the complexities in accessibilityanalysis. Studies have shown occupants using crutches onstairs had a twofold increase in energy expenditure, whilestair usage was more efficient than ramps considering en-ergy cost per vertical rise [27]. The caveat to this efficiencyis when the ramp is less than 5% it becomes the more effi-cient means of travel.While regulations exist for many stair dimensions, thereis a need for a more cohesive analysis measurement for hu-man mobility that takes into account a combination of en-vironmental and spatial factors and conditions. This is ev-idenced by [30], which demonstrated a decrease in ambi-ent lighting from 300 lx to 3 lx (limit of civil twilight) ledto young adults increasing foot clearance while almost allolder adults did not. These small deviations (or lack thereof) in human movement can lead to serious consequences(i.e., falling).It is important to note that the discussion around energyexpenditure should not be limited to the simple issue of calo-ries burned. In each case identified (e.g., stair negotiationor cross-slope wheelchair propulsion), an increase in energyexpenditure can mean increased loads on joints and muscles,thus leading to injuries. When considering surface variationand cross-slope movements, a simplistic model of a line con-necting spaces within the built environment is not sufficient.A graph-based approach in which the directed edges can beweighed based on a perpendicular edge (i.e., the cross slope)must be used.Calculating the complexities of human mobility is vi-tal for accurate circulation and time based analysis of paths.When considering mobility with a wheelchair, the option toclimb steps is clearly non-existent. However, with a cane orcrutches, the question of energy expenditure and time be-come directly linked to the geometry of the environment.Discussing the impact of stairs on crutch ambulation, [27] For an extensive review of falling and stair negotiation, see [31].
Figure 5:
Example of real-world case for varying surfaceheights. Suwon, South Korea, (Finished Construction in 2015). mentions specifically the situation of transportation termi-nals requiring a 10 m ascent in 200 m horizontal distancerequiring 29% more energy and 45% more time than a 5%ramp. When considering locations of the start and end of thesteps, as well as the impact different ramp and step gradientswould have of these endpoints, the only realistic solution forensuring human well-being and health is at the forefront ofa design is the automated evaluation and feedback to a de-signer.
3. Related Work and Motivation
Evaluating a design is a long studied and complex topic.To illustrate the contribution of the proposed method, thefollowing sections break down the problem into two mainareas; the data structures that are used to define where anoccupant could be in an environment (Sec. 3.1 and the meth-ods for evaluating an environment (Sec. 3.2). As the methodfor creating an Accessibility Graph presented in this paperbrings together these two, often disconnected components,the literature presented is highly varied in disciplines.
In robotics, path-planning of an environment for both hu-manoid and wheeled robots (e.g., autonomous vehicles) isoften done in unknown environments such as the DARPARobotics Competition [33]. In games, human players andautonomous agents must move around a space with direc-tions and paths that are feasible to their goal. Within Ar-chitecture, circulation of people moving in the environmentand calculating the times it takes to reach various locationsare considered. While each of these fields, namely robotics,games, and architecture, is interested in the paths taken withina space, there are also multiple other considerations that im-pact the approach and use of various techniques.The techniques for finding the navigable areas are mostprominently different in whether an environmental modelexists or not. In robotics, the environment is often unknownand a map must be continuously built for path-planning [10,22]. A common method is to create a height map – a grid ofcells labeled as a floor or obstacle depending on the heightdifference between them [28]. Similar to the robotics prob-lem of reconstructing real-world environments, in urban anal-
M Schwartz:
Preprint submitted to Elsevier
Page 4 of 20patial Accessibility Graph ysis a Digital Elevation Map (DEM) is created through LI-DAR data, identifying areas of roughness using gradient cal-culations [61]. Beyond these techniques for on-the-fly gen-eration, either a polygonal bounds defining a traversable sur-face is created, or a discretization is performed that repre-sents the space as a graph (nodes and edges).
In games and character animation, the accessible spaceof an agent is generated in various ways from a given 3Dmodel. The surface of space designated to an agent’s move-ment is often referred to as the Navigation Mesh [34]. Forone, a geometry object can simply be labeled as a traversablesurface. In this case, triangulation by subdivision, or a uni-form grid can be created, to define links to move across theenvironment [52]. Two popular approaches to the genera-tion of a navigable space are 1) reconstruction through vox-elization [57] and 2) mesh vertex calculations [6, 78]. Othermethods such as multiple horizontal slices with depth-maps [59]and prismatic subdivisions [37] have been shown, with atarget of fast agent-based simulation at the expense of pre-processing.Notably, software such as Unity [76] implements an au-tomated generator using voxelization for a
NavMesh to de-fine surfaces on which a virtual agent can move. However,since architecture models might have thousands of objectsand millions of polygons detailing the space (e.g., moldingsand decorations), especially objects not related to acces-sibility (e.g., HVAC systems), this approach is inefficient.While ignoring these unrelated objects is possible, this meansthe geoemtry is already labeled and the walkable surfacesare known. However, accessibility related issues are still notknown even when intended walkable surfaces are defined(e.g., a ramp is a walkable surface but the slope is too steep).Alternative methods considered to be true representa-tions thus use vertices of the mesh itself. For generic path-planning of a character the parsing of the environment withlittle information attributed to the graph is often suitable.For example, the undirected graph created from an ExplicitCorridor Map [23] or the Implicit Corridor Map [24] inher-ently embedded relative obstacle distance information en-abling the generation of more realistic paths for an agent totravel along. Improvements on surface-based approaches an-notate the environment through the identification of gaps toproduce a continuous navigation mesh of the entire walkableregion [80].The focus in these cases is the ability to generate a visu-ally realistic path for an agent to follow in a given environ-ment. In design evaluation, the generation of an agent pathfor visual realism is less important than the quantification ofthe space in which that agent would move. It is therefore im-portant to maintain the broad knowledge of where in a modelan occupant could physically access, while enabling a datastructure that contains location-specific information.
Figure 6:
Representation of the environments into a grid ofnodes. Illustration showing the geometry, nodes on the geom-etry for visualization, and the points representing the environ-ment used for analysis in computation.
A common approach to defining paths and points of in-terest for spatial analysis involves explicitly defining a net-work of nodes rather than the construction of a polygon orsurface (as seen in a Navigation Mesh). While the polygonsof a navigation mesh are able to describe a graph, a densegraph representation of an environment (Fig. 6) has an im-portant difference in usage than general navigation meshes:nodes of the graph are used for additional analyses of the en-vironment. In commonly used analysis methods of the builtenvironment such as lighting, the calculations are reduced toa grid or specific points on the surfaces within the environ-ment(e.g., [32]). This discrete analysis is particularly usefulwhen considering maximum or minimum values and when itis not easy to know which points are important or of interestahead of time (e.g., finding the highest intensity of light in aroom for glare analysis). Therefore, a dense representationshould be created from the start.Directed graphs are vital to spatial analysis: the viewwhile going in a straight line from point A to B is 180° fromB to A. A visibility graph [44] constructs a graph from the di-rect connections of all vertices in a set, allowing for optimalshortest path planning; however, the connection to visibilityfrom a human perspective is lacking. This method was usedby [75] to connect a generated grid of nodes along a floorsurface which had to be pre-defined by the user. Grid-basedgraphs have also been constructed in a more localized man-ner, such that adjacent nodes (or cells) are the only pointsof contact [41, 49]. Similarly, [49] used edge culling bychecking the intersections of nodes from an even grid on thefloor to object geometry. Another approach defines a
Nav-graph using a convex hull around vertices of a 3D objectprojected into a two-dimensional (2D) plane [13] . In par-ticular for path-planning, a dense graph can be created firstwith weights associated to locations, then construct a hybridgraph after [34, 53].Often in a design context, minimal, rather than densegraphs are constructed. Sometimes this is due to the inputdata, such as lines and intersecting points for road analy-sis [3], or the ability to use BIM data to find doorways [39,42] to calculate the shortest paths between spaces. Whenconstructing the graph representation of a building, labeleddata (e.g., BIM, GIS, IFC) is often used, rather than the ge-
M Schwartz:
Preprint submitted to Elsevier
Page 5 of 20patial Accessibility Graph ometry in isolation [39, 42, 74]. Others have used labeledmodels, but still provide a fallback of surface normals to aidin a tessellation process for defining navigable networks [4].While games can rely on reducing model complexity withvisual tricks, Architectural models have complex geometriesthat represent the real infrastructure and that include detailsoften irrelevant to human perception or accessibility[66]. Ray-casting, as implemented for the
Spatial Human Accessibil-ity graph for Planning and Environment analysis (SHAPE),in large and complex scenes can provide an efficient alter-native; for example, complex sculptures, islands, or otherscene assets that are visible, but not accessible, are quicklyexcluded from calculations (e.g., through a bounding volumehierarchy).Discussed in Section 2, slope and surface variation is vi-tal information to human mobility, yet methods for consid-ering slope with a graph are limited. An easiest path forspace syntax was explored in [54] using an abstracted en-vironment representation based on lines (taken from streetsegments) with a slope defined by the two endpoints. Anindoor topology for human pathfinding which incorporatesstairs and ramps was introduced by [42]. With a focus on thecomputational side, research on natural path generation con-sidering slope and terrain variation has been demonstratedin [64, 43]. Another technique used to incorporate 3D ge-ometry is by voxelizing the environment, although these boxrepresentations make it difficult to incorporate fine-grainedanalysis such as slope and varying surfaces [85].While theseworks in part demonstrate a use of slope to determine routes,the SHAPE method is the only one able to combine the densegraph representations without labeled geometry and includemultiple factors in the graph.
Quantifying human experiences in the built environmentcan be done by either simulating a virtual human (agent-based simulation) or evaluating spatial information repre-sented as a graph (e.g., space syntax, network analysis). Thesetwo options are compared and discussed in the following sec-tions.
A common approach to evaluating the way occupantswould utilize a given design is to virtually recreate the in-dividual occupants, referred to as agents. Agents are as-signed some tasks and utilize the navigation data structuresdescribed in Sec. 3.1 to provide feedback on how those agentsexperienced the space. Likewise, the collective movementof the agents based on those data structures can evaluate theefficacy of the design. Most similar to game-based evalu-ation, [51] implemented a responsive narrative in which acharacter moves and interacts with the environment, offeringsubjective feedback through visualization. Through multi-ple iterations of agents moving in the environment, statisticsand data are extracted about how the agent performed andexperienced the space. Influential work for evaluating an ar-chitectural space was in the application of egress [62, 29]. In simulating the probabilistic movement of a crowd dur-ing evacuation, social and behavioural factors have signifi-cant impact on the accuracy [58]. For egress, the value foranalysis is relatively straightforward, i.e., length of time foroccupants to exit. When deriving useful data on the com-plex experience of an occupant, the inputs to the simulationgreatly increase.In addition, in a narrative-based model for multi-agentsimulation, [67] created a simulation around spaces, actors,activities, and narratives. The data extracted is of walkingpaths, density, length of stay, and social interactions. Aseven the same person does not act identically on multipledays, numerous iterations of agents must be simulated todemonstrate a convergence towards accurate data. The chal-lenge in this approach is the efficacy of properly represent-ing aspects such as the social interaction between agents. Intrue human interactions, aspects as small as eye contact canchange the social dynamic and experience [38]. Throughdeep learning, [50] developed a model to control a virtualbiomechanical human to the point of photoreceptor responsesthat inform head directions and gaze. While agent basedsimulation addresses an important aspect of time, the dif-ficulty in modeling true social interactions suggests, at leastfor the time being, that more concrete metrics in the envi-ronment independent of social factors must be included inspatial evaluation. For example, as mentioned previously,the curvature of a surface directly affects human occupantsas they traverse it, regardless of the point in time.
In a more discrete approach than agent-based simula-tion, graph techniques work towards integrating known nu-meric quantities about a space, or attributes of locations inthe space, to a graph. While in Section 3.1.2 the specificmethods of creating a graph were compared with the currentwork, this section will discuss the evaluation methods andcriteria for analyzing a graph in design. Network analysis inthe built environment, in its simplest form, assesses relation-ships between various locations. Such spatially relevant net-works consisting of nodes and edges have been demonstratedin BIM [39, 73], but are difficult to construct with unlabeleddata. By using intersections and properties of the environ-ment (3D model), networked relationships of a space can beconstructed. Early work in automatic evaluation was in theuse of polygons representing a field of view (ISOVISTS) [1].The intersecting polygons can then be reduced to numericvalues of visibility intensity for a given location, which waslater modified to a graph-specific data structure [75]. Morerecently, [79] implemented an all-to-all connection of nodesto construct a 3D visibility graph for space syntax analysis.These analysis methods are all possible with the SHAPE,while the 3D visibility graph can be created with human-accessible locations by offsetting the SHAPE vertically insome discrete increments.While network and circulation analysis often uses theshortest path algorithm, the physically shortest path is notnecessarily a good metric of the way in which people will
M Schwartz:
Preprint submitted to Elsevier
Page 6 of 20patial Accessibility Graph move within the environment nor the experiences an occu-pant would have. With metrics such as walkability (referredto in Section 1) commonly using the path length to representa unit of time, [54] reduced multiple metrics to a single valueof time of travel for analysis. However, the relationship be-tween speed, energy, and human ability is well researched inthe literature provided in Sec.2 and reducing to a time-basedmetric is often not representative. In the case of accessibility,the physically shortest path may not be the physically leastdemanding nor the one an occupant may take. The typesof data used in graph-based analysis of paths are wide andvarying, such as calculating the number of turns along anoccupant path [20, 71, 54, 40]. Similarly, the types of usershave a profound impact on the importance of different fac-tors when considering accessibility, such as considering di-rect connectivity and spatial depth for elderly housing [40].One challenge in a sparse network can be seen in [71],where an Indoor Walkability (IW) factor was used to quan-tify paths based on various weights. As the graph used inpath generation consists of sparse nodes connecting maxi-mal spaces, the weighted values are path-based, rather thaninformation on what is along the path. The authors pro-posed future work, including object-level refinement. How-ever, it is unclear how the sparse network of locations used inthe UCN [39] would function in this context. For example,while a table has geometry that can be included in the net-work, overhead lighting casting a bright spot in the middleof a room would be ignored. While the motivation of [71] issimilar to the SHAPE, a key difference is the scalability andlimitations related to both requiring labeled data and limitednodes throughout the environment.While these past studies have varying resolution to theirgraph structures, they share a common theme, emphasizingthe utility of graph theory in environmental analysis. How-ever, the focus in the past works of space syntax and net-work analysis has been primarily on the relationship betweenthe environment and building rules & regulations, while thework presented here is based on the direct human factorsinvolved–with the motivation to influence the rules & regu-lations devised around these human experiences. Addition-ally, the parameter objects described in [71, 40] could beextended using the graph information generated within thispaper and categorize a given path as listed in Table 1.
4. Accessibility Graph Method
The resulting graph is a mapping of graph vertices topoint locations in the environment, referred to as nodes. First,an interpretation of the 3D model must be done in order tofind the nodes accessible from a starting point (Fig. 7). Oncethis mapping has been created, for each node in the environ-ment, any human based analysis can be performed and at-tributed to that location. Considering the nodes in isolation,a visibility graph can be generated [75]. More complex andindividual factors can also be analyzed, such as falling injuryprobability [69].
Figure 7:
The breadth-first process of defining node locations.The numbers correspond to the order the node was checked.Two box objects are defined as obstacles while the surface itselfis a free form shape in 3D. Further examples are given in theAppendix and Supplemental Materials.
As with any building-based graph, the shortest path be-tween two nodes can be found. When generating a graphbased on a specific metric, such as visibility, informationabout the access to a node is lost. This is exemplified inthe problem of an environment location not being accessibleat all, while still calculating the values associated with thoselocations. The approach introduced in this paper considersthe method of movement from one node to the next, allow-ing for a quick end to the computation when starting from apoorly accessible location . Combining the movement fromone node to another with the node based analysis, numer-ous considerations for generating a likely or optimal pathcan be used. The factors of one directed edge cost can beweighted against others, as well as any attribute associatedwith a node. Furthermore, the movement type can be usedin path planning and analysis, where the cost of a path for asearch algorithm (e.g., Dijkstra [9]) is built on weights suchas slope.The method presented expands the ray-casting based breadth-first search to find accessible locations of an environmentgiven an initial starting position as described in [70]. In thissection, the method of the graph generation is explained fol-lowed by example implementations of both path planningand path analysis. To define the graph of an environment, a starting point 𝜏 ∈ ℝ within the CAD environment is defined from whicha breadth-first process begins. The graph 𝐷 ∶= ( 𝑉 , 𝐸, 𝑊 ) is a weighted directed graph (digraph) composed of the setof vertices 𝑉 , edges 𝐸 , and a set of weight vectors 𝑊 . Theset of vertices is defined as: Def 1. 𝑉 ( 𝐷 ) ∶= { 𝑣 , … , 𝑣 𝑛 } The edge set of 𝐷 is defined as: Def 2. 𝐸 ( 𝐷 ) ∶= { 𝑒 , … , 𝑒 𝑘 | 𝑒 𝑖𝑗 = ( 𝑣 𝑖 , 𝑣 𝑗 )∧ 𝑣 𝑖 , 𝑣 𝑗 ∈ 𝑉 ( 𝐷 )} This can be seen in Appendix A and the supplemental material whena ramp is too steep or steps are not useable.
M Schwartz:
Preprint submitted to Elsevier
Page 7 of 20patial Accessibility Graph
The last basic component of the digraph is the set ofweight vectors:
Def 3. 𝑊 ( 𝐷 ) ∶= { 𝐰 , … , 𝐰 𝐤 } Where 𝐰 is a vector of weights with a mapping to edgessuch that Ψ ∶ 𝑒 𝑖𝑗 → 𝐰 𝐢𝐣 . The weight vector 𝐰 𝐢𝐣 contains thedifferent costs associated with the movement on an edge. Asubscript is used to denote a specific weight in the vector,such that the weight corresponding to distance is denotedwith subscript 𝑑 , such that Ψ 𝑑 ( 𝑒 𝑖𝑗 ) = dist ( 𝑣 𝑖 , 𝑣 𝑗 ) .To map the graph to a spatially relevant set of locations,the set of vertices have an intrinsic mapping to 3-dimensionalpoints in the environment. Def 4. 𝑣 𝑖 ↦ 𝑛 𝑖 | 𝑣 𝑖 ∈ 𝑉 ∧ 𝑛 𝑖 ∈ ℝ In the following sections, a reference to 𝑛 𝑖 is to referencethe 3-dimensional point of 𝑣 𝑖 ∈ 𝑉 ( 𝐷 ) , and similarly, a linesegment 𝜇 𝑖𝑗 ↦ 𝑒 𝑖𝑗 | 𝜇 𝑖𝑗 = 𝑛 𝑖 𝑛 𝑗 .A set of geometry objects Γ represents the interactablesurfaces relating to human accessibility. Def 5.
Γ ∶= { 𝐵 𝑖 … 𝐵 𝑖 +1 } The set 𝐵 𝑖 represents a collection of geometry objectswith a particular property. For any generated graph 𝐷 , | Γ | > for at least one traversable surface must be defined (all ob-jects can default to traversable). Additional surfaces can in-clude obstacle objects as well as specific surface types. Forexample, using BIM: hardwood or carpet flooring could bedefined, or with GIS: sidewalk concrete and grass could beincluded. When discussing the graph in terms of accessibility, thebasic concept is given as: from a given node, what is the cost,if possible, to get to the next node? The graph is built suchthat the only nodes to move to, from any particular node, areones that were checked specifically in relation to that node,which requires a unique check for each time a node is de-fined to have an accessible path to another node (Fig. 8 usescolored edges to illustrate connections between nodes). Inother words, a parent node is the starting (initial) node ( 𝑛 )of a directed edge of an ordered pair of nodes ( 𝑛 , 𝑛 ) andthe child is the ending (terminal) node ( 𝑛 ). This orderedpair (parent,child) is later abbreviated as ( 𝑝, 𝑐 ) . However,discussed in the following sections, the use of neighboringnodes defines edge costs for cross-slope costs.Without additional processing of the graph, it may beweakly connected, as a graph may have a directed edge toa node that has no outgoing edges. This may happen if theSHAPE is generated with areas that allow an occupant toget to a location but not back (e.g., a ramp that is feasibleto traverse down, but not up). A separate issue is when anode is defined as a child through the given parameters andsubsequently has no children. For this case, a specific parentset 𝑃 ⊆ 𝑉 of nodes is defined. v v v e e e e e e v v v v v v v v v Figure 8:
The relationship of vertices and edges in the ( 𝑥𝑦 ) plane. Each color group (grey, blue, and red) represent theedge induced subgraph 𝐷 [ 𝐸 → 𝐷 ( 𝑣 𝑖 )] . The parent-child relation-ship is defined as the from and to nodes, e.g., 𝑣 is the parentand 𝑣 is a child of 𝑣 . Def 6. 𝑃 ∶= { 𝑣 𝑖 | ( 𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸 } As each node in 𝑃 has an outgoing edge, there is at leastone child node associated with it. The neighbourhood 𝑁 + 𝐷 ( 𝑣 𝑖 ) is the set of vertices dominated by vertex 𝑣 𝑖 in graph 𝐷 .While dense graphs are sometimes scrutinized for the spacecomplexity, this is most often seen in fully connected vis-ibility graphs and not applicable here as edge connectionsare limited to a predefined number of immediate neighbours(in euclidean space) of 𝑣 , creating a sparse graph. Figure 8shows the base case in which only adjacent points on the gridare possible child nodes (an extension of this is described inthe following sections).For clarity, 𝑁 + 𝐷 ( 𝑣 𝑖 ) is shortened and referred to as thechild set 𝐶 when the context is of the general node 𝑣 . Next,a set of outgoing edges from a vertex 𝑣 𝑖 is defined as: Def 7. 𝐸 → 𝐷 ( 𝑣 𝑖 ) ∶= { 𝑒 𝑖𝑗 | 𝑣 𝑗 ∈ 𝑁 + 𝐷 ( 𝑣 𝑖 )} This set of outgoing edges is then used to define the edge-induced subgraph 𝐷 [ 𝐸 → 𝐷 ( 𝑣 𝑖 )] of 𝑣 𝑖 , which is seen in Figure 8through different colorings.As ∀ 𝑣 𝑖 ∈ 𝑃 , ∃ 𝐷 [ 𝐸 → 𝐷 ( 𝑣 𝑖 )] , the weights associated withan edge 𝑒 𝑖𝑗 ∈ 𝐷 [ 𝐸 → 𝐷 ( 𝑣 𝑖 )] can be influenced by both node andedge values of its subgraph so that human-relevant factorssuch as cross slope can be accounted for. The graph generation results in the defined locations ofaccessibility given specific parameters. These parametersare shared among many of the navigation mesh algorithms(e.g., [76]) and while defaults can be used, are input by auser. Parameters used within this algorithm are: 𝜏 : Starting Point (x,y,z) M Schwartz:
Preprint submitted to Elsevier
Page 8 of 20patial Accessibility Graph ah s u s d b u b d s c Figure 9:
The parameters for traversing the model during thegraph creation. Cross-slope 𝑠 𝑐 is in the perpendicular plane tothe figure, as illustrated in Figure 3). ℎ : Height 𝑎 : Grid Spacing (x,y) 𝑏 𝑢 , 𝑏 𝑑 : Step Height (Ascent +, Descent -) 𝑠 𝑢 , 𝑠 𝑑 , 𝑠 𝑐 : Slope (Positive +, Negative -, Cross) 𝛾 : Minimum Required Children Φ : Set of Neighboring DirectionsFigure 9 illustrates the decision parameters from a givennode (shown in green) to another. The slope and step pa-rameters are calculated separately. Slope is defined as an in-crease or decrease of height from one node to another whenno geometry obstructs a direct path between nodes. A step iswhen an obstruction of the path between nodes exist. Uniquely, 𝛾 is the minimum children required to consider a node valid,and Φ are the direction vectors to check for valid childrensuch that a set of 8 directions (0 and ±
1) would be the ad-jacent 8 nodes while another direction set (e.g., 0, ± ± 𝛾 value of 8 would mean a node is onlyvalid in the graph if it is also able to access all directions.This check would fail if a node is close to a wall, creating aminimum buffer region.These components allow for a great variety of humanrelated accessibility issues to be incorporated in the graphgeneration. For example, slope can be defined as an in-cline of 12:1 while the minimal step height can be 0 cm.In this case, there is a rule describing an allowable heightdifference when traveling between two locations; as long asthere is a direct connection between those locations (i.e.,it is a ramp or incline, not an obstacle or step), describingthe graph required of a wheelchair. Parameters can be setat some maximal human capable level (maximal clearance)with the values stored within multiple graphs as edge costsand later iterated through for various path-finding and ac-cessibility checks. Alternatively, a single graph can be builtwith the edge costs incorporated on-the-fly. As a note, post-calculating edge costs is embarrassingly parallel as this isdone ∀ 𝑣 𝑖 ∈ 𝑃 , where ∃ 𝐷 [ 𝐸 → 𝐷 ( 𝑣 𝑖 )] . buildGraph getConnectiongetNodes checkChildAccessibility Graphqueue empty| max nodes truefalse for each node for each childvalid connectionschild nodesfor each node in queueParametersGeometry type Figure 10:
Overview of the algorithm to generate theaccessibility-based graph. Blue boxes are the methods detailedin this section.
In Fig. 10, a simple overview of the algorithm to buildthe accessibility-based graph is shown with four main func-tions described in the following sections. The algorithm ini-tializes with the user parameters and geometry objects thatremain in a global scope. Overall, the algorithm iteratesthrough a queue of nodes that are continually added to thequeue in a breadth-first manner from the starting location 𝜏 within the environment ( buildGraph ). While checking eachitem of the queue, getNodes iteratively finds the valid neigh-bor nodes by calling checkChild on each potential neighbor.The final function in the process, getConnection , determinesif an edge can exist between two nodes based on the inputparameters, and if so, the type of movement required be-tween the original and potential child node. Once an edgeis determined to be possible, the movement type is returned(likewise for all connections for the original queued item).Before the breadth-first process continues to the next itemin the queue, the graph is updated with vertices, edges, andweights. The generation of common surface and graph informa-tion methods regarding navigation takes into account the en-tire environment at once. Breadth-first search allows for thefast completion of the graph generation when no accessiblelocations are found (Appendix). This feature is particularlyuseful in the planning and design phase of a building or en-vironment as it offers immediate numerical and visual feed-back about the features that are blocking accessibility. Thequick ending to the graph generation benefits the calculationtime in practical use cases (e.g., the starting location being aramp that is too steep).Generating the graph begins with a valid starting loca-tion where start point 𝜏 is above a valid surface geometry in Γ . The algorithm begins with an empty graph 𝐷 and an or-dered set 𝑄 representing the queue of vertices that remain tobe checked for validity in 𝑃 . At initialization 𝑄 = { 𝜏 } , withthe algorithm completing when 𝑄 = ∅ .Generating the graph can be seen in Algorithm 1 line 8,where a parent node 𝑝 is removed from the queue 𝑄 . Thevalid children nodes are assigned to set 𝐶 and if a child nodeis not already defined as a parent node, it is added to 𝑄 . Oncethe set of valid children are returned, the weight vector con-taining step type is stored in the weight set (line 10). Thispseudocode shows the method in which weights are calcu- M Schwartz:
Preprint submitted to Elsevier
Page 9 of 20patial Accessibility Graph a b u h b u b u zˆ n xˆ B B B n n n n n n (a) Node position above step height a b d b d h (b) Node position below step limit ah s u (c) Node position outside slope limit Figure 11:
Illustration of three common occurrences in graph creation of non-flat surfaces for checking a valid child node. Greencircles represent a valid node and red circle as invalid based on the parameters given. The black circle represents the startingnode 𝑛 and each grey circle is a subsequent check for a valid node. 11a represents climbing stairs and multiple geometry objects,11b is descending stairs, and 11c is a natural topography. The letters 𝑎, ℎ, 𝑏 represent the offsets used as values in the graphcreation. 11a shows the node numbering scheme with the same ordering followed in 11b and 11c. Algorithm 1:
Build digraph of nodes and edges 𝑄 ← 𝜏 𝑉 ← 𝜏 𝐸, 𝑊 ← ∅ , ∅ 𝐷 ← { 𝑉 , 𝐸, 𝑊 } Function buildGraph(
𝐷, 𝑄 ) : if 𝑄 = ∅ then return 𝐷 𝑝 ← 𝑄.𝑝𝑜𝑝 () 𝐶, 𝑤 𝑡 ← getNodes( p ) 𝑊 ← 𝑤 𝑡 for c ∈ 𝐶 do 𝑊 ← setEdgeCost( 𝑝, 𝑐 ) 𝑉 ← 𝑐 𝐸 ← ( 𝑝, 𝑐 ) if 𝑐 ∉ 𝑃 then 𝑄.𝑖𝑛𝑠𝑒𝑟𝑡 ( 𝑐 ) return buildGraph( D,Q ) lated during graph construction, and therefore, during the it-eration over the child set, a function setEdgeCost() on line 12calculates a directional edge cost between the two nodes andstores it in 𝑊 . This function can be used to set multipletypes of edge costs, such as distance, slope, and energy, asdiscussed later. After the directed edge of a parent and childis stored, the child node is checked for existence in the parentset. If the node is not in the existing parent set it is added to 𝑄 . Two main functions are defined that determine the valid-ity of a child node within the getNodes() function (called inAlg. 1 and later defined in Alg. 2). The function inter( 𝑛 𝑖 , 𝑛 𝑗 ) is defined as returning the distance ⃖⃖⃖⃖⃖⃖⃗𝑛 𝑖 𝑛 𝑗 intersects 𝐵 𝑖 in theenvironment and dst( 𝑛 𝑖 , 𝑛 𝑗 ) returns ‖ ⃗𝑛 𝑖 − ⃗𝑛 𝑗 ‖ .Figure 11 shows the node evaluation in the ( 𝑥𝑧 ) planewhere the ray cast direction is − ̂𝑧 . As the graph is in relationto physical space, − ̂𝑧 corresponds to the direction of gravity.The parameters and labels used are those described in 4.1.3. The surfaces illustrated provide examples of a step, facetedsurface, and natural topography (e.g., a hill or mountain).When a possible node is invalid, it is not added to 𝑄 , and inthe simple example within the figure, the graph completes.To simplify the illustration, Figure 11 is a two-dimensionalexample is given and only the directed relation from the leftto right is discussed.In 11a, a ray is cast in − ̂𝑧 starting at 𝑛 . As the nodefound from inter( 𝑛 , 𝑛 − ̂𝑧 ) < 𝑏 𝑢 , 𝑛 is considered valid.When checking 𝑛 , ℎ is reset based on the previous node ( 𝑛 ).To demonstrate the use of Γ , three objects, Γ = { 𝐵 , 𝐵 , 𝐵 } are represented in the illustration where they are all walkablesurfaces. The last node, 𝑛 , is shown in red as inter( 𝑛 , 𝑛 − ̂𝑧 ) > 𝑏 𝑢 , ending the graph generation. In the down step casefor parameter 𝑏 𝑑 , 11b illustrates the intersection point for 𝑛 falling outside the threshold. Finally a node 𝑛 is invalidin 11c as the angle created from 𝑛 and inter( 𝑛 , 𝑛 − ̂𝑧 ) > 𝑠 𝑢 . Furthermore, the relative positioning in 𝑍 of parent-child nodes can be seen by the height variation relative to theprevious node.Algorithm 2 implements this process in three-dimensions.The function getNodes(p) takes an input node 𝑝 and tests forits children in the directions contained in a given set of aneven grid in the ( 𝑥, 𝑦 ) plane (i.e., Fig. 8), represented in theset Φ = {−1 , ,
1} × {−1 , , . With these directions, a
45 deg angle is a limiting factor for a path connecting nodes.To decrease this angle, Φ can incorporate additional loca-tions, i.e., (-2,-1), which would correspond to node 𝑣 con-necting to 𝑣 in Figure 8. An alternative approach to ex-panding the neighboring nodes could be to iteratively ex-pand while some condition remains true, such as no step-ping, through an adaptive highway graph [53]. Algorithm 1and 2 describe the three-dimensional breadth-first process ingeneral terms. On line 4, a point 𝑐 is composed of the 𝑥, 𝑦, 𝑧 values of 𝑝 , offset in the directions of Φ .The process for determining the return value of checkChild(p,c) begins with the description of Figure 11 and is expanded todefine edge weights and determine criteria for an edge con-nection in the following section. M Schwartz:
Preprint submitted to Elsevier
Page 10 of 20patial Accessibility Graph
Algorithm 2:
Check for valid neighbors Function getNodes( 𝑝 ) : // Check parent 𝑝 for valid children 𝐶, 𝑤 𝑡 ← ∅ , ∅ for ( 𝑖, 𝑗 ) ∈ Φ do c ← ( 𝑝 𝑥 + ( 𝑖 × 𝑎 ) , 𝑝 𝑦 + ( 𝑗 × 𝑎 ) , 𝑝 𝑧 + ℎ ) 𝑡, 𝑐 ′ ← checkChild( p,c ) if 𝑐 ′ then 𝐶 𝑖𝑗 ← 𝑐 ′ 𝑤 𝑡 𝑖𝑗 ← 𝑡 if |C|< 𝛾 then return ∅ , ∅ else return 𝐶, 𝑤 𝑡 As discussed in the previous section, each ( 𝑝, 𝑐 ) is checkedagainst a set of parameters and criteria. 𝑁 + 𝐷 ( 𝑝 ) is constructedin Alg. 2, represented by the returned set 𝐶 . One aspect ofaccessibility is a minimum width or region a valid path cantraverse through. Algorithm 2 can be expanded to force ac-cessible edges in path-finding to only pass through nodes thatare connected to at least some user-defined number of neigh-bors. On line 12 of Alg. 2, rather than returning 𝐶 , a checkcan be done to see if | 𝐶 | is greater than some minimum con-nectivity and if not, return an empty set. For example, if Φ isthe set of 8 neighboring directions, return 𝐶 ⟺ | 𝐶 | = 8 .For 𝑐 ∈ 𝐶 , 𝑐 is determined to be valid by function checkChild(p,c) ,shown in Alg. 3. First, the distance to the closest 𝐵 𝑖 ∈ Γ isfound by inter( 𝑐, 𝑐 − ̂𝑧 ) . Given no labeled geometry in Γ , 𝐵 𝑤 is the same set of objects as Γ . For labeled geometryconsisting of walkable and non-walkable surfaces, a set ofwalkable surfaces are defined as 𝐵 𝑤 ⊂ ℝ . If the closestdistance is to 𝐵 𝑖 ∉ 𝐵 𝑤 the node is not valid. The connectiontype 𝑡 between 𝑝 and 𝑐 ′ is calculated by getConnection(p, 𝑐 ′ ) and if valid, the step and slope parameters are verified. In im-plementation, the relational information of connection typesbetween the parent and child nodes is stored during the graphconstruction, and the function returns the connection type ( 𝑡 )and valid node ( 𝑐 ′ ).The type of connection between two nodes is determinedas one of five possible cases (Fig. 12): No Step 12a, StepOver 12b, Step Up 12c, Step Down 12d, Invalid 12e. Thereference to "No Step" is specifically regarding a geometrythat protrudes off of the ground surface, which would re-quire a foot, wheelchair, or other aide to lose contact withthe ground during traversal. The "No Step" is referred to asa direct connection, which works in both flat and inclinedground as the height offset between nodes is also stored.Therefore, future queries of the relationship between nodes(such as defining edge cost) returning both a height offset anddirect connection allow for a specific categorization such asan incline instead of a step. This method provides a similarbut more detailed approach to determining node connectionsas the edge culling in [49] or the edge connectivity determi- Algorithm 3:
Check if a child is within constraints Function checkChild( 𝑝, 𝑐 ) : // Check if child 𝑐 is a valid child 𝑐 ′ ← inter( 𝑐, ⟨ 𝑐 𝑥 , 𝑐 𝑦 , 𝑐 𝑧 − 1 ⟩ ) if 𝑐 ′ ∉ 𝐵 𝑤 then return ∅ , ∅ 𝑡 ← getConnection( p, 𝑐 ′ ) if 𝑡 ≠ 𝑡 INVALID then if 𝑡 = 𝑡 DIRECT then if 𝑠 𝑑 < ( 𝑝 𝑧 − 𝑐 ′ 𝑧 ) < 𝑠 𝑢 then return 𝑡, 𝑐 ′ if 𝑏 𝑑 < ( 𝑝 𝑧 − 𝑐 ′ 𝑧 ) < 𝑏 𝑢 then return 𝑡, 𝑐 ′ nation of a visibility graph [75, 25].Given the first connection type being false, a second ray,referred to in the figure as 𝑑 , is calculated and used to checkfor a connection. Depending on the height relationship be-tween 𝑝 and 𝑐 , the translated start position of the ray is de-termined by 𝑏 𝑢 or 𝑏 𝑑 as the directed edge is either steppingup or down. The special case is for when the two nodes areequal in height with an obstruction between them, requiringa step over the obstruction (Fig. 12b), which has a ray startpoint calculated the same as a step up. Algorithm 4:
Check for node connection type Function getConnection( 𝑝, 𝑐 ) : // Check parent 𝑝 for connection type to 𝑐 if dst( 𝑝 , 𝑐 ) ≤ inter( 𝑝 , 𝑐 ) then return 𝑡 DIRECT if 𝑝 𝑧 ≤ 𝑐 𝑧 then 𝑝 𝑧 += 𝑏 𝑢 if dst( 𝑝 , 𝑐 ) ≤ inter( 𝑝 , 𝑐 ) then if 𝑝 𝑧 = 𝑐 𝑧 then return 𝑡 OVER return 𝑡 UP if 𝑝 𝑧 > 𝑐 𝑧 then 𝑝 𝑧 += 𝑏 𝑑 if dst( 𝑝 , 𝑐 ) ≤ inter( 𝑝 , 𝑐 ) then return 𝑡 DOWN return 𝑡 INVALID
Algorithm 4 demonstrates the process for calculating therays and connection types. After the connection type and pa-rameters of 𝐶 is determined, the algorithm returns to buildGraph(D,Q) on line 5. At that point, for the given 𝑝 passed to getNodes ,the subgraph of 𝑝 can be constructed ( 𝐷 [ 𝐸 + 𝐷 ( 𝑝 )] ). The cost of traveling from one node to another is definedby the mapping of the weights from set 𝑊 as shown in Sec-tion 4.1.1. While the significance of the method and result-ing graph is the straightforward application to a variety ofhuman factors, a few weight categories previously discussed M Schwartz:
Preprint submitted to Elsevier
Page 11 of 20patial Accessibility Graph d p c (a) Direct Connection d p cd (b) Step Over b u d d p c (c) Up Step b d d d p c (d) Down Step b d d d p c (e) Not connected Figure 12:
Example configurations for a connection between nodes. First, a check 𝑑 is performed (12a). When the first checkis not successful, depending on the relation between the nodes, either the up(12c) or down step(12d) limits are used for a secondcheck 𝑑 . If 𝑐 𝑧 = 𝑝 𝑧 , a special case is defined(12b). In 12e, the incline after the parent and down step of the child block aconnection. This last case is the same result given a wall or another obstacle preventing an edge between the nodes. in the literature will be defined here. Especially at the urbanscale, the inclusion of varying ground conditions to walka-bility analysis can better predict the human experience, withcomfort, timing, and fatigue being realized.Two cases exist for defining the cost of an edge:1. Cost of mobility along the edge
2. Cost of moving to a node
In the first group, metrics related to mobility itself areincluded; Ψ 𝑐 ( 𝑒 𝑖𝑗 ) = Cross-slope, Ψ 𝑑 ( 𝑒 𝑖𝑗 ) = Metric Distance, Ψ 𝑠 ( 𝑒 𝑖𝑗 ) = Slope, Ψ 𝑒 ( 𝑒 𝑖𝑗 ) = Energy Expenditure, Ψ 𝑡 ( 𝑒 𝑖𝑗 ) =Step Type.In the second group, attributes not able to be calculatedby the path in isolation, but rather as values calculated co-hesively with the built environment are considered. Thesehighly localized parameters are easily missed in maximaledge connected graphs (e.g., [39]) and rely on the dense setof nodes throughout the environment. In this approach, anedge weight is defined by some properties or attributes ofthe end points (nodes) of the edge. For example, a directededge with a start node located on concrete and end nodelocated on sand is given a higher cost than the reverse asthat node should be avoided. This weight mapping can in-clude Ψ 𝑘 ( 𝑒 𝑖𝑗 ) = Type of Surface the end node is on, withfurther types; Ψ 𝑙 ( 𝑒 𝑖𝑗 ) = Light Intensity from Opposite Di-rection, Ψ ℎ ( 𝑒 𝑖𝑗 ) = Light Difference Between Nodes, Ψ 𝑓 ( 𝑒 𝑖𝑗 ) = Probability of Falling, Ψ 𝑣 ( 𝑒 𝑖𝑗 ) = Percentage of View toGreenspace, Ψ 𝑤 ( 𝑒 𝑖𝑗 ) = Surrounding Width.Some edge cost definitions such as the metric distance, Ψ 𝑑 ( 𝑒 𝑖𝑗 ) = | 𝑛 𝑖 − 𝑛 𝑗 | , are straight forward while others Ψ 𝑙 ( 𝑒 𝑖𝑗 ) are based on the implemented simulation technique. Thetwo most notable costs related to the focus of this paper are Ψ 𝑐 ( 𝑒 𝑖𝑗 ) and Ψ 𝑒 ( 𝑒 𝑖𝑗 ) and are therefore defined in full. Ψ 𝑐 ( 𝑒 𝑖𝑗 ) is the mapping of weights to edge costs in the graph relatingto the cross slope and Ψ 𝑡 ( 𝑒 𝑖𝑗 ) is the mapping consisting ofan identifier for the step type found in Alg. 4.Calculating the cross-slope score Ψ 𝑐 ( 𝑒 𝑖𝑗 ) is done by con-sidering the edges to 𝑢 𝑖𝑗 (using the mapping defined in Sec.4.1.1)that are orthogonal in the 𝑥𝑦 plane, denoted by 𝑥𝑦 ⊥ . Themaximum difference in height between the nodes of orthog-onal edges is used as the score: Def 8. Ψ 𝑐 ( 𝑒 𝑖𝑗 ) = max ( | ̂𝑧 ⊙ ( 𝑛 𝑗 − 𝑛 𝑘 ) | ∀ 𝑢 𝑖𝑗𝑥𝑦 ⊥𝑢 𝑖𝑘 ) | 𝑒 𝑖𝑘 ∈ 𝐸 → 𝐷 ( 𝑣 𝑖 ) ∧ Ψ 𝑡 ( 𝑒 𝑖𝑘 ) = 𝑡 DIRECT
The requirement for Ψ 𝑡 ( 𝑒 𝑖𝑘 ) = 𝑡 DIRECT corresponds to theconnection type defined in Alg. 4 line 3 as a direct connec-tion with no step.Additionally, a function defining energy expenditure ofwalking on slopes [47] as shown in Fig. 4 is used for 𝑤 𝑒 . Bycorrectly weighing the energy of moving both up and downa slope, human based smooth paths, rather than mathemati-cally defined ones(e.g., [64, 43]), can be found. Def 9. Ψ 𝑒 ( 𝑒 𝑖𝑗 ) =280 . 𝑠 ( 𝑒 𝑖𝑗 ) −58 . 𝑠 ( 𝑒 𝑖𝑗 ) −76 . 𝑠 ( 𝑒 𝑖𝑗 ) +51 . 𝑠 ( 𝑒 𝑖𝑗 ) +19 . 𝑠 ( 𝑒 𝑖𝑗 ) + 2 . Edge costs are reasonable, but often distracting or diffi-cult to visualize in an environment. It is therefore beneficialto attribute values to a node that represent the costs associ-ated with it. Likewise, a node may be an input mechanismfor different types of simulations. In this case, the node valuecan be a combination of all directed edge costs away fromthe node (i.e., W( 𝐸 → 𝐷 ( 𝑣 𝑖 ) )), as a localized decision makingagent (e.g., chemtrails used in [52]) can be directed awayfrom nodes that would have been difficult to leave from. Thevalue of this node can be represented as: ∑ 𝜄𝜄𝜄 ∈ 𝑊 ( 𝐸 → 𝐷 ( 𝑣 𝑖 )) 𝜄𝜄𝜄 ⊙ 𝜌𝜌𝜌 𝜄 Where each weight has corresponding (user defined) co-efficient vector 𝜌𝜌𝜌 of importance.Another case of defining an edge cost is when the ex-isting attributes or values are first associated with a node,rather than an edge,d efined for when an edge 𝑒 𝑖𝑗 is assigneda weight equal to either its initial vertex ( 𝑣 𝑖 ) or terminal ver-tex ( 𝑣 𝑗 ). This often occurs when a value from simulation orevaluation, such as lighting, is mapped to locations in the en-vironment, rather than the cost of moving between locations. This is one example, although other methods can be easily includedor used in place.
M Schwartz:
Preprint submitted to Elsevier
Page 12 of 20patial Accessibility Graph
The focus of this paper remains in the graph generation.In this section, defining various combinations and evalua-tions of a path is briefly discussed but is not exhaustive dueto the numerous possible combinations. While a path is of-ten defined as a sequence of vertices, a modified definitionis used here to provide a simple connection to the weightsdescribed in Section 4.3. As a note, the vertices of the graphare associated with nodes in the environment and therefore,the methods of path evaluation seen in space syntax such asangle or number of turns is straightforward to use. However,this section focuses on path analysis based on edge weights.A directed path Ω is an ordered sequence of edges thatare connected in 𝐷 between two vertices. Def 10.
Ω ∶= ( 𝑒 , … , 𝑒 𝑚 | 𝑒 𝑛 ∈ 𝐸 ( 𝐷 )) Defining the cost of an edge directly impacts the pathsfound when applying any common shortest path algorithm,which is synonymous with least-cost in this context. If con-sidering the combination of distance and energy in a weightedfunction, this path in an urban environment can be used asthe starting point for defining ramps or walkways to be con-structed as to minimize the amount of land mass that mustbe removed. The breadth-first approach provides an efficientmethod in calculating this aspect of spatial evaluation as thegraph generation ends when one of the accessible parame-ters is not met. In the indoor environment, these paths ofleast resistance can give direct feedback on the performanceof a layout or distance between rooms. When consideringthe value in quantifying occupant paths of a space, multipleapproaches of cost aggregation can be useful, such as dis-tances with types of spatial views.By combining the weighting parameters discussed in Sec-tion 4.3, the shortest path between two buildings or roomscan be quantified by more than simply able-bodied walk-ing distances. As design alternatives and modifications aremade to the environment, these values update accordinglyand enable a quantified score of evaluation across the de-signs. When separating the costs, multiple paths can be gen-erated for each one (or any combination there of). A spacecould therefore be evaluated based on the variance betweeneach of the paths.Additionally, edge costs can be used as the evaluationmetric where, for example, the metric distance is used asthe edge cost to generate least-cost paths between desiredlocations. Next, the weight of each edge, or the combinationof the weight vector values, is applied as the evaluative scoreof a path, such that 𝑆 ∶ Ω → ℝ . Def 11. 𝑆 (Ω) ∶= ∑ 𝑤𝑤𝑤 𝜄 ∈ 𝑊 (Ω) 𝑤𝑤𝑤 𝜄 ⊙ 𝜌𝜌𝜌 In some cases the weight vector must be first processed,or alternatively calculated, to have a meaningful result. Inthe case of a step, 𝑤𝑤𝑤 contains an enumerator associated with connection types (Alg.3 line 5). Therefore to count the totalnumber of steps required in a path, the index of connectiontype 𝑡 in the weight vector is redefined as: 𝑤𝑤𝑤 [ 𝑡 ] = { if 𝑤𝑤𝑤 [ 𝑡 ] = 𝑡 OVER ∨ 𝑡 UP ∨ 𝑡 DOWN otherwiseTo count the number of steps in a path, 𝜌𝜌𝜌 would be avectors of ’s, with the exception of the connection type co-efficient being .
5. Implementation
The algorithms described were implemented in Pythonand visualized in the Rhino 3D software as it is commonlyused in the free-form design and planning stages where largechanges to a design based on overall accessibility can be eas-ily made. While the same methods can be implemented inBIM focused software (e.g., Autodesk Revit), the demon-stration within a modeling package containing limited infor-mation on the geometry demonstrates the scaleable use.The code was developed in Python and IronPython, witha SQL database to manage graph data between them. Duringthe graph creation a Python Dictionary object is used to storethe vertex and edge connections, which is later converted to acompressed sparse row (CSR) structure with multiple arraysset as data for costs. To demonstrate the algorithms in vari-ous cases a simple GUI was made with the Rhino Grasshop-per interface. No modifications to the algorithm are madebetween examples, except for any human factor input param-eters that are used for demonstration purposes. The combi-nation of these examples illustrates the flexibility in designuse-cases and robustness at varying levels of geometric de-tail.While more concrete examples of the algorithm are givenin the following sections, Figure 2 provides an overview ofthe process from a design-user perspective. Given an ini-tial building model, the user would select a location to startthe algorithm from. Selecting the metrics of interest, suchas the open space around each location, a heatmap visualiz-ing the data can be applied to the nodes of the graph. Eitherthe nodes themselves can be explored, or the nodes with thebuilding model can be seen in the modeling program at thesame time (or nodes can be hidden all-together). Each imagein the diagram is taken as a screen capture from the viewport,with only the text box and start/end waypoints overlaid forillustration purposes.To demonstrate the feasibility, a SHAPE was generatedon three test cases: a kitchen representing the object scale,the NJIT Architecture building for the building scale, andtwo height varying surfaces representing terrain types. Theintent of these examples is to clearly and understandablycommunicate the flexibility, performance capability of thealgorithm presented in this paper, and the direct impact quan-titative metrics have on the generated graph. Both the kitchen(Sec. 5.1) and building (Sec. 5.2) models are exported from
M Schwartz:
Preprint submitted to Elsevier
Page 13 of 20patial Accessibility Graph (a) (b) (c) (d)
Figure 13:
In 13a the nodes defined as accessible locations are visualized in green. Three kitchen layouts (13b,13c,13d) are allanalyzed with identical graph and path algorithms and no modification to the parameters with a path between the sink, stove,and refrigerator. 13b shows a typical work triangle of a kitchen. In 13c, the path between the refrigerator and sink is interruptedby an island, diverting the path around it. 13d shows a smaller and modified layout where the path between the key points isnearly a straight line. an Architects Revit and Interior Designers Rhino 3D mod-els (Adapted from [69]). In Section 5.3, both a real-worldGIS terrain is shown and a more simplified model is used tohelp readers in understanding how varying terrain types im-pact energy costs and can be included in path planning andspatial analysis.
At the room scale, a kitchen provides a demonstrationof the graph avoidance of objects. A common design pro-cess for a kitchen is the evaluation of a work triangle definedby the refrigerator, sink, and stove (store, preparation, andcooking). By selecting these objects as destinations for apath, this triangle can be generated and evaluated automati-cally. The object level inclusion of the graph enables kitchenislands to be included in the evaluation rather than consid-ering the direct path between the objects of interest (e.g.,stove).Using the accessibility graph, Figure 13 shows three ba-sic kitchen layouts. The table and chairs, along with coun-ters are not included in the accessible locations. The stove,refrigerator, and sink positions are selected to calculate thetravel between them, creating the work triangle . Using thedistance metric of the path, the variation in the triangle perime-ters is simply calculated. As the path is created from thenodes, an exact shortest path can vary based on the distancea node is connected to its neighbors. In Figure 13b the totalcalculated distance is 1091 cm, while the exact distance is1080 cm. The difference between the estimated and actualdistances is 11cm, or 1%. Individual paths are calculated asfollows (calculated vs actual): Stove-Refrigerator 242 cm vs241 cm, Stove-Sink 343 cm vs 340 cm, Sink-Refrigerator506 cm vs 500 cm.In comparison, to Figure 13b, an island blocking the di-rect (Fig. 13c) path changes the total distance from 1091 cmto 1114 cm. With the island blocking the path, the euclideandistance between the sink and refrigerator is calculated as532 cm compared to the original 506 cm. Finally, the smallerkitchen arrangement of Figure 13d provides a total perimeter of 830cm for the work triangle . While these values representan isolated test case for demonstrating the method in imple-mentation, the example is in the context of a commonly de-fined approach to interior design. In the simplest form, thisevaluation provides instant feedback as to the distances be-tween objects in the work triangle in which designers maywant to minimize for a desired occupant experience. In ad-dition to traveling distances, a heatmaps could be visualizedfor the designer to highlight areas that are dangerous for anoccupant to fall, or locations difficult to reach certain cabi-nets, as illustrated in [69].
When descritizing the model to nodes of accessible lo-cations, certain features such as proximity to a wall are notaccounted for when using a shortest path algorithm. In fact,this is one motivation for the importance of numerous quan-titative human factors being included in the graph as the ma-jority of existing work either: removes graph nodes near ob-stacles to force paths away (i.e., the walls), uses an extremelysparse graph containing predefined locations (e.g., center ofdoorways), or ignores the issue by interpreting the data asan approximation. When removing nodes, the graph losesdata that exists for human occupants to solve only the pathingsimilarity problem. The importance of using data to deter-mine a path or evaluating a shortest path was elaborated onin Section 2. By predetermining how occupants will move orexperience an environment, the evaluation of that movementloses meaning. While these options are the best (only) onesavailable, the ongoing efforts of human-building interactionand cognitive science enables us to more accurately modeland simulate environmental conditions of an occupant.By no means is spatial visibility and distance the onlytwo conditions considered by an occupant. However, Fig-ure 14 demonstrates the diversity of paths between identicallocations when only two quantitative metrics are used in theSHAPE. In this demonstration, a viewshed analysis is per-formed at a height of 1.8 meters using 2000 rays per locationand a 360 degree field of view, with ±40 ◦ elevations. The M Schwartz:
Preprint submitted to Elsevier
Page 14 of 20patial Accessibility Graph (a) Heatmap of Open Space(b) Minimize Distance (c) Maximize Open View(d) Avoid Open View (e) Avoid Narrow View(f) Minimize Distance Avoiding Obstacles
Figure 14:
Demonstration of different paths created with the same graph using different and combined attributes. 14a showsa heatmap visualization of the average distances in a viewshed analysis, where red is the most open views and blue the leastopen views. 14b is a standard shortest path using metric distance. 14d avoids paths based on the maximum view while 14c isthe inverse. In comparison, 14e avoids edges based on the minimum view distance. Finally, 14f combines the edge costs of openspace (14e) and distance (14b) by setting a multiplier to edges within a threshold close to obstacles, creating a wall-buffer effect.
SHAPE was generated at a grid spacing 𝑎 of 25cm with aminimum connectivity of 8 nodes, which the result can beseen in the top right empty rooms (Fig. 14a) that have anopening too small to be considered accessible. For each lo-cation, the maximum and minimal distance any ray travelsin the set is recorded and used as node attributes. These val-ues are then set as the outgoing edge cost (incoming costswould provide similar results) to that node. The use of max-imal or minimal views are not suggested as realistic paths,but rather as a demonstration of how these metrics can finda variety of pathing strategies. Additionally, any metric canbe calculated along any path.In Figure 14b the shortest path by distance between twolocations is visualized, totaling 78.7 meters. Another ex-ample is to use the farthest distance visible from a locationas the edge cost, which would create high costs for any edgethat has a long line of sight. This approach creates the pathin Figure 14d, which is 90.2 meters long. The reciprocalscore ( max_dist ), where edges cost less when there is a distantobject (i.e., longer line of sight) is shown in Figure 14c atlength of 95.5 meters. Rather than avoiding or using edgesbased on the longest distance, the same can be applied forthe shortest (i.e., closest distance to an object in view). Sim-ilarly to the previous method, close distances can be avoidedby dividing 1 by the minimal distance, shown in Figure 14e,with a path length of 90.9 meters. A final path is shownin Figure 14f that combines the edge costs of distance anda function of minimal views( Ω in Sec. 4.3.1). By setting athreshold of 63cm, any outgoing edge from the node is setto the length of the edge multiplied by a constant (4, in thisexample). This is, practically, making an edge that moveswithin 63cm of a wall cost four times as much as travers-ing an edge further away. By doing this, a minimal distancepath is created that avoids obstacles (e.g., walls, handrails)without needing to remove nodes from the graph of accessi- ble locations. This combined-cost path totals 82.2 meters,3.5 meters longer than the minimal distance and 8.7 metersshorter than the path purely avoiding obstacles. At the largest scale, Figure 15 shows a process in whichGIS data was used to visualize areas of high and low en-ergy expenditure, as well as paths generated between loca-tions that minimize either distance or energy. In this ex-ample, a region near Park City, Utah was selected withinCityEngine [15] at a size of approximately , 𝑚 . In thisexample, the limitation of the algorithm is not the size, butrather the model resolution. The accuracy at which the to-pography can be created limits the meaning of certain con-ditions, such as slope and step. For example, while there areclearly trees in the mountains, the 3D model itself lacks thesegeometries. The geometry can still be analyzed, but two con-ditions are applied: (1) The margin of error for specific met-rics such as energy expenditure is assumed to be large (2)Spacing of the nodes is sufficiently large so that errors fromtessellated ground conditions are minimized. In this exam-ple, node spacing was set to 5 meters, across which a max-imum slope of ±45 ◦ was allowed. Looking at the node vi-sualization it becomes apparent there existing pathways thathave been evaluated as low energy . Upon closer inspection,while the the node spacing is larger than a human step, road-ways that have been carved into the mountain are still cap-tured at the course resolution and are found by the SHAPE.As the complexities of the large-scale terrain are difficult tointuitively understand, two simple examples are additionallyprovided to clearly demonstrate the role of slope and cross-slope.Cross-slope avoidance in path generation is demonstratedin Figure 16. In Figure 16a, two corners of a ramp are usedas start and end points of the path, with a shortest path met-ric of distance being used. When the angle of the cross-slope M Schwartz:
Preprint submitted to Elsevier
Page 15 of 20patial Accessibility Graph
Region Selection Generate Graph and Energy Costs
Energy-based Node Visualization Perspective View of Topography
Minimal Energy Aligns with Existing Road Surface
Minimize Distance Minimize Energy
Downhill Pathfinding Sample
Minimize DistanceMinimize Energy
Uphill Pathfinding SampleInitial GIS Model
Figure 15: (Top) Demonstration of using GIS data as input model for generating graph and analysis. Nodes are visualized as aheatmap from low to high energy cost (blue to red). (Bottom) Paths are demonstrated from start-point (blue pin) to end-point(red pin) based on energy and distance. (a) Distance (b) Cross-slope
Figure 16:
Two paths generated with (16a) distance only and(16b) distance with the added cost of a cross-slope. is added as an additional weight to the distance, the shortestpath generated follows the ramps incline and moves diago-nally on the flat surface (Fig. 16b). (a) Distance (b) Energy
Figure 17:
Two paths generated with (17a) distance only and(17b) energy.
As the edge costs of various factors can be either themethod for finding the shortest path, or for generating it,there are two evaluative scores. In 17a, the shortest path iscreated using the edge costs of distance in which the valueis 64m and the energy cost is 470 J/KG m. In 17b, energyis used as the edge cost, reducing the energy calculation to355 J/KG m, with a distance of 73m. This exemplifies thecomplex relationship in landscape environments for humanmobility as a 14% increase in path distance results in a 24%decrease in energy.Both the visualization and data can be used in the plan- ning of environment paths and site selection. By understand-ing the physical impact the topography has on people, de-signers can include in their planning a quantitative metricof consideration for placing entrances and exits in a waythat may improve accessibility and reduce the need for largechanges to the natural environment.
6. Discussion
The consideration of fatigue and energy in an environ-ment is greatly applicable in urban environments and deci-sions as to the reduction of hills and soil, a costly construc-tion process. The results show how a highly complex topog-raphy can be analyzed and a minimal-energy path (which hasa non-linear relationship with slope), is automatically found.Indoor, this type of calculation has important implicationsfor large spaces such as airports, and with the integration ofindoor and outdoor, environments such as a school campuscan use this type of automated evaluation method for im-proving and determining accessibility and timing betweenclasses (i.e., large scale built environment circulation analy-sis).The visualization method of heatmaps shown in Figures 14aand 15 is a commonly used technique for providing intu-itive feedback for a designer. Likewise, path visualizations(Figs. 13-17) are commonly used in circulation analysis. Ineither technique for providing feedback to the designer, theimportant aspect is in what data is being visualized. By us-ing the SHAPE method, not only can existing work (e.g.,visibility graphs) be used with its base graph structure, buthigh-fidelity human-centric data relating to physiology canbe at the forefront of the design. With construction tech-niques pushing the limits of creation in the built environ-ment, such as creating curved concrete floors and ramps, itis important to provide tools that can quantitatively evaluatehow a human will physically experience and navigate such a
M Schwartz:
Preprint submitted to Elsevier
Page 16 of 20patial Accessibility Graph design.There are multiple ways to approach the navigable or ac-cessible areas in a 3D model, each with their own drawbacks.While a process using voxelization could under-include ge-ometry (e.g., ignoring geometry below the defined voxel size),it could likewise over-include these small details. As themethod presented in this paper uses ray intersections, a pointof failure in accurate representation of accessible locationscould be a model containing extremely small geometry suchas a metal wire across the room. Future work to resolve thiscould include the use of geometry bounding boxes relativeto the edge connection of nodes.The flexibility in the proposed algorithm for use on non-labeled data is similarly limited in instances where there isno guaranteed way to infer movable structures from the 3Dmodel, such as the case of elevators. This is an inherit issuewith all methods, and extending this work to utilize the sametechniques (e.g., defining a node at the landing of the eleva-tor on each floor) would be straightforward. The SHAPEcould be generated on each floor, with a labeled elevator(and hence, closest node) connecting the floors. Further-more, the step height parameter could be set to 0, illustratingthrough path visualization an occupant using a wheelchairwould have limited accessibility. It is still important to note,however, that the proposed method excels without labeleddata and is able to traverse 3D environments on varying sur-faces and stepping blocks (e.g., stairs) even when these ob-jects are not labeled as such, which would likewise highlightto a designer that subsequent floors were not accessible with-out elevators (i.e., missing a ramp).Changing the user input parameters can allow for mul-tiple specific graphs to be analyzed, for example, useful fortoddlers/children in childproofing a room by setting the heightsmall enough for a child and see if they can access unsafespace, or detect sharp edges of objects within their path, orgive a metric for them climbing on furniture. Likewise, anextension to the weighting parameters of discrete evaluationmetrics defined for edge costs, an additional dimension ofthe weight vector could be added to incorporate time. Thiscould be used, for instance, in considering factors such aslighting levels where additional edge costs would be gener-ated across times of the day.While this research focuses on presenting a method forgenerating a graph and then using the graph for path-basedanalysis, the human factors discussed, and underlying graphrepresentation, have applications in related research areas.Although a navigation mesh could be more efficient if theonly goal was agent-based simulation, the digraph could beused as a layer for both navigation policy and as a position-aware data structure for storing information on agent interac-tions (e.g., chemical diffusion rates for agent modeling [52]).In furniture layout optimization procedures [84, 82], an in-put metric is needed to drive the weighting factors of dif-ferent configurations. Although early work in this area usedobject relationships such as couch to television [84], futureresearch could leverage the graph representation embeddedwith human factor data at each node to include more com- plex dynamics, such as visual noise calculated by the in-tersection of multiple objects within a view frustum. Be-yond discrete evaluation metrics, this research, and corre-sponding in-depth literature review, will ideally reinforce theneed for considering numerous human factors in all aspectsof computational design. Ideally, the increased use of ma-chine learning and optimization methods for the built envi-ronment and design will utilize evaluative data about people(i.e., variation in floor surface and accessibility) and as suchinclude the human more, not less, in the design of a space.
7. Conclusion
In this paper, a method for creating a weighted and di-rected graph (digraph) from a 3D model with a focus onhuman-relevant attributes for traversing a space, referred toas SHAPE, was presented. The process for generating thegraph uses ray-casting on the data structure used for otherpurposes in CAD, such as a Bounding Volume Hierarchy(BVH), which improves performance and minimizes the timeit takes for design-analysis. SHAPE was created within envi-ronments containing multiple levels and stairs, as well as onvarying heights such as slopes, cross-slopes, and other com-plex surface conditions, demonstrating unique paths basedon distance, energy, and numerous visibility metrics–not fea-sibly found manually by a designer. Not only does SHAPEwork on varying ground conditions, but includes the infor-mation as data attributes in the graph (e.g., node connectionsas a step or incline) which enable high fidelity accessibil-ity checks to include physiological effort and other human-experiences.In summary, the following benefits to the integration ofvarious design processes are achieved: 1) Does not requireextensive pre-processing such as voxelization, making thequery-result process faster. 2) Does not require (but can in-corporate) labeled data such as BIM, enabling earlier-stagefeedback (e.g., with mass models). 3) Creates a Graph rep-resentation rather than general surface or polygon bounds,enabling spatially high-fidelity metrics to be incorporated.4) Only includes human-accessible locations in the graph,reducing computation time as well as highlighting areas ofinaccessible locations. 5) Works for both indoor and out-door environments regardless of building levels. 6) Definesand calculates edge costs by human factors, including slope,cross-slope, and steps– providing a higher resolution thanpast works of occupant experience and enabling more accu-rate accessibility analysis for differently-abled occupants. 7)Easily used with existing graph theory (e.g., visibility graphs)and design evaluation methods such as lighting as to not re-place the vast existing literature, but instead enhance andaugment it.This work can aid designers and researchers in automatedanalysis of the built environment for physiological metricsof varying types of occupant mobility. SHAPE can be aplatform for others to quickly and easily generate graph rep-resentations of the space and integrate their own additionalmetrics, useful in facilitating quantitative evaluations of in-
M Schwartz:
Preprint submitted to Elsevier
Page 17 of 20patial Accessibility Graph terest, and facilitating human-centric designs.
8. Acknowledgements
This paper contains work that was supported in part bythe U. S. Army Combat Capabilities Development Command(CCDC) Armaments Center and the U. S. Army ManTechOffice under Contract Delivery Order W15QKN19F0002 -Advanced Development of Asset Protection Technologies(ADAPT).
References [1] Benedikt, M.L., 1979. To take hold of space: Isovists and isovistfields. Environment and Planning B: Planning and Design 6, pp. 47–65. doi: .[2] Bennett, S., Kirby, R.L., Bennett, S., Kirby, R.L., Macdonald, B.,2009. Wheelchair accessibility: Descriptive survey of curb rampsin an urban area. Disability and Rehabilitation: Assistive Technology4, pp. 17–23. doi: .[3] Bielik, M., Schneider, S., König, R., 2012. Parametric urban pat-terns: Exploring and integrating graph-based spatial properties inparametric urban modelling, in: Digital Physicality - Proceedingsof the 30th eCAADe Conference, CumInCAD. pp. 701–708. URL: http://papers.cumincad.org/cgi-bin/works/paper/ecaade2012_057 .[4] Boguslawski, P., Mahdjoubi, L., Zverovich, V., Fadli, F., 2016. Auto-mated construction of variable density navigable networks in a 3d in-door environment for emergency response. Automation in Construc-tion 72, pp. 115–128. doi: .[5] Brubaker, C.E., McLaurin, C.A., McClay, I.S., 1986. Effects of sideslope on wheelchair performance. Journal of Rehabilitation Researchand Development 23, pp. 55–57. URL: https://pubmed.ncbi.nlm.nih.gov/3723426/ .[6] Chazelle, B., 1991. Triangulating a simple polygon in linear time.Discrete & Computational Geometry 6, pp. 485–524. doi: .[7] Cooper, R.A., Teodorski, E.E., Sporner, M.L., Collins, D.M., 2011.Manual wheelchair propulsion over cross-sloped surfaces: A liter-ature review. Assistive Technology 23, pp. 42–51. doi: .[8] Cowan, R.E., Nash, M.S., Collinger, J.L., Koontz, A.M., Boninger,M.L., 2009. Impact of surface type, wheelchair weight, and axleposition on wheelchair propulsion by novice older adults. Archivesof Physical Medicine and Rehabilitation 90, pp. 1076–1083. doi: .[9] Dijkstra, E.W., 1959. A note on two problems in connexion withgraphs. Numerische Mathematik 1, pp. 269–271. doi: .[10] Dissanayake, M.G., Newman, P., Clark, S., Durrant-Whyte, H.F.,Csorba, M., 2001. A solution to the simultaneous localization andmap building (slam) problem. IEEE Transactions on Robotics andAutomation 17, pp. 229–241. doi: .[11] Dixon, P.C., Jacobs, J.V., Dennerlein, J.T., Schiffman, J.M., 2018.Late-cueing of gait tasks on an uneven brick surface impacts coor-dination and center of mass control in older adults. Gait & Posture65, pp. 143–148. doi: .[12] Dixon, P.C., Pearsall, D.J., 2010. Gait dynamics on a cross-slopewalking surface. Journal of Applied Biomechanics 26, pp. 17–25.doi: .[13] Doherty, B., Rumery, D., Barnes, B., Zhou, B., 2012. A spatial query& analysis tool for architects, in: Proceedings of the 2012 Sympo-sium on Simulation for Architecture and Urban Design, Society forComputer Simulation International, San Diego, CA, USA. pp. 1–8.doi: https://dl.acm.org/doi/10.5555/2339453.2339457 .[14] Eastman, C., Lee, J.m., Jeong, Y.s., Lee, J.k., 2009. Automatic rule-based checking of building designs. Automation in Construction 18,pp. 1011–1033. doi: . [15] ESRI, 2020. CityEngine. . [Online; accessed 7-January-2020].[16] Forsyth, A., 2015. What is a walkable place? the walkability debatein urban design. Urban Design International 20, pp. 274–292. doi: .[17] Frank, L.D., Sallis, J.F., Saelens, B.E., Leary, L., Cain, K., Conway,T.L., Hess, P.M., 2010. The development of a walkability index: ap-plication to the neighborhood quality of life study. British Journal ofSports Medicine 44, pp. 924–933. doi: .[18] Friedland, D., Brunton, I., Potts, J., 2014. Falls and traumatic braininjury in adults under the age of sixty. Journal of Community Health39, pp. 148–150. doi: .[19] Frontczak, M., Wargocki, P., 2011. Literature survey on how differentfactors influence human comfort in indoor environments. Buildingand environment 46, pp. 922–937. doi: .[20] Fuchkina, E., 2016. Pedestrian movement graph analysis. Ar-beitspapiere Informatik in der Architektur (Working Papers Com-puter Science In Architecture) 16, pp. 1–18. doi: .[21] Gamache, S., Routhier, F., Morales, E., Vandersmissen, M.H.,Boucher, N., 2019. Mapping review of accessible pedestrian infras-tructures for individuals with physical disabilities. Disability and Re-habilitation: Assistive Technology 14, pp. 410–422. doi: .[22] Ge, S.S., Zhang, Q., Abraham, A.T., Rebsamen, B., 2011. Simultane-ous path planning and topological mapping (sp2atm) for environmentexploration and goal oriented navigation. Robotics and AutonomousSystems 59, pp. 228–242. doi: .[23] Geraerts, R., 2010. Planning short paths with clearance using explicitcorridors, in: 2010 IEEE International Conference on Robotics andAutomation, IEEE. pp. 1997–2004. doi: .[24] Geraerts, R., Overmars, M.H., 2008. Enhancing corridor maps forreal-time path planning in virtual environments, in: Computer Ani-mation and Social Agents, pp. 64–71. URL: https://dspace.library.uu.nl/handle/1874/40529 .[25] Ghosh, S.K., Goswami, P.P., 2013. Unsolved problems in visibilitygraphs of points, segments, and polygons. ACM Computing Surveys46, pp. 22:1–22:29. doi: .[26] Glaser, R.M., Sawka, M.N., Wilde, S.W., Woodrow, B.K.,Suryaprasad, A.G., 1981. Energy cost and cardiopulmonary re-sponses for wheelchair locomotion and walking on tile and on carpet.Spinal Cord 19, pp. 220–226. doi: .[27] Gonzalez, E.G., Corcoran, P.J., 1994. Chapter 16 - energy expen-diture during ambulation, in: Downey, J.A., Myers, S.J., Gonzalez,E.G., Lieberman, J.S. (Eds.), The Physiological Basis of Rehabili-tation Medicine (Second Edition). second edition ed.. Butterworth-Heinemann, pp. 413 – 446. doi: .[28] Gutmann, J.S., Fukuchi, M., Fujita, M., 2005. A floor and obstacleheight map for 3d navigation of a humanoid robot, in: Proceedings ofthe 2005 IEEE International Conference on Robotics and Automation,IEEE. pp. 1066–1071. doi: .[29] Gwynne, S., Galea, E.R., Owen, M., Lawrence, P.J., Filippidis, L.,1999. A review of the methodologies used in the computer simulationof evacuation from the built environment. Building and Environment34, pp. 741–749. doi: .[30] Hamel, K.A., Okita, N., Higginson, J.S., Cavanagh, P.R., 2005. Footclearance during stair descent: effects of age and illumination. Gait& Posture 21, pp. 135–140. doi: j.gaitpost.2004.01.006 .[31] Jacobs, J.V., 2016. A review of stairway falls and stair negotiation:Lessons learned and future needs to reduce injury. Gait & Posture 49,pp. 159–167. doi: .[32] Jakubiec, J.A., Reinhart, C.F., 2011. Diva 2.0: Integrating daylightand thermal simulations using rhinoceros 3d, daysim and energyplus,in: Proceedings of Building Simulation, pp. 2202–2209. doi: .[33] Johnson, M., Shrewsbury, B., Bertrand, S., Wu, T., Duran, D., Floyd,
M Schwartz:
Preprint submitted to Elsevier
Page 18 of 20patial Accessibility Graph
M., Abeles, P., Stephen, D., Mertins, N., Lesman, A., Carff, J., Rifen-burgh, W., Kaveti, P., Straatman, W., Smith, J., Griffioen, M., Layton,B., Boer, T., Koolen, T., Neuhaus, P., Pratt, J., 2015. Team ihmc’slessons learned from the darpa robotics challenge trials. Journal ofField Robotics 32, pp. 192–208. doi: .[34] Kallmann, M., Kapadia, M., 2014. Navigation meshes and real-time dynamic planning for virtual worlds, in: ACM SIGGRAPH2014 Courses, Association for Computing Machinery, New York, NY,USA. pp. 498–578. doi: .[35] Koontz, A.M., Cooper, R., Boninger, M.L., Yang, Y., Impink, B.G.,van der Woude, L.H.V., 2005. A kinetic analysis of manual wheelchairpropulsion during start-up on select indoor and outdoor surfaces.Journal of Rehabilitation Research & Development 42, pp. 447–458.doi: .[36] Krambeck, H.V., 2006. The global walkability index. Ph.D. thesis.Massachusetts Institute of Technology. URL: http://hdl.handle.net/1721.1/34409 .[37] Lamarche, F., 2009. Topoplan: a topological path planner for realtime human navigation under floor and ceiling constraints, in: Com-puter Graphics Forum, Wiley Online Library. pp. 649–658. doi: .[38] Lang, E.V., 2012. A better patient experience through better commu-nication. Journal of Radiology Nursing 31, pp. 114–119. doi: .[39] Lee, J.k., Eastman, C.M., Lee, J., Kannala, M., Jeong, Y.s., 2010.Computing walking distances within buildings using the universal cir-culation network. Environment and Planning B: Planning and Design37, pp. 628–645. doi: .[40] Lee, J.K., Shin, J., Lee, Y., 2018. Circulation analysis of design alter-natives for elderly housing unit allocation using building informationmodelling-enabled indoor walkability index. Indoor and Built Envi-ronment , pp. 355–371doi: .[41] Li, X., Claramunt, C., Ray, C., 2010. A grid graph-based model forthe analysis of 2d indoor spaces. Computers, Environment and UrbanSystems 34, pp. 532–540. doi: .[42] Lin, W.Y., Lin, P.H., 2018. Intelligent generation of indoor topology(i-git) for human indoor pathfinding based on ifc models and 3d gistechnology. Automation in Construction 94, pp. 340–359. doi: .[43] Liu, L., Wong, R.C.W., 2011. Finding shortest path on land surface,in: Proceedings of the 2011 ACM SIGMOD International Conferenceon Management of Data, ACM, New York, NY, USA. pp. 433–444.doi: .[44] Lozano-Pérez, T., Wesley, M.A., 1979. An algorithm for planningcollision-free paths among polyhedral obstacles. Communications ofthe ACM 22, pp. 560–570. doi: .[45] Marigold, D.S., Patla, A.E., 2008. Age-related changes in gait formulti-surface terrain. Gait & Posture 27, pp. 689–696. doi: .[46] Merryweather, A., Yoo, B., Bloswick, D., 2011. Gait characteristicsassociated with trip-induced falls on level and sloped irregular sur-faces. Minerals 1, pp. 109–121. doi: .[47] Minetti, A.E., Moia, C., Roi, G.S., Susta, D., Ferretti, G., 2002.Energy cost of walking and running at extreme uphill and downhillslopes. Journal of Applied Physiology 93, pp. 1039–1046. doi: .[48] Moura, F., Cambra, P., Gonçalves, A.B., 2017. Measuring walkabilityfor distinct pedestrian groups with a participatory assessment method:A case study in lisbon. Landscape and Urban Planning 157, pp. 282–296. doi: .[49] Nagy, D., Villaggi, L., Stoddart, J., Benjamin, D., 2017. The buzzmetric: A graph-based method for quantifying productive congestionin generative space planning for architecture. Technology| Architec-ture+ Design 1, pp. 186–195. doi: .[50] Nakada, M., Zhou, T., Chen, H., Weiss, T., Terzopoulos, D., 2018.Deep learning of biomimetic sensorimotor control for biomechanicalhuman animation. ACM Transactions on Graphics (TOG) 37. doi: . [51] Narahara, T., 2007. The Space Re-Actor: walking a synthetic manthrough architectural space. Master’s thesis. Massachusetts Instituteof Technology. URL: http://hdl.handle.net/1721.1/39255 .[52] Narahara, T., 2010. Self-Organizing Computation a Framework forGenerative Approaches to Architectural Design. Ph.D. thesis. Har-vard University. USA. URL: https://dl.acm.org/doi/book/10.5555/2395396 .[53] Ninomiya, K., Kapadia, M., Shoulson, A., Garcia, F., Badler, N.,2015. Planning approaches to constraint-aware navigation in dynamicenvironments. Computer Animation and Virtual Worlds 26, pp. 119–139. doi: .[54] Nourian, P., 2016. Configraphics: Graph theoretical methods for de-sign and analysis of spatial configurations. Ph.D. thesis. Delft Univer-sity of Technology. URL: https://books.bk.tudelft.nl/index.php/press/catalog/book/isbn.9789461867209 .[55] Novak, A.C., Komisar, V., Maki, B.E., Fernie, G.R., 2016. Age-related differences in dynamic balance control during stair descentand effect of varying step geometry. Applied Ergonomics 52, pp.275–284. doi: .[56] Novak, A.C., Reid, S.M., Costigan, P.A., Brouwer, B., 2010.Stair negotiation alters stability in older adults. Lower Extrem-ity Review 2, pp. 47–51. URL: https://lermagazine.com/article/stair-negotiation-alters-stability-in-older-adults .[57] Oliva, R., Pelechano, N., 2013. Neogen: Near optimal generator ofnavigation meshes for 3d multi-layered environments. Computers &Graphics 37, pp. 403–412. doi: .[58] Pan, X., Han, C.S., Dauber, K., Law, K.H., 2007. A multi-agent basedframework for the simulation of human and social behaviors duringemergency evacuations. AI & Society 22, pp. 113—-132. doi: .[59] Pettré, J., Laumond, J.P., Thalmann, D., 2005. A naviga-tion graph for real-time crowd animation on multilayered anduneven terrain, in: First International Workshop on CrowdSimulation (V-CROWDS), New York: Pergamon Press. pp.194–202. URL: https://pdfs.semanticscholar.org/7d1a/8c164f7690f43c82de53a041c1a165821af5.pdf .[60] Pierret, B., Desbrosses, K., Paysant, J., Meyer, J.P., 2014. Cardio-respiratory and subjective strains sustained by paraplegic subjects,when travelling on a cross slope in a manual wheelchair (mwc). Ap-plied Ergonomics 45, pp. 1056–1062. doi: .[61] Pütz, S., Wiemann, T., Sprickerhof, J., Hertzberg, J., 2016. 3d nav-igation mesh generation for path planning in uneven terrain. IFAC-PapersOnLine 49, pp. 212–217. doi: .[62] Rahman, A., Mahmood, A.K., 2008. Agent-based simulation us-ing prometheus methodology in evacuation planning, in: 2008 In-ternational Symposium on Information Technology, IEEE. pp. 1–8.doi: .[63] Riener, R., Rabuffetti, M., Frigo, C., 2002. Stair ascent and descentat different inclinations. Gait & Posture 15, pp. 32–44. doi: .[64] Roles, J.A., ElAarag, H., 2013. A smoothest path algorithm and itsvisualization tool, in: 2013 Proceedings of IEEE Southeastcon, pp.1–6. doi: .[65] Rose, J., Ralston, H., Gamble, J.G., 2006. Energetics of Walking,in: Rose, J., Gamble, J. (Eds.), Human Walking. 3rd ed.. LippincottWilliams & Wilkins, pp. 77–102. URL: .[66] Saona-Vazquez, C., Navazo, I., Brunet, P., 1999. The visibility octree:a data structure for 3d navigation. Computers & Graphics 23, pp. 635–643. doi: .[67] Schaumann, D., Pilosof, N.P., Sopher, H., Yahav, J., Kalay, Y.E.,2019. Simulating multi-agent narratives for pre-occupancy evalua-tion of architectural designs. Automation in Construction 106, pp.1–19. doi: .[68] Schulz, B.W., 2011. Minimum toe clearance adaptations to floor sur-face irregularity and gait speed. Journal of Biomechanics 44, pp.1277–1284. doi: . M Schwartz:
Preprint submitted to Elsevier
Page 19 of 20patial Accessibility Graph [69] Schwartz, M., Azeez, A., Patel, K., 2018. Human task and disabil-ity based automated evaluation of space and design in cad, in: Pro-ceedings of the Symposium on Simulation for Architecture and UrbanDesign, Society for Computer Simulation International. pp. 181–188.URL: http://dl.acm.org/citation.cfm?id=3289750.3289768 .[70] Schwartz, M., Das, S., 2019. Interpretting non-flat surfaces for walk-ability analysis, in: Proceedings of the Symposium on Simulationfor Architecture and Urban Design, Society for Computer SimulationInternational. pp. 287–294. URL: https://dl.acm.org/doi/10.5555/3390098.3390128 .[71] Shin, J., Lee, J.K., 2019. Indoor walkability index: Bim-enabled ap-proach to quantifying building circulation. Automation in Construc-tion 106, pp. 1–14. doi: .[72] Soule, R.G., Goldman, R.F., 1972. Terrain coefficients for energy costprediction. Journal of Applied Physiology 32, pp. 706–708. doi: .[73] Suter, G., 2013. Structure and spatial consistency of network-basedspace layouts for building and product design. Computer-Aided De-sign 45, pp. 1108—-1127. doi: .[74] Taneja, S., Akinci, B., Garrett Jr, J.H., Soibelman, L., 2016. Algo-rithms for automated generation of navigation models from buildinginformation models to support indoor map-matching. Automation inConstruction 61, pp. 24–41. doi: .[75] Turner, A., Doxa, M., O’sullivan, D., Penn, A., 2001. From isoviststo visibility graphs: a methodology for the analysis of architecturalspace. Environment and Planning B: Planning and design 28, pp.103–121. doi: .[76] Unity User Manual 2019.1, 2019. Building Height Mesh forAccurate Character Placement. https://docs.unity3d.com/Manual/nav-HeightMesh.html . [Online; accessed 19-July-2019].[77] US Access Board, 2002. ADA Accessibility Guidelines (ADAAG).URL: .[78] Van Toll, W., Cook, A.F., Geraerts, R., 2011. Navigation meshesfor realistic multi-layered environments, in: 2011 IEEE/RSJ Interna-tional Conference on Intelligent Robots and Systems, IEEE. pp. 3526–3532. doi: .[79] Varoudis, T., Psarra, S., 2014. Beyond two dimensions: Architecturethrough three-dimensional visibility graph analysis. The Journal ofSpace Syntax 5, pp. 91–108. URL: http://joss.bartlett.ucl.ac.uk/journal/index.php/joss/article/view/200 .[80] Vermeulen, J.L., Hillebrand, A., Geraerts, R., 2018. Annotatingtraversable gaps in walkable environments, in: 2018 IEEE Interna-tional Conference on Robotics and Automation (ICRA), IEEE. pp.3045–3052. doi: .[81] Voloshina, A.S., Kuo, A.D., Daley, M.A., Ferris, D.P., 2013. Biome-chanics and energetics of walking on uneven terrain. Journal of Ex-perimental Biology , pp. 3963–3970doi: .[82] Weiss, T., Nakada, M., Terzopoulos, D., 2017. Automated layout syn-thesis and visualization from images of interior or exterior spaces, in:2017 IEEE Conference on Computer Vision and Pattern RecognitionWorkshops (CVPRW), pp. 41–47. doi: .[83] Wolfe, G.A., Waters, R., Hislop, H.J., 1977. Influence of floor surfaceon the energy cost of wheelchair propulsion. Physical Therapy 57, pp.1022–1027. doi: .[84] Yu, L.F., Yeung, S.K., Tang, C.K., Terzopoulos, D., Chan, T.F., Os-her, S.J., 2011. Make it home: Automatic optimization of furniture ar-rangement. ACM Transactions on Graphics 30. doi: .[85] Yuan, W., Schneider, M., 2010. Supporting 3d route planning in in-door space based on the LEGO representation, in: Proceedings of the2nd ACM SIGSPATIAL International Workshop on Indoor SpatialAwareness, pp. 16–23. doi: . A. Appendix
A video screen recording of the breadth-first generationof nodes is provided in the supplemental materials.
M Schwartz:
Preprint submitted to Elsevier
Page 20 of 20patial Accessibility Graph (a) (b) (c)(d) (e) (f)
Figure 18:
Example stills of the supplemental video showing the growth of the accessible node locations. In 18c, the breadth-firstsearch for accessibility has stopped at the steep ramp on the right side due to the input user parameters, while subsequent framesof 18e and 18f show the graph continuing on the spiral ramp and connecting on the down ramp. As the graph is directed ashortest path from bottom to top would use the spiral ramp, a path from top to bottom would use the ramp on the right.M Schwartz: