Difference between revisions of "DynamicImages3"
Jump to navigation
Jump to search
Line 56: | Line 56: | ||
# filled triangle with dark border |
# 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 = 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("lightgreen",156,215,151); # RGB |
||
Line 64: | Line 65: | ||
$gr1->lineTo($xmin,$ymin,"darkgreen",2); # left edge |
$gr1->lineTo($xmin,$ymin,"darkgreen",2); # left edge |
||
$gr1->fillRegion([$xmin+0.1,$ymin+0.1,"lightgreen"]); |
$gr1->fillRegion([$xmin+0.1,$ymin+0.1,"lightgreen"]); |
||
+ | |||
# filled rectangle with dark border |
# filled rectangle with dark border |
||
+ | # uses some macros directly from GD.pm |
||
+ | # |
||
+ | # first translate from graph coordinates to pixel coordinates |
||
+ | $xminpixel = $gr2->ii($xmin); |
||
+ | $xmaxpixel = $gr2->ii($xmax); |
||
+ | $yminpixel = $gr2->jj($ymin); |
||
+ | $ymaxpixel = $gr2->jj($ymax); |
||
+ | # |
||
$gr2 = init_graph(-4,-4,4,4,grid=>[8,8],axes=>[0,0],pixels=>[300,300]); |
$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); |
||
$gr2->new_color("lightblue",148,201,255); |
$gr2->new_color("lightblue",148,201,255); |
||
$gr2->new_color("darkblue", 100,100,255); |
$gr2->new_color("darkblue", 100,100,255); |
||
− | $gr2->im->filledRectangle($xmin,$ymin,$xmax,$ymax,"lightblue"); |
||
+ | # |
||
− | $gr2->im->rectangle($xmin,$ymin,$xmax,$ymax,"darkblue"); |
||
+ | # 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); |
||
</pre> |
</pre> |
||
</td> |
</td> |
Revision as of 20:04, 22 February 2010
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 # # first translate from graph coordinates to pixel coordinates $xminpixel = $gr2->ii($xmin); $xmaxpixel = $gr2->ii($xmax); $yminpixel = $gr2->jj($ymin); $ymaxpixel = $gr2->jj($ymax); # $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); $gr2->new_color("lightblue",148,201,255); $gr2->new_color("darkblue", 100,100,255); # # 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. |