Shortest path in a multiply-connected domain having curved ...
Shortest path in a multiply-connected domain having curved ...
Shortest path in a multiply-connected domain having curved ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
(a) Rejected <strong>path</strong> (<strong>in</strong><br />
blue)<br />
(b) Rejected <strong>path</strong> (<strong>in</strong><br />
blue)<br />
BT1<br />
ζ2<br />
ζ1<br />
(c) ζ1 conta<strong>in</strong>s BT1<br />
Figure 6: Rejected and merged <strong>path</strong>s (<strong>in</strong> blue)<br />
(d) Merged <strong>path</strong>s<br />
section 4.2. To do this, a dummy tangent l<strong>in</strong>e start<strong>in</strong>g at S <strong>in</strong> the direction φ as clockwise<br />
is added to the BT process<strong>in</strong>g algorithm. Similar procedure is followed for counter-clockwise<br />
direction and for the end po<strong>in</strong>t E.<br />
4.3 Further elim<strong>in</strong>ation of <strong>path</strong>s<br />
Sections 4.1 and 4.2 detailed how the PCTs/BTs can be elim<strong>in</strong>ated based on the region<br />
formulation us<strong>in</strong>g Lemma 4. However, there are further elim<strong>in</strong>ation of PCTs/BTs is possible.<br />
This is done through the application of Lemma 3 which stated that a <strong>path</strong> cannot <strong>in</strong>tersect<br />
certa<strong>in</strong> PCTs/BTs <strong>in</strong> specific ways. Thus a check is made to elim<strong>in</strong>ate <strong>path</strong>s that are not<br />
valid. Figures 6(a) and 6(b) show the <strong>path</strong> <strong>in</strong> blue that can be elim<strong>in</strong>ated us<strong>in</strong>g Lemma 3.<br />
4.4 Merg<strong>in</strong>g of <strong>path</strong>s<br />
A tree structure is ma<strong>in</strong>ta<strong>in</strong>ed to store the computed <strong>path</strong>s thus far. The tree starts with a<br />
s<strong>in</strong>gle node S, and the children for each node is the list of valid tangents obta<strong>in</strong>ed us<strong>in</strong>g the<br />
node. The procedure processes every child recursively till E is reached via. the term<strong>in</strong>ation<br />
list (which conta<strong>in</strong>s the PCTs processed from E) or no further valid tangent is available.<br />
Along with every node, the length from S up to that node is also stored by comput<strong>in</strong>g the<br />
Euclidean distance for tangents and l<strong>in</strong>e <strong>in</strong>tegral for <strong>curved</strong> portions. Thus the length of leaf<br />
node when it reaches E will be the length of that particular <strong>path</strong>.<br />
While the above procedures are followed recursively, a merg<strong>in</strong>g step is performed to avoid<br />
redundant computations. Simply, <strong>path</strong>s are merged if a bitanget to be processed has been<br />
already traversed. In this case all subtree of <strong>path</strong>s already computed is added to the current<br />
<strong>path</strong>. The length correspond<strong>in</strong>g to each node is updated accord<strong>in</strong>gly. An example of merg<strong>in</strong>g<br />
is shown <strong>in</strong> Figures 6(c) and 6(d). In Figure 6(c), the bitangent BT1 is already traversed by<br />
the <strong>path</strong> ζ1 and hence the <strong>path</strong> ζ2 is merged when BT1 is reached. Algorithm 2 (<strong>in</strong> appendix)<br />
gives the pseudocode for process<strong>in</strong>g the bitangents.<br />
10