Misturando duas cores "naturalmente" em javascript

O problema: Eu quero misturar duas cores em javascript e obter a cor do resultado. Há muita pergunta semelhante no SO, no entanto, não encontro nada que funcione corretamente. Eu sei que misturar duas tintas de cores diferentes (pigmentos) e luzes dará resultados muito diferentes (http://en.wikipedia.org/wiki/Color_mixing).

Aqui estão as perguntas e soluções sugeridas que já vi e tentei implementar:

1: Misturando dois vetores de cor RGB para obter o resultado
Então, misturando cores em RGB. Eu o implementei e, em alguns casos, ele funciona em alguns casos.

Exemplo de trabalho: Misturared comyellow ->orange. Ótimo!
http://jsbin.com/afomim/1/edit

Não está funcionando exemplo: Misturablue comyellow ->gray. Não é tão bom! :)http://jsbin.com/afomim/5/edit
Eu sei que na mixagem RGBblue comyellow nunca farágreene eu entendo porque.

Nós não encontraremos a resposta aqui, vamos avançar.

2: Adicionando Cores (Cores) Juntas como Tinta (Azul + Amarelo = Verde, etc)

Vamos tentar trabalhar com valores CMYK, conforme sugerido nesta discussão. Misturacyan comyellow dágreen:
http://jsbin.com/igaveg/1/edit
mas misturandoblue comyellow resulta emblack.
http://jsbin.com/igaveg/2/edit -> Não funciona!

3: Como misturar cores "naturalmente" com c #?
Uma pergunta muito parecida. A resposta mais votada sugere a conversão de cores em LAB, e essa solução parece promissora.
Então eu converti minhas cores para LAB. O algoritmo de conversão está correto, eu testei!

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

Agora eu tenho as duas cores no LAB, mas como misturá-las?

NOTA Eu sei que provavelmente não vou encontrar um algoritmo que mistureblue comyellow e vai dar o perfeitogreen, mas espero poder gerar algo parecido com o verde :)

questionAnswers(8)

yourAnswerToTheQuestion