11
1 Automatic Generation of 3-D Building Models Based on a Digital Map Abstract: Based on building polygons (building footprints) on a digital map, we are proposing a GIS (Geographic Information System) and CG integrated system to generate 3-D building models automatically. Most building polygons‟ edges meet at right angles (orthogonal polygon). A complicated orthogonal polygon can be partitioned into a set of rectangles. In order to partition an orthogonal polygon, we proposed a useful polygon expression and a partitioning scheme in deciding from which vertex a dividing line (DL) is drawn. After partitioning, the integrated system will place rectangular roofs and box-shaped building bodies on these rectangles. In this paper, we propose a new scheme for partitioning building polygons and for creating a complicated shape of building models based on the building polygons bounded by outer polygons (multiple bounded polygon). Keywords: GIS(Geographic Information System), 3-D city model, 3-D building model, Automatic Generation 1. Introduction Based on building polygons or building footprints on digital maps shown in Figure 1, we propose a GIS and CG integrated system that automatically generates 3-D building models. A 3-D urban model as shown in Figure 2 is an important information infrastructure that can be utilized in several fields, such as, landscape evaluation and urban planning, and many other business practices. However, enormous time and labour has to be consumed to create these 3-D models, using 3D modelling software such as 3ds Max or SketchUp. For example, when manually modelling a house with roofs by Constructive Solid Geometry (CSG), one must follow these laborious modelling steps: 1) generation of primitives of appropriate size, such as box, prism or polyhedron that will form parts of a house 2) Boolean operation among 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, we proposed the GIS and CG integrated system that automatically generates 3-D building models from building polygons on a digital map [Sugihara, 2005]. As shown in Figure 1, most building Dr Yan LIU Assistant Professor National Institute of Education Nanyang Technological University Email: [email protected] Kenichi SUGIHARA Professor Faculty of Business Administration Gifu Keizai University E-mail: [email protected] Figure 1 Building polygons on a digital map Figure 2 An automatically generated 3-D urban model

Automatic Generation of 3-D Building Models Based on a …art-science.org/nicograph/disk/2009i/oral/s7-3.pdf · Automatic Generation of 3-D Building Models Based on a Digital Map

  • Upload
    hanhan

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

1

Automatic Generation of 3-D Building Models Based on a

Digital Map

Abstract: Based on building polygons (building footprints) on a digital map, we are proposing a GIS (Geographic

Information System) and CG integrated system to generate 3-D building models automatically. Most building

polygons‟ edges meet at right angles (orthogonal polygon). A complicated orthogonal polygon can be partitioned into a

set of rectangles. In order to partition an orthogonal polygon, we proposed a useful polygon expression and a

partitioning scheme in deciding from which vertex a dividing line (DL) is drawn. After partitioning, the integrated

system will place rectangular roofs and box-shaped building bodies on these rectangles. In this paper, we propose a

new scheme for partitioning building polygons and for creating a complicated shape of building models based on the

building polygons bounded by outer polygons (multiple bounded polygon).

Keywords: GIS(Geographic Information System), 3-D city model, 3-D building model, Automatic Generation

1. Introduction

Based on building polygons or building footprints on digital maps shown in Figure 1, we propose a GIS and CG

integrated system that automatically generates 3-D building models. A 3-D urban model as shown in Figure 2 is an

important information infrastructure that can be utilized in several fields, such as, landscape evaluation and urban

planning, and many other business practices.

However, enormous time and labour has to be consumed to create these 3-D models, using 3D modelling software

such as 3ds Max or SketchUp. For example, when manually modelling a house with roofs by Constructive Solid

Geometry (CSG), one must follow these laborious modelling steps:

1) generation of primitives of appropriate size, such as box, prism or polyhedron that will form parts of a house 2)

Boolean operation among 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, we proposed the GIS and CG integrated system that automatically generates

3-D building models from building polygons on a digital map [Sugihara, 2005]. As shown in Figure 1, most building

Dr Yan LIU

Assistant Professor

National Institute of Education

Nanyang Technological University

Email: [email protected]

Kenichi SUGIHARA

Professor

Faculty of Business Administration

Gifu Keizai University

E-mail: [email protected]

Figure 1 Building polygons on a digital map Figure 2 An automatically generated 3-D urban model

2

polygons‟ edges meet at right angles (orthogonal polygon). A complicated orthogonal 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, we

