A256940 a(n) is the total number of free ends of a certain configuration of line segments after n iterations (see Comments lines for definition).
2, 4, 8, 12, 12, 12, 20, 20, 16, 24, 28, 48, 52, 36, 44, 36, 16, 24, 40, 56, 72, 72, 76, 80, 60, 64, 80, 124, 132, 88, 100, 68, 16, 24, 40, 56, 72, 80, 88, 104, 112, 128, 176, 216, 244, 212, 168, 148, 84, 64, 104, 152, 200, 200, 212, 216, 148, 144, 176, 276, 296, 192, 212, 136, 16
Offset: 0
Keywords
Links
- Kival Ngaokrajang, Illustration of initial terms, n <= 12
- Andrey Zabolotskiy, Illustration for a(64)=16
Programs
-
Mathematica
new2[{{s_, t_}, a_}] := Simplify@Table[{{t, AngleVector[t, {1, a + si Pi/4}]}, a + si Pi/4}, {si, {1, -1}}]; xx[l1_, l2_] := SquaredEuclideanDistance[First@l1, First@l2] <= 4 && With[{int = Simplify@RegionIntersection[Line@l1, Line@l2]}, int =!= EmptyRegion[2] && int =!= Point[{First@l2}] && int =!= Point[{First@l1}]]; {nonfree, free} = {{}, {{{{1/2, 0}, {1, 0}}, 0}, {{{1/2, 0}, {0, 0}}, Pi}}}; a = {2}; next[] := ({oldnonfree, oldfree, nonfree, free} = {nonfree, free, Join[free, nonfree], {}}; Do[n2 = new2[f]; If[And @@ Table[AllTrue[oldnonfree, ! xx[First@#, First@new] &], {new, n2}], Do[ tt = GroupBy[free, xx[First@#, First@new] &]; free = Lookup[tt, False, {}]; If[KeyExistsQ[tt, True], nonfree = Join[nonfree, tt[True], {new}], AppendTo[free, new]]; , {new, n2}]], {f, oldfree}]; AppendTo[a, Length@free];); Do[next[], {10}]; a (* Andrey Zabolotskiy, Mar 09 2025 *)
Extensions
a(1) = 2 prepended and a(3) = 8 corrected by Omar E. Pol, Apr 19 2015
Partially edited by Kival Ngaokrajang, as Omar E. Pol suggestion, Apr 26 2015
Terms a(12), a(13), a(59) corrected by Kival Ngaokrajang, Apr 26 2015
Terms a(27), a(60), a(63) corrected, other terms verified, description clarified by Andrey Zabolotskiy, Mar 09 2025
Comments