[go: up one dir, main page]

login
A362363
Arm number of the base spiral in A362249 which visits large spiral point n there.
3
0, 0, 2, 3, 0, 0, 0, 1, 0, 1, 2, 0, 2, 2, 0, 3, 0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 0, 0, 2, 0, 2, 2, 2, 3, 0, 3, 0, 3, 0, 0, 0, 0, 0, 2, 0, 2, 0, 1, 0, 1, 0, 0, 2, 0, 2, 0, 2, 2, 2, 2, 0, 3, 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 2, 0, 2
OFFSET
1,3
COMMENTS
Arms are numbered 0,1,2,3 for the base spirals with first segment directed East, South, West, North, respectively.
This numbering is successive arms around in the same direction that the spirals themselves turn (both clockwise in the diagrams in A362249).
FORMULA
If n is a square:
a(n) = 3*(n+1 mod 2); (a(n) = 3 for even squares).
EXAMPLE
a(5) = 0 because A362249(5) = 13 that is on spiral "E", which is encoded here as 0.
a(8) = 1 because A362249(8) = 58 that is on spiral "S", which is encoded here as 1.
a(11) = 2 because A362249(11) = 139 that is on spiral "W", which is encoded here as 2.
a(34) = 3 because A362249(34) = 1000 that is on spiral "N", which is encoded here as 3.
PROG
(MATLAB)
function a = A362363( max_n )
E = [0 ; 0]; S = [0 ; 0]; W = [0 ; 0]; N = [0 ; 0]; V = [0 0];
for k = 1:4*max_n
l = V(1+mod(k+1, 2)); s = (-1)^floor(k/2);
for m = l+(1*s):s:s*k
V(1+mod(k+1, 2)) = m; V2 = V(end:-1:1).*[-1 1];
N = [N V2']; E = [E V']; S = [S -V2']; W = [W -V'];
end
end
for n = 2:max_n
[th, r] = cart2pol(E(1, n), E(2, n));
rot = [cos(-th) -sin(-th); sin(-th) cos(-th)];
v = E(:, n)'*rot*r;
jE = find(sum(abs([E(1, :)-v(1); E(2, :)-v(2)]), 1) < 0.5);
jS = find(sum(abs([S(1, :)-v(1); S(2, :)-v(2)]), 1) < 0.5);
jW = find(sum(abs([W(1, :)-v(1); W(2, :)-v(2)]), 1) < 0.5);
jN = find(sum(abs([N(1, :)-v(1); N(2, :)-v(2)]), 1) < 0.5);
a(n-1) = find([length(jE) length(jS) length(jW) length(jN)] > 0) - 1;
end
end % Thomas Scheuerle, Apr 19 2023
CROSSREFS
Cf. A362249, A362265 (indices of 0's).
Sequence in context: A292256 A095750 A056966 * A037846 A037882 A024865
KEYWORD
nonn
AUTHOR
STATUS
approved