proposed a useful polygon expression (RL expression) and a partitioning scheme that is used in deciding from which

vertex a dividing line (DL) is drawn[Sugihara, 2006]. In this paper, we propose a new scheme for partitioning building

polygons and for creating a complicated shape of building models based on the building polygons bounded by outer

polygons we call „multiple bounded polygon‟. We also show the process of creating a basic gable roof model and a

complicated temple top roof.

Since 3-D urban models are important information infrastructure that can be utilized in several fields, the researches on

creations of 3-D urban models are in full swing. Procedural modelling is an effective technique to create 3-D models

from sets of rules such as L-systems, fractals, and generative modelling language.

Müller et al.[2006] have created an archaeological site of Pompeii and a suburbia model of Beverly Hills by using a

shape grammar with production rules. 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 [Aichholzer et al.,1995].

The straight skeleton can be used as the set of ridge lines of a building roof, based on walls in the form of the initial

polygon [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. There

are many roofs whose ridges are vertical to a long edge of the rectangle as shown in an ortho image of Figure 3, and

these roofs cannot be created by the straight skeleton since the straight skeleton treats a building polygon as a whole

and forms a seamless roof so that it cannot place individual roof independently on partitioned polygons. The 3-D roofs

shown in lower right of Figure 3 can be created by the straight skeleton. Figure 3 also shows the different partitioning

schemes (separation prioritizing or shorter DL prioritizing) which are selected by an attribute data of the building

polygon manually stored at first in our system. To create a various shape of 3-D roofs, building polygons are to be

partitioned into sets of individual rectangles.

Figure 3: Upper left: Ortho image from Google Earth, Lower left: building polygons, U

middle: Separation prioritizing scheme partitions into a set of rectangles, L middle: Shorter

DL prioritizing scheme, U Right: Ridges of roofs vertical to a long edge, L Right: 3-D

building models by straight skeleton

3

Laycock et al. [2003] have combined the straight skeleton method and polygon partitioning in the following steps; 1)

Partition the polygon into a set of rectangles by horizontal and vertical lines from all reflex vertices. 2) Construct the

straight skeleton and grow an axis aligned rectangle (AAR) from each of the lines. 3) For each AAR, collect the

rectangles which are interior to AAR and union them to obtain an exterior boundary. 4) Assign a roof model to each

exterior boundary. Merge the roof models.

This method seems effective in independently choosing a roof model for each rectangle and merging the roof models

for polygons with a small number of vertices. However, for polygons with a large number of vertices, implementation

of partitioning along all DLs (dividing lines from all reflex vertices) often results in an unnecessarily large number of

rectangles and collecting and merging steps become so cumbersome that they don‟t succeed in doing this.

In our system, one has an option to choose partitioning scheme; prioritizing separation or prioritizing shorter DL. Our

system 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.

2. Flow of Automatic Generation

The automatic generation system consists of GIS application (ArcGIS, ESRI Inc.), GIS module and CG module as

shown in Figure 4. The source of a 3-D urban model is a digital residential map that contains building polygons linked

with attributes data such as the number of stories and the type of roof. The GIS module pre-processes building

polygons on the digital map. Pre-process includes filtering out a „short edge‟ (a short edge that is between long edges of

almost the same direction) and unnecessary vertices of a building polygon, partitioning orthogonal building polygons

into sets of rectangles, generating inside contours for positioning walls and glasses of a building and exporting the

coordinates of polygons‟ vertices and attributes of buildings. The attributes of buildings consist of the number of stories,

the image code of roof, wall and the type code of roof (flat, gable roof, hipped roof, oblong gable roof, gambrel roof,

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

ESRI).

The CG module receives the pre-processed data that the GIS module exports, generating 3-D building models. CG

module has been developed using Maxscript that controls 3-D CG software (3ds Max, Autodesk Inc). In case of

modelling 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 various parts of the

house 2) Boolean operation on these primitives to form the shapes of parts of the house, for examples, making holes in

a building body for doors and windows 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 stories.

Digital map

Building Polygons on 2-D Digital Map

GIS Application

( ArcGIS )

*Building Polygons on 2-D Digital Maps

*Attributes for 3-D model such as number of stories, type of roof, image code for mapping to roof and wall

GIS Module

( VB using MapObjects) *Partitioning orthogonal polygons into rectangles *Contour Generation *Filtering out noise edges, unnecessary vertices

CG Module

(MaxScript that

controls 3ds Max)

*Generating 3-D models based on preprocessed data

*Rotating and positioning 3D models

*Automatic texture mapping onto 3D models

Figure 4 Flow of Automatic

Generation for 3D Building Models

4

3. Polygon Partitioning

3.1 Proposed Polygon Expression

At map production companies, technicians are drawing building polygons manually with digitizer, depending on aerial

photos or satellite imagery as shown in Figure 5. This aerial photo and digital map (Figure 1) 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.

We proposed a useful polygon expression (RL expression) in specifying the shape pattern of an orthogonal polygon

[Sugihara,2005]. For example, a polygon with 16 vertices shown in Figure 5 is expressed as a set of its edges‟ turning

direction; LRRRLRRLRRLRLLRR 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.

The advantage of this RL expression is as follows.

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

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

3.2 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.

We proposed the partitioning scheme that gives higher priority to the DLs that divide „fat rectangles‟ [Sugihara,2006].

A „fat rectangles‟ is a rectangle close to a square. Our proposed partitioning scheme is similar to Delaunay

Triangulation in the sense that Delaunay Triangulation avoids thin triangles and generates fat triangles. However, our

proposal did not always result in generating plausible and probable 3-D building models with roofs. For example, the

right model of Figure 6 generated by „prioritizing fat rectangle‟ scheme indicates that a rectangle cut off by a DL is

wider than a body rectangle, resulting in that a branch roof is higher than a main roof, where a ‟branch roof‟ is a roof

that is cut off by a DL and extends to a main roof. A „main roof‟ is a roof that is extended by a branch roof.

In our new 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.

3

Figure 5 Satellite imagery and building polygon

This polygon is expressed as

LRRRLRRLRRLRLLRR.

1

L

2

R

8

L

4

R 5

L

7

R

6

R

9

R

10

R

11

L

14

L

15

R

16

R

13

L 12

R

16

R

Figure 6 Polygons and 3-D house models by different

partitioning schemes

5

Our newly proposed partitioning scheme as shown in the left of Figure 6 leads to a plausible and probable 3-D house

model: a main roof is higher than a branch roof.

3.3 Partitioning Process

Figure 7 shows the partitioning process of an orthogonal building polygon into a set of rectangles. Stage 2 in Figure 7

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. The example of a branch roof is shown as the rectangle formed by vertices 6,7,8,9 cut off

by DL.

The reason we set up these conditions is that like breaking down a tree into a collection of branches, we will cut off

along „thin‟ part of branches of a polygon. Therefore, we propose a scheme of prioritizing the DL that cuts off a branch

roof, based on the length of the DL. Since each roof has the same slope in most multiple-roofed buildings, a roof of

longer width is higher than a roof of shorter width 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.

In the partitioning process as shown in Figure 7, 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‟ lengths 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

3-D building models on these rectangles.

3.4 How to partition branches

The vertices of a polygon are numbered in clock-wise order as shown in Figure 7. Here, how the system is finding

„branches‟ is as follows. 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 from „L‟ vertex in a clockwise or

counterclockwise direction, depending on the length of the incident edges of „L‟ vertex.

Building Polygon Expression

LRRRLLRRLRRLRRLRLLRRRL

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.

A DL that satisfies the conditions is selected for

partitioning.

Partitions will continue until the number of

vertices of a body polygon is four.

After partitions, 3D Building Models are

automatically generated on divided rectangles by

using CSG.

Figure 7 Partitioning process of orthogonal building polygon into a set of rectangles

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

6

Figure 8 shows three cases of drawing DL when nR is two. The way of drawing DL depends on the comparison

between Len(FCP) and Len(jpb). In Figure 8, FCP (Forward Cutting Point) is the point that precedes consecutive „R‟

vertices and from which a DL can be drawn forwardly. BCP (Backward Cutting Point) is the point that succeeds

consecutive „R‟ vertices and from which DL can be drawn backwardly.

‘jsf‟ is the index to specify the vertex that succeeds FCP by one vertex and „jpb‟ is the index to specify the vertex that

precedes BCP by one vertex. Len(FCP) means the length of an edge between FCP and pt(jsf).

Figure 9 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)where ‘j2sf’ is

the index to specify the vertex that succeeds FCP by two vertex.

In the 3rd case of nR=3 in Figure 9, 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 10 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)where ‘j2pb’ is

the index to specify the vertex that precedes

BCP by two vertices. 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

(1st case of Figure 10), the partition method of

nR=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‟.

Figure 11 shows a variety of shapes of

orthogonal building polygons with DLs

implemented and 3D building models

automatically generated from partitioned

building polygons. Two polygons at the

lower left side of Figure 11 are expressed as

the same “RRRRLLRRRRLL”. But, shorter

DLs are different in two polygons and

different DLs are selected to cut off a

rectangle by the proposed scheme. The

rectangle partitioned is extended to a

wider and higher main roof so that it will

form a narrower and lower branch roof.

Len(jsf)> Len(j2pb)

Figure 10 nR=4: If Len(jsf)=Len(j2pb), then it forms rectangle. Otherwise, same as nR=3

Len(jsf)= Len(j2pb)

FCP BCP

FCP

BCP FCP

BCP

Len(jsf)< Len(j2pb)

pt(jsf)

pt(j2pb)

pt(j2sf)

pt(jpb)

pt(jsf)

pt(j2pb)

pt(j2sf)

pt(j2pb)

pt(j2sf)

pt(jsf)

pt(jpb)

pt(jpb)

pt(jpb)

pt(j2sf)

pt(j2sf)

Figure 9 nR=3, three cases of DL depending on the comparison between Len(FCP) and Len(j2sf) and the comparison between

Len(jsf) and Len(jpb)

Len(FCP)< Len(j2sf)

Len(jsf)< Len(jpb)

pt(jsf)

FCP BCP

pt(j2sf)

pt(jpb)

pt(jsf)

FCP

BCP

pt(jsf)

FCP

BCP

Len(FCP)< Len(j2sf)

Len(jsf)> Len(jpb)

pt(A)

pt(jsf)

pt(j2sf)

Len(FCP)> Len(j2sf)

Len(jsf)> Len(jpb)

pt(jpb)

pt(jpb)

pt(j2sf)

FC

P

FC

P

FCP

BCP

jpb

jsf

Len(FCP)< Len(jpb) Len(FCP)> Len(jpb)

Len(FCP)=Len(jpb)

Figure 8 nR=2, three cases of DL

depending on the comparison between

Len(FCP) and Len(jpb)

jpb

jsf

FCP BCP

FCP

BCP

jpb

jsf

7

4. How to create roof models

The integrated system partitions orthogonal building polygons into a set of rectangles and places rectangular roofs and

box-shaped building bodies on these rectangles. The positioning of parts of a building is implemented in following

steps. After measuring the length and the direction of the edges of the partitioned rectangle, the edges are categorized

into a long edge and a short edge. The vertices of the rectangle are numbered clockwise with the upper left vertex of a

long edge being numbered „pt1‟ as shown in Figure 13.

In 3ds Max we use 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. For placing building parts

properly, their „cps‟ are placed at the point

that divides edge12 and edge23 at a certain

ratio. For example, a prism is used for the

construction under roof boards. The „cp‟ of a

prism lies in one of the vertex of the base

triangle in an upright position when a prism

is newly created as shown in Figure 12. After rotating a prism by 90 degree around x-axis, the system rotates it around

the z-axis by the degrees of the direction of edge12.

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 (Figure 13). The

height of the „cp‟s of two roof boards is shown in the front view of a gable roof (Figure 14).

Also, the other complicated shapes of roofs, such as a temple roof, consist of many thin roof boards. Figure 19 and

Figure 20 show automatically generated 3-D models with complicated shapes of roofs restoring a Japanese ancient

temple and a pagoda. The „cp‟s of thin roof boards consisting of a temple top roof are also placed on the point that

divides the line through pt12 and pt34 at the ratio shown in ground plan (Figure 15). The front view of a temple top

roof (Figure 16) reveals the height of the „cp‟s of thin roof boards. Figures from 17 to 22 show photos and

automatically generated models of ancient gate and temple.

RRRRLLRRRRLL RRRRLLRRRRLL

Figure 11 Complicated building orthogonal polygons with dividing lines and 3D building models automatically generated

2)

x-axis

z-axis

0(=cp)

1) upright position when newly

created.

2) rotate by 90 degree around x-axis

3) rotate by the direction of edge12

around z-axis.

Figure 12 How to place a prism

y-axis

1)

3)

8

Figure 13 Ground plan of a gable roof and explanation of

parameters of a gable roof

pt1 edge12

(=w_L)

edge23

(=w_S)

pt12

(=0.5*(pt1+pt2))

pt2

pt3

pt34

(=0.5*(pt3+pt4)) pt4

cp_rf1

cp_rf2

Sw

rfthick

Sw

eavessratio

_

sin_

_

)sin*rf_offscos23(5.025.0_

34_12)_0.1(1_ ptsratioptsratiorfcp

34)_0.1(12_2_ ptsratioptsratiorfcp

Here, „thick_rf‟ is a thickness of a roof board. „eaves23‟ is the length of eaves

in a direction of edge23. θ is an angle of a roof slope with a horizontal plane.

„rf_offs‟ is the offset of a roof board from a prism as shown Figure 14.

eaves12

eaves23

edge34

edge41

Figure 14 Front view of a gable roof and explanation of

parameters of a gable roof

The width of a roof board is as follows.

tan_2323_ offsrfeavesLsiderfbwid

Here, 2tan1_5.023 SwLside

The height of a roof board is as follows.

w_Stan0.5 +cos/rf_offs+costhick_rf-

sin)tanrf_offseaves23+(side23L0.5-st_heit hei_rf

Here, „st_heit‟ is start height as follows.

st_heit= (floor-to-floor height)×(the number of stories)

Prism

edge23

(=w_S)

θ

0.5×w_S

0.5×w_S×tanθ

θ

rf_offs thick_rf

dh

prism

cp_rf1 cp_rf2

Figure 15 Ground plan of a temple top roof

Sw

irfthick

Sw

iieaves

divn

idivniratio

_

sin_

_

)sin*rf_offscos23(5.0

_2

_)(

34)(12))(0.1()(__ ptiratioptiratioirfdncp

Here, n_div is the number of thin roof boards into which a roof is divided into. cp_dn_rf(i) and cp_up_rf(i) are i-th control points of thin roof boards.

12)(34))(0.1()(__ ptiratioptiratioirfupcp

pt1

pt12 pt2

pt3

pt34 pt4

eaves12

cp_up_rf3

cp_up_rf2

cp_up_rf1

cp_dn_rf1

cp_dn_rf2

cp_dn_rf3

cp_dn_rf4

cp_up_r4

eaves23

eaves23

cp_up_rf4

cp_up_rf3

cp_up_rf2

cp_up_rf1 cp_dn_rf1

cp_dn_rf2

cp_dn_rf3

cp_dn_rf4

θ1

θ2

θ3

θ4

θ2

θ3

θ4

θ1

rf_offs

heit_rf

w_S

w_div= divn

Sw

_2

_

The gradient of each thin roof boards θi is

Here, rat_heit(i) is the i-th ratio to ‘heit_rf’ that is given by sampling catenary at a constant interval.

divnSw

iheitratiheitratrfheiti

__

))1(_)(_(_arctan

The height of i-th roof board ( hei_rfb(i) : i=1 to 3 ) is as follows. i=4; the width of the roof board is longer by eaves23.

irfthickiheitratiheitratrfheitirfbheit cos)_rf_offs())1(_)(_(_5.0)(_

Figure 16 Front view of a temple top roof

4

44

cos)_rf_offs(

sin)23cos_(5.0)4(__)4(_

rfthick

eavesdivwheitratrfheitrfbheit

9

5. Generation of buildings from multiple bounded polygons

In the shapes of many tall buildings, the third or more floors

have the same shape as the second floor, as shown in left of

Figure 23. We call these buildings as „simple extruded

building‟. On the other hand, there are some buildings whose

floors take various shapes according to the number of stories

as shown in Figure 23. We call these buildings as „multilayer

building‟.

These multilayer buildings are generated based on the

building polygons bounded by outer polygons that we call

„multiple bounded polygon‟ as shown in top of Figure 23. In

multiple bounded polygons, an inner polygon (me) searches

for outer bounded polygons that include me and acquires the

number of stories linked to bounded polygons. After getting

and summing up the number of stories, the inner polygon

calculates the start height (the height at which 3-D model is

created). Here is an algorithm for calculating the start height.

In this algorithm, through knowing the type of the polygon

found, the system do not sum up the number of stories of the

polygon if the type of the found polygon is the roof or fences

placed at the top of the building which may include me.

Figure 17 Photo of the south gate of the Heijo shrine,

called Suzaku mon

Figure 18 Automatically generated model of ancient

gate called Suzaku mon

Figure 19 The parameters (the gradient of roofs, the

standard interval of pillars and so on) are changed

Figure 20 Photo and automatically generated model of five

stories pagoda

Figure 21 Photo of miniature model of the Mino

Kokubunji temple

Figure 22 Automatically generated model of the Mino

Kokubunji temple

Figure 23 Tall building generated from multiple bounded polygons

(Left: simple extruded building, Middle & Right; multilayer

building)

10

Figures from 25 to 28 show the digital map of Singapore and an automatically generated 3-D model of Singapore. In

this digital map, there are many multiple bounded polygons from which multilayer buildings are generated. In this

model, the start heights of penthouses, fences and roofs are calculated by searching for outer bounded polygons and

summing up the number of stories of those bounded polygons, not having to calculate their start heights manually.

(1) For all polygons except me, search for the polygon that includes one of the vertices of an inner polygon (me). If found, check if

all my vertices are included by the polygon found.

(2) After checking, acquire the type and the number of stories of the found polygon. Through knowing the type of the found

polygon, do not sum up the number of stories of the polygon if the type of the found polygon is the roof placed at the top of

the building which may include me.

(3) If there are several polygons that include me (multiple bounded polygons), add up all the number of stories of these multiple

bounded polygons.

(4) Decide the start height of 3-D model, depending on the height added up.

Figure 24 Algorithm for calculating the start height by acquiring the height of multiple bounded polygons

Figure 25 Digital map of Singapore Figure 26 Automatically generated 3-D model of

Singapore

Figure 29 A 3-D urban model simulating a typical

Japanese town

Figure 30 A 3-D urban model from a different angle

Figure 27 3-D model of Singapore from a different angle

Figure 28 3-D model of Singapore from a different angle

11

6. Application and Conclusion

Here are examples of 3-D models created by the automatic generation system. Figure 29 and Figure 30 shows a 3-D

urban model simulating a typical Japanese town where a series of electric poles are standing along roads and the height

of the buildings are not regulated.

For residents, citizens or even students as well as the researchers, a 3-D urban model is quite effective in understanding

what was built, what image of the town were or what if this alternative plan is realized. This model can act as a

simulator to realize alternative ideas of ancient building reconstruction or urban planning virtually.

In this paper, we propose a new scheme for partitioning building polygons and show the process of creating a basic

gable roof model. By applying polygon partitioning algorithm, the system divides polygons along the thin parts of its

branches. We also present 3-D models restoring a Japanese ancient temple and a pagoda, based on the generation

process of a basic gable roof. In the last chapter, the method for creating a complicated shape of building models based

on multiple bounded polygons is proposed.

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

1) importing elevation data from DEM (digital elevation model) or some other source of remote sensing in stead of

using the number of stories from GIS database.

2) 3D reconstruction algorithm to generate any objects in 3-D urban model by using Computer Vision that defines the

