parserParametricPlane.pl - Implements Formulas that represent parametric planes in three-space.
This is a Parser class that implements parametric planes in 3D as a subclass of the Formula class. To use it, load this macro file, and set the context to the ParametricPlane context:
loadMacros("parserParametricPlane.pl");
Context("ParametricPlane");
Use ParametricPlane(point,vector1,vector2) or ParametricPlane(formula) to create a ParametricPlane object. You can pass two optional additional parameters that indicated the variables to use for the parameter for the line (these are s and t by default).
Usage examples:
$P = ParametricPlane(Point(3,-1,2),Vector(1,1,3),Vector(-1,2,0));
$P = ParametricPlane([3,-1,2],[1,1,3],[-1,2,0]);
$P = ParametricPlane("<3+t-s,t+2s-1,2+2t>");
$p = Point(3,-1,2); $v1 = Vector(1,1,3); $v2 = Vector(-1,2,0)
$P = ParametricPlane($p,$v1,$v2);
$s = Formula('s'); $t = Formula('t');
$p = Point(3,-1,2); $v1 = Vector(1,1,3); $v2 = Vector(-1,2,0);
$P = ParametricPlane($p+$s*$v1+$t*$v2);
Context()->constants->are(a=>1+pi^2); # won't guess this value
$P = ParametricPlane("(a,2a,-1) + t <1,a,a^2> + s <2a,0,1-a>");
Then use
ANS($P->cmp);
to get the answer checker for $P.
#
# Two parametric planes are equal if their implicit forms are equal
#