ImplicitPlane: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 21: | Line 21: | ||
loadMacros( | loadMacros( | ||
"PGstandard.pl", | "PGstandard.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 22: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. |