geometry of the correspondences between multiple stereo views and leads to 3D reconstruction

REFERENCES

Aichholzer, Oswin; Aurenhammer, Franz; Alberts, David; Gärtner, Bernd (1995) A novel type of skeleton for

polygons, Journal of Universal Computer Science 1 (12): 752–761.

Aichholzer, Oswin; Aurenhammer, Franz (1996) Straight skeletons for general polygonal figures in the plane, Proc.

2nd Ann. Int. Conf. Computing and Combinatorics (COCOON '96): 117–126

R. G. Laycock and A. M. Day (2003) Automatically Generating Roof Models from Building Footprints, WSCG

posters proceedings, 346-351

Müller, P., Wonka, P., Haegler, S., Ulmer, A., Luc van Gool, L. V. (2006) Procedural modeling of buildings, ACM

Transactions on Graphics 25, 3, 614–623.

Parish, Y. I. H., and Müller, P. (2001) Procedural modeling of cities In Proceedings of ACM SIGGRAPH 2001,

ACM Press, E. Fiume, Ed., New York, 301–308.

Kenichi SUGIHARA (2005) Automatic Generation of 3-D Building Model from Divided Building Polygon, ACM

SIGGRAPH 2005, Posters Session, Geometry & Modeling

Kenichi SUGIHARA (2006) Generalized Building Polygon Partitioning for Automatic Generation of 3-D Building

Models, ACM SIGGRAPH 2006, Posters Session Virtual & Augmented & Mixed Reality & Environments