ʻO ke kaʻina o nā helu

No nā lā i hala iho nei, e hoʻopaʻa haʻawina ana au i ka nīnau aʻe ma StackExchange e pili ana i ke kaʻina o nā integers. Ke ʻimi nei mākou i kahi haʻilula i pani ʻia no nā kuhi o ka \(n\) -th element i loko o ka spiral integer e hiki mai ana, mai ke kumu i waho a ma mua a ma mua o ka infinity:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16

Māhele mua mākou i nā helu kūlohelohe i nā hui aʻe:

$$G_1 = \{ 1,...,8 \}\\G_2 = \{ 9, ..., 24 \}\\G_3 = \{ 25, ... 48 \}\\...\\G_k = \left\{ (2k-1)^2, (2k+1)^2 - 1 \right\}$$

Kāhea mākou

$$a^2 = \left(\left \lfloor \left( \frac{\left \lfloor \sqrt{n} \right \rfloor + 1}{2} \right) \right \rfloor \cdot 2 - 1 \right)^2$$

ka helu hoʻomaka i kahi hui.

Ma loko o kahi hui ʻehā mau pūʻulu o ka nui \(G_1\) \(g_1 = \{ 1,2 \}, g_2 = \{ 3,4 \}, g_3 = \{ 5,6 \}, g_4 = \{7,8\}\) ). Inā hoʻololi ʻo \(n\) mai kekahi pūʻulu a i ka aʻe, ua hoʻololi ʻia ke ʻaoʻao ma ke ala o ka ʻaoʻao (ʻo ka uaki i kā mākou laʻana) i ka manawa like. Loaʻa mākou i ke kuhikuhi o kēia manawa \( b \in \{0,1,2,3\} \) ma ka hoʻokaʻawale ʻana i ke kūlana \(na^2\) loko o kahi hui e ka helu o nā mea i loko o kahi subgroup:

$$b = \left \lfloor \frac{ n - a^2 }{ \text{abs}\left( a \right) + 1 } \right \rfloor$$

I kēia manawa hiki iā mākou ke hoʻoholo i ka mea mua i loko o kahi subgroup \(g_n\) ma o ka hoʻohui ʻana i kahi mau helu \(b\) o ka helu \(a+1\) o nā mea i loko o kahi hui i ka helu mua \(a^2\):

$$c = a^2 + b \cdot (a+1)$$

I kēia manawa hiki iā mākou ke hoʻoholo i ka nānā maʻalahi:

$$x_{right} = \left(n - c - \frac{ a + 1 }{2}+1\right),\, y_{right} = \left(\frac{ a + 1 }{2}\right) \\ x_{bottom} = \left(\frac{ a + 1 }{2}\right),\, y_{bottom} = (-1) \cdot \left( n - c - \frac{ a + 1 }{2}+1\right) \\ x_{left} = (-1) \cdot \left(n - c - \frac{ a + 1 }{2}+1\right),\, y_{left} = (-1) \cdot \left(\frac{ a + 1 }{2}\right) \\ x_{top} = (-1) \cdot \left(\frac{ a + 1 }{2}\right),\, y_{top} = \left( n - c - \frac{ a + 1 }{2}+1\right)$$

Makemake mākou e hōʻike iā \(f(n)\) i kahi hōʻike pani a me ka ʻole o nā hoʻokaʻawale hihia. Hoʻohana mākou i ka hana Signum, ua wehewehe wau i nā hana ma aneʻi . No laila e loaʻa iā mākou kahi hana maʻemaʻe ma ke ʻano he hana o \(n\) , loaʻa iā mākou:

Me ke kōkua o SVG.js , hiki iā mākou ke ʻike i kēia ʻike liʻiliʻi e holo pono ana ka mea āpau:

See the Pen ulam spiral by David Vielhuber (@vielhuber) on CodePen.

Hoʻomaopopo ʻia ka ʻoniʻoni ʻo Ulam's spiral a he pilina hoihoi i nā helu nui.

Hope