Automatic Generation of 3D Building Models from ...

1 downloads 0 Views 52MB Size Report
L-systems, fractals, and generative modeling language (Parish et al. ..... storeys apartments sharing green in courtyard and buildings in the north standing tall for ...
Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

AUTOMATIC GENERATION OF 3D BUILDING MODELS FROM COMPLICATED BUILDING POLYGONS

Junne Kikata (2)

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Kenichi Sugihara (1)

(1) Professor, Faculty of Information Media, Gifu Keizai University, 5-50 Kitagata-chou Ogaki-city

Gifu-Pref., 503-8550, Japan. Email: [email protected]

(2) Associate Professor, Faculty of Engineering, Kagoshima University, 1-21-40 Koorimoto, Kagoshima-City, Kagoshima-Pref., 890-0065, Japan. E-mail: [email protected]

Abstract:

A 3D urban model is an important information infrastructure that can be utilized in several fields,

such as, urban planning and game industries. However, enormous time and effort have to be spent to

create 3D urban models, using 3D modeling softwares such as 3ds Max or SketchUp. In this paper we will employ automatic generation of 3D building models through integrating GIS and CG (Computer Graphics). An integrated system is proposed for automatically creating 3D building models from

building polygons (building footprints) on a digital map. Since most building polygons’ edges meet at a right angle (orthogonal polygon), a complicated orthogonal building polygon can be partitioned into a set of rectangles. The integrated system partitions orthogonal building polygons into a set of

rectangles and places rectangular roofs and box-shaped building bodies on these rectangles. In order

to partition an orthogonal polygon, a useful polygon expression (RL expression: edges’ Right & Left

turns expression) and a partitioning scheme was proposed. In our research, a new scheme for

partitioning complicated orthogonal building polygons is proposed. In the digital map, however, not all building polygons are orthogonal. To place parts of a building properly, in either orthogonal or non-orthogonal polygons, the proposed system places parts of a building, such as windows along the inner contour which is setbacked from the original building polygon by straight skeleton computation,

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

the algorithm of which is clarified. For a multiple bounded polygon (a building polygon bounded by outer polygons), a new scheme is also presented for creating a complicated shape of building model or

Keywords: 3D urban model, automatic generation, GIS, CG (Computer Graphics), 3D building model, orthogonal polygon, polygon partitioning, building polygon, straight skeleton

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

a ‘multilayer building’.

Introduction

3D urban models are important in urban planning and in facilitating public involvement. To facilitate public involvement, 3D models simulating a real or near future cities by a 3D CG can be of great use. However, enormous time and labour has to be consumed to create these 3D models, using 3D

modeling softwares such as 3ds Max or SketchUp. For example, when manually modeling a house with roofs by Constructive Solid Geometry (CSG), one must use the following laborious steps:

(1) Generation of primitives of appropriate size, such as box, prism or polyhedron that will form parts of a house (2) Boolean operations are applied to these primitives to form the shapes of parts of a

house such as making holes in a building body for doors and windows (3) Rotation of parts of a house (4) Positioning of parts of a house (5) Texture mapping onto these parts.

In order to automate these laborious steps, a GIS and CG integrated system that automatically

generates 3D building models is proposed, based on building polygons or building footprints on a

digital map shown in Figure 1 left. Figure 1 left also shows most building polygons’ edges meet at

right angles (orthogonal polygon). A complicated orthogonal polygon can be partitioned into a set of rectangles. The proposed integrated system partitions orthogonal building polygons into a set of

rectangles and places rectangular roofs and box-shaped building bodies on these rectangles. In order to partition an orthogonal polygon, a useful polygon expression (RL expression: edges’ Right & Left turns expression) and a partitioning scheme was proposed for deciding from which vertex a dividing

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

line (DL) is drawn (Sugihara 2006). In this paper, a new scheme for partitioning complicated orthogonal building polygons is proposed. In the digital map, however, not all building polygons are orthogonal. To place parts of a building properly, in either orthogonal or non-orthogonal polygons, the proposed system places building parts,

original building polygon by straight skeleton computation (Aichholzer 1995), the algorithm of which

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

such as windows and doors, fences, shop façades along the inner contour which is setbacked from the

will be clarified.

For a multiple bounded polygon (a building polygon bounded by outer polygons), a new scheme is also presented for creating a complicated shape of building model or a ‘multilayer building’.

Since 3D urban models are important information infrastructure that can be utilized in several fields, the researches on creations of 3D urban models are in full swing. Various types of technologies,

ranging from computer vision, computer graphics, photogrammetry, and remote sensing, have been

proposed and developed for creating 3D urban models. Using photogrammetry, Gruen and et al. (1998, 2002) introduced a semi-automated topology generator for 3D building models: CC-Modeler. Feature identification and measurement with aerial stereo images is implemented in manual mode.

During feature measurement, measured 3D points belonging to a single object should be coded into

two different types according to their functionality and structure: boundary points and interior points. After these manual operations, the faces are defined and the related points are determined. Then the CC-Modeler fits the faces jointly to the given measurements in order to form a 3D building model. Suveg and Vosselman (2002) presented a knowledge-based system for automatic 3D building

reconstruction from aerial images. The reconstruction process starts with the partitioning of a building into simple building parts based on the building polygon provided by 2D GIS map. If the building polygon is not a rectangle, then it can be divided into rectangles. A building can have multiple partitioning schemes. To avoid a blind search for optimal partitioning schemes, the minimum description length principle is used. This principle provides a means of giving higher priority to the partitioning schemes with a smaller number of rectangles. Among these schemes, optimal partitioning

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

is ‘manually’ selected. Then, the building primitives of CSG representation are placed on the rectangles partitioned. These proposals and systems, using photogrammetry, will provide us with a primitive 3D building model with accurate height, length and width, but without details such as windows, eaves or doors.

neglecting details on the façades such as windows, etc (Zlatanova 2002). On the other hand, there are

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

The research on 3D reconstruction is concentrated on reconstructing the rough shape of the buildings,

some application areas such as urban planning and game industries where the immediate creation and modification of many plausible building models is requested to present the alternative 3D urban

models. Procedural modeling is an effective technique to create 3D models from sets of rules such as L-systems, fractals, and generative modeling language (Parish et al. 2001).

Müller et al. (2006) have created an archaeological site of Pompeii and a suburbia model of Beverly

Hills by using a shape grammar that provides a computational approach to the generation of designs. They import data from a GIS database and try to classify imported mass models as basic shapes in

their shape vocabulary. If this is not possible, they use a general extruded footprint together with a

general roof obtained by a straight skeleton computation defined by a continuous shrinking process (Aichholzer et al. 1995).

The straight skeleton is the set of lines traced out by the moving vertices in this shrinking process and can be used as the set of ridge lines of a building roof (Aichholzer et al. 1996). However, the roofs

created by the straight skeleton are limited to hipped roofs or gable roofs with their ridges parallel to

long edges of the rectangle into which a building polygon is partitioned. As shown in a satellite image of Figure 2, there are many roofs whose ridges are perpendicular to a long edge of the rectangle, and these roofs cannot be created by the straight skeleton. Since the straight skeleton treats a building

polygon as a whole, it forms a seamless roof so that it cannot place roofs independently on partitioned polygons. Figure 2 also shows 3D house models automatically generated by the proposed system, depending on the different partitioning schemes; ‘separation prioritizing’ or ‘shorter DL (dividing line) prioritizing’, which are decided by an attribute data of the building polygon manually stored beforehand.

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

To create the various shape of3D roofs, the proposed system has an option to choose partitioning scheme; prioritizing separation or prioritizing shorter DL. The proposed system also tries to select a suitable DL for partitioning or a suitable separation, depending on the RL expression of a polygon, the length of DLs and the edges of a polygon.

approaches, have been developed that allow buildings to be quickly generated and rendered

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

More recently, image-based capturing and rendering techniques, together with procedural modeling

realistically at interactive rates. Bekins et al. (2005) exploit building features taken from real-world

capture scenes. Their interactive system subdivides and groups the features into feature regions that can be rearranged to texture a new model in the style of the original. The redundancy found in

architecture is used to derive procedural rules describing the organization of the original building,

which can then be used to automate the subdivision and texturing of a new building. This redundancy can also be used to automatically fill occluded and poorly sampled areas of the image set.

Aliaga et al. (2007) extend the technique to inverse procedural modeling of buildings and they

describe how to use an extracted repertoire of building grammars to facilitate the visualization and

modification of architectural structures. They present an interactive system that enables both creating new buildings in the style of others and modifying existing buildings in a quick manner.

Vanega et al. (2010) interactively reconstruct 3D building models with the grammar for representing changes in building geometry that approximately follow the Manhattan-world (MW) assumption

which states there is a predominance of three mutually orthogonal directions in the scene. They say

automatic approaches using laser-scans or LIDAR data, combined with aerial imagery or ground-level images, suffering from one or all of low-resolution sampling, robustness, and missing surfaces. One

way to improve quality or automation is to incorporate assumptions about the buildings such as MW assumption. However, there are lots of buildings that have cylindrical or general curved surfaces, based on non-orthogonal building polygons.

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

By these interactive modeling, 3D building model with plausible detailed façade can be achieved. However, the limitation of these modeling is the large amount of user interaction involved (Nianjuan et al. 2009). When creating 3D urban model for urban planning or facilitating public involvement, 3D urban models should cover lots of citizens’ and stakeholders’ buildings involved. This means that it

building.

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

will take an enormous time and labour to model 3D urban model with hundreds or thousands of

Thus, the GIS and CG integrated system that automatically generates 3D urban models immediately is proposed, and the generated 3D building models that constitute 3D urban models are approximate geometric 3D building models that citizens and stakeholder can recognise as their future house or real-world buildings.

Proposed System for Automatic Building Generation

As shown in Figure 1, the proposed automatic building generation system consists of GIS application (ArcGIS, ESRI Inc.), GIS module and CG module. The source of the 3D urban model is a digital residential map that contains building polygons linked with attributes data such as the number of

storeys and the type of roof. The GIS module ‘pre-processes’ building polygons on the digital map.

As mentioned in detail in the preceding sections, ‘pre-process’ includes filtering out an unnecessary

vertex whose internal angle is almost 180 degrees, partitioning orthogonal building polygons into sets of rectangles, generating inside contours by straight skeleton computation for positioning windows and façades of a building and exporting the coordinates of polygons’ vertices and attributes of

buildings. The attributes of buildings consist of the number of storeys, the image code of roof, wall and the type of roof (flat, gable roof, hipped roof, oblong gable roof, gambrel roof, mansard roof,

temple roof and so forth). The GIS module has been developed using 2D GIS software components (MapObjects, ESRI).

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

The CG module receives the pre-processed data that the GIS module exports, generating3D building models. CG module has been developed using Maxscript that controls 3D CG software (3ds MAX, Autodesk Inc). In case of modeling a building with roofs, the CG module follows these steps: (1) generation of primitives of appropriate size, such as boxes, prisms or polyhedra that will form the

parts of the house, for examples, making holes in a building body for doors and windows, making

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

various parts of the house (2) Boolean operations are applied to these primitives to form the shapes of

trapezoidal roof boards for a hipped roof and a temple roof (3) rotation of parts of the house (4) positioning of parts of the house (5) texture mapping onto these parts according to the attribute

received (6) copying the 2nd floor to form the 3rd floor or more in case of building higher than 3 storeys.

These steps are discussed by drawing a flow diagram in the following sections. As mentioned in this

section, the proposed system consists of GIS application, GIS module and CG module. GIS module is discussed in the next section.

Functionality of GIS Module Proposed Polygon Expression

At map production companies, technicians are drawing building polygons manually with digitizers, depending on aerial photos or satellite imagery as shown in Figure 1. This aerial photo and digital

map also show that most building polygons are orthogonal polygons. An orthogonal polygon can be

replaced by a combination of rectangles. When following edges of a polygon clockwise, an edge turns to the right or to the left by 90 degrees. Therefore, it is possible to assume that an orthogonal polygon can be expressed as a set of its edges’ turning direction; an edge turning to the ‘Right’ or to the ‘Left’. A useful polygon expression (RL expression: edges’ Right & Left turns expression) is proposed for specifying the shape pattern of an orthogonal polygon (Sugihara 2005). For example, an orthogonal

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

polygon with 22 vertices shown in Figure 3 is expressed as a set of its edges’ turning direction; LRRRLLRRLRRLRRLRLLRRRL where R and L mean a change of an edge’s direction to the right and to the left, respectively. The number of shapes that a polygon can take depends on the number of vertices of a polygon.

(1) RL expression specifies the shape pattern of a polygon without regard to the length of its edges.

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

The advantage of this RL expression is as follows.

(2) This expression decides from which vertex a dividing line (DL) is drawn.

Partitioning Scheme

The more vertices a polygon has, the more partitioning scheme a polygon has, since the interior angle of a ‘L’ vertex is 270 degrees and two DLs (dividing lines) can be drawn from a ‘L’ vertex. The

partitioning scheme that gives higher priority to the DLs that divide ‘fat rectangles’ was proposed

(Sugihara 2006). A ‘fat rectangles’ is a rectangle close to a square. The proposed partitioning scheme is similar to Delaunay Triangulation in the sense that Delaunay Triangulation avoids thin triangles and generates fat triangles. However, the proposal did not always result in generating plausible and

probable 3D building models with roofs. In the next proposal, among many possible DLs, the DL that satisfies the following conditions is selected for partitioning. (1) A DL that cuts off ’one rectangle’.

(2) Among two DLs from a same ‘L’ vertex, a shorter DL is selected to cut off a rectangle.

(3) A DL whose length is shorter than the width of a ‘main roof’ that a ‘branch roof’ is supposed to extend to, where a ’branch roof’ is a roof that is cut off by a DL and extends to a main roof and a

‘main roof’ is a roof that is extended by a branch roof.

Partitioning process

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

Figure 3 shows the partitioning process of an orthogonal building polygon into a set of rectangles. The vertices of a polygon are numbered in clock-wise order. Stage 2 in Figure 2 shows an orthogonal polygon with all possible DLs shown as thin dotted lines and with DLs that satisfy condition (1), shown as thick dotted lines. Also in stage 2, the example of a branch roof is shown as the rectangle

Since each roof has the same slope in most multiple-roofed buildings, a wider roof is higher than a

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

formed by vertices 6,7,8,9 cut off by DL.

narrower roof and ‘probable multiple-roofed buildings’ take the form of narrower branch roofs diverging from a wider and higher main roof. Narrower branch roofs are formed by dividing a

polygon along a shorter DL and the width of a branch roof is equal to the length of the DL. The

reason for setting up these conditions is that like breaking down a tree into a collection of branches, the system cut off along ‘thin’ part of branches of a polygon. Thus, a scheme of prioritizing the shorter DL that cuts off a branch roof is proposed.

In the partitioning process as shown in Figure 3, the DLs that satisfy the mentioned conditions are

selected for partitioning. By cutting off one rectangle, the number of the vertices of a body polygon is reduced by two or four. After partitioning branches, the edges’ length and RL data are recalculated to find new branches. Partitioning continues until the number of the vertices of a body polygon is four. After being partitioned into a set of rectangles, the system places 3D building models on these

rectangles. Figure 4 shows a variety of shapes of orthogonal building polygons with DLs implemented and 3D building models automatically generated from partitioned building polygons. The rectangle partitioned is extended to a wider and higher main roof so that it will form a narrower and lower branch roof.

How to partition branches

How the system is finding ‘branches’ is as follows. The vertices of a polygon are numbered in clockwise order as shown in Figure 3. The system counts the number of consecutive ‘R’ vertices (= nR) between ‘L’ vertices. If nR is two or more, then it can be a branch. One or two DLs can be drawn

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

from ‘L’ vertex in a clockwise or counter-clockwise direction, depending on the length of the adjacent edges of ‘L’ vertex. Figure 5 shows various cases of drawing DL when nR is 2, 3 and 4, depending on the length of adjacent edges of ‘L’ vertex. Figure 5 (nR=2) shows three cases of drawing DL when nR is two. The

(Forward Cutting Point) is the ‘L’ vertex that precedes consecutive ‘R’ vertices and from which a DL

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

way of drawing DL depends on the comparison between Len(FCP) and Len(jpb). In Figure 5, FCP

can be drawn forwardly in terms of the clock-wise numbered vertices. BCP (Backward Cutting Point) is the ‘L’ vertex that succeeds consecutive ‘R’ vertices and from which DL can be drawn backwardly. ̈jnsf’ is the index to specify the vertex that succeeds FCP by ‘n’ vertex and ‘jnpb’ is the index to

specify the vertex that precedes BCP by ‘n’ vertex (n=1,2,..). Len(FCP) means the length of an edge

between FCP and pt(jsf). Figure 5 (nR=3) shows three cases of drawing DL when nR is three. The way of drawing DL depends on the comparison between Len(FCP) and Len(j2sf) and the comparison

between Len(jsf) and Len(jpb). Of the two DLs from FCP or BCP, a shorter DL will be selected for

partition. In the 3rd case of nR=3 in Figure 5, the rectangle consisting of vertices; pt(jsf) and pt(j2sf),

pt(jpb), pt(A) is not partitioned but separated as an independent one. This is the only case where the separation occurs.

Figure 5 (nR=4) shows three cases of drawing DL when nR is four. The way of drawing DL depends

on the comparison between Len(jsf)and Len(j2pb). With the exception of 1st case of nR=4 where the vertices of pt(jsf) and pt(j2sf), pt(j2pb), pt(jpb) form one rectangle, the partition method of n R=4 or

more is the same as the method of nR=3 since the branch that is formed by these 4 or more ‘R’

vertices will be self-intersecting and cannot form ‘one rectangle’.

Inner Polygon by Straight Skelton Parts of a building, such as windows and setbacked façade, are placed on the inner polygon setbacked by a fixed distance from the footprint or the original polygon of the building. This inner polygon receded by a fixed distance is computed by the straight skeleton (Aichholzer 1995) which is defined

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

by a shrinking process in which each edge of the polygon moves inwards parallel to themselves at a constant speed as shown in Figure 6. Lengths of edges of the polygon might decrease or increase in this process. The edges incident to two reflex vertices will grow in length as shown by ‘ed3’ in Figure 6. A reflex vertex is a vertex whose internal angle is greater than 180 degrees. If the sum of the

edge increases, otherwise the edge will be shrunk to a point. Each vertex of the polygon moves along

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

internal angles of two vertices incident to an edge is more than 360 degrees, then the length of the

the angular bisector of its incident edges. This situation continues as long as the boundary does not change topologically. There are two possible types of changes:

(1) Edge event: An edge shrinks to zero, making its neighbouring edges adjacent now.

(2) Split event: An edge is split, i.e., a reflex vertex runs into this edge, thus splitting the whole

polygon. New adjacencies occur between the split edge and each of the two edges incident to the reflex vertex.

After either type of event, we are left with a new, or two new, polygons which are shrunk recursively if they have non-zero area (Aichholzer 1995).

Shrinking procedure is uniquely determined by the distance between the two edges of before & after

shrinking procedure. The distance is referred to as dshri, shown by e_dshri in Figure 6. e_dshri is the dshri

when an ‘edge event’ happens in the shrinking process. The edge event dshri is calculated as follows: Where Li is the length of edi (edge), and

i

(1)

&

Edge event will happen when 0.5* i㧗0.5*

i+1

are internal angles of vertices incident to edi.

i+1㧨180

degrees, i.e., the sum of the internal angles of

two vertices incident to an edge is less than 360 degrees. After calculating dshri for all edges and

finding the shortest of them, when dshri reaches the shortest found, an edge event happens and edges disappear for the first time in the process. In Figure 6, when dshri is e_dshri, ed4 and ed5 are the edges that collapse into a point at the first edge event. After an edge shrinks to a point, the system makes its neighboring edges adjacent now and recalculates the length of each edge and internal angles of each

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

vertex in order to find the shortest dshri for next edge event. In Figure 6, ed1 and ed2 will disappear in the next edge event. There remains a triangle that will be extinct by three edge events simultaneously. Inner polygons shrunk by straight skeleton computation are generated by the following algorithm in Figure 7.

polygon vertices during the shrinking process (Aichholzer 1995).

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

The straight skeleton, S(P), is defined as the union of the pieces of angular bisector traced out by

Figure 8 left shows non-orthogonal building polygons overlapped by satellite image. In Figure 8

middle, inner building polygons are generated by the straight skeleton, and along these inner polygons, windows and setbacked façade, fences are placed and thus3D building model are automatically generated as shown in the right of Figure 8.

Generation of 3D building models from multiple bounded polygons

The many floors have the same shape in most multi-story buildings, which are shown as a ‘simple extruded building’ in Figure 9 left. On the other hand, there are some buildings whose floors take

various shapes according to the number of storeys, which are presented as ‘multilayer buildings’ in

Figure 9 middle & right. These ‘multilayer buildings’ are generated based on the building polygons

bounded by outer polygons (multiple bounded polygons). In this paper, a new method is proposed for the automatic generation of ‘multilayer building’ models, based on ‘multiple bounded polygons’.

As mentioned in previous sections, in preparation for automatic generation, building polygons are

linked with attributes, such as the number of storeys and the type of building structure. For example, the inner polygons in multiple bounded polygons are associated with the type of structure, such as a

building floor or a roof or a fence. When starting dealing with multiple bounded polygons, the system starts with an inner polygon (named ‘ME_polygon’) and searches for outer bounded polygons that include ‘ME_polygon’ and acquires the number of storeys linked to bounded polygons. After getting and summing up the number of storeys, the start height (the height at which the 3D model is generated) is calculated. Figure 10 shows an algorithm for calculating the start height. In this

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

algorithm, through knowing the type of the polygon found, the system does not need to sum up the number of storeys of the polygon if the type of the polygon found is a roof or a fence placed at the top

Functionality of CG module

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

of the building which may include ‘ME_polygon’.

As shown in Figure 1, the CG module receives the pre-processed data that the GIS module exports,

generating3D building models. Figure11 shows the generation process of a hipped roof house model in CG module. The GIS module partitions orthogonal building polygons into a set of rectangles and the CG module places rectangular roofs and box-shaped building bodies on these rectangles. After

GIS module measuring the length and the gradient of the edges of the partitioned rectangle, the edges are categorized into a long edge (edge12) and a short edge (edge23). The vertices of the rectangle are numbered clockwise with the upper left vertex of a long edge being numbered ‘pt1’ as shown in Figure 12, ‘ground plan’ of a gable roof. The length of edge12 and edge23 are w_L and w_S respectively.

In 3ds Max used for the creation of 3D models, each building part or primitive has its own control point (‘cp’) and local coordinates that control its position and direction. The position of a ‘cp’ is

different in each primitive. As shown in Figure 12, the top of a gable roof consists of two roof boards (two thin boxes). Since the ‘cp’ of a box lies in a center of a base, it is placed on the point that divides the line through pt12 and pt34 at the ratio shown in ground plan. The height of the ‘cp’s of two roof boards is shown in the front view of a gable roof (Figure 13).

The CG module’s generation process for modeling a hipped roof house is as follows.

(1) Generation of primitives of appropriate size, such as boxes, prisms that are the parts of the house: For example, the length and width of a box as a house body are decided by the rectangle partitioned from a building polygon in GIS module. As shown in Figure 12, the length of a box will be w_L and the width of a box will be w_S. Also, the length of a thin box as a roof board is decided by the

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

rectangle partitioned while the width of a roof board is decided by the slope of the roof given as a parameter, as shown in Figure 13 (the front view of a gable roof). (2) Boolean operation on these primitives to form the shapes of parts of the house: for examples, making holes in a house body for doors and windows, making trapezoidal or triangular roof boards for

(3) Rotation of parts of the house: Parts of the house are rotated depending on the direction of the

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

a hipped roof. The size and position, number of the holes are decided by the given parameters.

rectangle partitioned. The roof boards are rotated so as to align them according to, respectively, the slopes of the roofs.

(4) Positioning of parts of the house: Parts of the house are placed depending on the position of the

rectangle partitioned. For example, the control points of roof boards are placed as shown in Figure 12 and Figure 13.

(5) Texture mapping onto these parts according to the attribute data, such as image code of wall and roof, stored and administrated at GIS application.

(6) Copying the 2nd floor to form the 3rd floor or more in case of building higher than 3 storeys according to the attribute data, the number of storeys stored in GIS application.

Efficiency of Automatic Generation

In order to create 3D building models suitable for urban planning and game industries, 3D models

with high geometric detail are needed. As mentioned in Introduction, the 3D building models by CV

(Computer Vision) or remote sensing are focused on reconstructing the rough shape of the buildings, neglecting details on the façades such as windows. The 3D building models by CV have to be filled

with details in the occluded and poorly sampled areas. 3D models with details will be constructed not by CV but by hand or algorithmically (procedural modeling). CV, together with procedural modelling approaches (Bekins et al. 2005; Aliaga et al. 2007; Vanega et al. 2010) seems promising, however, still in progress, not available now. Thus, automatic generation will be compared with the creations by

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

hand which are very common practices among CG engineers. Automatic generation is the same as procedural modeling in terms of creating a 3D urban model by computer programming. Here is a comparison between manual creation and automatic generation, shown in Table 1. In this table, CG module’s process as mentioned in previous section, are broken down into manual operations in 3ds

hipped roof house, while less than one second to automatically generate one by the personal computer

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Max, and also into functions of the program (Maxscript). It will take about 100 minutes to create one

with Intel(R) Core(TM)2 Duo CPU 2.1GHz.

Application

Here are the examples of a 3D urban model automatically generated by the integrated system for urban planning proposal. Figure 14 shows the digital map of Singapore and an automatically

generated 3D model of Singapore. Figure 15 shows building polygons on satellite image of residential area and an automatically generated 3D model. In these maps, there are many multiple bounded polygons from which ‘multilayer buildings’ are generated. In these models, the start heights of

penthouses, fences and roofs are calculated by searching for outer bounded polygons and summing up the number of storeys of those bounded polygons, not having to calculate their start heights manually. Based on digital maps, the GIS and CG integrated system for automatically generating 3D building

models is proposed. To generate real-world 3D urban models, the 3D shapes and material attributes of buildings and other objects needs to be reconstructed. In the reconstructing process, the image data will be acquired by taking photographs of the objects in the city. But, when thinking of the future

layout of the city or the ancient city models, we cannot take photos of the future of the city, planning

road, or the cities in the middle and ancient ages. Usually and traditionally, urban planners design the future layout of the towns by drawing the maps, using GIS or CAD packages. There may be several

plans (digital maps) for urban planning. Similarly excavation and investigation companies also submit digital maps as the result of excavation. Usually there are several plans for restored architectural heritage in the estimation process. There are several restoration maps estimated and proposed by

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

several archaeological researchers. If the integrated system immediately converts these maps into 3D urban models, the system surely supports the researchers and urban planners investigating the alternative idea. Figure 16 shows an aerial photo of the planning area for automatic generation: Meijo district in

area of Nagoya city and is located near Nagoya castle. There are 3 or 4 storeys apartment houses for

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Nagoya city with 2 million populations that is the 4th largest city in Japan. This area is almost central

government officials and citizen run by municipal government. The area as a whole was selected as

one of the areas for city revitalization project by the Japanese government. Figure 17-19 are the three visualized alternative plans A-C ; digital maps and automatically generated 3D urban models. Figure 17 shows alternative plan A proposed by an urban designer, which is planned as low density in the

middle area for condominiums with green spaces and urban facilities, and high density in both side

areas for official housing and public housing. Figure 18 shows alternative plan B proposed as 7 to 10 storeys apartments sharing green in courtyard and buildings in the north standing tall for official

housing and public housing. The courtyards are enclosed by apartments, providing a shared park-like space for residents. In the proposed alternative plan C as shown in figure 19, terrace houses sharing

green spaces in large courtyard are laid out for viewing Nagoya castle. Figure 19 also shows buildings are increasing in height away from castle for each building’s top floor to see Nagoya castle.

These alternative plans are created by merging generated 3D building models into three-dimensional map (MAP CUBE) provided by Pasco Co., Ltd, aerial survey company in Japan.

Conclusion

For everyone, a 3D urban model is quite effective in understanding what if this alternative plan is

realized, what image of the town were or what has been built. Traditionally, urban planners design the future layout of the town by drawing building polygons on a digital map. Depending on the building polygons, the integrated system automatically generates a 3D urban model so instantly that it meets the urgent demand to realize another alternative urban planning.

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

If given digital maps with attributes being inputted, as shown in ‘Application’ section, the system automatically generates two hundreds 3D building models within less than 30 minutes. In this paper, a new scheme for an orthogonal polygon partitioning is proposed; the system divides a polygon along the thin part of its branches. To place parts of a building properly, in either orthogonal

skeleton computation, whose algorithm is clarified. Thus, the proposed integrated system succeeds in

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

or non-orthogonal polygons, the proposed system places parts along the inner contour by straight

automatically generating typical residential areas or alternative city plans. Based on multiple bounded polygons, the system also succeeds in generating complicated shapes of multi-layer buildings by a new scheme of bounded polygons searching algorithm.

The limitation of the system is that automatic generation is executed based only on ground plans or

top views. There are some complicated shapes of buildings whose outlines are curved or even crooked. To create these curved buildings, the system needs side views and front views for curved outlines information.

Future work will be directed towards the development of methods for:

1) the automatic generation algorithm to model curved buildings by using side views and front views. 2) the creation of general shape of roofs by a straight skeleton computation based on general shape of building polygons.

