Space Curve

Parametric equations: parametric curve in space

Complete Code

Download file: Spacecurve.pg

POD for Macro Files

PG problem file

Explanation

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.