45 lines
826 B
C
45 lines
826 B
C
int transformation[(2*19 - 1) * (2*19 - 1)][8];
|
|
|
|
const int transformation2[8][2][2] = {
|
|
{{1, 0}, {0, 1}},
|
|
{{0, 1}, {-1, 0}},
|
|
{{-1, 0}, {0, -1}},
|
|
{{0, -1}, {1, 0}},
|
|
{{0, -1}, {-1, 0}},
|
|
{{-1, 0}, {0, 1}},
|
|
{{0, 1}, {1, 0}},
|
|
{{1, 0}, {0, -1}}
|
|
};
|
|
|
|
void
|
|
transformation_init (void)
|
|
{
|
|
int k;
|
|
int dx;
|
|
int dy;
|
|
|
|
for (k = 0; k < 8; k++)
|
|
{
|
|
for (dy = -19 + 1; dy <= 19 - 1; dy++)
|
|
{
|
|
for (dx = -19 + 1; dx <= 19 - 1; dx++)
|
|
{
|
|
int tx;
|
|
int ty;
|
|
do
|
|
{
|
|
*&tx =
|
|
transformation2[k][0][0] * (dx) +
|
|
transformation2[k][0][1] * (dy);
|
|
*&ty =
|
|
transformation2[k][1][0] * (dx) +
|
|
transformation2[k][1][1] * (dy);
|
|
}
|
|
while (0);
|
|
transformation[((dy + 19 - 1) * (2 * 19 - 1) +
|
|
(dx + 19 - 1))][k] = ((tx) * (19 + 1) + (ty));
|
|
}
|
|
}
|
|
}
|
|
}
|