Bill Picture

Author

Eric W. Weisstein
February 10, 2025

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Graphics/BillPicture.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/BillPicture.html.

©2025 Wolfram Research, Inc. except for portions noted otherwise

Additional Authors

Code adapted from
Michael Trott
The Mathematica GuideBook for Graphics
New York: Springer-Verlag, 2004

Code

ngonD[startPoint_,startDirection_,n_]:=Module[
{λ,direction=startDirection,mat=RotationMatrix[-2Pi/n]},
NestList[
(λ=#+direction;direction=mat.direction;λ)&,
startPoint,
n-1
]
]

BillPicture[n_Integer]:=Module[{j},
Graphics[{
EdgeForm[Black],
Thread[{
Table[FaceForm[Hue[0.8 j/If[n==3,1,n-3]]],{j,0,n-3}],Polygon/@FoldList[ngonD[#1[[2]],#1[[3]]-#1[[2]],#2]&,ngonD[{0.,0.},{1,0},n],Table[j,{j,n-1,3,-1}]]}]
}]
]

Graphics

GraphicsGrid[Partition[Table[BillPicture[n],{n,3,8}],3]]

BillPicture[12]

Click to copy

ngonD[startPoint_,startDirection_,n_]:=Module[
{λ,direction=startDirection,mat=RotationMatrix[-2Pi/n]},
NestList[
(λ=#+direction;direction=mat.direction;λ)&,
startPoint,
n-1
]
]
BillPicture[n_Integer]:=Module[{j},
Graphics[{
EdgeForm[Black],
Thread[{
Table[FaceForm[Hue[0.8 j/If[n==3,1,n-3]]],{j,0,n-3}],Polygon/@FoldList[ngonD[#1[[2]],#1[[3]]-#1[[2]],#2]&,ngonD[{0.,0.},{1,0},n],Table[j,{j,n-1,3,-1}]]}]
}]
]
GraphicsGrid[Partition[Table[BillPicture[n],{n,3,8}],3]]

ngonD[startPoint_,startDirection_,n_]:=Module[
{λ,direction=startDirection,mat=RotationMatrix[-2Pi/n]},
NestList[
(λ=#+direction;direction=mat.direction;λ)&,
startPoint,
n-1
]
]
BillPicture[n_Integer]:=Module[{j},
Graphics[{
EdgeForm[Black],
Thread[{
Table[FaceForm[Hue[0.8 j/If[n==3,1,n-3]]],{j,0,n-3}],Polygon/@FoldList[ngonD[#1[[2]],#1[[3]]-#1[[2]],#2]&,ngonD[{0.,0.},{1,0},n],Table[j,{j,n-1,3,-1}]]}]
}]
]
BillPicture[12]