Tải bản đầy đủ (.pdf) (60 trang)

Kỹ thuật phễu tìm đường đi ngắn nhất từ một đỉnh tới tất cả các đỉnh trên bề mặt khối đa diện lồi trong ba chiều

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.4 MB, 60 trang )

VIETNAM NATIONAL UNIVERSITY, HANOI
VNU UNIVERSITY OF SCIENCE

DONG VAN VIET

FUNNEL TECHNIQUE FOR FINDING
SHORTEST PATHS FROM A FIXED SOURCE
POINT TO ALL DESTINATION POINTS ON A
CONVEX POLYHEDRAL SURFACE IN R3

MASTER THESIS IN MATHEMATICS

HANOI - 2017


VIETNAM NATIONAL UNIVERSITY, HANOI
VNU UNIVERSITY OF SCIENCE

DONG VAN VIET

FUNNEL TECHNIQUE FOR FINDING
SHORTEST PATHS FROM A FIXED SOURCE
POINT TO ALL DESTINATION POINTS ON A
CONVEX POLYHEDRAL SURFACE IN R3

Major: Applied Mathematics
Code:

60 46 01 12

MASTER THESIS IN MATHEMATICS



Supervisor: Assoc. Prof. Dr. Phan Thanh An

HANOI - 2017


Contents
Acknowledgements

2

List of symbols

3

Introduction

4

1 Preliminaries
1.1 The length of a path .
1.2 The space of paths . .
1.3 The length metric . . .
1.4 Polyhedral convex sets

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.


.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

2 Shortest paths on a polyhedral surface
2.1 Shortest paths on a polyhedral surface . . . . . . . . . . . . . . .
2.1.1 Problem statement . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Unfolding technique . . . . . . . . . . . . . . . . . . . . .
2.1.3 Properties of shortest paths on convex polyhedral surfaces

2.2 Chen and Han’s algorithm . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Projection technique . . . . . . . . . . . . . . . . . . . . .
2.2.2 Sequence tree . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 The algorithm . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 An implementation of Chen and Han’s algorithm . . . . . . . . .
3 Funnel technique for finding shortest paths
3.1 Definition of funnels . . . . . . . . . . . . .
3.2 Funnel tree . . . . . . . . . . . . . . . . . .
3.3 The algorithm . . . . . . . . . . . . . . . . .
3.4 Examples . . . . . . . . . . . . . . . . . . .
3.5 A military path planning algorithm . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.


.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.


.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.

.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.


.
.
.
.
.

.
.
.
.

6
6
9
11
13

.
.
.
.
.
.
.
.
.

16
16
16

17
19
22
22
24
25
30

.
.
.
.
.

32
32
39
40
49
51

Conclusions

56

References

57

1



Acknowledgements
First of all, I would like to express my most sincere gratitude and appreciation to my supervisor Phan Thanh An. The work on this thesis could
not have been started if it were not for the generous support and the detail
guide provided by my instructor. I am indebted to his advice during time
of writing this thesis. He provided helpful feedback, support and valuable
advice in writing this thesis.
There are many people who have provided me with their insightful
comments and generously shared their document and knowledge. I would
like to thank, in particular, Assoc. Prof. Dr. Tran Van Hoai, Mrs. Phong
Thi Thu Huyen, Mrs. Nguyen Thi Le, for their advice.
I want to show my gratitude to all teachers from Faculty of Mathematics, Mechanics, and Informatics, who had taught me a lot of knowledge
through years.
In the process of doing this thesis, I received much important encouraging factor and support from university, teachers, and friends. I would
like to thank those people who have contributed significantly to this thesis.
Last but not least, I would like to thank my family for their support over
the years.

2


List of symbols
[a, b]

A closed line segment joining a and b

]a, b]

[a, b]\{a}


E

A sequence of common edges

F

A sequence of adjacent triangles

Fp,q,F

A funnel along F associated with [p, q]

fk

A triangular face of a polyhedron

fk

The unfolded image of fk

(f1 , . . . , fm )

A sequence of adjacent triangles

γ

A path in a metric space

L(γ)


The length of a path γ

P rojes

The projection of s on edge e

S

The surface of a polyhedron

(s, s, P rojes ) A node of a sequence tree
π(a, b)

The shortest path connecting a and b

πF (a, b)

The shortest path connecting a and b along F

3


Introduction
The single source shortest path problem which asks computing the exact shortest paths from a fixed source point to all the other points on a
polyhedral surface is a well-studied problem in computational geometry.
It has many application areas such as path planning for the movement of
vehicles, robots, geographic information systems and navigation.
Sharir and Schorr [13] first presented an O(n3 logn) algorithm that runs
on the surface of a convex polytope, where n is the vertices of the polytope.

