Fazendo Arte no R

Fazendo Arte no R

Muitos pensam que o R é uma linguagem para escrita de scripts voltados para análise estatística.

Pois bem, essas pessoas não estão erradas.

No entanto, o R é muito mais do que isso.

Nesse notebook vou mostrar como você pode ficar milionário criando verdadeiras obras de arte utilizando essa linguagem.

Por favor, entre em contato para depositar 10% de qualquer eventual ganho provindo das vendas realizadas das artes feitas a partir dos códigos aqui adquiridos.

Primeiro, criaremos uma função que aplique uma transparência numa dada cor:

CorT = function(cor, p = 50) {
    r = col2rgb(cor)
    col = rgb(r[1], r[2], r[3], max = 255, alpha = (100 - p)*255/100)
    return(col)
}

Em seguida, é só brincar com os argumentos da função plot e adicionar algumas aleatoriedades:

Arte = function(n = 1000, pch = 20, tam = 1, trans = 0){
    cores0 = c('forestgreen', 'gold', 'red')
    cores = NULL
    for(i in 1:n) cores[i] = CorT(sample(cores0, 1), runif(0, trans, 100))
    x = rnorm(n, 3, 3)
    y = rnorm(n, 3, 3) 
    par(bg = "cornsilk")
    plot(x, y, col = cores, cex = rgeom(n, 1/tam) + 1, 
         pch = pch, axes = FALSE, xlab = '', ylab = '')
}

Vejamos agora alguns exemplos de aplicação da função Arte, definida acima:

Arte(1000, 20, 4, 10)

Arte(2000, 15, 4, 20)

Arte(200, 17, 6, 0)

E aí, você achou que seria assim tão fácil gerar uma obra de arte, que pode valer milhões, no R?

Modifique e faça sua própria função. Altera a maneira de tratar os parâmetros. Insira novos argumentos. Invente!

E aí, já fez sua obra de arte? Manda pra que quero ver!

Tags: | | | | | |

Sobre o Autor

Ricardo Rocha
Ricardo Rocha

Olá! Atualmente, sou docente do magistério superior na Universidade Federal da Bahia. Atuo na área de Estatística Computacional junto ao Departamento de Estatística do Instituto de Matemática e Estatística da UFBA. Aqui na FLAI, atuo como colaborador na produção de conteúdos gratuitos. Fique a vontade para entrar em contato, você pode utilizar qualquer uma das redes sociais abaixo!

2 Comentários


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *