SIDE algorithm - akilmarshall/procedural-image-generation GitHub Wiki
Fix $(1, 0)$
in $\mathcal{F}$
with $t_i$
\mathcal{F}_{(1, 0, t_i)}=
\begin{bmatrix}
& t_i & \\ & & \\ & &
\end{bmatrix}
The $SIDE$
algorithm expands a fragment of the form $\mathcal{F}_{(1, 0, t)}$
(or any of its symmetries, $(0, 1), (2, 1), (1, 2)$
).
SIDE\langle\mathcal{F}_{(1, 1, t)}\rangle=
\begin{bmatrix}
B=\mathcal{N}(t, 2) & t & A=\mathcal{N}(t, 0) \\
D=\mathcal{N}(b, 3)\cap\mathcal{N}(c, 2) & C=\mathcal{N}(t, 3) & E=\mathcal{N}(a, 3)\cap\mathcal{N}(c, 0) \\
H=\mathcal{N}(d, 3)\cap\mathcal{N}(f, 2) & F=\mathcal{N}(c, 3) & G=\mathcal{N}(f, 0)\cap\mathcal{N}(e, 2)
\end{bmatrix}
The $SIDE$
algorithm takes three steps:
- Compute
$\{A, B, C\}$
directly from$t_i$
,- select
$\{a, b, c\}$
from$\{A, B, C\}$
respectively.
- select
- Compute
$\{D, E\}$
from$\mathcal{N}(d, 3)\cap\mathcal{N}(f, 2)$
and$\mathcal{N}(f, 0)\cap\mathcal{N}(e, 2)$
respectively, compute$F$
directly from$c$
- select
$\{d, e, f\}$
from$\{E, D, F\}$
respectively.
- select
- Compute
$\{H, G\}$
from$\mathcal{N}(d, 3)\cap\mathcal{N}(f, 2)$
and$\mathcal{N}(f, 0)\cap\mathcal{N}(e, 2)$
respectively- select
$\{h, g\}$
from$\{H, G\}$
respectively.
- select