Java 3 档之间的颜色插值

Java color interpolation between 3 stops

我有一个函数,我将 r g 和 b 传递给它然后 returns 一种颜色,r g 和 b 介于 0.0 和 1.0 之间。

我需要根据从 0.0 到 1.0 的百分比对传递函数的颜色进行插值,从红色到黄色再到绿色。

我找到了另一个 SO 答案 Color interpolation between 3 colors 但我不确定如何将它应用到我的案例中。

我使用以下函数来模拟从红色到黄色再到绿色的颜色变化:

public Color getColor(float p){
    return new Color(1.0-p,p,0);
}

其中 getColor(0) returns 红色,getColor(0.5) returns 黄色,getColor(1.0) returns 绿色