## 3 Proposed Protocol
### Data Forwarding Algorithm
#### 3.3.2 Determining the Euclidean Routing Path  
Let \(N\) and \(M\) be two arbitrary points on the plane, and \(\mathbb{P}\) be a set of polygons on the plane. Let \(l\) be a \(\mathbb{P}\)-bypassing broken line from \(N\) to \(M\), which is comprised of boundary segments of \(\mathbb{P}\)'s polygons. In the following, we define a transformation \(F(l,\mathbb{P},\alpha)\) that transforms \(l\) to a new \(\mathbb{P}\)-bypassing broken line \(l^{\prime}\) whose length does not exceed \(\alpha\) times that of \(l\). \(\alpha\) is call the scale factor of the transformation. First, \(l\) is decomposed into segments, each of which is a boundary segment of a polygon of \(\mathbb{P}\). Then, for every segment that is a boundary segment of a concave polygon, it is further divided into sub-segments, each of which consists of consecutive edges of polygon staying on the same side with respect to the hole. Let us denote the segments/sub-segments composing \(l\) as \(L_{1},...,L_{k}\). Then, each \(L_{i}\) (\(i=1,...k\)) is scaled up using a specific homothetic transformation denoted as \(F_{i}\), whose scale center (denoted as \(O_{i}\)), and scale factor (denoted as \(\xi_{i}\)) are defined as follows. Suppose \(L_{i}\) consists of \(n_{i}\) vertices (\(n_{i}\) is a positive integer), and let us denote \(L_{i}\)'s vertices as \(L_{i}^{1},...,L_{i}^{n_{i}}\). If \(L_{i}\) is a boundary segment of a convex polygon, then \(O_{i}\) is a random point staying inside the polygon whose boundary containing \(L_{i}\). Otherwise, \(O_{i}\) is a random point staying on the opposite side with the hole concerning the \(L_{i}\). \[\xi_{i}=1+(\alpha-1)\frac{z_{i}+x_{i}}{x_{i}+y_{i}} \tag{1}\]  
where \(x_{i}=|L_{i}|\), \(y_{i}=\left|O_{i}L_{i}^{1}\right|+\left|O_{i}L_{i}^{n_{i}}\right|\),  
\[z_{i}=\left\{ \begin{array}{l}\left|sL_{i}^{1}\right|+\frac{1}{2}\left|L_{i}^ {n_{i}}L_{i+1}^{1}\right|,\text{if}\ i=1\\ \frac{\left|L_{i}^{1}L_{i-1}^{n_{i-1}}\right|+\left|L_{i}^{n_{i}}L_{i+1}^{1} \right|}{2},\text{if}\ i=\overline{2,k-1}\\ \left|L_{i}^{n_{i}}t\right|+\frac{1}{2}\left|L_{i-1}^{n_{i-1}}L_{i}^{1}\right|,\text{if}\ i=k\end{array} \right.\]Let us denote by \(L_{i}^{{}^{\prime}}\) the image of \(L_{i}\) through the homothetic transformation \(F_{i}\), then \(F(l,\mathbb{P},\alpha)=\bigcup_{i=1}^{k}L_{i}^{{}^{\prime}}\). Please note that when \(\xi_{i}\) is too large, \(L_{i}^{{}^{\prime}}\) (i.e., the image of \(L_{i}\) obtained by using \(F_{i}\)) may intersect \(\mathbb{P}\). In such cases, \(\xi_{i}\) is gradually decreased by a factor of \(\frac{3}{4}\) until \(L_{i}^{{}^{\prime}}\) bypasses \(\mathbb{P}\). Let us denote the base path from \(s\) to \(t\) as \(\mathcal{B}(s)\), Now by using the transformation \(F\) defined above, \(s\) constructs the Euclidean routing path as the image of \(\mathcal{B}(s)\) through \(F(\mathcal{B}(s),\mathbb{A}(s),\alpha_{1})\), where \(\mathbb{A}(s)\) and \(\alpha_{1}\) are defined as follows. \[\mathbb{A}(s)=\ \left\{ \begin{array}{l}\{\mathcal{H}(s),\mathcal{H}(t)\} \cup\mathbb{C}(\overline{s},\overline{t}),\,\text{if}\,s\text{ is a $t$-aware node}\\ \{\mathcal{H}(s)\}\cup\mathbb{C}(\overline{s}),\,\text{otherwise}\end{array} \right.\]  
\[\alpha_{1}=\ \left\{ \begin{array}{l}\frac{1+\epsilon}{\theta_{1}}\sin \frac{(n-2)\pi}{2n},\,\text{if}\,s\text{ is a $t$-aware node}\\ Max\left\{1,\frac{\sin\frac{(n-2)\pi}{2n}\left\{\frac{(1+\epsilon)L_{0}}{\theta_ {2}}-\frac{p_{C(t)}}{2}\right\}}{\theta_{1}\left(L_{0}+\frac{\epsilon_{C(t)}} {2}\right)}\right\},\,\text{otherwise}\end{array} \right\},\,\text{otherwise}\]  
where \(p_{\mathcal{C}(t)}\) is the perimeter of \(\mathcal{C}(t)\); \(L_{0}=Max\left\{\sin\frac{(n-2)\pi}{2n}\ |l_{\mathbb{C}}(s,\mathcal{C}(t))|-\frac{ \epsilon_{C(t)}}{2},\sin\frac{(n-2)\pi}{2n}\,|l_{\mathbb{C}}(s,\mathcal{C}(t))|\right.\) + \(|l_{G}|-\epsilon_{C(t)}\}\), \(l_{\mathbb{C}}(s,\mathcal{C}(t))\) and \(l_{\mathbb{C}}\) are the shortest Euclidean paths from \(s\) and \(t\) to a vertex of \(\mathcal{C}(t)\), respectively.