OFFSET
0,4
COMMENTS
Coordinates are given on a hexagonal lattice with X-axis and Y-axis as follows:
Y
/
/
0 ---- X
We can build the Koch curve as follows:
- start from the origin,
- for k = 0, 1, ...:
- compute t as the number of 1's minus the number of 2's
in the base-4 representation of n (t = A065359(n)),
- move one step forward with an angle of t * 60 degrees
with respect to the X-axis.
LINKS
Rémy Sigrist, Table of n, a(n) for n = 0..8192
Artem Litvinov, A study of the Koch polyline, 2021 [in Russian].
Wikipedia, Koch snowflake
FORMULA
From Andrey Zabolotskiy, Nov 12 2021: (Start)
a(2*n) = a(n) + 2*y(n),
y(2*n) = a(n) - y(n),
where y(k) = A335359(k). See Litvinov, 2021. (End)
EXAMPLE
The Koch curve starts (on a hexagonal lattice) as follows:
. . . . . . + . . . . . .
/8\
. . . . +---+ +---+ . . . .
6\ 7 9 /10
. . . + . + . + . + . . .
/2\ /5 \ / \
. +---+ +---+ . . +---+ +---+ .
0 1 3 4 12 13 15 16
Hence, a(4) = a(5) = a(7) = a(8) = 3.
PROG
(PARI) { hex = [1, I, I-1, -1, -I, 1-I]; z=0; for (n=0, 72, print1 (real(z)", "); q=digits(n, 4); d=sum(k=1, #q, if (q[k]==1, +1, q[k]==2, -1, 0)); z+=hex[1+d%#hex]) }
CROSSREFS
KEYWORD
AUTHOR
Rémy Sigrist, Jun 03 2020
STATUS
approved