The algorithm was subsequently improved by Mount [9] to O(n2 log n) time
using what the author called the “continuous Dijskstra” technique.
Chen and Han [4] provided an O(n2 ) algorithm for single source shortest
path problem on nonconvex polytope which deviates from the conventional
“continuous Dijskstra” technique. Chen and Han’s algorithm is conceptually simple. It builds a tree, called sequence tree, using planar unfolding
technique and projection method. The simplicity comes from a new observation of “one angle one split" which results in upper bounding the
number of branches in the sequence tree. The algorithm is particularly
interesting and receives much attention and improvement. The algorithm
was implemented and published by Kaneva and O’Rourke [5].
In [2], An introduced the concept of funnels along sequence of triangles
in three-dimensional space and straightest geodesics inside a sequence of
triangles. The concept of straightest geodesics along sequence of triangles
are modified from the concept of straightest geodesics on a polyhedral
surface of Polthier and Schmies [11]. These concepts are used to compute
the exact shortest path between two points along sequence of triangles, by
constructing a sequence of funnels.
In this thesis, the concepts of funnels and funnel trees on the surface of
4


a polytope given by An in [3] are used to compute all shortest paths from
the fixed source point to any destination points on a polyhedral surface.
The structure of funnel tree including all shortest paths is modified from
Chen and Han’s algorithm [4]. However, the main difference between Chen
and Han’s algorithm and An’s method is that we do not use the planar
unfolding technique and the concept of source images and the projections
of ones. An’s algorithm (Algorithm 5) builds the funnel tree of funnels
without planar unfolding technique. Consequently, the number of operations in An’s algorithm is relatively small comparing with the number of
operations in Chen and Han’s algorithm. The algorithm takes O(m2 ) time,
where m is the number of faces of the polytope.

The contents of this thesis are organized as follows. Chapter 1 reviews
the main definitions of paths, length of paths and polyhedral convex sets.
There always exists a path of minimal length between arbitrary two points
in a metric space. In Chapter 2, our aim is to prove some interesting properties of shortest paths on a convex polyhedral surface. Then we present
Chen and Han’s algorithm and an implementation of Kaneva and O’Rourke
for Chen and Han’s algorithm. We propose a new shortest path algorithm
using funnel technique in Chapter 3. Comparing to Chen and Han’s shortest path algorithm, An’s algorithm skips the unfolding steps. Instead of
building a sequence tree, a funnel tree is built. Therefore the proposed
algorithm theoretically outperforms in the step of planar unfolding.
The results in this thesis were presented at the seminar of the Department of Numerical Analysis and Scientific Computing, Institute of Mathematics, VAST, Hanoi on November 8, 2017, and were submitted to the
7th International Conference on High Performance Scientific Computing,
2018 – Hanoi, Vietnam
Hanoi, November 1st, 2017

Dong Van Viet

5


Chapter 1
Preliminaries
In this chapter, we review the definition of paths, length of paths in
a metric space based on [10] and the definition of polyhedral convex sets
based on [14]. The most important result here to remember says that there
always exists a path of minimal length between arbitrary two points in a
metric space.

1.1

The length of a path


Let X be a metric space. We denote by d(x, y) the distance between
two points x and y of X . We also use the notation d(x, y) = |x − y|.
Definition 1.1.1 ([10]). A path in X is a continuous map γ : [a, b] → X ,
where a and b are two arbitrary real numbers satisfying a < b. If γ(a) = x
and γ(b) = y , then we say that x and y are the endpoints of γ , and that γ
joins the points x and y .
A partition, denoted by σ , of a closed interval [a, b] is defined to be a
finite sequence (ti )i=0,...,n of real numbers satisfying a = t0 < t1 < · · · <
tn = b, where n ≥ 1.
Definition 1.1.2 (The length of a path, [10]). The length of a path γ :
[a, b] → X is the quantity
n−1

|γ(ti ) − γ(ti+1 )|,

LX (γ) = L(γ) = sup
σ

i=0

6


where the supremum is taken over the set of partition σ = (ti )i=0,...,n of
[a, b]. A path is said to be rectifiable if its length is finite.
Example 1.1.3. Let X = R3 equipped Euclidean norm. For all x and
y in R3 , let γ : [0, 1] → R3 be a path joining x and y in R3 defined by
γ(t) = (1 − t)x + ty . Then we have L(γ) = x − y .
Proof. For all t1 and t2 satisfying 0 ≤ t1 ≤ t2 ≤ 1, we have

|γ(t1 ) − γ(t2 )| = (1 − t1 )x + t1 y − (1 − t2 )x − t2 y
= (t2 − t1 )x + (t1 − t2 )y
= (t2 − t1 ) x − y .

Thus, if σ = (ti )i=0,...,n is an arbitrary partition of [0, 1], we have
n−1

n−1

|γ(ti ) − γ(ti+1 )| =
i=0

(ti+1 − ti ) x − y = x − y .
i=0

