# flag.frink

``` // This draws the American flag using the proper recommended proportions, // which are rather surprising and make the flag very long and narrow. // See: http://www.usflag.org/flagspecs.html // Function to draw a star centered at cx, cy with radius r. drawStar[g is graphics, cx, cy, r] := {    angle = 0 degrees    // Radius of inner points    rr = r (-1 + sqrt)/(1+sqrt)    p = new filledPolygon[]    for i=1 to 5    {       p.addPoint[cx + r sin[angle], cy - r cos[angle]]  // Outer point       p.addPoint[cx + rr sin[angle + 36 degrees],       // Inner point                  cy - rr cos[angle + 36 degrees]]       angle = angle + 72 degrees    }    g.add[p] } g = new graphics // Draw red stripes g.color[1,0,0] for s=0 to 12 step 2    g.fillRectSize[0, 1/13 * s, 1.9, 1/13] // Draw blue rectangle g.color[0,0,.5]                  // Dark Blue g.fillRectSize[0, 0, 0.76, 7/13] // Draw stars g.color[1,1,1]                  // White hSpacing = 0.063 vSpacing = 0.054 r = 0.0616/2 // Draw rows of 6 for y=vSpacing to 9 vSpacing step 2 vSpacing    for x= hSpacing to 11 hSpacing step 2 hSpacing       drawStar[g, x, y, r] // Draw rows of 5 for y=2 vSpacing to 8 vSpacing step 2 vSpacing    for x = 2 hSpacing to 10 hSpacing step 2 hSpacing       drawStar[g, x, y, r] // Draw outline g.color[0,0,0] g.drawRectSize[0, 0, 1.9, 1] g.show[]    //g.printTiled[2,1] ```