ArticlePDF Available

Interactive Procedural Street Modeling

Authors:

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¨
urich
Abstract
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¨
uller
2001].
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}@eecs.oregonstate.edu, Corvallis, OR 97331
peter.wonka@asu.edu, Tempe, AZ 85287
pmueller@vision.ee.ethz.ch, 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
trees.
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
centers.
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
θ
sin2
θ
sin2
θ
cos2
θ
where R0 and
θ
[0,2
π
). The major
eigenvectors of tare {
λ
µcos
θ
sin
θ
|
λ
6=0}, and the minor eigenvec-
tors are {
λ
µcos(
θ
+
π
2)
sin(
θ
+
π
2)|
λ
6=0}. The major and minor eigen-
vectors are perpendicular to each other, and together they form a
cross.
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
x+v2
yand
θ
=arctan(vy
vx)and define the following basis field:
T(p) = edkpp0k2lµcos2
θ
sin2
θ
sin2
θ
cos2
θ
(1)
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
form:
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
H=¡
H/
x
H/
y¢. We then find the tensor field T(x,y) =
Rµcos2
θ
sin2
θ
sin2
θ
cos2
θ
whose minor eigenvector field matches the
gradient of the heightfield everywhere, i.e.
θ
=arctan(
H/
y
H/
x) +
π
2
and R=p(
H/
x)2+ (
H/
y)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-
ple.
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
region.
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
Fields
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
fashion.
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
topic.
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-
nal.
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
project.
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.
References
AASHTO. 2004. A Policy on Geometric Design of Highways and Streets,
5th edition. American Association of Highway and Transportation Offi-
cials.
ALLIEZ , P., COHEN -STEINER, D., DEVILLERS, O., L ´
EVY, B., AND DES-
BRUN, M. 2003. Anisotropic polygonal remeshing. ACM Transactions
on Graphics 22, 3, 485–493.
BERG, M. D., KR EVELD, M. V., OVERMAR S, M., AND SCHWARZKOPF,
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.
MANNERING, F. L., KILARESKI, W. P., A ND WASHBU RN, S. S. 2005.
Principles of Highway Engineering and Traffic Analysis. John Wiley &
Sons.
MARINOV, M., AND KOBBELT, L . 2004. Direct anisotropic quad-dominant
remeshing. Computer Graphics and Applications, 12th Pacific Confer-
ence on (PG’04), 207–216.
Mˇ
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.
M¨
ULLER, P., WON KA, P., HAEGLER, S., ULM ER, A., AND VAN GOOL,
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.
PARISH, Y. I. H., AND M¨
ULLER, P. 2001. Procedural modeling of cities.
In Proceedings of ACM SIGGRAPH 2001, ACM Press, E. Fiume, Ed.,
301–308.
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.
PRUSINKIEWICZ, P., JAMES, M., AND Mˇ
ECH, R . 1994. Synthetic topiary.
In Proceedings of ACM SIGGRAPH 94, ACM Press, A. Glassner, Ed.,
351–358.
PRUSINKIEWICZ, P., M¨
UNDERMANN, P., KARWOWSKI , R., AND LANE,
B. 2001. The use of positional information in the modeling of plants.
In Proceedings of ACM SIGGRAPH 2001, ACM Press, E. Fiume, Ed.,
289–300.
PRUSINKIEWICZ, P., FEDERL, P., KARWOWSKI , R., AND MECH, R.
2003. L-systems and beyond. ACM SIGGRAPH 2003 Course Notes
(Aug.).
RUNIONS, A., FUHRER, M., LANE, B., FEDERL , P., ROLLAND-LAGAN ,
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.
WONKA, P., WIMMER, M., SILLI ON, F., AND RIBA RSKY, W. 2003. In-
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.
WYVILL , B., VAN OVERVELD, K., AN D CARPENDALE, S. 2004. Creat-
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.
... Professional designers visualize the urban layout based on the white papers, and create the urban layout map by hand or with the aid of computer-assisted tools. Previous computer-assisted city modeling methods (Parish and Müller 2001;Chen et al. 2008;Groenewegen et al. 2009;Niese et al. 2022) generate urban layouts by employing complex hand-crafted rules. Users have to carefully adjust the control parameters, such as the number of roads, patterns, Figure 1: Text-driven Urban Layout Regeneration. ...
... For example, while roads should bypass historic buildings that need to be preserved, building footprints should generally align with existing roads. However, existing city modeling methods take a two-stage approach (Parish and Müller 2001;Chen et al. 2008;Groenewegen et al. 2009;Vanegas et al. 2010;Benes et al. 2021;Niese et al. 2022). They first generate roads and then rough building footprints The Thirty-Eighth AAAI Conference on Artificial Intelligence according to the roads. ...
... Previous works mainly consider city modeling using procedural modeling methods. These methods (Parish and Müller 2001;Chen et al. 2008;Groenewegen et al. 2009;Weber et al. 2009;Lipp et al. 2011) required expertise to design the parameters to obtain the desired urban layout manually. UrbanBrush (Benes et al. 2021) provided a layout editing tool for users to set the brush parameters. ...
Article
Regenerating urban layout is an essential process for urban regeneration. In this paper, we propose a new task called text-driven urban layout regeneration, which provides an intuitive input modal - text - for users to specify the regeneration, instead of designing complex rules. Given the target region to be regenerated, we propose a one-stage text-driven urban layout regeneration model, Text2City, to jointly and progressively regenerate the urban layout (i.e., road and building layouts) based on textual layout descriptions and surrounding context (i.e., urban layouts and functions of the surrounding regions). Text2City first extracts road and building attributes from the textual layout description to guide the regeneration. It includes a novel one-stage joint regenerator network based on the conditioned denoising diffusion probabilistic models (DDPMs) and prior knowledge exchange. To harmonize the regenerated layouts through joint optimization, we propose the interactive & enhanced guidance module for self-enhancement and prior knowledge exchange between road and building layouts during the regeneration. We also design a series of constraints from attribute-, geometry- and pixel-levels to ensure rational urban layout generation. To train our model, we build a large-scale dataset containing urban layouts and layout descriptions, covering 147K regions. Qualitative and quantitative evaluations show that our proposed method outperforms the baseline methods in regenerating desirable urban layouts that meet the textual descriptions.
... Unbounded Layout Generator (ULG) is essential for producing "unbounded" city layouts. To demonstrate the effectiveness of ULG, we evaluate its performance against Infini-tyGAN [114], which is utilized in InfiniCity, alongside the rule-based city layout generation technique, IPSM [113]. Following InfiniCity [26], we use FID and KID to quantitatively evaluate the quality of the generated layouts. ...
Preprint
3D scene generation has garnered growing attention in recent years and has made significant progress. Generating 4D cities is more challenging than 3D scenes due to the presence of structurally complex, visually diverse objects like buildings and vehicles, and heightened human sensitivity to distortions in urban environments. To tackle these issues, we propose CityDreamer4D, a compositional generative model specifically tailored for generating unbounded 4D cities. Our main insights are 1) 4D city generation should separate dynamic objects (e.g., vehicles) from static scenes (e.g., buildings and roads), and 2) all objects in the 4D scene should be composed of different types of neural fields for buildings, vehicles, and background stuff. Specifically, we propose Traffic Scenario Generator and Unbounded Layout Generator to produce dynamic traffic scenarios and static city layouts using a highly compact BEV representation. Objects in 4D cities are generated by combining stuff-oriented and instance-oriented neural fields for background stuff, buildings, and vehicles. To suit the distinct characteristics of background stuff and instances, the neural fields employ customized generative hash grids and periodic positional embeddings as scene parameterizations. Furthermore, we offer a comprehensive suite of datasets for city generation, including OSM, GoogleEarth, and CityTopia. The OSM dataset provides a variety of real-world city layouts, while the Google Earth and CityTopia datasets deliver large-scale, high-quality city imagery complete with 3D instance annotations. Leveraging its compositional design, CityDreamer4D supports a range of downstream applications, such as instance editing, city stylization, and urban simulation, while delivering state-of-the-art performance in generating realistic 4D cities.
... This technique has garnered significant interest in the computer vision and graphics community due to its scalability and adaptability. It is extensively used for creating virtual environments [9], urban areas [7,30,34,42], and natural landscapes [23,35,38]. Additionally, procedural methods are employed for generating structured objects [24,28,30,33] and textures [15,19]. ...
Preprint
Buildings are primary components of cities, often featuring repeated elements such as windows and doors. Traditional 3D building asset creation is labor-intensive and requires specialized skills to develop design rules. Recent generative models for building creation often overlook these patterns, leading to low visual fidelity and limited scalability. Drawing inspiration from procedural modeling techniques used in the gaming and visual effects industry, our method, Proc-GS, integrates procedural code into the 3D Gaussian Splatting (3D-GS) framework, leveraging their advantages in high-fidelity rendering and efficient asset management from both worlds. By manipulating procedural code, we can streamline this process and generate an infinite variety of buildings. This integration significantly reduces model size by utilizing shared foundational assets, enabling scalable generation with precise control over building assembly. We showcase the potential for expansive cityscape generation while maintaining high rendering fidelity and precise control on both real and synthetic cases.
... Procedural network generation has been applied to other forms of infrastructure, such as road networks. [11] interactively generate street graphs based on user-defined network patterns which can be edited using brushes. [12] avoid user interaction by automatically finding intersections, crossings, roundabouts and city blocks based on a center-line estimate of where real-world roads are. ...
Preprint
Full-text available
Power system communication networks enable operators to remotely monitor and control field equipment. The sophistication of these networks is also increasing as operators continue the trend towards digitization, which is beneficial in integrating distributed energy resources. However, as the attack surface increases in size so too does the risk of cyberattacks. The topology, configuration and composition of communication networks is therefore confidential since this can provide information to attackers. As a result, the number of benchmarks available for research purposes is limited. A tool for procedurally generating communication network topologies is therefore proposed. While primarily intended as an enabler for public research into communication networks, this tool also allows general insights to be gained into the effect of communication network design on the vulnerability of networks to cyberattacks. The tool includes the ability to encapsulate network characteristics in JSON specification files, which is demonstrated with example Advanced Metering Infrastructure (AMI), Supervisory Control and Data Acquisition (SCADA) and Wide Area Monitoring (WAM) specification files. The SCADA network generation is then compared to a real-world case. Finally, the effect of network redundancy on the networks cyber resilience is investigated.
... Vanegas et al. (2012b) perform the interior partitioning of city blocks, i.e., partitioning by parcels, using userdefined subdivision attributes and style parameters. Another urban study proposes a procedure where users can create a street network from scratch or modify an existing street network by designing a tensor field (Chen et al., 2008). On the other hand, Frank and Ollson (2017) realized urban generations based on validity, determinism, performance, and flexibility parameters with Perlin noise. ...
Conference Paper
This study investigates the generation and manipulation of radial grids for procedural city layouts, focusing on their potential for open-world games. Procedural city generation methods have gained prominence in various fields, including game development, architecture, and urban studies. This study introduces an organic city generation model utilizing procedural techniques, specifically adopting a radial grid approach as an alternative to rectangular grids. The paper presents three distinct mesh deformation techniques for altering the radial grid: One Point Attractor (OPA), Multiple Points Attractor (MPA), and Topography Informed Deformation (TID). These techniques are experimentally explored and empirically compared to achieve unique and heterogeneous growth patterns. As a result, the study develops modeling techniques for procedural city modeling based on radial grids that enable organic city generation and can be used in an open world game environment.
... Rule-Based Road Network Generation: Parish and Muller [13] extended the L-system [14]-a system used to simulate the morphology of various organisms-to generate the road network in the CityEngine 1 urban generation system. Chen et al. [15] proposed a procedural road network content generation method guided by underlying tensor fields, enabling intuitive user interaction. ...
Preprint
Full-text available
Autonomous vehicles need to travel over 11 billion miles to ensure their safety. Therefore, the importance of simulation testing before real-world testing is self-evident. In recent years, the release of 3D simulators for autonomous driving, represented by Carla and CarSim, marks the transition of autonomous driving simulation testing environments from simple 2D overhead views to complex 3D models. During simulation testing, experimenters need to build static scenes and dynamic traffic flows, pedestrian flows, and other experimental elements to construct experimental scenarios. When building static scenes in 3D simulators, experimenters often need to manually construct 3D models, set parameters and attributes, which is time-consuming and labor-intensive. This thesis proposes an automated program generation framework. Based on deep reinforcement learning, this framework can generate different 2D ground script codes, on which 3D model files and map model files are built. The generated 3D ground scenes are displayed in the Carla simulator, where experimenters can use this scene for navigation algorithm simulation testing.
... Automatic content creation is one of the ultimate goals of computer graphics. Decades of efforts, including conventional content creation techniques [Chen et al. 2008;Müller et al. 2006;Prusinkiewicz et al. 1996], have been invested in this domain. The most recent success of Latent Diffusion Model (LDM) [Rombach et al. 2022] trained on large-scale internet image dataset significantly advances the multi-model expressivity of generative models. ...
Preprint
The recent success of pre-trained diffusion models unlocks the possibility of the automatic generation of textures for arbitrary 3D meshes in the wild. However, these models are trained in the screen space, while converting them to a multi-view consistent texture image poses a major obstacle to the output quality. In this paper, we propose a novel method to enforce multi-view consistency. Our method is based on the observation that latent space in a pre-trained diffusion model is noised separately for each camera view, making it difficult to achieve multi-view consistency by directly manipulating the latent codes. Based on the celebrated Denoising Diffusion Implicit Models (DDIM) scheme, we propose to use an optimization-based color-fusion to enforce consistency and indirectly modify the latent codes by gradient back-propagation. Our method further relaxes the sequential dependency assumption among the camera views. By evaluating on a series of general 3D models, we find our simple approach improves consistency and overall quality of the generated textures as compared to competing state-of-the-arts. Our implementation is available at: https://github.com/Quantuman134/TexPainter
... Generating 3D city scenes is crucial for simulating realistic urban environments and exploring innovative designs. Traditional methods like procedural [17,45,52,70,80] and image-based modeling [11,6,24,30,75,12] have established significant benchmarks, but they often lack diversity and flexibility in generating varied layout designs, hindering innovation and adaptability in urban planning. ...
Preprint
Full-text available
City scene generation has gained significant attention in autonomous driving, smart city development, and traffic simulation. It helps enhance infrastructure planning and monitoring solutions. Existing methods have employed a two-stage process involving city layout generation, typically using Variational Autoencoders (VAEs), Generative Adversarial Networks (GANs), or Transformers, followed by neural rendering. These techniques often exhibit limited diversity and noticeable artifacts in the rendered city scenes. The rendered scenes lack variety, resembling the training images, resulting in monotonous styles. Additionally, these methods lack planning capabilities, leading to less realistic generated scenes. In this paper, we introduce CityCraft, an innovative framework designed to enhance both the diversity and quality of urban scene generation. Our approach integrates three key stages: initially, a diffusion transformer (DiT) model is deployed to generate diverse and controllable 2D city layouts. Subsequently, a Large Language Model(LLM) is utilized to strategically make land-use plans within these layouts based on user prompts and language guidelines. Based on the generated layout and city plan, we utilize the asset retrieval module and Blender for precise asset placement and scene construction. Furthermore, we contribute two new datasets to the field: 1)CityCraft-OSM dataset including 2D semantic layouts of urban areas, corresponding satellite images, and detailed annotations. 2) CityCraft-Buildings dataset, featuring thousands of diverse, high-quality 3D building assets. CityCraft achieves state-of-the-art performance in generating realistic 3D cities.
Article
Full-text available
We present a computational framework for modeling land parcels and streets. In the real world, parcels and streets are highly coupled with each other since a street network connects all the parcels in a certain area. However, existing works model parcels and streets separately to simplify the problem, resulting in urban layouts with irregular parcels and/or suboptimal streets. In this paper, we propose a hierarchical approach to co‐generate parcels and streets from a user‐specified polygonal land shape, guided by a set of fundamental urban design requirements. At each hierarchical level, new parcels are generated based on binary splitting of existing parcels, and new streets are subsequently generated by leveraging efficient graph search tools to ensure that each new parcel has a street access. At the end, we optimize the geometry of the generated parcels and streets to further improve their geometric quality. Our computational framework outputs an urban layout with a desired number of regular parcels that are reachable via a connected street network, for which users are allowed to control the modeling process both locally and globally. Quantitative comparisons with state‐of‐the‐art approaches show that our framework is able to generate parcels and streets that are superior in some aspects.
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.
Article
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.
Article
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.