Al mezclar pintura azul y amarilla, el resultado es una especie de verde.Algoritmo para encontrar el color entre otros dos: en el espacio de color de los colores pintados
Tengo dos colores RGB:
azul = (0, 0, 255)
y amarillo = (255, 255, 0)
Cuál es el algoritmo para encontrar el color RGB ¿ese es el resultado de mezclar los dos colores, como aparecerían al usar pintura? Los colores resultantes del algoritmo no tienen que ser terriblemente exactos. Para el ejemplo anterior, solo debería verse como una especie de verde.
Gracias de antemano.
Editar: Esta función, escrita en Go, funcionó para mí, en función de la respuesta de LaC.
func paintMix(c1, c2 image.RGBAColor) image.RGBAColor {
r := 255 - ((255 - c1.R) + (255 - c2.R))
g := 255 - ((255 - c1.G) + (255 - c2.G))
b := 255 - ((255 - c1.B) + (255 - c2.B))
return image.RGBAColor{r, g, b, 255}
}
Edición # 2 Allthought este logra mezclar cian y amarillo, la mezcla entre el azul y el amarillo se vuelve negro, lo que no parece correcto. Todavía estoy buscando un algoritmo de trabajo.
Edit # 3 Aquí hay un ejemplo de trabajo completo en Go, usando el espacio de color HLS: http://go.pastie.org/1976031. Gracias Mark Ransom.
Edición # 4 parece que el camino a seguir para una mejor mezcla de colores sería el uso de la ecuación de Kubelka-Munk
Esta es una buena. Si alguien se da cuenta de que podrían conseguir un trabajo en Wolfram. http://www.wolframalpha.com/input/?i=yellow+%2B+blue –
Ya se ha respondido en su mayor parte aquí: http://stackoverflow.com/questions/4235072/math-behind-the-colour-wheel – colinross
Otro duplicado: http://stackoverflow.com/questions/1351442/is-there-an-algorithm-for-color-mixing-that-works-like-mixing-real-colors – tylerl