Mezclando dos colores "naturalmente" en javascript

El problema: Quiero mezclar dos colores en javascript y obtener el color resultante. Hay muchas preguntas similares sobre SO, sin embargo, no encuentro nada que realmente funcione correctamente. Sé que mezclar dos pinturas de diferentes colores (pigmentos) y luces dará resultados muy diferentes (http://en.wikipedia.org/wiki/Color_mixing).

Aquí están las preguntas y las soluciones sugeridas que ya he visto e intentado implementar:

1: Mezclando dos vectores de color RGB para obtener resultado.
Así, mezclando colores en RGB. Lo implementé, y en algunos casos funciona, en algunos casos no funciona.

Ejemplo de trabajo: Mezclandored conyellow ->orange. ¡Genial!
http://jsbin.com/afomim/1/edit

No funciona el ejemplo: Mezclandoblue conyellow ->gray. ¡No muy bien! :)http://jsbin.com/afomim/5/edit
Sé que en la mezcla RGBblue conyellow nunca harágreen, y entiendo por qué.

No encontraremos la respuesta aquí, sigamos adelante.

2: Agregar colores (colores) juntos como pintura (azul + amarillo = verde, etc.)

Intentemos trabajar con los valores CMYK como se sugiere en esta discusión. Mezclandocyan conyellow dagreen:
http://jsbin.com/igaveg/1/edit
pero mezclandoblue conyellow resultados enblack.
http://jsbin.com/igaveg/2/edit -> ¡No funciona!

3: ¿Cómo mezclar colores "naturalmente" con C #?
Una pregunta muy similar. La respuesta más popular sugiere convertir los colores a LAB, y esta solución parece prometedora.
Así que convertí mis colores a LAB. La conversión algo es correcta, lo he probado!

http://jsbin.com/oxefox/1/edit

Ahora tengo los dos colores en LAB, pero ¿cómo mezclarlos?

NOTA Sé que probablemente no encuentre un algo que se mezcle.blue conyellow y dará el perfectogreen, pero espero poder generar algo similar a verde :)

Respuestas a la pregunta(8)

Su respuesta a la pregunta