Estudio de los Colores: Algoritmo Sergio MA para la creación de colores complementarios

 


Rueda de Colores de Adobe

Teoria del Color. De Ana Morales (SizeMatters) YouTube


Algogitmo SergioMA para la creación de colores Armónicos o Complementarios

Los Colores Armónicos, también llamados Colores Complementarios, son aquellos se se complementan creando armonía en nuestras creaciones artísticas. Esto es debido a que son los que, dentro de la rueda de colores son opuestos. Dicho de otro modo podríamos decir que el inverso de un color (su color contrario) es precisamente el color complementario. Dichos colores deben de crear un equilibrio bifurcándose en armonía.

Pensemos en un color blanco RGB(255, 255, 255). Si alguien nos preguntara cual es el contrario del blanco, contestaríamos sin dudar que el color negro  RGB(0, 0, 0).

Esto es así porque la suma de la cantidad de R(Red-rojo), G(Green-verde) y B(Blue-azul) es precisamente el maximo valor que podemos obtener para un color: 255+0=255

Siguiendo esta idea, podemos confeccionar un algoritmo que, de un modo sencillo, nos devuelva el color complementario o armónico de cualquier color que imaginemos:

ALGORITMO SergioMA

Color Armónico = Maximo Valor del Color - Valor Actual del Color

De este modo podremos calcular de un modo sencillo y eficaz el color armónico o complementario de cualquier color que precisemos en cualquiera de las escalas de colores elegidas. Nosotros utilizaremos RGB.

Algunos ejemplos serian:

Rojo: RGB(255, 0, 0) —> Celeste(0,255,255)

Azul: RGB(0, 0, 255) —> Amarillo (255, 255, 0)

Verde: RGB(0,255,0) —> Magenta(255,0,255)

Calculemos el color armónico del Turquesa RGB(93, 193, 185)

255 - 93   = 162

255 - 193 = 62

255 - 185 = 70

Complementario del Turquesa: RGB (162,62,185)


CÓDIGO 

//(C)SergioSalazarLatorre

//Algoritmo SergioMA para la creacion de colores complementarios o armonicos

//Clase RufoColorsCL


let l =500


let r = 255

let g = 255

let b = 255

let c


function setup() {

  createCanvas(l,l);

  c = new RufoColors(0, 128, 128)

}


function draw() {

  strokeWeight(0)

  noStroke()

  background(c.colorRufo());

  //fill(color(255-c.r, 255-c.g, 255-c.b))

  fill(c.armonicoRufo())

  push()

  stroke(255)

  //strokeWeight(2)

  circle(l/2, l/2, l*5/8)

  text("(C)Sergio Salazar Latorre",10,l-12*3)

  text("Algoritmo SergioMA para la creación de colores armonicos", 10, l-12*2)

  text("Valor Maximo del color - Valor Actual del color", 10, l-12)

  noLoop()

}


class RufoColors

{

  constructor(r,g,b){

    this.r=r

    this.g=g

    this.b=b

    this.color = color(this.r, this.g, this.b)

    this.degradado = Array(255)

  }

  

  colorRufo(){

    return this.color

  }

  

  armonicoRufo(){

    //Algoritmo para creacion de colores complementarios SergioMA: Para cada color: valorMaximo del color - ValorColorActual

    return color(255-this.r, 

                 255-this.g,

                255-this.b)

  }

    

}


Comentarios

Entradas populares