title: Reproducing "Computer composition with lines" in R
body: <p>Folks,</p>
  <p>I am trying to reproduce a famous computer art work, &quot;Computer Composition with Lines&quot;, by A. Michael Noll, in R using ggplot.</p>
  <p>Here is the original: <a href="https://collections.vam.ac.uk/item/O1193787/computer-composition-with-lines-photograph-noll-a-michael/" rel="noreferrer">https://collections.vam.ac.uk/item/O1193787/computer-composition-with-lines-photograph-noll-a-michael/</a></p>
  <p><img src="https://media.vam.ac.uk/media/thira/collection_images/2011EY/2011EY6965_jpg_ds.jpg" alt="" /></p>
  <p>I made it to the point where I can create a circle of randomly black or white pixels, but I have a hard time in creating patterns similar to the ones used by Noll.</p>
  <p>I can easily create a matrix of ones and zeroes, then cut away the parts that are out of a circle. But the pattern (I tried uniform, beta, normal...) is definitely too similar to white noise, while there is a structure in the randomness of the original work.</p>
  <pre><code>library(tidyverse)
  
  # this generates the matrix
  genData &lt;- function(N) {
  
    # a N*N matrix of ones and zero according to a rounded beta draw
    df &lt;- tibble(x = rep(seq(1,N), N),
           y = rep(seq(1,N), each = N),
           z = round(rbeta(N*N, 2, 1)))
  
    # centering on zero and cutting away all points outside of a circle
    df %&gt;% 
      mutate(x = x-(N/2 + 1), y = y-(N/2 + 1)) %&gt;% 
      filter(x^2 + y^2 &lt; (N/2)^2)
  }
  
  #this plots the data
  plotData &lt;- function(df, color = &quot;black&quot;){
    df %&gt;% 
      ggplot(aes(x,y, fill = as.factor(z)))+
      geom_tile()+
      scale_fill_manual(values = c(color, &quot;white&quot;))+
      coord_equal()+
      theme_void()+
      theme(legend.position = &quot;none&quot;)
  }
  
  #executing
  genData(100) %&gt;% 
    plotData()
  </code></pre>
  <p>Which results in:</p>
  <p><a href="https://i.stack.imgur.com/2qb1d.png" rel="noreferrer"><img src="https://i.stack.imgur.com/2qb1d.png" alt="enter image description here" /></a></p>
  <p>I suppose the question boils down to <strong>which random process can I use here</strong>? I did not find any lead online.</p>