ImplicitPlane
Planes or Lines Defined Implicitly
This shows the PG code to evaluate answers that are planes or lines 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);
$answer = ImplicitPlane($A,$N);
|
Setup: Create points and vectors. Make sure that the vectors are not parallel. If the correct answer is a line in 2D space instead of a plane in 3D space, the only modification needed is to reduce the number of variables to two, which will modify error messages accordingly. Context("ImplicitPlane");
Context()->variables->are(x=>"Real",y=>"Real");
$answer = ImplicitPlane("y=4x+3");
|
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( $answer->cmp ); $showPartialCorrectAnswers = 1; ENDDOCUMENT(); |
Answer Evaluation: Just specify a point $A and a normal vector $N. |
- POD documentation: parserImplicitPlane.pl.html
- PG macro code: parserImplicitPlane.pl
- POD documentation: parserVectorUtils.pl.html
- PG macro code: parserVectorUtils.pl