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