ArticlePDF Available

Interactive Procedural Street Modeling


Abstract and Figures

This paper addresses the problem of interactively modeling large street networks. We introduce an intuitive and flexible modeling framework in which a user can create a street network from scratch or modify an existing street network. This is achieved through designing an underlying tensor field and editing the graph representing the street network. The framework is intuitive because it uses tensor fields to guide the generation of a street network. The framework is flexible because it allows the user to combine various global and local modeling operations such as brush strokes, smoothing, constraints, noise and rotation fields. Our results will show street networks and three-dimensional urban geometry of high visual quality.
Content may be subject to copyright.
Interactive Procedural Street Modeling
Greg EschPeter Wonka Pascal M¨
ullerEugene Zhang
Oregon State University Arizona State University ETH Z¨
This paper addresses the problem of interactively modeling large
street networks. We introduce a modeling framework that uses ten-
sor fields to guide the generation of a street graph. A user can inter-
actively edit a street graph by either modifying the underlying ten-
sor field or by changing the graph directly. This framework allows
to combine high- and low-level modeling operations, constraints,
and procedural descriptions.
CR Categories: F.4.2 [Mathematical Logic and Formal Lan-
guages]: Grammars and Other Rewriting Systems I.3.5 [Com-
puter Graphics]: Computational Geometry and Object Modeling
I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Real-
ism I.6.3 [Simulation and Modeling]: Applications J.6 [Computer-
Aided Engineering]: Computer-Aided Design (CAD)
Keywords: procedural modeling, street modeling, street networks,
tensor fields
1 Introduction
This paper presents a solution to efficiently model the street net-
works of large urban areas. The creation of compelling models is a
crucial task in the entertainment industry, various training applica-
tions, and urban planning. However, modeling the details of large
three-dimensional urban environments, is very time consuming and
can require several man years worth of labor. A powerful solu-
tion to large-scale urban modeling is the use of procedural tech-
niques [M¨
uller et al. 2006; Wonka et al. 2003; Parish and M¨
Parish and M¨
uller [2001] were the first to note that the street net-
work is the key to create a large urban model, and they presented
a solution to model street networks based on L-systems. Starting
from a single street segment they procedurally add further seg-
ments to grow a complete street network, similar to growing a
tree [Prusinkiewicz et al. 2003]. While this algorithm created a
high quality solution, there is a significant remaining challenge: the
method does not allow extensive user-control of the outcome to be
easily integrated into a production environment. After a street net-
work is created, the user can use a traditional modeling tool to move
the vertices in the graph. However, often the procedurally generated
graph requires a significant amount of editing in order to match user
expectations. When this happens, the user will need to regenerate
the complete environment but it is not guaranteed that more desir-
able results can be generated.
To address this limitation of a purely procedural approach, we pro-
vide a rather different alternative to street modeling that allows to
integrate a wide variety of user input. The key idea of this paper
is to use tensor fields to guide the generation of street graphs. A
user can interactively edit a street graph by either modifying the
underlying tensor field or by changing the graph directly. This al-
lows for efficient modeling, because we can combine high-level and
{eschgr|zhange}, Corvallis, OR 97331, Tempe, AZ 85287, Switzerland
low-level modeling operations, constraints, and procedural meth-
ods. The major contributions of this paper are as follows:
We are the first to introduce a procedural approach to model
urban street networks that combines interactive user-guided
editing operations and procedural methods. We will identify
important patterns in street networks and important editing
operations that enable the user to model these patterns.
We are introducing a new methodology to graph modeling in
general. The idea of tensor-guided graph modeling together
with the tight integration of interactive editing and procedural
modeling has not been explored previously in related model-
ing problems, such as modeling of bark, cracks, fracture, or
2 Related Work
Our approach to procedural urban modeling follows the outline pre-
sented by Parish and M¨
uller [2001], who first model a street net-
work, then parcels, and finally three-dimensional geometry. We
focus on the modeling of street networks including the generation
of three-dimensional geometry, and our approach can be comple-
mented with shape grammars [M¨
uller et al. 2006; Wonka et al.
2003] for buildings to obtain a complete modeling system for ur-
ban environments. In the following we review literature describing
road construction and graph modeling algorithms.
Road Construction: Information about the geometry of road con-
struction can be found in the civil engineering literature. We rec-
ommend the text [AASHTO 2004] as a comprehensive overview.
Other useful resources are the Highway Capacity Manual [Board
2000] and the textbook by Mannering et al. [Mannering et al. 2005].
Street graphs present a fascinating modeling challenge, because
they exhibit a mixture of fairly regular and organic patterns.
Graph Generation: The most successful algorithm for street mod-
eling to date was presented by Parish and M¨
uller [2001], who ex-
tend L-systems and grow street segments like branches in a tree
until they intersect an existing street segment. L-systems have
been very successfully applied to plant modeling [Prusinkiewicz
and Lindenmayer 1991; Prusinkiewicz et al. 1994; Mˇ
ech and
Prusinkiewicz 1996; Prusinkiewicz et al. 2001] and provide an in-
spiration for many graph layout problems.
We were also inspired by approaches to model ice ray lattice de-
sign [Stiny 1977], mortar in brick layouts [Legakis et al. 2001], dif-
fusion limited aggregation [Witten and Sander 1981], and cracks in
Bantik renderings [Wyvill et al. 2004]. However, the similarities of
their appearances to street layouts were rather remote. A very inter-
esting class of layout algorithms uses Voronoi Diagrams [Berg et al.
2000] of (randomly) distributed points. This idea was extended to
generate textures [Worley 1996], mosaics [Hausner 2001], fracture
patterns [Mould 2005], and even some street patterns [Sun et al.
2002; Glass et al. 2006]. Jigsaw image mosaics [Kim and Pellacini
2002] are another interesting extension to layout arbitrary shapes.
While some of these algorithms can match one specific street pat-
tern that looks like mud cracks, we propose a system that allows a
much wider range and more frequent street layouts. Additionally,
we allow for a much wider range of editing operations.
We also briefly considered a modeling system based on phys-
ical simulations. Simulation can successfully model reaction-
diffusion [Turk 1991; Witkin and Kass 1991] and various meth-
ods for fracture formation on surfaces [Hirota et al. 1998; O’Brien
and Hodgins 1999; Lefebvre and Neyret 2002; Federl and
Prusinkiewicz 2004; Smith et al. 2001; Neff and Fiume 1999]. We
chose not to work with physical simulation, because the incorpo-
ration of editing operations is traditionally very difficult and it is
also unclear what type of extensions are needed to generate a wider
range of street pattern.
Another powerful graph generation algorithm was proposed in the
context of modeling leaf venation patterns [Runions et al. 2005].
This algorithm grows leaf veins towards Auxin sources similar to
how streets in [Parish and M¨
uller 2001] grow towards population
3 Overview
In this section, we explain the major idea of the paper, the structure
of the paper, and definitions and concepts important for the under-
standing of later sections.
Street Networks: We model a hierarchy of streets: major roads
and minor roads. Major roads are typically major business roads
and local highways, and minor roads are usually residential and
back roads . We store a street network as a graph G= (V,E)where
Vare a set of nodes and Eare a set of edges. Nodes with three or
more incident edges are crossings. We store attributes with nodes
and edges, such as road width, road type, pavement markings, and
the type of lanes. One of the most fascinating aspects about street
graphs is the wide variety of different patterns. We need a modeling
methodology that can handle these patterns with a wide range of
regularity. In section 4, we will highlight some of the challenges.
Figure 1: This figure illustrates how a designed tensor field (left)
can guide the generation of a street graph (right).
Street Networks as Streamlines of Tensor Fields: A dominant
aspect of street patterns is the existence of two dominant directions.
This observation inspired us to use tensor fields to guide the street
placement. Tensor fields give rise to two sets of tensor lines: One
follows the major eigenvector field, and the other the minor eigen-
vector field. Our solution to street modeling is to interactively cre-
ate a tensor field that guides the road network generation. This
concept is illustrated in figure 1. Tensor lines have been used pre-
viously to visualize tensor fields [Wilson and Brannon 2005], to
generate pen-and-ink sketching of smooth surfaces [Hertzmann and
Zorin 2000; Zhang et al. 2007], and to remesh 3D geometry [Alliez
et al. 2003; Marinov and Kobbelt 2004; Zhang et al. 2007].
Workflow: Our system employs a three-stage pipeline. First, ter-
rain and population density maps are either procedurally generated,
painted, or extracted from real data sets. Next, the user creates a
tensor field on the the terrain using the editing tools provided by
our system. At the end of this step, nicely-spaced major and minor
tensor lines are generated according to the tensor field. These lines
form a graph. Finally, the user can modify the graph. This graph
can then be used as input to a procedural modeling tool to create
three-dimensional geometry for roads, buildings, and vegetation.
Paper Overview: To describe our system, we will first demon-
strate how suitable tensor fields can be found to match important
street patterns (section 4). Second, we will explain in section 5
what operations are important to interactively edit and combine ten-
sor fields. Third, section 6 explains how we generate road networks
from a tensor field and additional graph-based processing opera-
tions, and section 7 explains how three-dimensional geometry is
generated from the road network. We show some renderings in sec-
tion 8 and discuss our contribution, applications, and comparison to
related work in section 9. Conculsions are given in section 10.
Tensor Field Definitions: In this paper, a tensor trefers to
a 2 ×2 symmetric and traceless matrix, which is of the form
Rµcos 2
where R0 and
). The major
eigenvectors of tare {
6=0}, and the minor eigenvec-
tors are {
6=0}. The major and minor eigen-
vectors are perpendicular to each other, and together they form a
A tensor field Tis a continuous function that associates every point
pR2with a tensor T(p).pis said to be a degenerate point if
T(p) = 0. Otherwise, it is regular. A degenerate point pis isolated
if there exists a compact neighborhood Nof psuch that pis the only
singularity in the interior of Nand there are no singularities on the
boundary of N. An isolated singularity can be characterized using
its tensor index, which is defined in terms of the winding number of
the Gauss map. Another important and relevant concept is tensor
lines, which describe curves that are tangent to an eigenvector field
everywhere along its path. A tensor line is either major or minor
depending on the type of the underlying eigenvector field. Please
note that the major and minor eigenvectors of a tensor field are not
related to major and minor roads.
4 Street Patterns and Tensor Fields
In this section we show important concepts of street networks and
show how to encode these concepts as tensor fields. We build upon
classifications made by Parish and Mueller [2001], but our method-
ology to encode street patterns is totally different to allow for inter-
active editing. In the following we will first explain how to create
some idealized elements and then give our solution to create more
variations in the street pattern.
Grid: An important building block for most cities is the grid pat-
tern. Parcels are generated by two orthogonal sets of parallel roads.
A grid pattern can be defined by a regular tensor field element
defining the direction of the major eigenvector. See figure 2 for
a tensor field guiding streets in a regular grid pattern. Given the
direction (vx,vy)defined at p0we can compute l=qv2
vx)and define the following basis field:
T(p) = edkpp0k2lµcos2
where dis a decay constant.
Figure 2: Left: A tensor field encoding a regular grid. Right: The
resulting street network.
Radial: Radial pattern appear in different contexts. For example,
radial patterns occur at the minor level to access residential homes
(see figure 3 right for a map section from Scottsdale, Arizona).
Other examples are roads around important monuments, such as
the Arc de Thriomphe in Paris. However, in these contexts the ra-
dial pattern is more noisy. To create a radial pattern at p0= (x0,y0)
we can use a center design element, whose major tensor lines are
circles and minor tensor lines emanate from the center point. The
basis field of a center element (radial pattern) has the following
T(p) = edkpp0k2µy2x22xy
2xy (y2x2)(2)
where x=xpx0and y=ypy0.
Figure 3: A procedurally generated radial pattern (middle) and its
tensor representation (left). The image shown in the right is a radial
pattern found in Scottsdale, Arizona.
Boundary: There are many examples of roads that are built at the
boundary of natural or man-made structures. Example are roads
next to the shoreline, such as the highway one in California (see
figure 4). Other examples are roads at the boundary of parks and
roads surrounding population centers. To define a tensor field for a
boundary pattern we proceed as follows.
The boundary of a region is represented as a polyline, which con-
sists of a number of connected line segments. Note the boundary
can be either open (coastline) or closed (boundary of a park). We
first extract the triangle strip {T1,...Tn}that contains the polyline.
We then assign vector values to the vertices of the triangles in the
strip according to the orientations of the polyline inside the trian-
gles. For example, if a line segment AB is inside a triangle Ti, we
assign the vector v=
AB to the three vertices of Ti. If a vertex is
shared by more than one triangles in the same strip, the average is
used. The vector values at these vertices will then be treated as part
of the boundary conditions for field smoothing in order to obtain
smooth transitions into unspecified regions.
Figure 4: Left: A map of the highway one in California. Right: A
tensor field and a road generated by the coast line.
Heightfield: The natural elevation is an important constraint for
most road construction. We can observe that roads are built ac-
cording to the gradient of the height field. To derive a ten-
sor field from a heightfield H(x,y), we compute the gradient
y¢. We then find the tensor field T(x,y) =
whose minor eigenvector field matches the
gradient of the heightfield everywhere, i.e.
x) +
and R=p(
x)2+ (
Transitions in Density: At city borders the road density decreases.
For example, figure 5 left shows an example from the north of Den-
ver. If we look at horizontal cross sections of the map and count
the major roads (yellow), we can see a gradual transition from a
perfect square mile raster to only one road at the top. Transitions in
density are a phenomenon of the street graph and not the underly-
ing tensor field. We use road density maps (or population density
maps) to control the road tracing algorithm described in section 6.
See figure 5 right for a result from our modeling system.
Figure 5: This figure shows transitions in street density in Denver
(left) and a generated density transition on the right.
Irregularities: The previously described tensor fields are all
smooth and would give rise to perfectly regular structures. In real
street networks we can observe various forms of irregularities. We
will briefly describe how to classify these irregularities and give a
strategy to implement them. In our modeling framework, some of
the irregularities are implemented as distortions of a tensor field,
and other irregularities are better implemented on the graph level:
Deleted Street Segments: There are many examples where a
street stops and later restarts. Figure 6 left shows an example
from Manhattan in New York City. The deleted street seg-
ments result in merged adjacent parcels in the regular grid or
dead ends if street segments are only deleted partially. The
Figure 6: Left: Occasionally cells are merged together (1) or par-
tially split by dead ends (2). Right: Slight irregularities can be seen
in a regular grid(3).
Figure 7: Left: This map shows an example from Chicago, where
a single street is laying over an otherwise regular north-south grid
pattern. Right: A similar pattern was created using our system.
important insight is that these irregularities have to be mod-
eled on the graph level, by procedurally or manually selecting
the street segments that should be deleted.
Layered Patterns: A seemingly random street cuts across an
otherwise regular street network. The street can have a ran-
dom beginning and a random end. See figure 7 for an exam-
Noise: Most street patterns occur in a slightly distorted fash-
ion. See figure 8 for examples. In our modeling system we
use Perlin Noise [Perlin 1985] to either rotate the tensor field
or alter the street segments and nodes in the graph.
Figure 8: This figure shows a regular major road grid (left) and a
radial major road pattern(right) over slightly curved minor roads.
Crack Patterns: There are some instances where road networks
share some similarities with fracture patterns. One example are
major roads in rural Missouri (see figure 9 left). In this case local
topography dominates the road layout. We have some possibility to
match these patterns with a tensor field and added noise.
Figure 9: This figure shows crack patterns in Missouri (left) and a
procedurally generated patterns using our system (right) .
5 Editing Tensor Fields and Street Graphs
Overview: There are two levels of editing operations that we pro-
vide the user with. First, the user can change the street network by
modifying the underlying tensor field. Second, the user can directly
change the street network by adding, modifying, or removing street
segments. However, such changes can be lost if any changes are
made to the underlying tensor field afterwards. In the following we
will first describe the editing operations on tensor fields followed
by editing operations on the graph structure. Figure 10 illustrates
several steps in an editing session.
Figure 10: This figure shows a work flow through our system. Typ-
ically a user first creates a layout of the major roads and then fills
in minor road patterns.
Tensor Field Editing: To change the tensor field, we provide the
following functionalities.
1. Combination of Basis Fields: The system allows the user
to create and modify a tensor field by using design elements.
A design element corresponds to a user-specified tensor field
pattern such as constant directions or radial patterns near a
given location. Our implementation follows closely the ten-
sor design system of Zhang et al. [2007], in which every
user specification is used to create a global basis tensor field.
These basis fields are then summed using radial-basis func-
tions such that the resulting tensor field satisfies the user spec-
ifications. The user can also delete an existing design element
or modify its location, orientation, and isotropic and isotropic
scales. Note that there are other ways of creating a tensor field
from user constraints, such as relaxation [Turk 2001; Wei and
Levoy 2001] and propagation [Praun et al. 2000]. We choose
the idea of basis fields due to its simplicity and intuitiveness.
2. Tensor Field Smoothing: The user can reduce the complex-
ity in the tensor field by perform componentwise Laplacian
smoothing. Such an operation can be performed either glob-
ally or locally. In the latter case, the tensor values on the
boundary of local region serve as the constraints in relaxation.
Smoothing tends to greatly reduce the complexity in the ten-
sor fields.
3. Topological Editing: The user can explicitly control the
number and location of the degenerate points in the field. This
is achieved by employing the degenerate point pair cancella-
tion and movement operations. Singularity pair cancellation
allows a degenerate point pair to be removed simultaneously,
while degenerate point movement enables a degenerate point
to be moved to a more favorable location. Notice both opera-
tions provide topological guarantees that no other degenerate
points are affected.
4. Brush Interface: We also use the idea of a brush-based in-
terface, in which the user produce tensor values by moving
the mouse to form a curve or a loop. Then a region is found
to have a pre-defined distance to the curve. Finally, the ten-
sor values inside this region are computed by treating the
user-specified curve as the constraint. Notice this is similar
to creating a tensor field with constraints such as coastlines
and boundaries of a park. The difference, however, is that the
brush-based interface allows tensor field to be created locally
instead of globally and supports discontinuities in the tensor
field. More importantly, tensor field can become discontinu-
ous along the boundary of the region. An example operation
is illustrated in figure 11
Figure 11: This figure shows the application of the brush tool to
orient streets along a brush stroke.
Notice that the first three functionalities follow closely of the tensor
field design system of Zhang et al. [2007]. On the other hand, the
brush interface is novel. It is easy to use, provides local control,
and allows discontinuities to be created in the tensor field.
Graph Editing:
1. Road Segments Manipulation: The system enables the user
to create and remove segments in the graph that was generated
from the tensor field.
2. Vertex Manipulation: the user can move vertices in the street
graph (user clicks on vertex and moves using drag and drop)
3. Seed Point Creation: the user can insert new streets by points
at specified locations
4. Move Streets: the user can move street a street in the tensor
field so that it is retraced from a close-by location.
To handle discontinuities across two neighboring regions, we allow
two options. In the first approach which we refer to as the sym-
metric case, the two regions have equal priority. Therefore, roads
from the first region will be clipped inside the second region minus
the intersection region, and vice versa. In the second case which
is asymmetric, the end points of the roads inside the region of in-
tersection are used as seed points to generate road in the second
To demonstrate the capabilities of the editing tool we show two
edits of a scene using a water map from the Mission Bay in San
Diego (see figure 12 and figure 13 for an added node in the top
right corner).
Figure 12: This figure shows a generated street graph for the Mis-
sion Bay in San Diego.
6 Street Graph Generation from Tensor
Our streamline tracing algorithm is an adaptation of [Jobard and
Lefer 1997], which has been used in pen-and-ink sketching of 3D
shapes [Hertzmann and Zorin 2000] and quad-dominant remeshing
of surfaces [Alliez et al. 2003; Marinov and Kobbelt 2004; Zhang
et al. 2007].
Given a second-order symmetric tensor field T(x,y), we produce
two family of streamlines corresponding to the major eigenvector
field E1(x,y)and the minor eigenvector field E2(x,y), respectively.
To trace the major streamlines, we start from a set of initial seed
points. The seed points can be either specified by the user or gener-
ated procedurally, and they are placed in a priority queue. Next, we
enter an iterative process in which a streamline is generated based
on the top element in the queue, while new seeds are added to the
queue. To trace a single streamline, we use an adapted Runge-Kutta
scheme [Cash and Karp 1990] that has been modified to handle
tensor fields. Given a position of the current end point, we find
the direction in which the streamline grows by finding the major
eigenvector value at the end point. To remove the sign ambiguity
in eigenvector directions, we use the direction in which the current
point has come from. The next integration point is then found us-
ing the numerical scheme. A streamline stops growing if it hits the
boundary of the domain, runs into a degenerate point, is too close to
Figure 13: This figure shows the street graph from the previous
figure with an added radial pattern.
an existing streamline by exceeding a user-defined density dsep, re-
turns to its origin which indicates a loop, or exceeds a user-defined
maximum length. Once a streamline has been traced, additional
seed points will placed along it at a distance of dsep . Notice dsep
is used to control the density of the streamlines. Next, we trace the
streamlines that correspond the minor eigenvector field in a similar
The two families of streamlines can be used to generate a graph
G= (V,E). This is done by finding the intersection points between
any pair of a major streamline and a minor streamline. Vis the col-
lection of intersection points, and Eis the set of segments between
two consecutive intersection points along a major or minor stream-
line. The graph Gcan be turned into a polygonal mesh by identi-
fying the polygons in the graph. This is highly desirable when the
user wishes to add buildings or other structures inbetween roads.
7 Three-dimensional Geometry Generation
In the last sections we described how a user can generate a street
network. The street network is a graph that consists of streets and
intersections. In the following we describe the steps necessary to
generate three dimensional geometry from a street network. We
employ a method that allows the specification templates for street
segments and crossings similar to [Thomas and Donikian 2000].
The approach works as follows:
A street segment can be specified by various attributes of the
cross section. This method is typically used in urban design
concepts where an urban planner would draw cross sections
to convey his design (see figure 14). We store cross sections
as a list of lanes. Each lane has attributes including width,
texture information, and type. We implemented sidewalks,
vegetation, parking lanes, lanes for cars, curbs, etc.
An intersection can be specified by various attributes about
(1) traffic lights, (2) markings on the floor including pedes-
trian crossings, yield lines, stop lines, and arrows , (3) texture,
(4) and geometric information about the smoothness of cor-
ners, and (5) intersection type. Our current implementation
allows for X-, and T-intersections and roundabouts. Unfortu-
nately, the generation of intersection geometry and texture co-
ordinates involves a large amount of tedious geometric com-
putations. We refer the reader to the civil engineering liter-
ature [AASHTO 2004] for a comprehensive treatment of the
Selected example models can be seen in figure 15. The figure shows
three crossings together with short sections of street segments lead-
ing up to to crossing.
Figure 14: This figure shows two street cross sections.
8 Renderings
We combined the street networks with simple shape grammars for
parcel subdivision and building mass model generation. The final
images were created using RenderMan with ambient occlusion. See
figure 16 for two renderings of the San Diego scene and one ren-
dering of a radial city.
9 Discussion
In the following we discuss strength and limitations of our approach
and our contribution to computer graphics research.
Strengths: The inherent strengths of tensor fields include the possi-
bility to model street patterns, which usually contain two most pre-
ferred directions that are mutually perpendicular. Furthermore, ten-
sor field design allows the user to quickly generate an initial street
layout with which he or she can modify at either the tensor field
level or the graph level. This flexibility is unmatched by editing
tools that only operate on the graph level, especially when creating
the typical street patterns such as the regular East-West and North-
South patterns.
Limitations: Currently, our system only assumes a single-level
spatial resolution, which makes it difficult to modify the tensor field
at significantly different scales. We plan to enhance our system by
adding the multi-scale editing capabilities. Another direction we
wish to explore is the use of asymmetric tensors to model street
networks whose two preferred directions are not always orthogo-
Street Modeling for Computer Graphics: An interesting ques-
tion is to compare our street modeling tool to street modeling in
real urban environments. There are several important character-
istics that distinguish a computer graphics application and a civil
engineering application. We are mainly concerned with efficient
large-scale modeling. Large-scale editing is very difficult in reality,
because it is very expensive to tear down existing houses. In areas
of rapid growth, such as Atlanta or Phoenix, a tool like ours could
be used in early design stages to design roads in larger residential
subdivisions. Road construction in civil engineering is significantly
more concerned with local details. Examples of important factors
Figure 15: This figure shows street intersections.
are noise regulations, the turning paths of larger vehicles, owner-
ship of land, legal regulations, and geological characteristics of the
soil. Civil engineering software has some tools for intersection gen-
eration that would be interesting for our design system. However,
the generation of three-dimensional geometric intersection details
is a very complex subject that was beyond the scope of our research
Application: The main benefactors of this research are applica-
tions that require efficient content creation. Important examples
are the entertainment industry with a strong demand to create con-
tent for computer games and movies. In recent years, modeling has
evolved to be the most significant bottleneck in production. As a so-
lution, procedural methods can be successful to drastically increase
modeling times. However, it has been our experience, that most
companies are reluctant to adopt procedural methods, if they do not
have significant control to fine-tune the outcome. Therefore, the
proposed modeling framework is an attempt to integrate procedural
methods with high- and low-level user input to give the modelers
the freedom they seek in designing their environments.
Figure 16: This figure shows two renderings of the San Diego scene
and another city using a radial pattern.
Graph Modeling: This paper makes an important contribution to
graph modeling problems in general. Even though several graph
layouts appear to be fairly random, closer inspection will reveal a
distinct pattern of two preferred directions. We believe that our
methodology to user tensor fields to guide the generation of graphs
can be very useful for related design problems, such as the model-
ing of cracks, fracture patterns, leaf venation patterns, bark, and ice
crystals. We want to explore some of these potential connections as
our future work.
10 Conclusion
In this paper we presented a solution to interactively model street
graphs. The main ideas of this paper are to (1) use tensor field
modeling to guide the generation of a graph and (2) to integrate
procedural modeling with interactive editing. These two concepts
showed to be very useful to generate street networks, and we plan to
extend this modeling strategy to other graphics modeling problems.
AASHTO. 2004. A Policy on Geometric Design of Highways and Streets,
5th edition. American Association of Highway and Transportation Offi-
BRUN, M. 2003. Anisotropic polygonal remeshing. ACM Transactions
on Graphics 22, 3, 485–493.
O. 2000. Computational Geometry. Springer-Verlag.
BOARD, T. R. 2000. Highway Capacity Manual; U.S. Customary Version.
Transportation Research Board.
CASH, J. R., AND KARP, A. H. 1990. A variable order Runge-Kutta
method for initial value problems with rapidly varying right-hand sides.
ACM Transactions on Mathematical Software 16, 201–222.
FEDERL , P., AND PRUSINKIEWICZ, P. 2004. Finite element model of
fracture formation on growing surfaces. In International Conference on
Computational Science, Springer, M. Bubak, G. D. van Albada, P. M. A.
Sloot, and J. Dongarra, Eds., vol. 3037 of Lecture Notes in Computer
Science, 138–145.
GLASS, K. R., MORKEL, C., AND BA NGAY, S. D. 2006. Duplicating
road patterns in south african informal settlements using procedural tech-
niques. In Afrigaph ’06: Proceedings of the 4th international conference
on Computer graphics, virtual reality, visualisation and interaction in
Africa, ACM Press, 161–169.
HAUSNER , A. 2001. Simulating decorative mosaics. In SIGGRAPH Pro-
ceedings, 573–580.
HERTZMA NN, A., AND ZORIN, D. 2000. Illustrating smooth sur-
faces. Computer Graphics Proceedings, Annual Conference Series (SIG-
GRAPH 2000) (Aug.), 517–526.
HIROTA, K., TANOUE, Y., AND KAN EKO, T. 1998. Generation of crack
patterns with a physical model. The Visual Computer 14, 3, 126–137.
JOBARD, B., AND LEFER, W. 1997. Creating evenly-spaced streamlines of
arbitrary density. Proc. Eighth Eurographics Workshop on Visualization
in Scientific Computing, 45–55.
KIM, J., A ND PELLACINI, F. 2002. Jigsaw image mosaics. In SIG-
GRAPH 2002 Conference Proceedings, ACM Press/ACM SIGGRAPH,
J. Hughes, Ed., Annual Conference Series, 657–664.
LEFEBVRE, S., AND NEYRET, F. 2002. Synthesizing bark. In Rendering
Techniques (Eurographics Workshop on Rendering - EGSR).
LEGAKIS, J., DORS EY, J., AND GORTL ER, S. J. 2001. Feature-based
cellular texturing for architectural models. In Proceedings of ACM SIG-
GRAPH 2001, ACM Press, E. Fiume, Ed., 309–316.
Principles of Highway Engineering and Traffic Analysis. John Wiley &
MARINOV, M., AND KOBBELT, L . 2004. Direct anisotropic quad-dominant
remeshing. Computer Graphics and Applications, 12th Pacific Confer-
ence on (PG’04), 207–216.
ECH, R., AND PRUSINKIEWICZ, P. 1996. Visual models of plants inter-
acting with their environment. In Proceedings of ACM SIGGRAPH 96,
ACM Press, H. Rushmeier, Ed., 397–410.
MOULD, D. 2005. Image-guided fracture. In GI ’05: Proceedings of
the 2005 conference on Graphics interface, Canadian Human-Computer
Communications Society, 219–226.
L. 2006. Procedural Modeling of Buildings. In Proceedings of ACM
SIGGRAPH 2006 / ACM Transactions on Graphics.
NEFF, M., AND FIUME, E. 1999. A visual model for blast waves and
fracture. In Graphics Interface, 193–202.
O’BRIEN, J. F., AND HODGINS, J. K. 1999. Graphical modeling and
animation of brittle fracture. In Proceedings of ACM SIGGRAPH 1999,
ACM Press/Addison-Wesley Publishing Co., 137–146.
ULLER, P. 2001. Procedural modeling of cities.
In Proceedings of ACM SIGGRAPH 2001, ACM Press, E. Fiume, Ed.,
PERLIN, K. 1985. An image synthesizer. In SIGGRAPH ’85: Proceed-
ings of the 12th annual conference on Computer graphics and interactive
techniques, 287–296.
PRAUN, E., FINKELSTEIN, A., AND HOPPE, H. 2000. Lapped tex-
tures. Computer Graphics Proceedings, Annual Conference Series (SIG-
GRAPH 2000) (Aug.), 465–470.
PRUSINKIEWICZ, P., AND LINDENM AYER , A. 1991. The Algorithmic
Beauty of Plants. Springer Verlag.
ECH, R . 1994. Synthetic topiary.
In Proceedings of ACM SIGGRAPH 94, ACM Press, A. Glassner, Ed.,
B. 2001. The use of positional information in the modeling of plants.
In Proceedings of ACM SIGGRAPH 2001, ACM Press, E. Fiume, Ed.,
2003. L-systems and beyond. ACM SIGGRAPH 2003 Course Notes
A.-G., AND PRUSINKIEWICZ, P. 2005. Modeling and visualization of
leaf venation patterns. ACM Transactions on Graphics 24, 3, 702–711.
SMITH, J., WIT KIN, A., AND BARAFF, D. 2001. Fast and controllable
simulation of the shattering of brittle objects. Computer Graphics Forum
20, 2, 81–91.
STINY, G. 1977. Ice-ray: a note on chinese lattice designs. Environment
and Planning B 4, 89–98.
SUN, J., YU, X., BACIU, G., AND GREEN , M. 2002. Template-based
generation of road networks for virtual city modeling. In VRST ’02:
Proceedings of the ACM symposium on Virtual reality software and tech-
nology, ACM Press, New York, NY, USA, 33–40.
THOMAS , G., AND DONIKIAN, S. 2000. Modelling virtual cities dedicated
to behavioural animation. Computer Graphics Forum (Proc. Eurograph-
ics ’00) 19, 3 (Aug.), 71–80.
TURK, G. 1991. Generating textures on arbitrary surfaces using reaction-
diffusion. In Proceedings of ACM SIGGRAPH 91, ACM Press, 289–298.
TURK, G. 2001. Texture synthesis on surfaces. Computer Graphics Pro-
ceedings, Annual Conference Series (SIGGRAPH 2001), 347–354.
WEI, L. Y., AND LEVOY, M. 2001. Texture synthesis over arbitrary mani-
fold surfaces. Computer Graphics Proceedings, Annual Conference Se-
ries (SIGGRAPH 2001), 355–360.
WILSON , A., AND BRAN NON, R. 2005. Exploring 2d tensor fields using
stress nets. IEEE Visualization Proceeding, 11–18.
WITKIN , A., AND KASS , M. 1991. Reaction-diffusion textures. In Pro-
ceedings of ACM SIGGRAPH 91, ACM Press, 299–308.
WITTEN, T. A., AND SANDER , L . M. 1981. Diffusion-limited aggregation,
a kinetic critical phenomenon. Phys. Rev. Lett. 47, 1400–1403.
stant architecture. ACM Transactions on Graphics 22, 3, 669–677.
WORLEY, S. 1996. A cellular texture basis function. In Proceedings of
ACM SIGGRAPH 96, ACM Press, New York, NY, USA, 291–294.
ing Cracks for Batik Renderings. NPAR 2004 Proceedings of the third
international symposium on Non-photorealistic animation and render-
ing, 61–70.
ZHANG, E., HAYS, J., AND TURK, G. 2007. Interactive tensor field design
and visualization on surfaces. IEEE Transactions on Visualization and
Computer Graphics 13, 1, 94–107.
... The traditional method of manually generating these types of maps is very time-consuming [6], repetitive, and error-prone. In particular, human operators rely on imagery data to design the HD map, placing all road elements and core components by hand. ...
... The Unbounded Layout Generator plays a critical role in generat-ing "unbounded" city layouts. We compare it with Infini-tyGAN [33] used in InfiniCity and a rule-based city layout generation method, IPSM [10], as shown in Table 4. Following InfiniCity [34], we use FID and KID to evaluate the quality of the generated layouts. ...
In recent years, extensive research has focused on 3D natural scene generation, but the domain of 3D city generation has not received as much exploration. This is due to the greater challenges posed by 3D city generation, mainly because humans are more sensitive to structural distortions in urban environments. Additionally, generating 3D cities is more complex than 3D natural scenes since buildings, as objects of the same class, exhibit a wider range of appearances compared to the relatively consistent appearance of objects like trees in natural scenes. To address these challenges, we propose CityDreamer, a compositional generative model designed specifically for unbounded 3D cities, which separates the generation of building instances from other background objects, such as roads, green lands, and water areas, into distinct modules. Furthermore, we construct two datasets, OSM and GoogleEarth, containing a vast amount of real-world city imagery to enhance the realism of the generated 3D cities both in their layouts and appearances. Through extensive experiments, CityDreamer has proven its superiority over state-of-the-art methods in generating a wide range of lifelike 3D cities.
... Road network generation using procedural methods has primarily been used to populate virtual game worlds and is mostly discussed in the context of procedural cities [4]. Roads for procedural cities can be generated using various methods, including pattern-based approaches [5], L-systems [6], agent simulation [7], and tensor field [8]. In [4], the authors provide a broad discussion of terrain-based road network generation methods, categorizing them into userassisted and pathfinding-based methods. ...
Full-text available
There is a need for detailed, realistic, procedurally generated roads to address the testing and validation needs of autonomous vehicles in simulated environments. Most existing procedural road generation techniques focus on generating roads at the network level, with limited attention to road detail. Those generators that produce detailed roads do not create sufficient road diversity to represent real world roads. This paper highlights the challenges involved in generating geometric details for diverse and realistic 3D roads. Challenges include creating different kinds of road segments and joining them, generating roads which can accommodate different types of lanes, generating detailed and plausible road intersections and issues regarding width, curvature and elevation of roads. The aim of this work is to guide the development of procedural generation of realistic 3D roads without the need for real world data and high human labor input.
... There is another body of work that generates roads based on terrain, population density, etc. [12]- [18]. While some approaches like [10] can generate radial-patterned road networks, none of the approaches address the generation of roundabouts, particularly because the connection of terrain, cities, etc. does not require roundabouts. ...
Conference Paper
Full-text available
High-definition roads are an essential component of realistic driving scenario simulation for autonomous vehicle testing. Roundabouts are one of the key road segments that have not been thoroughly investigated. Based on the geometric constraints of the nearby road structure, this work presents a novel method for procedurally building roundabouts. The suggested method can result in roundabout lanes that are not perfectly circular and resemble real-world roundabouts by allowing approaching roadways to be connected to a roundabout at any angle. One can easily incorporate the roundabout in their HD road generation process or use the standalone roundabouts in scenario-based testing of autonomous driving.
... Nonetheless, these approaches are constrained by image resolution, occlusion, and segmentation accuracy. 2) Urban procedural modeling has made significant strides in generating the hierarchical components of a city such as road networks, city blocks, parcels, buildings, and more (e.g., buildings [38,66,5], roads [41,10], trees [22,24,30,68], parcels [34,56] and even entire cities [55,4]). Unfortunately, the generation process requires time consuming and expert knowledge in developing custom procedural rules to create or update the content. ...
Modeling and designing urban building layouts is of significant interest in computer vision, computer graphics, and urban applications. A building layout consists of a set of buildings in city blocks defined by a network of roads. We observe that building layouts are discrete structures, consisting of multiple rows of buildings of various shapes, and are amenable to skeletonization for mapping arbitrary city block shapes to a canonical form. Hence, we propose a fully automatic approach to building layout generation using graph attention networks. Our method generates realistic urban layouts given arbitrary road networks, and enables conditional generation based on learned priors. Our results, including user study, demonstrate superior performance as compared to prior layout generation networks, support arbitrary city block and varying building shapes as demonstrated by generating layouts for 28 large cities.
... There is another body of work that generates roads based on terrain, population density, etc. [12]- [18]. While some approaches like [10] can generate radial-patterned road networks, none of the approaches address the generation of roundabouts, particularly because the connection of terrain, cities, etc. does not require roundabouts. ...
Full-text available
High-definition roads are an essential component of realistic driving scenario simulation for autonomous vehicle testing. Roundabouts are one of the key road segments that have not been thoroughly investigated. Based on the geometric constraints of the nearby road structure, this work presents a novel method for procedurally building roundabouts. The suggested method can result in roundabout lanes that are not perfectly circular and resemble real-world roundabouts by allowing approaching roadways to be connected to a roundabout at any angle. One can easily incorporate the roundabout in their HD road generation process or use the standalone roundabouts in scenario-based testing of autonomous driving.
... Jing et al. [6] suggested a template-based model for the development of road network data, although the model is primarily concerned with the reproduction of simulation scenarios and does not depict the road topological linkages in depth. Chen et al. [7] has presented a user-editable model for the development of road networks that does not account for the topological linkages between roads. The ARNG approach overcomes the problem of manually constructing road networks and minimizes the effort associated with the production of road networks using traffic simulation software. ...
Full-text available
In microscopic traffic simulation, the fidelity of the road network model has a significant impact on the difference between the simulation and the actual urban traffic state. Accurately matching data on the simulated road network and the surroundings has become a central concern in traffic simulation research. This study provides a multi-source data-based framework for automatic road network generation (ARNG) to address the issue of manual procedures in the creation of the simulated road network and surroundings. First, the proposed method of fusion and matching of diverse road network data is used to acquire the basic road network information, and the combining of the features of different road network data can enhance the authenticity of the basic road network. Second, a multi-modal simulation road network is developed based on multi-modal traffic operation data to serve as the simulation operation's foundational environment. To address the requirements of the dynamic evolution of the simulated road network, an editor for the dynamic road network is built based on spatial closest neighbor matching. The case study illustrates the process of building the simulated road network and environment in the old city zone of Suzhou. Real-world examples demonstrate that the data-based ARNG approach provided in this study is highly automatic and scalable.
... Anisotropic shortest path rule is adopted by Galin et al. (2010). Beneš et al. (2014) and Chen et al. (2008) uses virtual traffic simulation and direction field as rules to guide the street network generation. ...
Full-text available
This dissertation develops a new modelling system based on deep learning for the study and design of street network configurations. It aims to fill an existing gap in the use of deep learning in this field, through hypothesising that convolutional neural network (CNN) and generative adversarial network (GAN) models can make a revolutionary breakthrough (like in many geometry and image-intensive fields) if a modelling system is designed to suit the nature of street network configurations and the processes for designing them. This new modelling system consists of three components. First, a thirteen-channel urban fabric image generation module, UrbanFramer, that provides a new way to represent the physical urban fabric as image patches. By integrating datasets of high-resolution 3D built form, road network data and topography of the landform, this module generates image patches as inputs for urban fabric classification and street network generation. Secondly, an urban fabric classification module, UrbanClassifier, which takes the image patches from UrbanFramer and classifies them into morphology types using a CNN. The novelty is characterised by a unique approach of assimilating urban fabric features across multiple spatial scales and viewpoints. Furthermore, a transfer learning process in this module provides a semi-automatic way to expand and incorporate specialist planning knowledge when labelling the image patches for deep learning-based street network generation. Thirdly, a street network design module, StreetGEN, which combines human and machine intelligence to support city-specific, contextual street network configuration design. The core of the machine intelligence consists of two GAN models, PlanStreet and TopoStreet, which learn from existing street network configuration samples and provide near-real-time design suggestions that incorporate, respectively, human guidance and local topographic conditions. Users are able to progressively and iteratively input their domain knowledge and creativity in street network design. StreetGEN turns the existing one-way, learning-based street network image generation into iterative human-computer interaction. The above modules have been put through systematic tests using purpose-built datasets created by UrbanFramer in two groups of case study areas: Amsterdam, Barcelona, Berlin and Prague in the development of UrbanClassifier, PlanStreet, and Siena, Perugia, Rome and Florence in the development of TopoStreet. The case study tests produce four key findings regarding the capabilities and potential of deep learning. First, equipped with multiple spatial scales and viewpoints, UrbanClassifier has very significantly improved the predictive performance, outperforming the hitherto state-of-art benchmark CNN model for image classification on all three urban fabric classification tasks by 0.14, 0.22 and 0.24 in terms of F1-Score. Secondly, through transfer learning, UrbanClassifier has performed urban fabric classification for new cities with much reduced needs of manual labelling for training. When transferring to a new city, UrbanClassifier only requires 25% of labelled data from a new city to attain what is achieved by it directly trained on full data. In other words, with UrbanClassifier, manual labelling required for classifying new cities can be significantly reduced. The expanded dataset, in turn, offers the potential to build an ever-growing database of real-world street network configurations for deep learning. Thirdly, by introducing a modest amount of human guidance on road junction locations and pattern types, PlanStreet has shown to be far more capable of reproducing the ground truth street networks than in an automatic-only prediction mode. Taking less than 40% of the ground truth junction information as input guidance, PlanStreet is able to predict street configurations at the same level of precision as that of existing learning-based models with 100% of the ground truth junction information. Fourthly, by introducing local topography, TopoStreet has outperformed benchmark models for cities in hilly areas, by sharply narrowing the prediction performance differences between flat and hilly areas, from 17.02% to 3.56% in Absolute Percentage Error for Length-Weighted Metric Choice. In summary, the design and use of this modelling system have proven that CNN and GAN models can make a real contribution to the geometrical modelling and design of street networks. This fills an existing gap in this field. Furthermore, the modelling system has designed and tested a human-machine interaction process that enables professionals and laypersons to test, near real-time, alternative designs that follow and respect local planning and topography contexts. This opens up practical applications of deep learning in the field of street network configuration design.
“Heijo-kyo Walk-through” is a system which enables users to stroll in the virtual “Heijo-kyo”, an old capital of Japan, which is reproduced by computer graphics. The system has distributed structure suitable for exhibition in various environments. A broad area of Heijo-kyo is procedurelly modeled based on a couple of arrangement rules. Immersive displays are used for visualizing an old scenery of “Heijo-kyo”. Users can walk virtually inside the scenery by body motion such as stepping. To detect stepping motion, we use a single camera for shooting heels from behind and analize up-and-down movement and grounding location.
The causes of Huizhou traditional villages are complex. This paper gives a parameter description covering the whole village and generates a hierarchical Bayesian network. By learning the parameters, this network extracts the layout pattern of the villages. Sampling results from hierarchical Bayesian networks guide road generation, house generation and placement. It can generate specific layout results according to different geographical environments, and the validity of the layout results is proved by experiments.
Conference Paper
Full-text available
We present an algorithm for simulating the cracks found in Batik wax painting and dyeing technique used to make images on cloth. The algorithm produces cracks similar to those found in batik due to the wax cracking in the dyeing process. The method is unlike earlier simulation techniques used in computer graphics, in that it is based on the Distance Transform algorithm rather than on a physically based simulation such as using spring mass meshes or finite element methods. Such methods can be difficult to implement and computationally costly due to the large numbers of equations that need to be solved. In contrast, our method is simple to implement and takes only a few seconds to produce convincing patterns that capture many of the characteristics of the crack patterns found in real Batik cloth.
This paper proposes that in addition to urban research which seeks to provide answers to policy questions, there is also a need for research which directly addresses the physical and spatial complexity of the built environment itself, and explores any effects it may in itself have on the functioning of the urban system. This type of research reflects the questions architects and urban designers typically ask, rather than those that preoccupy planners. For such research to be effective, the physical complexity variable must be controlled at the level at which real design decision are made. 'Space syntax' research attempts to do this by treating built environments as systems of space, analysing them 'configurationally', and trying to bring to light their underlying patterns and structures. Results from space syntax research into many aspects of urban space and how it works show a consistency which suggests that analysing spacial structure can be a general means of investigating the structure and function of cities. It may, in effect, be the common language of the city.
We present flow tiles , a novel technique for representing and designing velocity fields. Unlike existing procedural flow generators, tiling offers a natural user interface for field design. Tilings can be constructed to meet a wide variety of external and internal boundary conditions, making them suitable for inclusion in larger environments. Tiles offer memory savings through the re-use of prototypical elements. Each flow tile contains a small field and many tiles can be combined to produce large flows. The corners and edges of tiles are constructed to ensure continuity across boundaries between tiles. In addition, all our tiles and the resulting titing are divergence-free and hence suitable for representing a range of effects. We discuss issues that arise in designing flow tiles, algorithms for creating tilings, and three applications: a crowd on city streets, a river flowing between banks, and swirling fog. The first two applications use stationary fields, while the latter demonstrates a dynamic field.
Conference Paper
We present an image filter that transforms an input line drawing into an image of a fractured surface, where the cracks echo the input drawing. The basis of our algorithm is the Voronoi diagram of a weighted graph, where the distance between nodes is path cost in the graph. Modifying the edge costs gives us control over the placement of region boundaries; we interpret region boundaries as cracks. The rendering of our crack maps into final images is accomplished either by image analogies or by modulation of an uncracked texture.
Conference Paper
In modern urban areas, we often find a transportation network that follows a superimposed pattern. In this paper, we propose a novel method to generate a virtual traffic network based on (1) image-derived templates, and (2) a rule-based generating system. Using 2D images as input maps, various road maps with different patterns could be produced. This traffic network generating model adjusts itself intelligently in order to avoid restricted geographical areas or urban developments. The generative model follows closely directions of elevation and connects road ends in ways that allow various types of breakpoints.
Conference Paper
The formation of informal settlements in and around urban complexes has largely been ignored in the context of procedural city modeling. However, many cities in South Africa and globally can attest to the presence of such settlements. This paper analyses the phenomenon of informal settlements from a procedural modeling perspective. Aerial photography from two South African urban complexes, namely Johannesburg and Cape Town is used as a basis for the extraction of various features that distinguish different types of settlements. In particular, the road patterns which have formed within such settlements are analysed, and various procedural techniques proposed (including Voronoi diagrams, subdivision and L-systems) to replicate the identified features. A qualitative assessment of the procedural techniques is provided, and the most suitable combination of techniques identified for unstructured and structured settlements. In particular it is found that a combination of Voronoi diagrams and subdivision provides the closest match to unstructured informal settlements. A combination of L-systems, Voronoi diagrams and subdivision is found to produce the closest pattern to a structured informal settlement.
Conference Paper
We present for creating texture over an surface mesh using an example 2D texture. The approach is to identify interesting regions (texture patches) in the 2D example, and to repeatedly paste them onto the surface until it is completely covered. We call such a collection of overlapping patches a lapped texture. It is rendered using compositing operations, either into a traditional global texture map during a preprocess, or directly with the surface at runtime. The runtime compositing approach avoids resampling artifacts and drastically reduces texture memory requirements.Through a simple interface, the user specifies a tangential vector field over the surface, providing local control over the texture scale, and for anisotropic textures, the orientation. To paste a texture patch onto the surface, a surface patch is grown and parametrized over texture space. Specifically, we optimize the parametrization of each surface patch such that the tangential vector field aligns everywhere with the standard frame of the texture patch. We show that this optimization is solved efficiently as a sparse linear system.
Conference Paper
Interaction with the environment is a key factor affecting the devel- opment of plants and plant ecosystems. In this paper we introduce a modeling framework that makes it possible to simulate and visualize a wide range of interactions at the level of plant architecture. This framework extends the formalism of Lindenmayer systems with constructs needed to model bi-directional information exchange be- tween plants and their environment. We illustrate the proposed framework with models and simulations that capture the develop- ment of tree branches limited by collisions, the colonizing growth of clonal plants competing for space in favorable areas, the interaction between roots competing for water in the soil, and the competition within and between trees for access to light. Computer animation and visualization techniques make it possible to better understand the modeled processes and lead to realistic images of plants within their environmental context.