In[]:=
Multisets[m_Integer,n_Integer]:=With[{u=Range[0,n-1]},(#-u)&/@Subsets[Range[n+m-1],{n}]];
In[]:=
Subsets[Range[4],{2}]
Out[]=
{{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}}
In[]:=
Subsets[Range[4],{2}]
Out[]=
{{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}}
In[]:=
Tuples[Range[3],2]
Out[]=
{{1,1},{1,2},{1,3},{2,1},{2,2},{2,3},{3,1},{3,2},{3,3}}
In[]:=
Multisets[3,2]
Out[]=
{{1,1},{1,2},{1,3},{2,2},{2,3},{3,3}}
In[]:=
Union@Tuples[Range[3],2]
Out[]=
{{1,1},{1,2},{1,3},{2,1},{2,2},{2,3},{3,1},{3,2},{3,3}}
In[]:=
Tuples[Range[3],2]
Out[]=
{{1,1},{1,2},{1,3},{2,1},{2,2},{2,3},{3,1},{3,2},{3,3}}
In[]:=
Tuples[{{1},{1,2,3},{1,2,3}}]
Out[]=
{{1,1,1},{1,1,2},{1,1,3},{1,2,1},{1,2,2},{1,2,3},{1,3,1},{1,3,2},{1,3,3}}
In[]:=
angleFunc[3,3]
In[]:=
,,,,,,,,2π,,,,,,,,,2π,,2π,,,2π,,,2π,2π,,,,,,,,,2π,,,,,,,,,2π,,2π,,,2π,,,2π,2π,2π,,,2π,,,2π,,2π,2π,,,2π,,,2π,,2π,2π,2π,,2π,2π,,{2π,2π,2π}
2π
3
2π
3
2π
3
2π
3
2π
3
4π
3
2π
3
2π
3
2π
3
4π
3
2π
3
2π
3
4π
3
4π
3
2π
3
4π
3
2π
3
2π
3
2π
3
4π
3
2π
3
4π
3
2π
3
2π
3
4π
3
2π
3
4π
3
4π
3
2π
3
4π
3
4π
3
2π
3
4π
3
4π
3
4π
3
4π
3
4π
3
4π
3
2π
3
4π
3
4π
3
4π
3
2π
3
2π
3
2π
3
4π
3
2π
3
4π
3
2π
3
4π
3
4π
3
4π
3
2π
3
4π
3
In[]:=
angleFunc[m_,n_]:=&/@Tuples[Range[m],n]
2π#
m
In[]:=
angleFunc2[m_,n_]:=MapPrepend[#,{0,0}]&,ReImAccumulate/@Exp&/@Multisets[m,n];
2π#
m
In[]:=
angleFunc3[m_,n_]:=ReImTotal/@Exp&/@Multisets[m,n];
2π#
m
In[]:=
tab=Table[Tally[Last/@AnglePath/@angleFunc[n,k]]〚All,2〛,{n,1,6},{k,1,6}];
In[]:=
Map[Row,tab,{2}]
Out[]=
{{1,1,1},{11,211,3311},{111,221211,6333313311},{1111,242121211,9933993313313311},{11111,222212221221211,66633663363333166336333316333313311},{111111,2262212221221221211,61515633151266151515666331633616336163313311}}
In[]:=
Multisets[5,2]
Out[]=
{{1,1},{1,2},{1,3},{1,4},{1,5},{2,2},{2,3},{2,4},{2,5},{3,3},{3,4},{3,5},{4,4},{4,5},{5,5}}
In[]:=
Tuples[Range@5,2]
Out[]=
{{1,1},{1,2},{1,3},{1,4},{1,5},{2,1},{2,2},{2,3},{2,4},{2,5},{3,1},{3,2},{3,3},{3,4},{3,5},{4,1},{4,2},{4,3},{4,4},{4,5},{5,1},{5,2},{5,3},{5,4},{5,5}}
In[]:=
(Map[Length,tab,{2}])//Grid//TeXForm
Out[]//TeXForm=
\begin{array}{cccccc}
1 & 1 & 1 & 1 & 1 & 1 \\
2 & 3 & 4 & 5 & 6 & 7 \\
3 & 6 & 10 & 15 & 21 & 28 \\
4 & 9 & 16 & 25 & 36 & 49 \\
5 & 15 & 35 & 70 & 126 & 210 \\
6 & 19 & 37 & 61 & 91 & 127 \\
\end{array}
1 & 1 & 1 & 1 & 1 & 1 \\
2 & 3 & 4 & 5 & 6 & 7 \\
3 & 6 & 10 & 15 & 21 & 28 \\
4 & 9 & 16 & 25 & 36 & 49 \\
5 & 15 & 35 & 70 & 126 & 210 \\
6 & 19 & 37 & 61 & 91 & 127 \\
\end{array}
In[]:=
Module[{p},p=AnglePath/@angleFunc[5,2];Graphics[{{Gray,Opacity[0.3],Line[p]},{Opacity[0.3],Magenta,PointSize[0.01],Point[Last@#]&/@p}},ImageSize500]]
Out[]=
In[]:=
Module[{p},p=angleFunc2[5,2];Graphics[{{Gray,Opacity[0.3],Line[p]},{Opacity[0.3],Magenta,PointSize[0.01],Point[Last@#]&/@p}},ImageSize500]]
Out[]=
In[]:=
(Map[Row,tab,{2}])//Grid
im8=Module[{p,p2},p=AnglePath/@angleFunc2[8,3];Graphics[{{Gray,Opacity[0.3],Line[p]},{Opacity[0.3],Magenta,PointSize[0.01],Point[Last@#]&/@p}},ImageSize500]];