Tag Info

New answers tagged

1

Not exactly what is asked but it may be a good start too. Alternative approach with Grid: opt = {ImageSize -> {20, 20}, BaseStyle -> GrayLevel@.9}; Composition[ Framed[Grid[#, Spacings -> {.3, .3}], Background -> Black] &, ArrayPad[#, {2, 2}, Graphics[Rectangle[], opt]] &, # + (DiamondMatrix[5] /. {1 -> 0, 0 -> 1}) ...


3

My first attempt, using ShearingTransform sd[i_, j_] := If[And[4 <= j <= 10, 8 - j <= i - 1 <= j, j - 6 <= i - 1 <= 14 - j], -20, 0] GraphicsGrid[ Table[ Graphics[{GrayLevel@0.7, GeometricTransformation[ GeometricTransformation[ Rectangle[], ShearingTransform[sd[i, j] Degree, {0, 1}, {1, 0}]], ...


14

This is a similar idea to ybeltukov's, iteratively splitting rectangles into two smaller rectangles. I've used an integer grid to avoid getting small offsets between adjacent blocks, and a weighted random choice to decide whether to split horizontally or vertically or do nothing. The idea is that long thin rectangles should preferentially be split along the ...


25

An extended comment follows. Mondrian, in the late work referenced by the OP and characterized by primary colored rectangles separated by black lines, employes an extraordinarily sophisticated understanding of perception, color, and light. As background to understand what Mondrian does, I recommend The Interaction on Color, by Joseph Albers and Alfred C. ...


17

Here is my attempt to be Piet Mondrian colors = {RGBColor[0.9, 0.9, 0.9], RGBColor[0.05, 0.05, 0.05], RGBColor[0.8, 0.1, 0.1], RGBColor[0.1, 0.1, 0.5], RGBColor[0.9, 0.7, 0.1]}; split = # /. d : Rectangle[{x1_, y1_}, {x2_, y2_}] :> With[{t = RandomReal@BetaDistribution[10, 10], r = Random[]}, Which[ r < 0.3 (x2 - x1)/(y2 - y1), ...



Top 50 recent answers are included