DynamicImages3
Jump to navigation
Jump to search
Dynamic Graphic Images, with Filled Regions
This code snippet shows the essential PG code to check student answers that are equations. Note that these are insertions, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PGstandard.pl", "PGgraphmacros.pl", # "PGnumericalmacros.pl", # might be useful ); TEXT(beginproblem()); |
Initialization:
To do ..(what you are doing)........., we don't have to change the
tagging and documentation section of the problem file.
In the initialization section, we need to include the macros file |
$xmin = random(-3,-1,1); $xmax = random(1,3,1); $ymin = random(-3,-1,1); $ymax = random(1,3,1); # filled triangle with dark border # uses macros provided by WWplot.pm $gr1 = init_graph(-4,-4,4,4,grid=>[8,8],axes=>[0,0],pixels=>[300,300]); $gr1->new_color("lightgreen",156,215,151); # RGB $gr1->new_color("darkgreen", 0, 86, 34); $gr1->moveTo($xmin,$ymin); $gr1->lineTo($xmax,$ymin,"darkgreen",2); # bottom edge $gr1->lineTo($xmin,$ymax,"darkgreen",2); # hypotenuse $gr1->lineTo($xmin,$ymin,"darkgreen",2); # left edge $gr1->fillRegion([$xmin+0.1,$ymin+0.1,"lightgreen"]); # filled rectangle with dark border # uses some macros directly from GD.pm # $gr2 = init_graph(-4,-4,4,4,grid=>[8,8],axes=>[0,0],pixels=>[300,300]); $lightblue = $gr2->im->colorAllocate(148,201,255); $darkblue = $gr2->im->colorAllocate(100,100,255); # # translate from graph coordinates to pixel coordinates # $xminpixel = $gr2->ii($xmin); $xmaxpixel = $gr2->ii($xmax); $yminpixel = $gr2->jj($ymin); $ymaxpixel = $gr2->jj($ymax); # # use filledRectangle and rectangle from GD.pm, accessed via ->im-> # $gr2->im->filledRectangle($xminpixel,$yminpixel,$xmaxpixel,$ymaxpixel,$lightblue); $gr2->im->rectangle($xminpixel,$yminpixel,$xmaxpixel,$ymaxpixel,$darkblue); |
Setup:
We specify that the Context should be Notes: on using this and related Contexts. |
BEGIN_TEXT $BCENTER \{ image( insertGraph($gr1), height=>300, width=>300, tex_size=>800 ) \} $ECENTER $PAR $BCENTER \{ image( insertGraph($gr2), height=>300, width=>300, tex_size=>800 ) \} $ECENTER END_TEXT |
Main Text: The problem text section of the file is as we'd expect. |
$showPartialCorrectAnswers = 1; ENDDOCUMENT(); |
Answer Evaluation: As is the answer. |