VIETNAM NATIONAL UNIVERSITY, HANOI VNU UNIVERSITY OF SCIENCEDONG VAN VIET FUNNEL TECHNIQUE FOR FINDING SHORTEST PATHS FROM A FIXED SOURCE POINT TO ALL DESTINATION POINTS ON A CONVEX MAST
Trang 1VIETNAM 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
MASTER THESIS IN MATHEMATICS
Trang 2VIETNAM 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
Major: Applied Mathematics Code: 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 andappre-ciation to my supervisor Phan Thanh An The work on this thesiscould not have been started if it were not for the generous support andthe detail guide provided by my instructor I am indebted to his adviceduring time of writing this thesis He provided helpful feedback, supportand valuable advice in writing this thesis
There are many people who have provided me with their insightfulcomments and generously shared their document and knowledge Iwould 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 ofMathemat-ics, Mechanics, and Informatics, who had taught me a lot ofknowledge through years
In the process of doing this thesis, I received much importantencour-aging factor and support from university, teachers, and friends
I would like to thank those people who have contributed significantly tothis thesis Last but not least, I would like to thank my family for theirsupport over the years
Trang 5List of symbols
joining a and b ]a; b] [a; b]nfag
F
p;q;F A funnel along F associated with [p; q]
fk A triangular face of a polyhedron
The unfolded image of f k
fk
adjacent triangles
A path in a metric space
(s; s; P roj es ) 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
Trang 63
Trang 7The 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 Ithas many application areas such as path planning for the movement ofvehicles, robots, geographic information systems and navigation
ex-Sharir and Schorr [13] first presented an O(n3log n) 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 conceptu-ally simple It builds a tree, called sequence tree, using planar unfolding technique and projection method The simplicity comes from a new ob- servation 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
Trang 8a 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 betweenChen and Han’s algorithm and An’s method is that we do not use theplanar unfolding technique and the concept of source images and theprojections of ones An’s algorithm (Algorithm 5) builds the funnel tree offunnels without planar unfolding technique Consequently, the number ofopera-tions in An’s algorithm is relatively small comparing with thenumber 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 erties 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 short- est 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.
prop-The results in this thesis were presented at the seminar of theDepart-ment of Numerical Analysis and Scientific Computing, Institute
of Math-ematics, VAST, Hanoi on November 8, 2017, and weresubmitted to the 7th International Conference on High PerformanceScientific Computing, 2018 Hanoi, Vietnam
Hanoi, November 1st, 2017 Dong Van Viet
Trang 9Chapter 1
Preliminaries
In this chapter, we review the definition of paths, length of paths in ametric space based on [10] and the definition of polyhedral convexsets based on [14] The most important result here to remember saysthat there always exists a path of minimal length between arbitrary twopoints 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 betweentwo points x and y of X We also use the notation d(x; y) = jx yj
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 thepoints 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 < < 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 X
LX ( ) = L( ) = sup j (ti) (ti+1)j;
i=0
Trang 10where the supremum is taken over the set of partition = (ti)i=0;:::;n of [a;
b] A path is said to be rectifiableif 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 R3defined by
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 = ft0; : :
Let = fa; bg 2 P be a trivival partition of [a; b], then from the definition of
the length of a path we have
2P
Trang 11Let 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,
de-noted by , that satisfies
L() = inf fL( )g:
2
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( j[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 0 : [c; d] ! X which is parametrized by arclength and
which satisfies = 0 , where : [a; b] ! [c; d] is the map defined by
b a
Proposition 1.1.8 ([10]) Let : [0; 1] ! X be a path parametrized
pro-portionally 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 = 0 , where 0 : [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
j (u) (v)j = j 0( (u)) 0( (v))j
L( 0j[ (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)
Trang 121.2 The space of paths
Denote by C([a; b]; X) the set of paths in X with domain [a; b] Weequip C([a; b]) with the metric defined by
j 1 2j = sup j 1(t) 2(t)j;
t2[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)i2I be a family of maps from a topologicalspace E to R = R [ f ; 1g and let f : E ! R be the upper limit of this family,that is, the map defined by f(x) = supi2I fi(x) for all x in E: Let x0 be apoint in E If each fi is lower semi-continuous at x0, then f is also lowersemi-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 x0such that for all x in W; we have m fi0 (x) Therefore, for all x in W , wehave 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 [ f1g is lower semi-continuous
Proof Let us set E = C([a; b]; X) and let us fix a point t 2 [a; b] For any
and 0 in E, we have j (t) 0(t)j j 0jEand 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 ( ) = in=01 j (ti+1) (ti)j
is a sum of continuous maps, and therefore it is
continuous Therefore, by
PProposition 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 paths
converging uniformly to a path : [a; b] ! X Then L( ) lim inf L( n ):
n!1
Proof From Theorem 1.2.2, the length function L is lower continuous at every n in E: Then for every m satisfying m < L( ), thereexists a neighborhood W of in E such that for all 0 in W , we have m L( 0):
semi-Since n as n ! 1, for every n large enough, n is in W , which implies
Trang 13m L( n) Hence by the definition of lower semi-continuous function, L( ) lim infn!1 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 iscontinuous Furthermore, if n : [a; b] ! X (n 0) is a sequence of pathsconverging uniformly to a path and if L( n) M for all n, then we have, byCorollary 1.2.3, L( ) M
The following result is a particular case of a series of results whichare 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 equicontinuoussequence 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) thatconvergers 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 thecases where 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 f n(0); n 0g of X is bounded Then thesequence of paths ( n ) n 0 has a subsequence which convergersuniformly 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, thesequence 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 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
jx n(t)j = j n(0) n(t)j L( n)jt 0j M:
Trang 14Thus, 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 infn!1
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 existssuch a path whose length is equal to the infimum of the lengths ofpaths that join x and y:
Proof Let = inffL( ) where is a path in X joining x and yg , and let 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!1 L( n) = Fromthe 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
1.3 The length metric
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 extended real line R [ f1g by setting
Trang 15Proposition 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 jx yjd 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 jx djd L( ),
which, by taking the infimum over all paths joining x and y, implies jx yjd
d ‘ (x; y)
Now let prove that d‘ is a metric To every path : [a; b] ! X, we
associate a path 0 : [a; b] ! X defined, for t 2 [a; b], by 0(t) = (a+b t) It is
clear that 0 joins y and x and that L( ) = L( 0) 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 jx yj d‘(x; y) we
obtain jx yj = 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 k0 = 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 0 : [a0; b0] ! X be a path joining y and z and
satisfying L( 0) d‘(y; z) + "=2 We define the path 00[a; b + b0 a0] ! X be
Obviously, we have L( 00j[a;b]) = L( ) On the other hand, the path 00j[b;b+b0 a0 ]
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( 00j[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 metric d‘, that is associated by
Propo-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 16Proposition 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, themap : [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
From the above two propositions, we see that (X; d‘) is a metricspace 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 FromProposition 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 2 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
Trang 17Proposition 1.4.3 ([14]) The intersection of any collection of convexsets is convex If C; D are convex sets then C + D := fx + y j x 2 C; y 2
Dg, C = f x j x 2 Cg are covex sets
Proof If fC g is a collection of convex sets, and a; b 2 \ C , then for each
we have a 2 C ; b 2 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 2 C; y; v 2 D,then (1 )a + b = [(1 )x + u] + [(1 )y + v] 2 C + D, for any
2 [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 theintersection of a finite family of closed halfspace A polyhedral convexset 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 2 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
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 iscalled an edge of the polydedron D
Trang 18In 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 H 1 ; : : : ; H m be closed halfspaces whose
inter-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 openconvex sets int H i or M i containing ri D0 This F is a convex subset of D;
and it is relatively open Since ri D0 is a maximal relatively open convexsubset of D, we must have ri D0 = F: There are only finitely manyintersections of the form F , and different faces of D have disjointrelative 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 2 D such that H is the uniquesupporting hyperplane to D through x: Thus H is the unique supportinghyperplane to C through the exposed face D \ H: Since D has only finitelymany 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 forcon-vex sets, a polyhedron is completely determined by its vertices, itsedges and its faces
Trang 192.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,1-dimensional edges, and 2-dimensional faces We consider faces to beclosed polygons and edges to be closed line segments
Let S be the surface of a given polyhedron P , defined by a set F offaces f i, a set E of edges e i, a set V of vertices v i 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
Trang 20a 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 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 sourceand any 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 acommon edge e:
Definition 2.1.1 A sequence of adjacent triangles is a list of one ormore 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 = (f 1 ; f 2 ; : : : ; f m+1 ).
In this thesis, we usually indentify F with f 1 [f 2 [: : : [f m+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 e i is a closed segment with two end points p and q , we also denote e i = [p; q]
Trang 21Definition 2.1.2 ([4]) The edge sequence which is passed by ashortest path is called the shortest sequence.
Each face has two-dimensional coordinate system associated with
it If faces f and f0 are adjacent sharing edge e; then define the planarunfolding 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 f1
asso-and f 2 around e 2 onto f 3 , continue in this way until all faces f 1 ; f 2 ; : : : ; f m lie
is the plane of f m+1 Upon finishing, the planar unfolding along E rep-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 22Procedure 1 Planar unfolding
Require: A sequence of adjacent faces F = (f 1 ; f 2 ; : : : ; f m+1 ).
Ensure: Points of f 1 ; f 2 ; : : : ; f m in the coordinate system of face f m+1
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 someproperties of shortest paths joining two points of a polyhedron, werecall the concept of a shortcut for a path near a point of If there is apath, say joining w1 and w2 in the region P such that the new path inwhich the paththrough 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
Trang 23(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 2 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 scannot 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 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 iand j, i < j; of in f Let denote i by a closed segment [a; b], denote j by aclosed 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 Thenshortest path 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 = ff1; f2; : : : ; fmg 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-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 g 0 ; g 1 ; : : : ; g r
Trang 24Figure 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 " := minfhi; i = 0; 1; : : : ; r g 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 2= fa; b; cg.Then the length of the initial portion of (a; b) up to v equals the length ofthe 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) areshortest 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 2 i \ j0.Then, similar to case (ii), we can take a shortcut near v (see Figure 2.4)and 0(a; b) can be shortened, contradicting the fact that 0(a; b) is ashortest path Therefore, (a; b) and (a; c) cannot meet
(iv) Let f 0 ; f 1 ; : : : ; f n 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 i0 1 be the unfolded image of i 1.Since is the shortest possible, two segments i0 1 and i must be
Trang 25Figure 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 isthen simply a straight line segment
2.2 Chen and Han’s algorithm
In this section, we present Chen and Han’s algorithm for solvingProblem 1
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 f 1 and not belong to e 1 = f 1 \ f 2 Afterunfolding F, all faces are unfolded into a common plane of fm+1 Theshortest path passing through these faces should be unfolded into astraight line segment (Property 2.1.7) Let fi be the images of fi, i = 1; : : : ; m, e ibe the images of e i, i = 1; : : : ; m, s be the image of s
Definition 2.2.1 ([4]) The projection of the source image s on edge e i
is a closed segment, denoted by P rojs , such that the shortest path from
e i
s
along (f1; : : : ; fi) can be unfolded into a straight
s to any point t 2 P rojei
line segment Namely, we can connect s and t with a straight linesegment 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 roj s is called the shadow of P roj s on
e
Trang 26Figure 2.5: The projection of s on edge e i
face fi (see Figure 2.6)
Figure 2.6: The shadow of P rojs .
plane of f i+1 only if the projection on e i is not empty Because if P rojs is
e i
empty, there is no straightest geodesic to any point of fi+i along that quence of faces, then unfolding fi+1 does not contribute to findingshortest paths
Trang 27se-2.2.2 Sequence tree
Based on what has been discussed in the previous subsection, tosolve Problem 1, Chen and Han find straightest geodesics alongsequence of faces such that the projection on common edges is nonempty Therefore, the first thing to do is to find such sequences of faces
by unfolding inductively faces if the projections the edge sequence exists.Because each edge has two sides, to unify and to facilitate, each edge is decomposed into two oriented edges as in [9], such that the image source can only be on the left side of the oriented edge (Figure 2.7) The term edge used in the sequel is meant to be an oriented edge if not claimed The face
to the other side of an oriented edge is the edgs’s shadowed face.
Figure 2.7: s 1 is to the left of [p; q], s 2 is to the left of [q; p].
To store the information of face sequences, source point, and itspro-jections on edge sequences, Chen and Han built a tree, calledsequence tree
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
of node ni= (s; s; P rojei ) if the shadow of P rojei
Remark 2.2.6 In the above definition, the first entry s of a node may be
Trang 2824
Trang 29case, the shortest path can pass through vertex V Chen and Hanview each vertex V as a pseudo-source Therefore, it is necessary todefine a node as a triple.
Definition 2.2.7 ([4]) A node n = (s; s; P roj es) is said to be on edge e and
e is said to be the edge of n, the shadow of P rojes is called n’s shadow
For two adjacent faces fi and fi+1, where fi+1 = 4pqv; ei = [p; q], for a
Figure 2.8: (a) Node n i has one child, (b) Node n i has two children.
Remark 2.2.8 For each node n on edge e, if P rojes covers theopposite angle of e, the n has two children If P rojes does not cover theopposite angle then n has one child
Remark 2.2.9 If a node n on edge e having P roj es 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
Trang 3025
Trang 31the sequence of faces on the way of the tree from the root down to the node 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 roj es0 nonempty then
10: insert (s; s; P roj es0 ) as (s; s; P roj [sp;q] )’s child
Trang 32When the tree is built, each node in the tree defines an edgesequence which consists of those edges which are edges of nodes onthe way from the root down to this node For a vertex v of face fi+1 suchthat v 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 node whose sequence corresponds to the shortestdistance of v from s, we can find the shortest path for v Algorithm 2 iscorrect because the shortest path can be unfolded into a straight line andthe number of faces passed by the shortest path is no more than m:
However, the size of the tree built by Algorithm 2 could beexponential The reason is that all the nodes whose shadows cover theopposite angle has two children in the tree In order to obtain anefficient algorithm, we should cut the size of the tree substantially.Lemma 2.2.11 tell us that at most one node among those whoseshadows cover the angle can have two children
Definition 2.2.10 ([4]) Given two node n1 = (s; s1; P roj[sp;q1
] ) and n2 = (s;
s 2 ; P roj [sp;q2] ) on the same edge [p; q] of 4pqv , whose shadows cover the vertex 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 n 1 occupies \pvq over n 2
Lemma 2.2.11 ([4]) Given two node n 1 = (s; s 1 ; P roj [sp;q1] ) and
n 2 = (s; s 2 ; P roj [sp;q2] ) on the same edge [p; q] of 4pqv, whose shadows cover the vertex v of \pvq , at most one of them can have two children which
could be used to define a shortest sequence