martes, 24 de febrero de 2015

Proyección ortogonal del cubo RGB

(es) Proyección ortogonal del cubo RGB

(eo) Orta projekcio de la kubo RGB

Proyección ortogonal del cubo RGB

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

Un cubo hecho de cubitos de los colores brillantes del arcoiris.

Motivación:

Fue una de las primeras ideas de experimento del autor aprendiendo el lenguaje CFDG aunque su concreción requirió más madurez y más experiencia en el lenguaje.

Descripción técnica:

Es la vista clara del cubo de color RGB, proyectado ortogonalmente.
El modelo de color RGB (Red-Green-Blue) es el modelo de colores aditivos más usado y usado en las pantallas emisoras de luz (monitores de computadora, televisores, teléfonos, etc.).
En este modelo los colores están determinados por su combinación de luz roja, luz verde y luz azul. La combinación máxima de los tres tipos de luz produce el color blanco. La ausencia de los tres tipos de luz produce el color negro.

Archivos

Código (CFDG):

# Copyright 2015 Eduardo Adam Navas López
# Este archivo es Software Libre liberado bajo la licencia GNU GPLv3 o su versión más reciente:
# http://www.gnu.org/licenses/gpl.html

#Para generar la imagen:
#$ cfdg -b 0 -s 8000 rgb.cfdg rgb.png

#Número de hexágonos de radio
RADIO = 64 #16

startshape cubo

PORCENTAJE_ESPACIO = 1.1
const1_r3 = (1/sqrt(3))
MEDIOANCHO = (sqrt(3)/2)*PORCENTAJE_ESPACIO
MEDIOALTO = 0.5*PORCENTAJE_ESPACIO
SATMIN = 0.01

shape prueba{
 hexagono1[]
 hexagono2[]
 hexagono3[]
}

shape cubo {
 loop bloque = 3 [r 120]{
  loop anillo = RADIO []{
   loop i = (anillo+1) []{
    loop j = (anillo+1) []{
     px = (i*MEDIOANCHO-j*MEDIOANCHO)
     py = (MEDIOALTO*(i+j))
     hexagono1[x px y py b 1
     sat ((1-SATMIN)*max(i,j)/(RADIO-1)+SATMIN)
     h (atan2(py,px)-30+bloque*120) ]
    }
   }
  }
 }
}

shape dosTriangulos {
  loop i = 2 [r 60]{
   TRIANGLE[y const1_r3 r 180]
  }
}

shape hexagono1 {
 dosTriangulos[r -30]
}

shape hexagono2 {
 dosTriangulos[r 90]
}

shape hexagono3 {
 dosTriangulos[r 210]
}

No hay comentarios:

Publicar un comentario