Urban Brush: Intuitive and Controllable Urban Layout Editing

ACM UIST
ACM UIST
Published in
7 min readOct 4, 2021

Authors: Xiaochen Zhou*, Pascal Chang*, Marie-Paule Cani, Bedrich Benes

Large-scale urban layouts on arbitrary terrains are essential in many Human-Computer Interaction (HCI) and Computer Graphics (CG) applications. However, their generation is not a straightforward nor simple task. There is a disconnect of the methods for urban layout generation. Procedural methods and simulations are notoriously difficult to control. Although they can quickly provide visually plausible layouts, they tend to be repetitive and may include errors such as missing egress or other architectural problems. Reconstruction algorithms are limited to the input and often need additional manual effort to make the CG models usable. Interactive methods are often tedious and slow to provide large-scale output, while the user receives no help towards consistency and realism.

One of the critical problems of urban layout design in HCI and CG is consistently modifying an existing layout, which would enable users in seek of control not to start from scratch. Existing approaches either focus on the full design of the entire urban layout (for example, when users try to edit the city, the system will reconstruct the whole city again to apply the edits) or allow only global changes by changing simulation parameters. Very few works attempt to modify an urban layout in a consistent way.

We present a novel approach to interactive modeling of urban layouts in which we combine user-controlled editing with localized, context-sensitive changes. We introduce a set of brushes that implement localized atomic operations on urban layouts. We use brushes as interactive tools since atomic operations can be interactively applied to any urban layout.

System Layout

In our framework, an urban area is represented in a procedural way using several layers of content. The user needs to provide an initial distribution of population and jobs over the area as heatmaps. Starting from the terrain, a road network is generated, the latter delimits the blocks, and each block is subdivided into lots and each lot contains at most one building.

We want to provide an intuitive way to edit a procedural urban layout that allows for local modifications and preserves consistency. Consistency here is defined on three levels:

  • Functional consistency relates to behavioral modeling of the city and means in our case, preserving the total number of agents (population and jobs) throughout the editing process.
  • Visual consistency refers to preserving the visual style of the urban area and
  • Geometrical consistency means maintaining the validity of all city elements, like buildings, lots, blocks, etc.

Basic Brushes

We will introduce the basic brushes that we designed for urban editing. These are created by combining atomic operations into consistent brushes. Furthermore, they come with several options, e.g. the possibility to allow buildings to merge as they get more volume and to split as agents move out from them.

The Repulsor brush removes a specified amount of population from the lots in the brush center. It moves it to the influence area without modifying the road and block geometry. This is achieved by iteratively transferring agents between pairs of buildings in the two regions (sorted by distance to the brush center).

The Attractor brush acts intuitively as the opposite of Repulsor by pulling agents in. It iterates simultaneously over the lots in the impact and the influence region and transfers agents from the first to the latter.

The Drag & Drop brush allows moving agents from one area of the city to another. The user selects a region from where agents will be drawn (impact). Then, as the user brushes through the influence region, the agents are added to the buildings under the brush as buildings in the first region get flatten out. The algorithm is similar to the Repulsor, except that it computes the lots’ distances to the brush center twice.

The Mask brush (also called Lock brush) locks the lots in the impact regions. Locked lots will not be affected by the brushes above. Additionally, users can choose to lock specific lot types, such as parks, etc.

The Break brush can be viewed as an extension of the Repulsor that also deletes roads in empty regions and merges the affected blocks. It can either remove vertices or edges of road segments, depending on the selected mode. A valid block should be sealed by roads and should not obtain any dead-end roads or arterials. When using brush removal, some nodes and roads are eliminated, making the original closed blocks unsealed, leading to invalid blocks. In this case, the blocks are removed as well as all lots and buildings in them. The affected buildings’ population is moved to the influence area using the Repulsor brush.

The Connect brush generates a road between two nodes. If the newly added road splits the original block into two new blocks, the agents in the original block will be assigned to the two new blocks.

Style-preserving Brush

The road connectivity and geometry are essential for the overall look and feel of the urban layout. We want to make sure that the brushes do not alter their visual consistency. While the basic brushes did not globally affect the road network, style needs to be considered for more extensive changes. We capture the urban layout style by a careful categorization of the intersections and statistics of the intersection types’ distribution and orientation, the junction angles, and distances between them. The images below show the city layout with different styles and the histogram of the attributes. The left image shows the city layout, and the right images respectively represent the histogram of node style, junction angles, and distance between nodes.

We build a Re-build brush, which re-builds an empty part of a city or a region destroyed by the Break brush. More precisely, the first input is the usual brush parameters, where the impact region of the brush defines the region that should be populated by a new urban layout, and the influence region is the region from which the population and jobs to be moved to the newly generated buildings are extracted. The second input is the set of histograms that characterize the desired city style. Note that the style can be captured from an arbitrary city, or district, thus allowing style transfer. The following images show the process of Re-build brush, and the layout with new style.

Large-scale Operations

The large-scale operations can be conducted by the combination of basic brushes. We introduced three operations: Reconfigure, Expand and Shrink.

Reconfigure is used to handle the inconsistency of the urban system when a large change is applied to a city, such as uniformly scaling the entire urban layout or editing the terrain to add a mountain or a lake.

Reconfigure will adapt the urban layout to terrain changes made by the user so to recover the consistency of the city.

We applied multiple global shrinking and expansion of an urban layout to show the consistency of the global operations. This example shows that we achieve reversible deformations in terms of the global aspect of an entire city. More details can be found in the paper.

Results

Here are some results from the user study. In the first task, participants were given a satellite image of the target (San Francisco) and an initial template. The goal was to match the visual appearance of the real city, with a focus on the CBD area and the parks. The images below show the results of the user editing.

Also, users can easily create their own urban cities.

Thank you for visiting! If you are interested in our project, you can find more details in our paper. If you have any questions, feel free to contact Xiaochen Zhou (zhou1178@purdue.edu) and Pascal Chang (pchang@student.ethz.ch)

* Xiaochen and Pascal share the common first author.

--

--

ACM UIST
ACM UIST

The ACM Symposium on User Interface Software and Technology