Taking the supremum over all partition, we obtain
n−1

|γ(ti ) − γ(ti+1 )| = x − y .

L(γ) = sup
σ

i=0

Proposition 1.1.4 ([10]). Let γ : [a, b] → X be a path, we obtain the
following inequality
|x − y| ≤ L(γ),

where x = γ(a) and y = γ(b) are the endpoints of γ . Thus, the length of a

path is bounded below by the distance between its endpoints.
Proof. Let P be the set of all partition of [a, b]. For each partition σ =
{t0 , . . . , tn } ∈ P , set
n−1

|γ(ti ) − γ(ti+1 )|.

Lσ :=
i=0

σ∗

Let
= {a, b} ∈ P be a trivival partition of [a, b], then from the definition
of the length of a path we have
L(γ) = sup Lσ ≥ Lσ∗ = |γ(a) − γ(b)| = |x − y|.
σ∈P

7


Let Γ be the set of all paths γ : [a, b] → X that join x and y.
Definition 1.1.5. The shortest path joining x and y in X is a path, denoted by γ ∗ , that satisfies
L(γ ∗ ) = inf {L(γ)}.
γ∈Γ

In the next section, we shall see that for arbitrary two points x and y
in X , there always exists a shortest path joining them. But first we need
some definitions that will be used in the next section.
Definition 1.1.6 ([10]). Let γ : [a, b] → X be a rectifiable path. We say

that γ is parametrized by arclength if for all u and v satisfying a ≤ u ≤ v ≤ b,
we have v − u = L(γ|[u,v] ).
Definition 1.1.7 ([10]). Let γ : [a, b] → X be a path. We say that γ is
parametrized proportionally to arclength if either γ is a constant path, or
there exists a path γ : [c, d] → X which is parametrized by arclength and
which satisfies γ = γ ◦ ψ , where ψ : [a, b] → [c, d] is the map defined by
ψ(x) =

(d − c)x + (bc − ad)
.
b−a

Proposition 1.1.8 ([10]). Let γ : [0, 1] → X be a path parametrized proportionally to arclength. Then γ is an L(γ)-Lipschitz map.
Proof. If γ : [0, 1] → X is a constant path, then the conclusion follows
trivivally. Now suppose that γ = γ ◦ ψ , where γ : [c, d] → X is a path
that is parametrized by arclength and where ψ : [0, 1] → [c, d] is defined by
ψ(x) = (d − c)x + c. Then, for all u and v satisfying 0 ≤ u ≤ v ≤ 1, we have
|γ(u) − γ(v)| = |γ (ψ(u)) − γ (ψ(v))|
≤ L(γ |[ψ(u),ψ(v)] )
= ψ(v) − ψ(u)

(using Proposition 1.1.4)
(since γ is parametrized by arclength)

= (d − c)v − (d − c)u = (d − c)(v − u)
= L(γ )(v − u)
= L(γ)(v − u).

8



1.2

The space of paths

Denote by C([a, b], X) the set of paths in X with domain [a, b]. We equip
C([a, b]) with the metric defined by
|γ1 − γ2 | = sup |γ1 (t) − γ2 (t)|,
t∈[a,b]

for every γ1 and γ2 in C([a, b], X). Then, C([a, b], X) is topological space.
Proposition 1.2.1 ([10]). Let (fi )i∈I be a family of maps from a topological
space E to R = R ∪ {−∞, ∞} and let f : E → R be the upper limit of this
family, that is, the map defined by f (x) = supi∈I fi (x) for all x in E. Let x0
be a point in E . If each fi is lower semi-continuous at x0 , then f is also
lower semi-continuous at x0 .
Proof. For every m < f (x0 ), there exists i0 in I such that m < fi0 (x0 ).
Since fi0 is lower semi-continuous at x0 , we can find a neighborhood W of
x0 such that for all x in W, we have m ≤ fi0 (x). Therefore, for all x in W ,
we have m ≤ fi0 (x) ≤ f (x).
Theorem 1.2.2 (Lower semi-continuous of the length function, [10]). The
length function L : C([a, b], X) → R ∪ {∞} is lower semi-continuous.
Proof. Let us set E = C([a, b], X) and let us fix a point t ∈ [a, b]. For any γ
and γ in E , we have |γ(t) − γ (t)| ≤ |γ − γ |E and therefore the map E → R
defined by γ → γ(t) is continuous. For each partition σ = (ti )i=0,...,n of
[a, b], the map Vσ : E → R defined by γ → Vσ (γ) = n−1
i=0 |γ(ti+1 ) − γ(ti )|
is a sum of continuous maps, and therefore it is continuous. Therefore, by
Proposition 1.2.1, the map γ → L(γ) = supσ Vσ (γ) is lower semi-continuous.
Corollary 1.2.3 ([10]). Let (γn : [a, b] → X)n≥0 be a sequence of paths

converging uniformly to a path γ : [a, b] → X . Then L(γ) ≤ lim inf L(γn ).
n→∞

Proof. From Theorem 1.2.2, the length function L is lower semi-continuous
at every γn in E. Then for every m satisfying m < L(γ), there exists a
neighborhood W of γ in E such that for all γ in W , we have m ≤ L(γ ).
Since γn ⇒ γ as n → ∞, for every n large enough, γn is in W , which implies
9


m ≤ L(γn ). Hence by the definition of lower semi-continuous function,
L(γ) ≤ lim inf n→∞ L(γn ).

Corollary 1.2.4 ([10]). For any real number M , the set of paths γ : [a, b] →
X such that L(γ) ≤ M is a closed subset of C([a, b], X).
Proof. The uniform limit of a sequence of continuous maps is continuous.
Furthermore, if γn : [a, b] → X (n ≥ 0) is a sequence of paths converging
uniformly to a path γ and if L(γn ) ≤ M for all n, then we have, by Corollary
1.2.3, L(γ) ≤ M .
The following result is a particular case of a series of results which are
known under the name of “Ascoli’s theorem”.
Theorem 1.2.5 (Ascoli, [10]). Let Y be a separable metric space, let X be a
proper metric space and let (fn )n≥0 be a uniformly equicontinuous sequence
of maps from Y to X such that for each y in Y , the sequence (fn (y))n≥0 is
bounded. Then there exists a subsequence of (fn ) that convergers uniformly
on every compact subset of Y to a map f : Y → R, and the limit map f is
uniformly continuous.
Below is a few consequences of Theorem 1.2.5, applied to the cases
where the maps fn and paths:
Proposition 1.2.6 ([10]). Let X be a proper metric space, let M be a

nonnegative real number and for all n ≥ 0, let γn : [0, 1] → X be a path
parametrized proportionally to arclength and satisfying L(γn ) ≤ M . Suppose furthermore that the subset {γn (0), n ≥ 0} of X is bounded. Then the
sequence of paths (γn )n≥0 has a subsequence which convergers uniformly to
a path γ whose length is also ≤ M .
Proof. From Proposition 1.1.8 γn is an L(γn )-Lipschitz map for all n ≥ 0,
the sequence of maps (γn )n≥0 is uniformly equicontinuous. Since the sequence (γn (0))n≥0 is bounded and since the space X is proper, we can assume, up to replacing the sequence (γn )n≥0 by a subsequence, that (γn (0))n≥0
is convergent. Let x be the limit of this sequence. Then for all n ≥ 0 and
for all t in [0, 1], we have
|x − γn (t)| = |γn (0) − γn (t)| ≤ L(γn )|t − 0| ≤ M.
10


Thus, for all t in [0, 1], the sequence (γn (t))n≥0 is bounded. By Theorem
1.2.5, there exists a subsequence of γn which convergers uniformly to a
path γ . By Corollary 1.2.4, we have L(γ) ≤ lim inf n→∞ L(γn ) ≤ M.
Proposition 1.2.7 (Existence of paths of minimal length, [10]). Let X
be a proper metric space, let x and y be two points in X and suppose that
there exists a rectifiable path in X joining x and y . Then there exists such
a path whose length is equal to the infimum of the lengths of paths that join
x and y.
Proof. Let α = inf{L(γ) where γ is a path in X joining x and y}, and let
(γn )n≥0 be a sequence of paths joining x and y satisfying L(γn ) → α.
Without loss of generality, we can assume that for every n ≥ 0, γn is
parametrized proportionally to arclength and that its domain is the interval [0, 1]. By Proposition 1.2.6, there exists a subsequence of (γn )n≥0 that
converges uniformly to a path γ . By taking limits, it is clear that the path
γ joins x and y . By Corollay 1.2.3, we have L(γ) ≤ lim inf n→∞ L(γn ) = α.
From the definition of α, we also have L(γ) ≥ α, which shows that L(γ) =
α.
The existence of a path of minimal length joining two given points in a
metric space is an interesting information and it leads to the existence of

shortest path joining two arbitrary points in a proper length space.

1.3

The length metric

Definition 1.3.1 ([10]). We say that a metric space X is connected by
rectifiable paths if for every x and y in X, there exists a rectifiable path
γ : [a, b] → X such that γ(a) = x and γ(b) = y.
If (X, d) is metric space, define a map d from X × X to the extended
real line R ∪ {∞} by setting
d (x, y) = inf L(γ),
γ

where the infimum is taken over the set of paths γ that join x and y .

11


Proposition 1.3.2 ([10]). Let (X, d) be a metric space that is connected by
rectifiable paths. Then d is a metric on X and we have |x − y|d ≤ d (x, y)
for every x and y in X.
Proof. Let x and y be two arbitrary points in X and let γ : [a, b] → X
be a path joining them. By Proposition 1.1.4, we have |x − d|d ≤ L(γ),
which, by taking the infimum over all paths γ joining x and y , implies
|x − y|d ≤ d (x, y).
Now let prove that d is a metric. To every path γ : [a, b] → X , we
associate a path γ : [a, b] → X defined, for t ∈ [a, b], by γ (t) = γ(a+b−t). It
is clear that γ joins y and x and that L(γ) = L(γ ). Thus, we have d (y, x) ≤
d (x, y) for all x and y , which, by symmetry, implies d (x, y) = d (y, x).

Now suppose that d (x, y) = 0. From the inequality |x − y| ≤ d (x, y) we
obtain |x − y| = 0, which implies x = y. To prove that d is a metric, it
remains to show that the triangle inequality is satisfied. Let x, y and z
be three arbitrary points in X , let k = d (x, y) and let k = d (y, z). For
any ε > 0, let γ : [a, b] → X be a path joining x and y and satisfying
L(γ) ≤ d (x, y) + ε/2 and let γ : [a , b ] → X be a path joining y and z and
satisfying L(γ ) ≤ d (y, z) + ε/2. We define the path γ [a, b + b − a ] → X
be setting
γ(t)
if t ∈ [a, b]
γ =
γ (t − b + a ) if t ∈ [b, b + b − a ].
Obviously, we have L(γ |[a,b] ) = L(γ). On the other hand, the path γ |[b,b+b −a ]
is obtained from γ be the change of parameters ψ : [b, b + b − a ] → [a , b ]
defined by ψ(t) = t + a − b. Therefore, we have L(γ |[b,b+b −a ] ) = L(γ ).
This implies
L(γ ) = L(γ) + L(γ ) ≤ d (x, y) + d (y, z) + ε.

Taking the infimum over the paths γ joining x and z , we obtain d (x, z) ≤
d (x, y) + d (y, z) + ε. Since this holds for every ε > 0, we obtain d (x, z) ≤
d (x, y) + d (y, z).
Definition 1.3.3 ([10]). We call the metric d , that is associated by Proposition 1.3.2, to a metric space (X, d) that is connected by rectifiable paths,
the length metric of X associated to d.
12


Proposition 1.3.4 ([10]). Let (X, d) be a metric space and let γ : [a, b] →
(X, d) be a rectifiable path. Then γ is continuous for metric d . In other
word, the map γ : [a, b] → (X, d ) is also a path.
Proof. For all t0 and t in [a, b], t0 < t, we have, by the additivity of length

d (γ(t0 ), γ(t)) ≤ L(γ|[t0 ,t] ) = L(γ|[a,t] ) − L(γ|[a,t0 ] ).

Because the map t → L(γ(t)) is continuous (see [10, Proposition 1.1.13]),
let t → t0 we obtain d (γ(t0 ), γ(t)). This proves that γ is continuous with
respect to the metric d .
From the above two propositions, we see that (X, d ) is a metric space
and γ : [a, b] → (X, d ) is also a path with the metric d is defined by
d (x, y) = inf L(γ),
γ

where the infimum is taken over the set of paths γ that join x and y . From
Proposition 1.2.7, for arbitrary two points x, y in X , there always exists a
path of minimal length joining them.

1.4

Polyhedral convex sets

Given two points a, b ∈ Rn , the set of all points x = (1 − λ)a + λb such
that 0 ≤ λ ≤ 1 is called the (closed) line segment between a and b and
denoted by [a, b].
Definition 1.4.1 ([14]). A set C ⊂ Rn is called convex if it contains any
line segment between two points of it, in other words, if (1 − λ)a + λb ∈ C
whenever a, b ∈ C, 0 ≤ λ ≤ 1.
Example 1.4.2. Closed halfspaces which are sets of the form
{x | a, x ≤ α}, {x | a, x ≥ α},

or open halfspaces which are sets of the form
{x | a, x < α}, {x | a, x > α}


are examples of convex sets.
13


Proposition 1.4.3 ([14]). The intersection of any collection of convex sets
is convex. If C, D are convex sets then C + D := {x + y | x ∈ C, y ∈ D},
αC = {αx | x ∈ C} are covex sets.
Proof. If {Cα } is a collection of convex sets, and a, b ∈ ∩α Cα , then for each
α we have a ∈ Cα , b ∈ Cα , therefore [a, b] ⊂ Cα and hence, [a, b] ⊂ ∩α Cα .
If C, D are convex sets, and a = x + y, b = u + v with x, u ∈ C, y, v ∈ D,
then (1 − λ)a + λb = [(1 − λ)x + λu] + [(1 − λ)y + λv] ∈ C + D, for any
λ ∈ [0, 1], hence C + D is convex. The convexity of αC can be proved
analogously.
Definition 1.4.4 ([14]). A convex set is said to be polyhedral if it is the
intersection of a finite family of closed halfspace. A polyhedral convex set
is also called a polyhedron.
In other words, a polyhedron is the solution set of a finite system of
linear inequalitites of the form
ai , x ≤ bi , i = 1, . . . , m,

