Parametric equations: parametric curve in space
Download file: Spacecurve.pg
DOCUMENT(); loadMacros('PGstandard.pl', 'PGML.pl', 'parserMultiAnswer.pl', 'PGcourse.pl'); $showPartialCorrectAnswers = 0;
Preamble
These standard macros need to be loaded.Context()->variables->are(t => 'Real'); Context()->variables->set(t => { limits => [ 0, 10 ] }); $a = random(-5, -2); $x = Formula("$a * t^2"); $y = Formula('0'); $z = Formula('t'); $multians = MultiAnswer($x, $y, $z)->with( singleResult => 1, checker => sub { my ($correct, $student, $self) = @_; my ($xstu, $ystu, $zstu) = @{$student}; return 0 unless $xstu->isFormula; return (($xstu == $a * $zstu**2) && ($ystu == 0)) ? 1 : 0; } );
Setup
Because the answers can vary and are interdependent, we use the MultiAnswer
to check the results.
We use singleResult => 1
since it doesn’t make sense to say that x(t)
is correct but z(t)
is incorrect since they depend on one another. First, we check that the student hasn’t fed us a bogus constant solution such as x=y=z=0
by requiring the x-coordinate to be a formula (not a constant) via
return 0 unless $xstu->isFormula;
Then, we check that the student’s answers satisfy the parametric equation.
BEGIN_PGML Find a parametrization of the curve [`x = [$a] z^2`] in the [`xz`]-plane. Use [`t`] as the parameter for all of your answers. [`x(t) =`] [_]{$multians}{15} [`y(t) =`] [_]{$multians}{15} [`z(t) =`] [_]{$multians}{15} END_PGML
Statement
Notice that we use $multians
in each answer blank because they results in the three answers are dependent on each other.
BEGIN_PGML_SOLUTION Solution explanation goes here. END_PGML_SOLUTION ENDDOCUMENT();
Solution
A solution should be provided here.