VIETNAM NATIONAL UNIVERSITY, HANOIVNU UNIVERSITY OF SCIENCEDONG VAN VIET FUNNEL TECHNIQUE FOR FINDING SHORTEST PATHS FROM A FIXED SOURCE POINT TO ALL DESTINATION POINTS ON A MASTER THESI
Trang 1VIETNAM NATIONAL UNIVERSITY, HANOIVNU UNIVERSITY OF SCIENCE
DONG VAN VIET
FUNNEL TECHNIQUE FOR FINDING
SHORTEST PATHS FROM A FIXED SOURCE POINT TO ALL DESTINATION POINTS ON A
MASTER THESIS IN MATHEMATICS
HANOI - 2017
Trang 2VIETNAM NATIONAL UNIVERSITY, HANOIVNU UNIVERSITY OF SCIENCE
DONG VAN VIET
FUNNEL TECHNIQUE FOR FINDING
SHORTEST PATHS FROM A FIXED SOURCE POINT TO ALL DESTINATION POINTS ON A
Major: Applied MathematicsCode: 60 46 01 12
MASTER THESIS IN MATHEMATICS
Supervisor: Assoc Prof Dr Phan Thanh An
HANOI - 2017
Trang 31.1 The length of a path 6
1.2 The space of paths 9
1.3 The length metric 11
1.4 Polyhedral convex sets 13
2 Shortest paths on a polyhedral surface 16 2.1 Shortest paths on a polyhedral surface 16
2.1.1 Problem statement 16
2.1.2 Unfolding technique 17
2.1.3 Properties of shortest paths on convex polyhedral surfaces 19
2.2 Chen and Han’s algorithm 22
2.2.1 Projection technique 22
2.2.2 Sequence tree 24
2.2.3 The algorithm 25
2.3 An implementation of Chen and Han’s algorithm 30
3 Funnel technique for finding shortest paths 32 3.1 Definition of funnels 32
3.2 Funnel tree 39
3.3 The algorithm 40
3.4 Examples 49
3.5 A military path planning algorithm 51
Trang 4First of all, I would like to express my most sincere gratitude and ciation to my supervisor Phan Thanh An The work on this thesis couldnot have been started if it were not for the generous support and the detailguide provided by my instructor I am indebted to his advice during time
appre-of writing this thesis He provided helpful feedback, support and valuableadvice in writing this thesis
There are many people who have provided me with their insightfulcomments and generously shared their document and knowledge I wouldlike to thank, in particular, Assoc Prof Dr Tran Van Hoai, Mrs PhongThi Thu Huyen, Mrs Nguyen Thi Le, for their advice
I want to show my gratitude to all teachers from Faculty of ics, Mechanics, and Informatics, who had taught me a lot of knowledgethrough years
Mathemat-In the process of doing this thesis, I received much important aging factor and support from university, teachers, and friends I wouldlike 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 overthe years
Trang 5encour-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
f k A triangular face of a polyhedron
fk The unfolded image of fk
(f 1 , , f m ) A sequence of adjacent triangles
γ A path in a metric space
L(γ) The length of a path γ
P roj s
e The projection of s on edge e
S The surface of a polyhedron
Trang 6The single source shortest path problem which asks computing the act shortest paths from a fixed source point to all the other points on apolyhedral surface is a well-studied problem in computational geometry
ex-It has many application areas such as path planning for the movement ofvehicles, robots, geographic information systems and navigation
Sharir and Schorr [13] first presented an O(n3logn) algorithm that runs
on the surface of a convex polytope, wherenis the vertices of the polytope.The algorithm was subsequently improved by Mount [9] to O(n2log n) timeusing what the author called the “continuous Dijskstra” technique
Chen and Han [4] provided an O(n2)algorithm for single source shortestpath problem on nonconvex polytope which deviates from the conventional
“continuous Dijskstra” technique Chen and Han’s algorithm is ally simple It builds a tree, called sequence tree, using planar unfoldingtechnique and projection method The simplicity comes from a new ob-servation of “one angle one split" which results in upper bounding thenumber of branches in the sequence tree The algorithm is particularlyinteresting and receives much attention and improvement The algorithmwas implemented and published by Kaneva and O’Rourke [5]
conceptu-In [2], An introduced the concept of funnels along sequence of triangles
in three-dimensional space and straightest geodesics inside a sequence oftriangles The concept of straightest geodesics along sequence of trianglesare modified from the concept of straightest geodesics on a polyhedralsurface of Polthier and Schmies [11] These concepts are used to computethe exact shortest path between two points along sequence of triangles, byconstructing a sequence of funnels
In this thesis, the concepts of funnels and funnel trees on the surface of
Trang 7a polytope given by An in [3] are used to compute all shortest paths fromthe fixed source point to any destination points on a polyhedral surface.The structure of funnel tree including all shortest paths is modified fromChen and Han’s algorithm [4] However, the main difference between Chenand Han’s algorithm and An’s method is that we do not use the planarunfolding technique and the concept of source images and the projections
of ones An’s algorithm (Algorithm 5) builds the funnel tree of funnelswithout planar unfolding technique Consequently, the number of opera-tions in An’s algorithm is relatively small comparing with the number ofoperations in Chen and Han’s algorithm The algorithm takesO(m2)time,where m is the number of faces of the polytope
The contents of this thesis are organized as follows Chapter 1 reviewsthe 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 erties of shortest paths on a convex polyhedral surface Then we presentChen and Han’s algorithm and an implementation of Kaneva and O’Rourkefor Chen and Han’s algorithm We propose a new shortest path algorithmusing funnel technique in Chapter 3 Comparing to Chen and Han’s short-est path algorithm, An’s algorithm skips the unfolding steps Instead ofbuilding a sequence tree, a funnel tree is built Therefore the proposedalgorithm theoretically outperforms in the step of planar unfolding
prop-The results in this thesis were presented at the seminar of the ment of Numerical Analysis and Scientific Computing, Institute of Math-ematics, VAST, Hanoi on November 8, 2017, and were submitted to the7th International Conference on High Performance Scientific Computing,
Depart-2018 – Hanoi, Vietnam
Hanoi, November 1st, 2017 Dong Van Viet
Trang 8Chapter 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 setsbased on [14] The most important result here to remember says that therealways exists a path of minimal length between arbitrary two points in ametric space
Let X be a metric space We denote by d(x, y) the distance betweentwo 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 afinite sequence (ti)i=0, ,n of real numbers satisfying a = t0 < t1 < · · · <
Trang 9where 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
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
σ∈P
Lσ ≥ Lσ ∗ = |γ(a) − γ(b)| = |x − y|
Trang 10Let Γ 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, noted by γ∗, that satisfies
de-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 needsome definitions that will be used in the next section
Definition 1.1.6 ([10]) Let γ : [a, b] → X be a rectifiable path We saythatγ is parametrized by arclength if for alluandv satisfyinga ≤ 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 γ isparametrized proportionally to arclength if either γ is a constant path, orthere exists a path γ0 : [c, d] → X which is parametrized by arclength andwhich satisfies γ = γ0 ◦ ψ, where ψ : [a, b] → [c, d] is the map defined by
ψ(x) = (d − c)x + c Then, for all u and v satisfying 0 ≤ u ≤ v ≤ 1, we have
|γ(u) − γ(v)| = |γ0(ψ(u)) − γ0(ψ(v))|
≤ L(γ0|[ψ(u),ψ(v)]) (using Proposition 1.1.4)
= ψ(v) − ψ(u) (since γ0 is parametrized by arclength)
= (d − c)v − (d − c)u = (d − c)(v − u)
= L(γ0)(v − u)
= L(γ)(v − u)
Trang 111.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
be a point in E If each fi is lower semi-continuous at x0, then f is alsolower 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]) Thelength 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 γ0 in E, we have|γ(t) − γ0(t)| ≤ |γ − γ0|E and therefore the map E → R
defined by γ 7→ γ(t) is continuous For each partition σ = (ti)i=0, ,n of
[a, b], the map Vσ : E → R defined by γ 7→ Vσ(γ) = Pn−1i=0 |γ(ti+1) − γ(ti)|
is a sum of continuous maps, and therefore it is continuous Therefore, byProposition 1.2.1, the mapγ 7→ L(γ) = supσVσ(γ)is lower semi-continuous
Corollary 1.2.3 ([10]) Let (γn : [a, b] → X)n≥0 be a sequence of pathsconverging uniformly to a path γ : [a, b] → X Then L(γ) ≤ lim inf
n→∞ L(γn)
Proof From Theorem 1.2.2, the length functionLis lower semi-continuous
at every γn in E Then for every m satisfying m < L(γ), there exists aneighborhood W of γ in E such that for all γ0 in W, we have m ≤ L(γ0)
Sinceγn ⇒ γ as n → ∞, for everynlarge enough, γn is in W, which implies
Trang 12m ≤ L(γn) Hence by the definition of lower semi-continuous function,
L(γ) ≤ lim infn→∞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 converginguniformly to a pathγ and ifL(γn) ≤ M for alln, then we have, by Corollary1.2.3, L(γ) ≤ M
The following result is a particular case of a series of results which areknown under the name of “Ascoli’s theorem”
Theorem 1.2.5 (Ascoli, [10]) LetY be a separable metric space, letX be aproper 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 isbounded 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 isuniformly continuous
Below is a few consequences of Theorem 1.2.5, applied to the caseswhere the maps fn and paths:
Proposition 1.2.6 ([10]) Let X be a proper metric space, let M be anonnegative real number and for all n ≥ 0, let γn : [0, 1] → X be a pathparametrized proportionally to arclength and satisfying L(γn) ≤ M Sup-pose furthermore that the subset {γn(0), n ≥ 0} of X is bounded Then thesequence 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 se-quence (γn(0))n≥0 is bounded and since the space X is proper, we can as-sume, up to replacing the sequence(γn)n≥0by a subsequence, that(γn(0))n≥0
is convergent Let x be the limit of this sequence Then for all n ≥ 0 andfor all t in [0, 1], we have
|x − γn(t)| = |γn(0) − γn(t)| ≤ L(γn)|t − 0| ≤ M
Trang 13Thus, for all t in [0, 1], the sequence (γn(t))n≥0 is bounded By Theorem1.2.5, there exists a subsequence of γn which convergers uniformly to apath γ By Corollary 1.2.4, we have L(γ) ≤ lim infn→∞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 thatthere 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 isparametrized proportionally to arclength and that its domain is the inter-val [0, 1] By Proposition 1.2.6, there exists a subsequence of (γn)n≥0 thatconverges 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 infn→∞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 ametric space is an interesting information and it leads to the existence ofshortest path joining two arbitrary points in a proper length space
Definition 1.3.1 ([10]) We say that a metric space X is connected byrectifiable 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 extendedreal line R ∪ {∞} by setting
d`(x, y) = inf
γ L(γ),
where the infimum is taken over the set of paths γ that join x and y
Trang 14Proposition 1.3.2 ([10]) Let (X, d) be a metric space that is connected byrectifiable 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, weassociate a pathγ0 : [a, b] → X defined, fort ∈ [a, b], byγ0(t) = γ(a+b−t) It
is clear thatγ0joinsy andxand that L(γ) = L(γ0) Thus, we haved`(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) weobtain |x − y| = 0, which implies x = y To prove that d` is a metric, itremains 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 k0 = d`(y, z) Forany ε > 0, let γ : [a, b] → X be a path joining x and y and satisfying
L(γ) ≤ d`(x, y) + ε/2 and let γ0 : [a0, b0] → X be a path joining y and z andsatisfying L(γ0) ≤ d`(y, z) + ε/2 We define the path γ00[a, b + b0− a0] → X
Obviously, we haveL(γ00|[a,b]) = L(γ) On the other hand, the pathγ00|[b,b+b0 −a 0 ]
is obtained from γ0 be the change of parameters ψ : [b, b + b0− a0] → [a0, b0]
defined by ψ(t) = t + a0 − b Therefore, we have L(γ00|[b,b+b0 −a 0 ]) = L(γ0).This implies
L(γ00) = L(γ) + L(γ0) ≤ d`(x, y) + d`(y, z) + ε
Taking the infimum over the paths γ00 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 metricd`, that is associated by sition 1.3.2, to a metric space (X, d) that is connected by rectifiable paths,the length metric of X associated to d
Trang 15Propo-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 otherword, 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 7→ L(γ(t)) is continuous (see [10, Proposition 1.1.13]),let t → t0 we obtain d`(γ(t0), γ(t)) This proves that γ is continuous withrespect to the metric d`
From the above two propositions, we see that (X, d`) is a metric spaceand γ : [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 andy FromProposition 1.2.7, for arbitrary two points x, y in X, there always exists apath of minimal length joining them
Given two points a, b ∈ Rn, the set of all points x = (1 − λ)a + λb suchthat 0 ≤ λ ≤ 1 is called the (closed) line segment between a and b anddenoted by [a, b]
Definition 1.4.1 ([14]) A set C ⊂ Rn is called convex if it contains anyline segment between two points of it, in other words, if (1 − λ)a + λb ∈ C
Trang 16Proposition 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 provedanalogously
Definition 1.4.4 ([14]) A convex set is said to be polyhedral if it is theintersection 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 oflinear inequalitites of the form
hai, xi ≤ bi, i = 1, , m, (1.1)
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
an extreme point or a vertex, a1-dimensional face of a polyhedron is called
an edge of the polydedron D
Trang 17InRn≥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 areequivalent:
(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 section is D Let D0 be a nonempty face of D For each i, ri D0 must becontained in int Hi or in the boundary hyperplane Mi of Hi (ri A is the rel-ative interior of convex set A and int B is the interior of B) Let F be theintersection of the finite collection consisting of the relatively open convexsets int Hi or Mi containing ri D0 This F is a convex subset of D, and it
inter-is relatively open Since ri D0 is a maximal relatively open convex subset
of D, we must have ri D0 = 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 closedhalfspaces there exists by definition some x ∈ D such that H is the uniquesupporting hyperplane to D through x Thus H is the unique supportinghyperplane toC through the exposed face D ∩ H Since D has only finitelymany faces, it follows that it can have only finitely many tangent closedhalfspaces Hence C is polyhedral
Remark 1.4.9 Base on the fundamental representation theorem for vex sets, a polyhedron is completely determined by its vertices, its edgesand its faces
Trang 18short-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 iscomposed of three types of geometric objects: 0-dimensional vertices, 1-dimensional edges, and 2-dimensional faces We consider faces to be closedpolygons and edges to be closed line segments
Let S be the surface of a given polyhedron P, defined by a set F offaces fi, a set E of edges ei, a set V of vertices vi Let m be the number offaces of P, so that P has also O(m) edges, vertices, and angles Then thenumber m is called the complexity of the polyhedron
We are also given a special point s(the source point ) In order to obtain
Trang 19a unifrom model which is easy to work with, without loss of generality weassume that all faces are triangles and that s is a vertex of the polyhedralsurface 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 pathfrom 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 andany point on the surface
2.1.2 Unfolding technique
Some terminologies introduced in [8] are used Two triangles f and f0
are said to be edge-adjacent (or adjacent for short) if the share a commonedge e
Definition 2.1.1 A sequence of adjacent triangles is a list of one or moretriangles 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 theunion 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 becalled 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]
Trang 20Definition 2.1.2 ([4]) The edge sequence which is passed by a shortestpath is called the shortest sequence.
Each face has two-dimensional coordinate system associated with it Iffacesf and f0 are adjacent sharing edgee, then define the planar unfolding
of face f0 onto face f as follows
Definition 2.1.3 ([4]) Given two adjacent faces f and f0, the planarunfolding of face f0 onto face f is the image of points of f0 when rotatedabout the line through e into the plane of f such that the points of f0 fall
on the opposite side of e to points of f Points in the planar unfolding of
f0 onto f are written in the coordinate system of face f
Figure 2.2: The unfolded image of f0 onto face f
Assume that F = (f1, f2, , fm+1) is a sequence adjacent faces ciated with an edge sequence E = (e1, e2, , em) The notion of planarunfolding is extended to F as follow: Unfold f1 around e1 onto f2, unfold
asso-f1 andf2 arounde2 onto f3, continue in this way until all facesf1, f2, , fm
lie is the plane of fm+1 Upon finishing, the planar unfolding along E resents points of faces f1, f2, , fm in the coordinate system of face fk+1.The procedure of unfolding this sequence can be described as
Trang 21rep-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
3: Rotate F around ei until F lies on the plane of fi+1
and lies on different sides of ei
4: F := F ∪ fi+1
Remark 2.1.4 The order of unfolding a sequence of adjacent faces can bereversed, 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 beingunfolded, the internal angles of points on a path are conserved in theplanar 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 β iscalled a shortcut for γ near p
Property 2.1.7 ([8]) (i) A shortest path π on S does not traverse anyface of P more than once; that is, the intersection of π with any face
f of S is a line segment
Trang 22(ii) A shortest path π never crosses a vertex of v (but it may start of end
at a vertex)
(iii) For any three distinct pointsa, 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 samedestination point, possibly at that point too
(iv) If π traverse the edge sequence E, then the unfolded image π0 is astraight 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 theline segment [a, d] ⊂ f On the other hand, since π is a shortest path thenevery portion ofπ is also a shortest path joining two points Then shortestpath from a to d is πi∪ πi+1∪ · · · ∪ πj Therefore[a, d] = πi∪ πi+1∪ · · · ∪ πj,contradicting the fact that i 6= j
(ii) Suppose the contrary, let v be a vertex of S lying on a shortest path
π(s, t), v 6= s and v 6= 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 thepolyhedron is convex, then the total vertex angle θ(v) of v is given by
respec-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 theface fk+r (see Figure 2.3) Let the image of e1 be e1 The image of thesequence forms a simple polygonS in whichv is its vertex Let g0, g1, , gr
Trang 23Figure 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 theintersections of the circle B(v, ε) with e1, e2 exist Let w1, w2 be theseintersections θl(v) < π yeilds [w1, w2] ⊂ S Since e1, e2 are not collinear,
[w1, w2] is strictly shorter than the polyline w1vw2 Thus, there is a strictlyshorter 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
π0(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 thesegments π00, , πm0 There exists i, j, 0 ≤ i ≤ n, 0 ≤ j ≤ m, such that
v ∈ πi∩ πj0 Then, similar to case (ii), we can take a shortcut near v (seeFigure 2.4) andπ0(a, b)can be shortened, contradicting the fact thatπ0(a, b)
is a shortest path Therefore, π(a, b) and π(a, c) cannot meet
(iv) Letf0, 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−10 be the unfolded image of
πi−1 Since π is the shortest possible, two segments π0i−1 and πi must be
Trang 24Figure 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 thensimply a straight line segment
In this section, we present Chen and Han’s algorithm for solving Problem1
2.2.1 Projection technique
Given a sequence of adjacent face F = (f1, f2, , fm+1), and given asource 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 fi 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 straightline segment Namely, we can connect s and t with a straight line segmentwhich 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 straightestgeodesic from s to t intersects P rojesi−1 is called the shadow of P rojesi−1 on
Trang 25Figure 2.5: The projection of s on edge ei.
face fi (see Figure 2.6)
Figure 2.6: The shadow of P roj s
e i−1
Remark 2.2.3 It is easy to compute the projection of s on edge ei usingthe 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 theplane of fi+1 only if the projection on ei is not empty Because if P rojesi isempty, there is no straightest geodesic to any point of fi+i along that se-quence of faces, then unfoldingfi+1 does not contribute to finding shortestpaths
Trang 262.2.2 Sequence tree
Based on what has been discussed in the previous subsection, to solveProblem 1, Chen and Han find straightest geodesics along sequence of facessuch that the projection on common edges is non empty Therefore, thefirst thing to do is to find such sequences of faces by unfolding inductivelyfaces if the projections the edge sequence exists
Because each edge has two sides, to unify and to facilitate, each edge isdecomposed into two oriented edges as in [9], such that the image sourcecan only be on the left side of the oriented edge (Figure 2.7) The termedge used in the sequel is meant to be an oriented edge if not claimed Theface to the other side of an oriented edge is the edgs’s shadowed face
Figure 2.7: s1 is to the left of [p, q], s2 is to the left of [q, p].
To store the information of face sequences, source point, and its jections on edge sequences, Chen and Han built a tree, called sequencetree
pro-Definition 2.2.5 ([4]) A sequence tree is a tree with the root is the source
s A node in this tree other than the root is a triple n = (s, s, P rojes), where
s is the image of s after unfolding A node ni+1 = (s, s, P rojesi+1) is a child
of node ni = (s, s, P rojesi) if the shadow of P rojesi overlaps ej+1
Remark 2.2.6 In the above definition, the first entry s of a node may bechanged when the algorithm works with nonconvex polyhedron In such
Trang 27case, the shortest path can pass through vertex V Chen and Han vieweach vertex V as a pseudo-source Therefore, it is necessary to define anode as a triple.
Definition 2.2.7 ([4]) A node n = (s, s, P rojes) is said to be on edge e
and e is said to be the edge of n, the shadow ofP rojes is called n’s shadow.For two adjacent faces fi and fi+1, where fi+1 = 4pqv, ei = [p, q], for anode ni = (s, s, P rojesi) on edge [p, q] of fi, if the shadow of P rojesi overlaps
[p, v] then insert (s, s, P roj[p,v]s ) as a child of ni (Figure 2.8(a)) Similarly,
if the shadow of P rojesi overlaps [v, q] then insert (s, s, P roj[v,q]s ) as a child
of ni (Figure 2.8(b))
Figure 2.8: (a) Node ni has one child, (b) Node ni has two children.
Remark 2.2.8 For each node n on edge e, if P rojes covers the oppositeangle of e, the n has two children If P rojes does not cover the oppositeangle then n has one child
Remark 2.2.9 If a node n on edge e having P rojes cover the oppositeangle ∠v of e, then there is a locally shortest path from s to v along thesequence of faces on the way of the tree from the root down to the node
2.2.3 The algorithm
Based on what has been discussed, a naive algorithm can be devised forthe problem
Unfolding s around ei to s is defined as unfolding the sequence of faces
(f1, f2, , fi, fi+1), i = 1, , N around the line through ei until it is planar with fi+1, lying on the opposite side of ei, where (f1, f2, , fi) is
Trang 28co-the sequence of faces on co-the way of co-the tree from co-the root down to co-thenode on the edge ei of fi.
Algorithm 2 (A naive algorithm)
Require: A point s on a polyhedral surface S
Ensure: The sequence tree with root s
1: root := s
2: for edges [p, q] opposite to s do
3: insert (s, s, [p, q]) as root’s child
9: if P rojes0 nonempty then
10: insert (s,s, P rojes0) as (s, s, P roj[p,q]s )’s child
Trang 29When the tree is built, each node in the tree defines an edge sequencewhich consists of those edges which are edges of nodes on the way from theroot down to this node For a vertex v of face fi+1 such thatv is contained
in node n’s shadow, node n guarantees the exsistence of a geodesic path
to p through the edge sequences defined by node n By selecting the nodewhose sequence corresponds to the shortest distance of v from s, we canfind the shortest path for v Algorithm 2 is correct because the shortestpath can be unfolded into a straight line and the number of faces passed
by the shortest path is no more than m
However, the size of the tree built by Algorithm 2 could be exponential.The reason is that all the nodes whose shadows cover the opposite anglehas two children in the tree In order to obtain an efficient algorithm, weshould cut the size of the tree substantially Lemma 2.2.11 tell us that atmost one node among those whose shadows cover the angle can have twochildren
Definition 2.2.10 ([4]) Given two node n1 = (s, s1, P rojs1
[p,q]) and n2 =(s, s2, P rojs2
[p,q]) on the same edge [p, q] of 4pqv, whose shadows cover thevertex v of ∠pvq If d(s1, v) < d(s2, v) we say that n1 occupies ∠pvq over n2
(Figure 2.9) If d(s1, v) = d(s2, v) we say that n1 ties n2
Figure 2.9: Node n1 occupies ∠pvq over n 2
Lemma 2.2.11 ([4]) Given two node n1 = (s, s1, P rojs1
[p,q]) and
n2 = (s, s2, P rojs2
[p,q]) on the same edge [p, q] of 4pqv, whose shadows coverthe vertex v of ∠pvq, at most one of them can have two children whichcould be used to define a shortest sequence
Trang 30More precisely, Lemma 2.2.11 says that, if n1 occupies ∠pvq over n2
then n1 has two children and n2 has one child This is the case of Figure2.9 In this case,s2 is to the left of[s1, v] then the child(s, s2, P rojs2
[p,v])of n2
and its subtree will be deleted If s2 was to the right of [s1, v] the the child
(s, s2, P rojs2
[v,q]) of n2 and its subtree woud have been deleted Similarly, if
n1 ties n2 then both n1 and n2 have one child If n2 occupies ∠pvq over
n1 then n1 has one child and n2 has two children For the proof of thislemma, see our proof for Lemma 3.3.3 in Chapter 3 Lemma 3.3.3 is ananalogue of Lemma 2.2.11
Remark 2.2.12 With Lemma 2.2.11, upon an angle ∠v Chen and Hanonly let the node n which is the closest to the angle fork into two children.Node n is said to occupy ∠v This property is called “one angle one split”
If we maintain this technique in the sequence tree, the number of leaves ofthe tree will be reduced to O(m), where m is the number of angles of thepolyhedron, because there are O(m) angles in the polyhedron
When a leaf n = (s, s, P roj[p,q]s ) on [p, q] of face 4pqv is being processed,
if its shadow doesn’t cover A, insert only child it can have If its shadowcovers A, first check if it can occupy ∠pvq If not, insert the only child
it can have Otherwise, insert its children and mark ∠pvq as occupied by
n If n0 is the node which previously occupied ∠pvq, clip off one of itschildren which is impossible to define a shortest sequence (according toLemma 2.2.11) and delete the subtree rooted at this child In conclusion,
we end up with the following Chen and Han’s algorithm