(1.1)

Ax ≤ b,

(1.2)

or in matrix form
where A is the m × n matrix of rows ai and b ∈ Rm .
Definition 1.4.5 ([14]). A bounded polyhedron is called a convex polytope.
A finite union of convex polytopes such that its space is connected is called

a polytope.
Definition 1.4.6 ([14]). A convex subset C of a convex set C is called a
face of C if any line segment in C with a relative point in C entirely lies
in C , i.e. if
x, y ∈ C, (1 − λ)x + λy ∈ F, 0 < λ < 1 ⇒ [x, y] ⊂ F.

(1.3)

Definition 1.4.7 ([14]). A 0-dimension face of a polyhedron D is called
an extreme point or a vertex, a 1-dimensional face of a polyhedron is called
an edge of the polydedron D.
14


In Rn≥3 , the boundary of a polytope is called the surface of the polytope.
Then such a surface is formed by some faces of convex polytopes.
Theorem 1.4.8 ([12]). The following properties of a convex set D are
equivalent:
(a) D is polyhedral;
(b) D is closed and has only finitely many faces.
Proof. (a) implies (b). Let H1 , . . . , Hm be closed halfspaces whose intersection is D. Let D be a nonempty face of D. For each i, ri D must be
contained in int Hi or in the boundary hyperplane Mi of Hi (ri A is the relative interior of convex set A and int B is the interior of B ). Let F be the
intersection of the finite collection consisting of the relatively open convex
sets int Hi or Mi containing ri D . This F is a convex subset of D, and it
is relatively open. Since ri D is a maximal relatively open convex subset
of D, we must have ri D = F. There are only finitely many intersections
of the form F , and different faces of D have disjoint relative interiors, so
it follows that C can have only finitely many faces.
(b) implies (a). D is the intersection of its tangent closed halfspaces ([12,
Theorem 18.8]). If H is the boundary hyperplane of a tangent closed

halfspaces there exists by definition some x ∈ D such that H is the unique
supporting hyperplane to D through x. Thus H is the unique supporting
hyperplane to C through the exposed face D ∩ H. Since D has only finitely
many faces, it follows that it can have only finitely many tangent closed
halfspaces. Hence C is polyhedral.
Remark 1.4.9. Base on the fundamental representation theorem for convex sets, a polyhedron is completely determined by its vertices, its edges
and its faces.

15


Chapter 2
Shortest paths on a polyhedral
surface
In this chapter, firstly our aim is to present the statement of shortest paths problem on a polyhedral surface. Secondly, we aim at proving
some interesting properties of shortest path on a convex polyhedral surface. Thirdly, we present an algorithm of Chen and Han [4] for determining
the shortest paths between a source and a distination on a polyhedral surface. Lastly, we present the implementation of Kaneva and O’Rourke [5]
for Chen and Han’s algorithm.

2.1

Shortest paths on a polyhedral surface

2.1.1

Problem statement

In this section, we concentrate on specifying the boundary or surface of
a polyhedron in three dimensional space. The surface of a polyhedron is
composed of three types of geometric objects: 0-dimensional vertices, 1dimensional edges, and 2-dimensional faces. We consider faces to be closed

polygons and edges to be closed line segments.
Let S be the surface of a given polyhedron P , defined by a set F of
faces fi , a set E of edges ei , a set V of vertices vi . Let m be the number of
faces of P , so that P has also O(m) edges, vertices, and angles. Then the
number m is called the complexity of the polyhedron.
We are also given a special point s (the source point). In order to obtain
16


a unifrom model which is easy to work with, without loss of generality we
assume that all faces are triangles and that s is a vertex of the polyhedral
surface. We are asked to solve the following query form of the problem.
Problem 1 ([8]). Single source shortest path problem.
Require: A vertex s on a polyhedral surface S , which has been triangulated.
Ensure: Build a structure which allows one to compute a shortest path
from s to any query vertex t such that the path stays on the surface S.
Therefore, we are able to find the shortest path between the source and
any point on the surface.
2.1.2

Unfolding technique

Some terminologies introduced in [8] are used. Two triangles f and f
are said to be edge-adjacent (or adjacent for short) if the share a common
edge e.
Definition 2.1.1. A sequence of adjacent triangles is a list of one or more
triangles F = (f1 , f2 , . . . , fm+1 ) such that triangle fi and triangle fi+1 share
a common edge ei .

Figure 2.1: A sequence of adjacent triangles F = (f1 , f2 , . . . , fm+1 ).


