2014-06-17

Ilusión óptica de la pared del café en R

Title La ilusión óptica de la pared del café es una ilusión óptica geométrica en la que las líneas paralelas que separan los azulejos alternando en dos colores parecen ser oblicuas. Fue redescubierta por Richard Gregory in 1973 cuando un compañero de su laboratorio observó dicho efecto en la fachada de un café de Bristol.

En una entrada anterior recreamos el efecto en Excel. Esta vez lo hacemos en R.

Datos

 # OPCION 1: Importamos txt exportado desde Excel
cafe <- read.delim("~/R/cafe.txt", dec = ",")
 # OPCION 2: Datos desde cero
fila.1 <- rep(c(0.5,1),5) # Fila inicial
fila.2a13  <- rep(1,10)   # Resto filas

  # a. Data.frame
  cafe.df <- t(data.frame(fila.1, replicate(12,fila.2a13))) # Transponemos
  rownames(cafe.df) <- NULL # Eliminamos nombres de las filas
  
  # b. Matriz
  cafe.m <- matrix(c(fila.1,replicate(12,fila.2a13)),ncol=10,byrow=T)

Gráficos

# Barra apilada en blanco y negro
# OPCION 1
barplot(as.matrix(cafe),           # En formato matriz
        col = c("white", "black"), 
        horiz = TRUE, space = 0.01, 
        xaxt = "n", 
        yaxt = "n", 
        border = "gray")

# OPCION 2
barplot(as.matrix(cafe.df,         # O cafe.m
        col = c("white", "black"), # "steelblue" en lugar de "black"
        horiz = TRUE, space = 0.01, 
        xaxt = "n", 
        yaxt = "n", 
        border = "gray")

Black

Steelblue

Notas

Son varias las leyes que gobiernan la ilusión óptica. Para crear los gráficos anteriores, merece la pena mencionar varios aspectos. Es necesario que los colores de los azulejos sean contrastados. Es clave el tamaño del espacio y el color de separación entre las series para que contraste tanto con los azulejos oscuros como con los claros. Para lograr la ilusión óptica tenemos que evitar que los azulejos sigan un patrón ajedrezado o que los colores sean paralelos. Para ello creamos la fila inicial de la matriz o data frame.

Entradas relacionadas:
Ilusión óptica de la pared del café en Excel

No hay comentarios:

Publicar un comentario

Nube de datos