O meu trabalho de "Generative Art" comçou com a ideia de pintar um quadro parecido com os do Piet Mondrian: https://dasartes.com.br/dasartes.com.br/wp-content/uploads/2020/10/mondrian-painting.jpg
Então, foi muito dificil pensar em uma função, que gere um mosaico, com tamanhos de quadrados aleatório, com o tamanho de tela desejado, então, fiz um gerador de mosaicos com os tamanhos dos quadrados estáticos. E para deixar um pouco mais colorido, eu fiz um gerador de cores pseudo-aleatórios, usando uma função LCG (Linear congruential generator). Bom foi isso que eu consegui fazer, e talvez eu revisite esse código algum dia para fazer alguns upgrades...
Edite os parâmetros w, h, w_tela, h_tela, seed do jeito que quiser e o programa ira gerar uma imagem a partir deles. Além disso pode usar a paleta de cores que quiser ou até mesmo editar os parâmetros dentro da função lcg para gerar uma paleta diferente
https://www.youtube.com/watch?v=Y-hQn4KQA70&t=380s
https://www.youtube.com/watch?v=C82JyCmtKWg