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