In this thesis, we usually indentify F with f1 ∪ f2 ∪ . . . ∪ fm+1 , where the
union sign means to add one triangle to a sequence of adjacent triangles.
The list of edges E = (e1 , e2 , . . . , em ) with ei = fi ∩ fi+1 , i = 1, . . . , m will be
called a sequence of common edges, or the edge sequence. When an edge ei
is a closed segment with two end points p and q , we also denote ei = [p, q].
17


Definition 2.1.2 ([4]). The edge sequence which is passed by a shortest
path is called the shortest sequence.
Each face has two-dimensional coordinate system associated with it. If
faces f and f are adjacent sharing edge e, then define the planar unfolding
of face f onto face f as follows.
Definition 2.1.3 ([4]). Given two adjacent faces f and f , the planar
unfolding of face f onto face f is the image of points of f when rotated
about the line through e into the plane of f such that the points of f fall
on the opposite side of e to points of f . Points in the planar unfolding of
f onto f are written in the coordinate system of face f.

Figure 2.2: The unfolded image of f onto face f .

Assume that F = (f1 , f2 , . . . , fm+1 ) is a sequence adjacent faces associated with an edge sequence E = (e1 , e2 , . . . , em ). The notion of planar
unfolding is extended to F as follow: Unfold f1 around e1 onto f2 , unfold
f1 and f2 around e2 onto f3 , continue in this way until all faces f1 , f2 , . . . , fm
lie is the plane of fm+1 . Upon finishing, the planar unfolding along E represents points of faces f1 , f2 , . . . , fm in the coordinate system of face fk+1 .
The procedure of unfolding this sequence can be described as

18



Procedure 1 Planar unfolding
Require: A sequence of adjacent faces F = (f1 , f2 , . . . , fm+1 ).
Ensure: Points of f1 , f2 , . . . , fm in the coordinate system of face fm+1 .
1:

F := f1

2:

for i := 1 to m do
Rotate F around ei until F lies on the plane of fi+1

3:

and lies on different sides of ei
F := F ∪ fi+1

4:

Remark 2.1.4. The order of unfolding a sequence of adjacent faces can be
reversed, i.e. we can unfold fm+1 , fm , . . . , f2 onto the plane of f1 . In fact,
when implementing Chen and Han’s algorithm, Kaneva and O’Rourke [5]
did it.
The following properties of planar unfolding technique are well known.
Remark 2.1.5. Suppose that γ is a path along the sequence of triangles.
Then, the length of γ is conserved in the planar unfolding technique.
Remark 2.1.6. Because the length of a path is conserved after being
unfolded, the internal angles of points on a path are conserved in the
planar unfolding technique.

2.1.3

Properties of shortest paths on convex polyhedral surfaces

Denote S is the surface of a polyhedron. Before stating some properties
of shortest paths joining two points of a polyhedron, we recall the concept
of a shortcut for a path γ near a point of γ . If there is a path, say β joining
w1 and w2 in the region P such that the new path in which the path γ
through w1 , p, and w2 is replaced by β is strictly shorter than γ, then β is
called a shortcut for γ near p.
Property 2.1.7 ([8]). (i) A shortest path π on S does not traverse any
face of P more than once; that is, the intersection of π with any face
f of S is a line segment.
19


(ii) A shortest path π never crosses a vertex of v (but it may start of end
at a vertex).
(iii) For any three distinct points a, b, c ∈ S , either one of the shortest paths
π(a, b), π(a, c) is a subpath of the other, or these two paths meet only
at a. In other words, two shortest paths from the same source point
s cannot intersect each other except at s and, if they have the same
destination point, possibly at that point too.
(iv) If π traverse the edge sequence E , then the unfolded image π is a
straight line segment.
Proof. (i) Suppose the contrary, π traverses a face f of P more than once.
Let π(a, b) consist of the segments π0 , . . . , πn . There exists two portions πi
and πj , i < j, of π in f . Let denote πi by a closed segment [a, b], denote πj
by a closed segment [c, d]. Since f is convex, the shortest path π(a, b) is the
line segment [a, d] ⊂ f . On the other hand, since π is a shortest path then

every portion of π is also a shortest path joining two points. Then shortest
path from a to d is πi ∪ πi+1 ∪ · · · ∪ πj . Therefore [a, d] = πi ∪ πi+1 ∪ · · · ∪ πj ,
contradicting the fact that i = j .
(ii) Suppose the contrary, let v be a vertex of S lying on a shortest path
π(s, t), v = s and v = t. Let e1 , e2 be the two edges of π(s, t) incident on
v . Let F = {f1 , f2 , . . . , fm } be the set of triangles containing v as a vertex,
and θi be the internal angle of the triangle fi at the vertex v. Because the
polyhedron is convex, then the total vertex angle θ(v) of v is given by
m

θ(v) =

θi < 2π.
i=1

