Difference between revisions of "Draw a Crescent"

From Progzoo
Jump to navigation Jump to search
Line 8: Line 8:
 
*<code>off</code>
 
*<code>off</code>
 
:the offset - the distance between the circles' centres
 
:the offset - the distance between the circles' centres
In addition we can use variables to denote the width and height of the blue rectangle:
+
In addition we can use variables to denote the width and height of the blue rectangle and the distance of the left edge of the circle from the left of the blue rectangle:
 
*<code>blueW</code>
 
*<code>blueW</code>
 
*<code>blueH</code>
 
*<code>blueH</code>
 +
*<code>circL</code>
 
[[Image:flagmalaysia.png|border]]
 
[[Image:flagmalaysia.png|border]]
 
<p style="font-size:smaller">Model answer has 39 lines.</p>
 
<p style="font-size:smaller">Model answer has 39 lines.</p>
Line 26: Line 27:
 
   int r2 = 36;
 
   int r2 = 36;
 
   int off= 10;
 
   int off= 10;
 +
  int circL = 35;
 
   g.setColor(Color.yellow);
 
   g.setColor(Color.yellow);
   g.fillOval(blueW/2-r1,blueH/2-r1,2*r1,2*r1);
+
   g.fillOval(circlL,blueH/2-r1,2*r1,2*r1);
 
   g.setColor(Color.blue);
 
   g.setColor(Color.blue);
   g.fillOval(blueW/2-r2+off,blueH/2-r2,2*r2,2*r2);
+
   g.fillOval(circL+off,blueH/2-r2,2*r2,2*r2);
 
}
 
}
 
</prog>
 
</prog>
 
</question>
 
</question>

Revision as of 17:03, 10 January 2008

You can draw a crescent as two circles. A large yellow circle that is partitally eclipsed by a smaller blue circle. The parameters are:

  • r1
radius of the large circle
  • r2
radius of the small circle
  • off
the offset - the distance between the circles' centres

In addition we can use variables to denote the width and height of the blue rectangle and the distance of the left edge of the circle from the left of the blue rectangle:

  • blueW
  • blueH
  • circL

Flagmalaysia.png

Model answer has 39 lines.


[Font] [Default] [Show] [Resize] [History] [Profile]