有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java平滑径向梯度

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

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) 个答案

  1. # 1 楼答案

    我没有一个具体的答案,但第二张图片的外观给我的印象是,强度不是线性下降,而是指数下降

    你能试着用指数函数代替线性递减函数吗?对于向外的每一步,将强度乘以一个固定数字a<;一,