Interpolação de cores entre 3 cores no .NET

Eu gostaria de interpolar a cor suavemente da Cor A (vamos chamá-la de vermelho) para a Cor C (vamos chamá-la de verde) passando pela cor B (vamos chamá-la de amarelo), com base no valor de uma determinada variável.

Se a variável = 100, quero puro verde. Se a variável = 50, eu quero amarelo puro. Se a variável = 0, eu quero vermelho puro.

Eu entendo que você pode tratar cada triplete RGB como uma coordenada no espaço tridimensional. O que estou procurando é um truque de interpolação linear rápido e sujo que funciona de forma limpa com o layout específico do tipo de cor .NET (valores separados para ARGB, etc.).

questionAnswers(2)

yourAnswerToTheQuestion