Difference between revisions of "ImplicitPlane"
m |
|||
(16 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | <h2>Planes Defined Implicitly</h2> |
+ | <h2>Planes or Lines Defined Implicitly</h2> |
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> |
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> |
||
− | <em>This shows the PG code to evaluate answers that are planes defined implicitly by an equation. |
+ | <em>This shows the PG code to evaluate answers that are planes or lines defined implicitly by an equation. |
+ | <br /> |
||
+ | <br /> |
||
+ | You may also be interested in [http://webwork.maa.org/wiki/EquationsDefiningFunctions EquationsDefiningFunctions]</em> |
||
</p> |
</p> |
||
− | |||
− | <ul> |
||
− | <li>POD documenatation: http://webwork.maa.org/doc/cvs/pg_CURRENT/macros/parserImplicitPlane.pl</li> |
||
− | <li>PG code: http://cvs.webwork.rochester.edu/viewcvs.cgi/pg/macros/parserImplicitPlane.pl</li> |
||
− | </ul> |
||
<p style="text-align:center;"> |
<p style="text-align:center;"> |
||
Line 26: | Line 21: | ||
loadMacros( |
loadMacros( |
||
"PGstandard.pl", |
"PGstandard.pl", |
||
− | "MathObjects.pl", |
||
"parserImplicitPlane.pl", |
"parserImplicitPlane.pl", |
||
"parserVectorUtils.pl", |
"parserVectorUtils.pl", |
||
Line 32: | Line 26: | ||
); |
); |
||
− | TEXT(beginproblem); |
+ | TEXT(beginproblem()); |
</pre> |
</pre> |
||
</td> |
</td> |
||
Line 38: | 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> |
||
Line 57: | Line 51: | ||
$B = Point($A + $AB); |
$B = Point($A + $AB); |
||
$C = Point($A + $AC); |
$C = Point($A + $AC); |
||
+ | |||
+ | $answer = ImplicitPlane($A,$N); |
||
</pre> |
</pre> |
||
</td> |
</td> |
||
Line 62: | Line 58: | ||
<p> |
<p> |
||
<b>Setup:</b> |
<b>Setup:</b> |
||
− | Create points and vectors. Make sure that the vectors are not parallel. |
+ | Create points and vectors. Make sure that the vectors are not parallel. There are several other ways to define planes implicitly, which are explained at |
+ | [http://webwork.maa.org/pod/pg/macros/parserImplicitPlane.html parserImplicitPlane.pl] |
||
+ | </p> |
||
+ | <p> |
||
+ | 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. |
||
+ | <pre> |
||
+ | Context("ImplicitPlane"); |
||
+ | Context()->variables->are(x=>"Real",y=>"Real"); |
||
+ | |||
+ | $answer = ImplicitPlane("y=4x+3"); |
||
+ | </pre> |
||
</p> |
</p> |
||
</td> |
</td> |
||
Line 71: | Line 67: | ||
Context()->texStrings; |
Context()->texStrings; |
||
BEGIN_TEXT |
BEGIN_TEXT |
||
− | |||
An implicit equation for the plane passing through the points |
An implicit equation for the plane passing through the points |
||
\($A\), \($B\), and \($C\) is \{ans_rule(40)\}. |
\($A\), \($B\), and \($C\) is \{ans_rule(40)\}. |
||
− | |||
END_TEXT |
END_TEXT |
||
Context()->normalStrings; |
Context()->normalStrings; |
||
Line 88: | Line 82: | ||
<td style="background-color:#eeddff;border:black 1px dashed;"> |
<td style="background-color:#eeddff;border:black 1px dashed;"> |
||
<pre> |
<pre> |
||
− | ANS( |
+ | ANS( $answer->cmp ); |
$showPartialCorrectAnswers = 1; |
$showPartialCorrectAnswers = 1; |
||
Line 105: | Line 99: | ||
[[IndexOfProblemTechniques|Problem Techniques Index]] |
[[IndexOfProblemTechniques|Problem Techniques Index]] |
||
</p> |
</p> |
||
+ | |||
+ | |||
+ | |||
+ | <ul> |
||
+ | <li>POD documentation: [http://webwork.maa.org/pod/pg/macros/parserImplicitPlane.html parserImplicitPlane.pl]</li> |
||
+ | <li>PG macro code: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/parserImplicitPlane.pl?view=log parserImplicitPlane.pl]</li> |
||
+ | </ul> |
||
+ | |||
+ | |||
+ | |||
+ | <ul> |
||
+ | <li>POD documentation: [http://webwork.maa.org/pod/pg/macros/parserVectorUtils.html parserVectorUtils.pl]</li> |
||
+ | <li>PG macro code: [http://webwork.maa.org/viewvc/system/trunk/pg/macros/parserVectorUtils.pl?view=log parserVectorUtils.pl]</li> |
||
+ | </ul> |
||
[[Category:Problem Techniques]] |
[[Category:Problem Techniques]] |
Revision as of 18:04, 7 April 2021
Planes or Lines Defined Implicitly
This shows the PG code to evaluate answers that are planes or lines defined implicitly by an equation.
You may also be interested in EquationsDefiningFunctions
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. There are several other ways to define planes implicitly, which are explained at parserImplicitPlane.pl 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
- PG macro code: parserImplicitPlane.pl
- POD documentation: parserVectorUtils.pl
- PG macro code: parserVectorUtils.pl