光滑的径向渐变

时间:2013-06-19 14:40:57

标签: java algorithm gradient radial

所以,我正在尝试创建一个径向渐变(用于游戏中的静态光照)。我想出了这个:

int step = 4;
int forLen = (radius / step);
g.setColor(new Color(0, 0, 0, intensity));
for (int i = 0; i < forLen; i++)
    g.fillOval(radius - i * step, radius - i * step, i * step * 2, i * step * 2);

但我得到的结果是:

enter image description here

我希望得到更平滑的渐变,例如:

enter image description here

我试着玩一步和强度,但我不能得到类似于上面渐变的东西。 这样做的好方法是什么? 提前谢谢!

1 个答案:

答案 0 :(得分:2)

我没有具体的答案,但第二张照片的外观给我留下的印象是强度没有呈线性下降,而是呈指数级下降。

您可以尝试使用指数函数代替线性递减函数吗?对于向外的每一步,将强度乘以固定数a&lt; 1。