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