size(640,480); int s = 7; // Seed value background(0); stroke(255, 30); randomSeed(s); // Produce the same numbers each time for (int i = 0; i < 690; i++) { float r = random(10); strokeWeight(r); float offset = r * 10; line(i-15, 460, i+offset, 0); } //star noStroke(); fill(255); smooth(); float radius = 1.0; for (int deg = 0; deg < 360*5; deg += 40) { float angle = radians(deg); float x = 200 + (cos(angle) * radius); float y = 75 + (sin(angle) * radius); ellipse(x, y, 2, 2); radius = radius + 0.2; } //wing smooth(); noFill(); randomSeed(0); strokeWeight(15); stroke(255, 100); for (int i = 0; i < 100; i += 8) { float begin = radians(i); float end = begin + HALF_PI; arc(150, 150, i, i-10, begin, end); } /* fill(175); smooth(); stroke(175); strokeWeight(8); strokeJoin(ROUND); strokeCap(ROUND); beginShape(); vertex(-10, 455); for (int i = -16; i <= 800; i += 40) { vertex(i, 445); vertex(i, 455); } vertex(680, 455); endShape(); */ fill(85); smooth(); stroke(85); strokeWeight(8); strokeJoin(ROUND); beginShape(); vertex(-10, 460); for (int i = -10; i <= 800; i += 40) { vertex(i, 445); vertex(i, 455); } vertex(680, 460); endShape(); fill(0); smooth(); stroke(0); strokeWeight(6); strokeJoin(ROUND); beginShape(); vertex(-10, 470); for (int i = -10; i <= 800; i += 40) { vertex(i, 450); vertex(i, 460); } vertex(680, 470); endShape();