Складывая круги, вы должны умножить все предыдущие альфы, а не суммировать их в целом.
Круг с 50% альфа показывает 50% фона.Если вы добавите второй круг с 50% альфа, он покажет 50% того, что ниже, то есть первый круг и ниже этого фона.Окончательный результат - 50% * 50% = 25% фона.
Это означает, что последний нарисованный круг все еще имеет альфа = 1, и он показывает 99% всего, что находится под ним.Это не то же самое, что альфа = 255.
В любом случае, это теория.Я не могу объяснить, почему он достигает максимума в 128, я протестировал несколько вещей, и мне кажется, что это что-то особенное под капотом обработки.
Решение получить желаемый эффект - это нечтокак это:
for (int i=128; i>0; i--)
{
fill(255, 255, 255, 1);
ellipse(0, 250, i*2, i*2);
}
Если вы хотите, чтобы оно было ярче, вы можете увеличить альфа, но артефакты «кольца» начнут отображаться.