References

Aliaga G. Daniel, Rosen A. Paul ,and Bekins R. Daniel (2007). “Style Grammars for interactive Visualization of Architecture”, Visualization and Computer Graphics, IEEE Transactions on Volume:13, 786 - 797

Armin Gruen ,and Xinhua Wang (1998). “CC Modeler: A topology generator for 3D urban models”, ISPRS J. of Photogrammetry and Remote Sensing, 53, 286-295.

Copyright 2012 by the American Society of Civil Engineers

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

Armin Gruen ,and et al., (2002). “Generation and visualization of 3D-city and facility models using CyberCity Modeler”, MapAsia, 8, CD-ROM. Bekins R. Daniel ,and Aliaga G. Daniel (2005). “Build-by-number: rearranging the real world to visualize novel architectural spaces”, Visualization, 2005. VIS 05. IEEE, 143 – 150.

image”, ACM Transactions on Graphics - TOG, vol. 28, no. 5

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Nianjuan, Jiang, Ping, Tan, and Loong-Fah, Cheong (2009). “Symmetric architecture modeling with a single

O. Aichholzer, F. Aurenhammer ,and D. Alberts, B. Gärtner (1995). “A novel type of skeleton for polygons”, Journal of Universal Computer Science, 1 (12): 752–761.

O. Aichholzer ,and F. Aurenhammer (1996). “Straight skeletons for general polygonal figures in the plane”, Proc. 2nd Ann. Int. Conf. Computing and Combinatorics (COCOON '96): 117–126.

Pascal Mueller, Peter Wonka, Simon Haegler, Andreas Ulmer, Luc Van Gool. (2006). “Procedural modeling of buildings”, ACM Transactions on Graphics 25, 3, 614–623.

Sugihara Kenichi (2005). “Automatic Generation of 3D Building Model from Divided Building Polygon”, ACM SIGGRAPH 2005, Posters Session, Geometry & Modeling, CD-ROM.

Sugihara Kenichi (2006). “Generalized Building Polygon Partitioning for Automatic Generation of 3D Building Models”, ACM SIGGRAPH 2006, Posters Session Virtual & Augmented & Mixed Reality & Environments, CD-ROM.

Suveg, I. ,and Vosselman, G. (2002). “Automatic 3D Building Reconstruction”, Proceedings of SPIE, 4661, 5969.

Vanegas A. Carlos, Aliaga G. Daniel ,and Beneš Bedřich (2010). “Building reconstruction using Manhattan-

world grammars”, Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on: 358 - 365

Yoav I. H. Parish, and Pascal Müller (2001). “Procedural modeling of cities”, Proceedings of ACM SIGGRAPH 2001, ACM Press, E. Fiume, Ed., New York, 301–308.

Zlatanova, S. ,and Heuvel Van Den, F.A. (2002). “Knowledge-based automatic 3D line extraction from close range images”, International Archives of Photogrammetry and Remote Sensing, 34, 233 – 238.

Copyright 2012 by the American Society of Civil Engineers

)LJXUH&DSWLRQV/LVW Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

Figure Caption List Figure 1 Flow of Automatic Generation System for 3D Building Models Figure 2 Different partitioning schemes and example of roofs ‘straight skeleton’ cannot create

Figure 4 Orthogonal building polygons with dividing lines and 3D models automatically generated

Ac N ce ot p C ted op M ye a di nu te s d cr ip t

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Figure 3 Partitioning process of an orthogonal building polygon into a set of rectangles

Figure 5 Various cases of drawing DL when nR is 2, 3 and 4 vertices

Figure 6 Inner polygons shrunk by a distance of dshri by straight skeleton computation Figure 7 Algorithm for shrinking a polygon by straight skeleton

Figure 8 Automatically generated 3D building model from non-orthogonal polygon Figure 9 Tall buildings generated from multiple bounded polygons Figure 10 Algorithm for calculating the start height

Figure 11 Generation process of a 3D building model in CG module

Figure 12 Ground plan of a gable roof and parameters of a gable roof Figure 13 Front view of a gable roof and parameters of a gable roof

Figure 14 Automatically generated 3D building models from multiple bounded polygons

Figure 15 Building polygons on satellite image and an automatically generated 3D model Figure 16 Aerial photo of the target area for automatic generation: Meijo district

Figure 17 Alternative plan A : proposed layout for the town and an automatically generated 3D urban model, low density in the middle area

Figure 18 Alternative plan B : apartments sharing green in courtyard

Figure 19 Alternative plan C : terrace houses sharing green spaces in large courtyard, laid out for viewing Nagoya castle

Copyright 2012 by the American Society of Civil Engineers

)LJXUH

GIS Application( ArcGIS ) *Building Polygons on 2D Digital Map *Attributes (left below) for 3D model such as number of storeys, type of roof

GIS Module

CG Module

(Visual Basic & MapObjects)

(MaxScript)

*Partitioning orthogonal polygons into rectangles

*Generating 3D models & Boolean operation

*Contour Generation

*Rotating and positioning 3D models

*Filtering out noise edges, unnecessary vertices

*Automatic texture mapping onto 3D models

Automatically generated 3D urban model

Figure 1

Flow of Automatic Generation System for 3D Building Models

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

a) Roofs ‘straight skeleton’ cannot create. Satellite imagery from Google Earth

b) Building footprint or building polygons

Figure 2

c) Separation prioritizing partition scheme

d) Shorter DL prioritizing partition scheme

e)

Ridges of roofs perpendicular to long edges

f)

Ridges of roofs parallel to long edges

Different partitioning schemes and example of roofs ‘straight skeleton’ cannot create

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Stage 1

Building Polygon Expression

From ‘L’ vertex, two possible DLs can be drawn. Among DLs, a shorter DL that cuts off one rectangle or a DL whose length is shorter than the width of a ‘main roof ’ can be selected.

LRRRLLRRLRRLRRLRLLRRRL

Stage 6

After partitions, 3D building models are automatically generated on divided rectangles by using CSG.

Stage 3

Stage 2

Upper left geometry (‘LRRRL’) is evaluated as an independent rectangle when the area overlapped with a body polygon is small.

Stage 5

Partitions will continue until the number of vertices of a body polygon is four.

Stage 4

A DL that satisfies the conditions is selected for partitioning.

Figure 3 Partitioning process of an orthogonal building polygon into a set of rectangles

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Figure 4 Orthogonal building polygons with dividing lines and 3D models automatically generated

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

pt(jpb)

pt(jsf)

pt(jsf)

pt(jpb)

pt(jpb)

pt(jsf)

nR=2 : three cases of DL depending on the comparison Len(FCP) and Len(jpb)

FCP

F

BCP

Len(FCP) = Len(jpb)

pt(jsf)

FCP

BCP BCP

FCP

Len(FCP) < Len(jpb)

pt(jpb)

pt(j2sf)

FCP

pt(j2sf)

pt(jsf)

BCP

BCP

pt(jpb)

FCP

Len(FCP) < Len(j2sf) Len(jsf) < Len(jpb)

Len(FCP) > Len(j2sf) Len(jsf) > Len(jpb)

pt(j2sf)

pt(j2sf)

pt(j2pb)

pt(j2pb)

Len(FCP) > Len(jpb) pt(jsf)

pt(j2sf)

FCP pt(A)

BCP

pt(jpb)

pt(jpb) FCP

FCP

the comparison between Len(FCP) and Len(j2sf) and the comparison between Len(jsf) and Len(jpb)㩷

Len(jsf) > Len(jpb) pt(j2pb)

pt(j2sf)

nR=4 : If Len(jsf)=Len(j2pb), then it can form a rectangle. nR=3

pt(jpb) BCP

BCP

nR=3 : three cases of DL depending on

Len(FCP) < Len(j2sf)

pt(jsf) pt(jsf)

Otherwise, same as

BCP

pt(jsf) FCP

Len(jsf) = Len(j2pb)

Len(jsf) < Len(j2pb)

Figure 5

between

Len(jsf) > Len(j2pb)

Various cases of drawing DL when nR is 2, 3 and 4 vertices

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

ed1

pt1

pt2

ed2

e_d dshri

pt3 ed3 pt4

ed4

pt5

ed7 ed5

pt7

ed6

pt6

e_dshri is the dshri when an ‘edge event’ happens and ed4 & ed5 disappear. The edge (ed3) incident to two reflex vertices grows in length in shrinking process.

Figure 6 Inner polygons shrunk by a distance of dshri by straight skeleton computation Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Algorithm: Shrink Polygon ( P , dshri ) Input: n vertices of the polygon P , dshri Output: polygon Ps shrunk by dshri

The vertices of P are numbered clockwise. 1) Let the previous vertex of pi (the i-th vertex) to be pb and the next vertex of the pi to be pa. 2) // // 3) 4) 5) 6)

Normalize the vector from pi to pb and get uib. Normalize the vector from pi to pa and get uia. (uib + uia ) will be the angular bisector of i-th vertex pi. However, (uib + uia ) does not always lie inside the polygon. If the cross product of uib and uia > 0 then the inside bisector will be - (uib + uia ). // The edge turns to the left. Else the inside bisector will be (uib + uia ). // The edge turns to the right. End if

7) Each vertex of Ps is positioned along the angular bisector of its incident edges.

The offset of each vertex from original vertex is calculated as d_bisect = dshri / sin(0.5 * angle(i)) where angle(i)is the internal angle of pi. 8) Check if any edge shrinks to zero. If so, then make its neighbouring edges adjacent now and recalculate the length of each edge and internal angles of each vertex.

Figure 7

Algorithm for shrinking a polygon by straight skeleton

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Non-orthogonal building polygons overlapped by satellite image

Inner polygons generated by the straight skeleton

Windows and setbacked façade, fences are placed along these inner polygons,

3D building model automatically generated from non-orthogonal building polygon

Figure 8 Automatically generated 3D building model from non-orthogonal polygon

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

Figure 9 Tall buildings generated from multiple bounded polygons (Left: simple extruded building, Middle & Right; multilayer building)

Copyright 2012 by the American Society of Civil Engineers

)LJXUH

㩿㪈㪀 For all polygons except ME_polygon, search for the polygon that includes one of the vertices of ME_polygon. If found, check if all the vertices of the ME_polygon are included in the polygon found. 㩿㪉㪀 After checking, acquire the type and the number of storeys of the polygon found. Through knowing the type of the found polygon, do not sum up the number of storeys of the polygon if the type of the found polygon is a roof or a fence placed at the top of the building that includes ME_polygon. 㩿㪊㪀 If there are several polygons (multiple bounded polygons) that include the ME_polygon, add up all the number of storeys of these multiple bounded polygons. 㩿㪋㪀 THUS the start height of the 3D model from ME_polygon is the summation of the heights.

Figure 10 Algorithm for calculating the start height

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

a) Generation of primitives of appropriate size; boxes that form the various parts of the house.

f) Copying the 2nd floor to form the 3rd floor or more in case of buildings higher than 3 storeys.

Figure 11

b) Boolean operation on these primitives, making holes in a building body for doors and windows, making trapezoidal roof boards for a hipped roof.

c) Rotation of roof boards and ridges of a hipped roof, depending on the parameters; the slope of the roof.

e) Texture mapping onto these parts according to the attributes: image code of roofs and walls.

d) Placing of parts of the house, according to the location of the building footprint on GIS.

Generation process of a 3D building model by CG module

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

in Figure 13.

Figure 12 Ground plan of a gable roof and parameters of a gable roof

Accepted Manuscript Not Copyedited Copyright 2012 by the American Society of Civil Engineers

)LJXUH Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

ǰ thick_rf cp_rf1

Prism prism

dh rf_offs

cp_rf2

0.5×w_S×tanθ

ǰ

0.5×w_S edge23 (=w_S)

The width of a roof board is as follows.㩷 㩷 wid _ rfb

side23L  eaves23  rf _ offs u tan T

Here, side23L



0.5 u w _ S u 1  tan 2 T

The height of a roof board is as follows. hei_rf st_heit - 0.5 u (side23L+ eaves23  rf_offsu tanT ) u sinT - thick_rf u cosT + rf_offs/ cosT + 0.5 u tanT u w_S

Here, ‘st_heit’ is start height as follows. st_heit= (floor-to-floor height)×(the number of stories)

Figure 13 Front view of a gable roof and parameters of a gable roof

Accepted Manuscript Not Copyedited Copyright 2012 by the American Society of Civil Engineers

)LJXUH

Satellite image Singapore

Digital map of Singapore: many multiple bounded polygons

Automatically generated 3D model of Singapore

Figure 14 Automatically generated 3D building models from multiple bounded polygons

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Satellite image (Google Earth) of residential area and digital map: some are multiple bounded polygons

Automatically generated 3D model of residential area of USA

Figure 15 Building polygons on satellite image and an automatically generated 3D model

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

Figure 16 Aerial photo of the target area for automatic generation: Meijo district

Copyright 2012 by the American Society of Civil Engineers

)LJXUH

Figure 17

Alternative plan A : proposed layout for the town and an automatically

generated 3D urban model, low density in the middle area

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Figure 18 Alternative plan B : apartments sharing green in courtyard

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

)LJXUH

Nagoya Castle

Figure 19

Alternative plan C : terrace houses sharing green

spaces in large courtyard, laid out for viewing Nagoya castle

Copyright 2012 by the American Society of Civil Engineers

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192

7DEOH

Table 1 CG module’s generation process

A comparison between Manual Creation and Automatic Generation Manual Creation

Operation by 3ds Max and GIS application. Measure the length and the gradient of the edges of an orthogonal building polygon by GIS application.

(1) Generation of primitives of appropriate size

By 3ds Max, in the Create panel, on the Object Type rollout, click ‘Box’. For creating a house body: roof boards: roof ridges of a hipped roof, click once at the upper left, then drag to the lower right with the mouse button down. Open the Keyboard Entry rollout, and enter the values: length, width, height of the box, measured in GIS.

(2) Boolean operation on these primitives, making holes for doors and windows

To create the windows in the house body, create a window box and then subtract it from the house body. Use ‘Select And Move’ to position the box to subtract it from the house body. With the house body selected, on the Create menu, choose Compound > Boolean. On the Pick Boolean rollout, click ‘Pick Operand B’ and then click the box. Choose the type of operation to perform; subtraction. The window box remains, being scaled fitted for the window.

(3) Rotation of roof boards, depending on the parameters; the slope of the roof (4) Placing of parts of the house, according to the location of the building footprint on GIS. (5) Texture mapping onto these parts according to the attributes: image code of roofs and walls.

Rotate the roof boards and roof ridges in the Left viewport so that they lean with the slope given by parameters. Rotate the roof ridges in the top viewport so that their upper ends will be connected to the top ridge.

Total time (sec)

Use ‘Select And Move’ to position the roof boards in the ‘top’ viewport so that they are positioned as shown in Figure 12,and also position them in the ‘front’ viewport as in Figure 13. Position the roof ridges according to the top view and front view for hipped roof. The height of the roof boards and roof ridges are calculated as shown in Figure 13. On the toolbar, click the ‘Material Editor’ button. Click a sample slot to activate it. In the Blinn Basic Parameters rollout, click the Diffuse color button. In the Material/Map Browser list of map types, click ‘Bitmap’. Select the image for house walls. Drag the sample slot from the Material Editor to the house body. In the Material Editor, click to turn on ‘Show Map In Viewport’. Then, the same step for another part of the house.

Automatic Generation Estimated operation time (sec) 600

9×200

8×200

13×30

17×60

17×30

Number of program code(step) Approxima tely 2000 steps in GIS module 20 steps in CG module

Function of the program Partition orthogonal building polygons into a set of rectangles. Measure the length and the gradient of the edges of the partitioned rectangle. The edges are categorized into a long edge and a short edge. Generate a box of the length, width, height, measured in GIS module.

Execution time (sec)

0.2

0.03

150 steps in CG module

Generate a box for a window of the length, width, height given by parameters in CG module. Place a window box at appropriate position. Subtract a window box from a house body.

0.2

20 steps in CG module

Rotate the roof board and roof ridge around X-axis so that it leans with the slope given by parameters. Rotate the roof ridge Z-axis so that its upper end is connected to the top ridge.

0.03

20 steps in CG module

20 steps in CG module

Position the roof boards according to the top view of Figure 12 and the front view of Figure 13. Position the roof ridges according to the top view and front view for hipped roof. Texture mapping onto the parts of the house according to the attributes: image code of roofs and walls, windows, doors, that are stored and administrated by GIS.

5920

Copyright 2012 by the American Society of Civil Engineers

0.03

0.03

0.52

Accepted Manuscript Not Copyedited

J. Comput. Civ. Eng. Downloaded from ascelibrary.org by KENICHI SUGIHARA on 08/05/12. For personal use only. No other uses without permission. Copyright (c) 2012. American Society of Civil Engineers. All rights reserved.

Journal of Computing in Civil Engineering. Submitted March 5, 2011; accepted January 9, 2012; posted ahead of print January 11, 2012. doi:10.1061/(ASCE)CP.1943-5487.0000192