Flag Of Canada


  // Canada Flag- Jim Bumgardner
  
  // Reference: http://en.wikipedia.org/wiki/Flag_of_Canada#References
  
  // Issues: Wikipedia, does not precisely list coordinates of maple leaf, but does provide an SVG file.
  
  int kHeight = 250; // The only number that needs changing
  color whiteColor = color(255,255,255);
  color redColor = color( #D81E05 );  // Pantone PMS 485
  
  size(kHeight*2/1, kHeight);
  smooth();
  noStroke();
  
  float stripeWidth = width/4.0;
  
  background(whiteColor);
  fill(redColor);
  rect(0,0, stripeWidth, height);
  rect(stripeWidth*3,0, stripeWidth, height);
  
  scale(height/300.0); // Maple Leaf coords assume height is 300, scale accordingly
  beginShape();
    // Maple leaf: This is a translation of the leaf's SVG path in 
    // http://upload.wikimedia.org/wikipedia/commons/4/4b/Canadian_flag_construction_sheet.svg
    vertex(319.545,66.4328);
    bezierVertex(321.762450,70.551350,325.734920,70.169240,329.708000,67.868830);
    vertex(343.8548,60.25195);
    vertex(333.3111,118.45875);
    bezierVertex(331.093650,129.092650,338.207860,129.092650,341.718470,124.494840);
    vertex(366.40767,95.75624);
    vertex(370.41586,110.35014);
    bezierVertex(370.878096,112.266930,372.910350,114.279710,375.959290,113.800470);
    vertex(407.17899,106.9754);
    vertex(398.97893,137.9734);
    bezierVertex(397.223530,144.870850,395.854210,147.726660,400.751150,149.545700);
    vertex(411.87885,154.98368);
    vertex(358.13625,200.37368);
    bezierVertex(356.009130,202.089770,354.934420,205.178400,355.691650,207.974880);
    vertex(360.39527,224.02448);
    bezierVertex(341.890870,221.806840,325.301070,219.821650,306.797070,217.606650);
    bezierVertex(305.152980,217.585296,302.680410,219.164190,302.691750,221.133520);
    vertex(304.10794,279.80752);
    vertex(295.11115,279.80752);
    vertex(297.56293,221.00752);
    bezierVertex(297.574080,219.038200,294.847720,217.585350,293.203620,217.606700);
    bezierVertex(274.699620,219.821690,258.109720,221.806890,239.605420,224.024530);
    vertex(244.30904,207.97493);
    bezierVertex(245.066268,205.178460,243.991560,202.089830,241.864440,200.373730);
    vertex(188.12184,154.98373);
    vertex(199.24974,149.54575);
    bezierVertex(204.146500,147.726660,202.777170,144.870850,201.021770,137.973450);
    vertex(192.82171,106.97545);
    vertex(224.04141,113.80052);
    bezierVertex(227.090350,114.279764,229.122610,112.266980,229.584840,110.350190);
    vertex(233.59303,95.75629);
    vertex(258.28223,124.49489);
    bezierVertex(261.792840,129.092690,268.907030,129.092690,266.689600,118.458800);
    vertex(256.1459,60.252);
    vertex(270.2927,67.86888);
    bezierVertex(274.265550,70.169290,278.238210,70.551400,280.455700,66.432850);
    vertex(299.996,28.53725);
    vertex(319.5454,66.43285);
    vertex(299.996,28.53725);
  
  endShape();