int W = 400; // We will write to a hypothetical 300x200 canvas, // but scale appropriately for other sizes float scale = W/300.0; size(W,int(200*scale)); background(135,206,235); // sky blue // sun fill(255,255,0); ellipse(scale*250, scale*50, scale*30, scale*30); // sunrays strokeWeight(3*scale); stroke(255,255,0); line(scale*230, scale*70, scale*215, scale*85); line(scale*270, scale*70, scale*285, scale*85); line(scale*270, scale*30, scale*285, scale*15); line(scale*230, scale*30, scale*215, scale*15); strokeWeight(1); // grass fill(0,255,0); stroke(0,255,0); rect(0, scale*120, scale*300, scale*80); // tree stroke(0); fill(0,100,0); triangle(scale*50, scale*80, scale*30, scale*140, scale*70, scale*140); // house facade fill(255); rect(scale*110, scale*100, scale*60, scale*60); // house roof fill(127); quad(scale*105, scale*105, scale*175, scale*105, scale*170, scale*85, scale*110, scale*85); // chimney stroke(255,0,0); fill(255,0,0); rect(scale*148, scale*72, scale*15, scale*28); // window fill(0); strokeWeight(2*scale); rect(scale*123, scale*110, scale*15, scale*20); // fence int numPosts = 25; float postWidth = 4*scale; float fenceWidth = postWidth * (2*numPosts+1); float left = scale*80; float top = scale*150; strokeWeight(1); stroke(0); fill(139,90,43); rect(left, top+postWidth, fenceWidth, postWidth); rect(left, top+3*postWidth, fenceWidth, postWidth); for (int j=0; j < numPosts; j++) { rect(left+(2*j+1)*postWidth, top, postWidth, postWidth*5); } save("houseFence.jpg");