Denote the left and right curve angle of π at v by θl (v) and θr (v), respectively. We have θl (v) + θr (v) = θ(v) < 2π . Hence, at least one of θl (v)
and θr (v) less than π . Without loss of generality, suppose that θl (v) < π.
Denote by fk , fk+1 , . . . , fk+r the faces which make the left curve angle of
π(s, t) at v .
We unfold the sequence of triangles S = (fk , fk+1 , . . . , fk+r ) onto the
face fk+r (see Figure 2.3). Let the image of e1 be e1 . The image of the
sequence forms a simple polygon S in which v is its vertex. Let g0 , g1 , . . . , gr
20


Figure 2.3: A shortcut near v if π(s, t) pass through vertex v.

be boundary edges of S not incident on v and hi be the distance from v
to gi , i = 0, 1, . . . , r. Set ε := min{hi , i = 0, 1, . . . , r}. It follows that the
intersections of the circle B(v, ε) with e1 , e2 exist. Let w1 , w2 be these

intersections. θl (v) < π yeilds [w1 , w2 ] ⊂ S . Since e1 , e2 are not collinear,
[w1 , w2 ] is strictly shorter than the polyline w1 vw2 . Thus, there is a strictly
shorter path from s to b via a shortcut near v , a contradiction to π(s, t)
being a shortest path.
(iii) Suppose the contrary, π(a, b) and π(a, c) first meet at v , v ∈
/ {a, b, c}.
Then the length of the initial portion of π(a, b) up to v equals the length
of the initial portion of π(a, c) up to v . (Because if not then either π(a, b)
or π(a, c) can be shortened, this contradicts the fact that π(a, b) and π(a, c)
are shortest paths.) Therefore, a path consists of the initial portion of
π(a, c) up to v and the second portion of π(a, b) from v up to b, denoted by
π (a, b), is also a shortest path from a to b.
Let π(a, b) consist of the segments π0 , . . . , πn . Let π(a, c) consist of the
segments π0 , . . . , πm . There exists i, j , 0 ≤ i ≤ n, 0 ≤ j ≤ m, such that
v ∈ πi ∩ πj . Then, similar to case (ii), we can take a shortcut near v (see
Figure 2.4) and π (a, b) can be shortened, contradicting the fact that π (a, b)
is a shortest path. Therefore, π(a, b) and π(a, c) cannot meet.
(iv) Let f0 , f1 , . . . , fn be the sequence of adjacent faces of S through whichs
π passes, where ei = fi−1 ∩ fi , i = 1, . . . , n − 1. Let π consists of segments
π0 , . . . , πn . For each i = 1, . . . , n unfold fi−1 onto fi about the line through
ei so as to make them coincident. Let πi−1 be the unfolded image of
πi−1 . Since π is the shortest possible, two segments πi−1 and πi must be
21


Figure 2.4: A shortcut near v if π(a, b) and π(a, c) meet at v.

collinear in this common plane, and the angles which they form with ei
must therefore be equal. Now unfold the collection of faces f0 , . . . , fn so
as make them all lie in the same plane of fn . The required path π is then

simply a straight line segment.

2.2

Chen and Han’s algorithm

In this section, we present Chen and Han’s algorithm for solving Problem
1.
2.2.1

Projection technique

Given a sequence of adjacent face F = (f1 , f2 , . . . , fm+1 ), and given a
source point s which is a vertex of f1 and not belong to e1 = f1 ∩ f2 .
After unfolding F , all faces are unfolded into a common plane of fm+1 .
The shortest path π passing through these faces should be unfolded into
a straight line segment π (Property 2.1.7). Let f i be the images of fi ,
i = 1, . . . , m, ei be the images of ei , i = 1, . . . , m, s be the image of s.
Definition 2.2.1 ([4]). The projection of the source image s on edge ei
is a closed segment, denoted by P rojesi , such that the shortest path from
s to any point t ∈ P rojesi along (f1 , . . . , fi ) can be unfolded into a straight
line segment. Namely, we can connect s and t with a straight line segment
which crosses only the edge e1 , e2 , . . . , ei−1 (see Figure 2.5).
Definition 2.2.2 ([4]). The set of points t of fi such that the straightest
geodesic from s to t intersects P rojesi−1 is called the shadow of P rojesi−1 on
22


Figure 2.5: The projection of s on edge ei .


face fi (see Figure 2.6).

Figure 2.6: The shadow of P rojesi−1 .

Remark 2.2.3. It is easy to compute the projection of s on edge ei using
the projection of s on ei−1 . The projection on ei is the intersection of ei
and the shadow of P rojesi−1 (see Figure 2.6).
Remark 2.2.4. We unfold f1 , . . . , fi around the line through ei onto the
plane of fi+1 only if the projection on ei is not empty. Because if P rojesi is
empty, there is no straightest geodesic to any point of fi+i along that sequence of faces, then unfolding fi+1 does not contribute to finding shortest
paths.

23


×