Rainbow Arch
size(400, 200);
smooth();
color skyBlue = color(0x87, 0xCE, 0xEB); // Equivalent of the CSS color #87CEEB
background(skyBlue);
float cx = width/2;
float cy = height;
float rainbowThick = width / 5.0;
float outerDiam = width * .9;
colorMode(HSB, 1);
noFill(); // We added this line to avoid filling the area below the arcs.
for (int i = 0; i < rainbowThick; ++i) {
float ratio = i/rainbowThick;
float hue = ratio*ratio;
float saturation = 1;
float brightness = 1;
float alpha = sin( PI*ratio ) * 1.5 / 2; // We use dimmer alpha than before to compensate for overdraw
stroke( hue, saturation, brightness, alpha );
arc(cx, cy, outerDiam-i, outerDiam-i, PI, PI*2);
}