# How to produce an Itten color star?

Johannes Itten (1888 - 1967) was a Swiss painter and designer

From 1919 to 1922, Itten taught at the Bauhaus School in Weimar, teaching his students the basics of materials, composition and color. One of his better-known works from this period is the color star of 1921:

Color wheels and stars have a long tradition, which is explained in this excellent post by David Briggs:

huevaluechroma

Another table from David's post:

Also interesting: colorsystem

To replicate the Itten star I tried RadialAxisPlot, but don't have any idea how to color the 12 different segments (spikes) differently.

RadialAxisPlot[Riffle[Table[1, 12], 0.5, {2, -1, 2}],
FillingStyle ->
Method -> {"AxesInFront" -> True, "GridLinesInFront" -> True}]


I would like to see "warm" colors, not the usual "glaring" hue colors. More Itten and less Holzel, so to speak.

• I'm much fond of the "C, Sowerby, 1809" chart, any idea how to reproduce it faithfully? Nov 15, 2023 at 8:37
• Yes, it's very nice, but would require a new question. Have a look a this link: colorsystem.com/?page_id=762&lang=en
– eldo
Nov 15, 2023 at 8:50
• Thanks for the link. Very interesting reading! Nov 15, 2023 at 12:28
• Straight off-topic, but I must comment here as a thanks: thanks to this question, I turned out to read/watched and learned a lot about how to mix and use watercolor pigments. :) Nov 16, 2023 at 18:08

ittenColors = Riffle[#, Blend /@ Partition[#, 2, 1, {1, 1}]] & @
{Red, Orange, Yellow, Green, Blue, Purple};

Row[Map[Style[#, 50] &] @ ittenColors, Spacer[2]]


We can use PieChart with a custom ChartElementFunction as follows:

ClearAll[colorStar]
colorStar[rsegments_ : 12, radialorigin_ : 0] :=
Module[{segs = Partition[Subdivide[## & @@ #[[2]], rsegments], 2, 1],
poly = Polygon[Join[{{0, 0}},
Through[{Mean, Last, Mean} @ #[[2]]]
Transpose @ Through @ {Cos, Sin} @ Riffle[#[[1]], Mean @ #[[1]]]]]},
Map[r |->
{Blend[{White, ChartingChartStyleInformation["Color"], Black},
Rescale[First @ r, radialorigin + {0, 1}]],
ChartElementData["Sector"][{#[[1]], r}, ##2] /.
p_Polygon :> RegionIntersection[poly, p]}] @ segs] &;


Examples:

PieChart[Table[1, 12],
ChartStyle -> ittenColors,
ChartBaseStyle -> EdgeForm[],
PerformanceGoal -> "Speed",
SectorOrigin -> {{Pi/6, -1}, 0},
PolarGridLines -> {Range[0, 2 Pi, Pi/2], Subdivide[12]},
ChartElementFunction -> colorStar[]]


PieChart[Table[1, 12],
ChartStyle -> ittenColors,
ChartBaseStyle -> EdgeForm[{Thin, Gray}],
PerformanceGoal -> "Speed",
SectorOrigin -> {{Pi/6, -1}, 1/4},
ChartElementFunction -> colorStar[12, 1/4],
PolarGridLines -> {Range[0, 2 Pi, Pi/2], 1/4 + Subdivide[12]}]


Itten's 1921 color scheme:

clist = {{156, 72, 83}, {183, 54, 62}, {218, 64, 67}, {252, 83,
55}, {254, 154, 46}, {255, 226, 78}, {198, 189, 58}, {77, 146,
100}, {1, 114, 127}, {0, 105, 156}, {62, 96, 167}, {97, 88, 133}};
Table[RotateRight[PadRight[{0.5, 1.0, 0.5}, 24], 2 n], {n, 0, 11}],
Filling ->
Table[{Axis,
Table[ImageScaled[s], {s, 0.1, 0.9, 1/6*(8/10)}] ->
Table[Blend[{White, c, Black}, x], {x, 0, 1, 1/6}]]}, {c,
RGBColor /@ (clist/255)}],
Method -> {"AxesInFront" -> True, "GridLinesInFront" -> True},
PlotStyle -> Directive[Gray, Thin],
GridLines -> Table[i, {i, 1/7, 1, 1/7}], Ticks -> None,
Axes -> Riffle[Table[False, 20], True, {1, -2, 6}], PlotRange -> 1]


Itten's 1961 color scheme:

clist = {{120, 7, 77}, {217, 1, 13}, {250, 38, 1}, {247, 93, 9}, {246,
143, 1}, {247, 185, 4}, {114, 155, 20}, {3, 134, 95}, {1, 136,
182}, {2, 75, 158}, {3, 48, 141}, {20, 26, 125}};
`