Difference between revisions of "PolarGraph1"
Line 97: | Line 97: | ||
$f->domain(0,3.14); |
$f->domain(0,3.14); |
||
$f->steps(90); |
$f->steps(90); |
||
+ | $f->weight(2); |
||
$f->color('darkgreen'); |
$f->color('darkgreen'); |
||
− | $f->weight('2'); |
||
$gr->fillRegion([0.5,0.1,'lightgreen']); |
$gr->fillRegion([0.5,0.1,'lightgreen']); |
||
Line 143: | Line 143: | ||
<p> |
<p> |
||
<b>Main Text:</b> |
<b>Main Text:</b> |
||
− | We use the <code>ColumnTable(column 1, column 2, options)</code> to put the text and graph side-by-side. |
+ | We use the <code>ColumnTable(column 1, column 2, options)</code> to put the text and graph side-by-side. We join (Perl) strings <code>" "</code> to common PG commands like <code>ans_rule(20)</code> using the string concatenation operator <code> . </code> which is a period. Notice that the commas between column 1, column 2, and the options do not have any periods before them. |
</p> |
</p> |
||
</td> |
</td> |
Revision as of 20:35, 15 December 2010
Graphing a Parametric or Polar Curve
This PG code shows how to graph a parametric curve or polar curve with a shading (a filled region).
- Download file: File:PolarGraph1.txt (change the file extension from txt to pg when you save it)
- File location in NPL:
FortLewis/Authoring/Templates/PolarGraph1.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "PGgraphmacros.pl", "AnswerFormatHelp.pl", "unionTables.pl", ); TEXT(beginproblem()); $refreshCachedImages = 1; |
Initialization:
We use |
Context("Numeric")->variables->are(t=>"Real"); $gr = init_graph(-1.1,-1.1,1.1,1.1,axes=>[0,0],size=>[300,300]); # # Define some useful colors # $gr->new_color("lightblue", 198,217,253); # RGB $gr->new_color("darkblue", 77,137,249); $gr->new_color("lightred", 255,127,127); $gr->new_color("darkred", 255, 55, 55); $gr->new_color("lightorange", 255,204,127); $gr->new_color("darkorange", 255, 153, 0); $gr->new_color("lightgreen", 187, 255, 153); $gr->new_color("darkgreen", 0, 208, 0); # # For a polar curve r = f(t), # x = r cos(t) = f(t) cos(t) # y = r sin(t) = f(t) sin(t) # $x = Formula("cos(5*t) * cos(t)"); $y = Formula("cos(5*t) * sin(t)"); $f = new Fun( $x->perlFunction, $y->perlFunction, $gr ); $f->domain(0,3.14); $f->steps(90); $f->weight(2); $f->color('darkgreen'); $gr->fillRegion([0.5,0.1,'lightgreen']); |
Setup:
We initialize a graph object named |
Context()->texStrings; BEGIN_TEXT \{ ColumnTable( "Find the area enclosed by one petal of the rose curve \( r = f(\theta) = \cos(5\theta) \). $BR $BR Area = ". ans_rule(20).$SPACE. AnswerFormatHelp("numbers") , $BCENTER. image( insertGraph($gr), width=>300, height=>300 ). $PAR. "Graph of \( r = \cos(5\theta) \)". $ECENTER , indent => 0, separation => 30, valign => "TOP" ); \} END_TEXT Context()->normalStrings; |
Main Text:
We use the |
$showPartialCorrectAnswers = 1; # intentionally incorrect ANS( Compute("pi")->cmp() ); |
Answer Evaluation: |
Context()->texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:${PAR} Solution explanation goes here. END_SOLUTION Context()->normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); |
Solution: |