Difference between revisions of "ImplicitPlane"
Jump to navigation
Jump to search
m |
m |
||
Line 21: | Line 21: | ||
loadMacros( |
loadMacros( |
||
"PGstandard.pl", |
"PGstandard.pl", |
||
− | "MathObjects.pl", |
||
"parserImplicitPlane.pl", |
"parserImplicitPlane.pl", |
||
"parserVectorUtils.pl", |
"parserVectorUtils.pl", |
||
Line 33: | Line 32: | ||
<p> |
<p> |
||
<b>Initialization:</b> |
<b>Initialization:</b> |
||
− | In particular, we need to include the <code>parserImplicitPlane.pl</code> macro file. |
+ | In particular, we need to include the <code>parserImplicitPlane.pl</code> macro file, which automatically loads <code>MathObjects.pl</code>. |
</p> |
</p> |
||
</td> |
</td> |
Revision as of 17:33, 22 January 2010
Planes Defined Implicitly
This shows the PG code to evaluate answers that are planes defined implicitly by an equation.
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PGstandard.pl", "parserImplicitPlane.pl", "parserVectorUtils.pl", "PGcourse.pl", ); TEXT(beginproblem); |
Initialization:
In particular, we need to include the |
Context("ImplicitPlane"); # Vectors in the plane $AB = non_zero_vector3D(); $AC = non_zero_vector3D(); while (areParallel $AB $AC) {$AC = non_zero_vector3D()} # The normal vector $N = cross $AB $AC; # or $N = $AB x $AC; # The points A, B and C $A = non_zero_point3D(); $B = Point($A + $AB); $C = Point($A + $AC); |
Setup: Create points and vectors. Make sure that the vectors are not parallel. |
Context()->texStrings; BEGIN_TEXT An implicit equation for the plane passing through the points \($A\), \($B\), and \($C\) is \{ans_rule(40)\}. END_TEXT Context()->normalStrings; |
Main Text: Self-explanatory. |
ANS(ImplicitPlane($A,$N)->cmp); $showPartialCorrectAnswers = 1; ENDDOCUMENT(); |
Answer Evaluation: Just specify a point $A and a normal vector $N. |