# ImplicitPlane1

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

## Answer is an Equation for a Line or Plane

Click to enlarge

This PG code shows how to define an answer that is a line or plane.

PG problem file Explanation

Problem tagging:

```DOCUMENT();

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"parserImplicitPlane.pl",
"parserVectorUtils.pl",
"AnswerFormatHelp.pl",
);

TEXT(beginproblem());
```

Initialization:

```Context("ImplicitPlane");

\$A = non_zero_point3D(-5,5,1);
\$N = non_zero_vector3D(-5,5,1);

\$answer1 = ImplicitPlane(\$A,\$N);

Context()->variables->are(x=>"Real",y=>"Real");

\$answer2 = ImplicitPlane("4x+3y=12");

\$answer3 = ImplicitPlane("x=3");
```

Setup: The first answer is a standard mulitivariable calculus question. There are several different ways to specify the input to `ImplicitPlane`, which are detailed in the POD documentation. It is also possible to do some more complicated manipulations with the vectors and points, which is detailed in the problem techniques section.

When the `ImplicitPlane` context has only two variables, it rephrases error messages in terms of lines. If you want students to be able to enter an equation for a line in the most general form, or if you have a vertical line to check (or just a constant equation such as `x=3`), you can use the `ImplicitPlane` context to reliably check these answers.

```Context()->texStrings;
BEGIN_TEXT
(a) Enter an equation for the plane through
the point \( \$A \) and perpendicular to
\( \$N \).
\$BR
\{ ans_rule(20) \}
\{ AnswerFormatHelp("equations") \}
\$BR
\$BR
(b) Enter an equation for the line in the
xy-plane with x-intercept \( 3 \) and
y-intercept \( 4 \).
\$BR
\{ ans_rule(20) \}
\{ AnswerFormatHelp("equations") \}
\$BR
\$BR
(c) Enter an equation for the vertical line
in the xy-plane through the point \( (3,1) \).
\$BR
\{ ans_rule(20) \}
\{ AnswerFormatHelp("equations") \}
END_TEXT
Context()->normalStrings;
```

Main Text:

```\$showPartialCorrectAnswers = 1;

ANS( \$answer1->cmp() );
ANS( \$answer2->cmp() );
ANS( \$answer3->cmp() );
```

Answer Evaluation:

```Context()->texStrings;
BEGIN_SOLUTION
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;

COMMENT('MathObject version.');

ENDDOCUMENT();
```

Solution: