PolarGraph1
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: |
