обработка: несколько кругов друг на друга + изменение цвета - PullRequest
0 голосов
/ 16 ноября 2018

Я должен сделать что-л. как это, и я не могу понять, в чем проблема. Вот мой код:

size(200,200);
background(255);
float w = 200 ;
float radius = 20;
while ( radius <= 200) {
    stroke(0);
    fill( w );
    ellipse( 100 , 100 , radius, radius);
    w -= 10;
    radius += 20;
}

это должно выглядеть так:

enter image description here

1 Ответ

0 голосов
/ 16 ноября 2018

Вы должны установить цвет заливки альфа-каналом.Если вы вызываете fill() с 1 параметром, то устанавливается только серый цвет.Используйте 2 параметра, чтобы установить серый цвет и альфа-канал.

fill( w, w );

Поскольку в качестве режима по умолчанию используется BLEND, объекты смешиваются.Это означает, что если в одном и том же месте нарисовано больше объектов, то сцена в этих частях станет более насыщенной.Поэтому нет необходимости последовательно изменять w.

size(200,200);
background(255);
float w = 60;
float radius = 20;
while ( radius <= 200) {
    stroke(0);
    fill( w, w );
    ellipse(100, 100, radius, radius);
    radius += 20;
}

Предварительный просмотр:

...