diff options
Diffstat (limited to 'macros/latex/contrib/sphdthesis/example/algorithm.tex')
-rw-r--r-- | macros/latex/contrib/sphdthesis/example/algorithm.tex | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/macros/latex/contrib/sphdthesis/example/algorithm.tex b/macros/latex/contrib/sphdthesis/example/algorithm.tex new file mode 100644 index 0000000000..cab0e632b2 --- /dev/null +++ b/macros/latex/contrib/sphdthesis/example/algorithm.tex @@ -0,0 +1,49 @@ +\begin{SgAlgorithm}[t] + \SetKwInOut{Input}{Input} + \SetKwInOut{Output}{Output} + \SetKwFunction{GenerateAlphaVeins}{GenerateAlphaVeins} + \SetKwFunction{GenerateUniLeaf}{GenerateUnilobedLeaf} + \SetKwFunction{IntersectLobes}{IntersectLobes} + \SetKwFunction{FitBSpline}{FitBSpline} + \SetKwFunction{GenerateLaminarMargin}{GenerateLaminarMargin} + \SetKwFunction{Index}{Index} + \BlankLine + \Input{Parameters of the leaf model.} + \Output{Laminar shape $M$ as a triangle mesh.} + \BlankLine + $\{\alpha_i\} \leftarrow \GenerateAlphaVeins(s_0^l, s_0^r, \Delta s)$ \; + $L\leftarrow \GenerateUniLeaf(\theta(B^l), \theta(B^r), \theta(A^l), \theta(A^r), \vect{W}^l, \vect{W}^r)$ \; + \BlankLine + \ForEach{$\alpha$-vein $\alpha_i$} + {% + $L_i \leftarrow L$ \; + $L_i \leftarrow T_i\cdot L_i$ \; + } + \BlankLine + \For{$i=1$ \KwTo $n-1$} + {% + $\vect{p}^I(v_i) \leftarrow$ \IntersectLobes{$L_i$, $L_{i+1}$} \; + $\vect{d}(v_i) \leftarrow \dfrac{\vect{d}(\alpha_i) + \vect{d}(\alpha_{i+1})}{2}$ \; + \If{$p(v)$ or $\theta(v)$ is specified} + {% + $\vect{p}(v_i) \leftarrow \vect{p}^I(v_i) + p(v) l(\alpha_i) \vect{d}(v_i)$ \; + } + } + \BlankLine + \For{$i=1$ \KwTo $n-1$} + {% + \eIf{$p(v)$ or $\theta(v)$ is not specified} + {% + $M \leftarrow M \cup \left\{\vect{p}_j \mid j \in L_i \wedge \Index(\vect{q}(\alpha_i), L_i) \leq j \leq \Index(\vect{p}^I(v_i), L_i) \right\}$ \; + $M \leftarrow M \cup \left\{\vect{p}_j \mid j \in L_{i+1} \wedge \Index(\vect{p}^I(v_i), L_{i+1}) < j \leq \Index(\vect{q}(\alpha_{i+1}), L_{i+1})\right\}$ \; + } + {% + $b_1 \leftarrow \FitBSpline(\vect{q}(\alpha_i), \theta(\vect{q}(\alpha_i)), \vect{W}^l(\alpha_i), \vect{r}(v_i), \theta(v_i))$ \; + $b_2 \leftarrow \FitBSpline(\vect{r}(v_i), \theta(v_i), \vect{W}^r(\alpha_{i+1}), \vect{q}(\alpha_{i+1}), \theta(\vect{q}(\alpha_{i+1})))$ \; + Discretize $b_1$ and append the points to $M$ \; + Discretize $b_2$ and append the points to $M$ \; + } + } + \caption[Laminar shape generation algorithm for multilobed leaves]{Laminar shape generation algorithm for multilobed leaves.} + \label{algo:Ch6-ShapeGen} +\end{SgAlgorithm}
\ No newline at end of file |