VISH
0.2
|
The "Eagle" namespace contains classes that implement vector and geometric algebra as well as interpolation procedures that ultimately allow the construction of camera paths. More...
Geometric algebra of the physical 3D-space, by which we mean the Clifford algebara over Euclidean, three-dimensional space.
Geometric algebra of the plane, by which we mean the Clifford algebra over Euclidean, two-dimensional space.
Geometric algebra of spacetime, a.k.a.
.
.
The "Eagle" namespace contains classes that implement vector and geometric algebra as well as interpolation procedures that ultimately allow the construction of camera paths.
The naming of the namespace is inspired by the sharp eye of the eagle, that requires description by the mathematics of geometric algebra. A camera path's purpose is a smooth flight through a virtual scene, like an eagle smoothly flies through a real scene.
typedef int Eagle::OperatorID_t |
The type identifying an Operator.
See class Operator for usage.
typedef TypedNode<double> Eagle::ScalarNode |
Base class for evaluation of a scalar function that has been parsed from some input.
RefPtr<ScalarNode> MyNode = ...;
EvaluationContext EV;
double value = MyNode->eval(EV);
typedef TypedNode<tvector3> Eagle::VectorNode |
Base class for evaluation of a vector-valued function that has been parsed from some input.
using namespace Eagle; RefPtr<VectorNode> MyNode = ...; EvaluationContext EV; PhysicalSpace::tvector value = MyNode->eval(EV);
double Eagle::norm | ( | const PhysicalSpace::tvector & | v | ) | [inline] |
Compute the Euclidan norm of a vector.
Note that if just the square of the norm is required, then function norm2() is more efficient since the square root does not need to be taken.
Value Eagle::operator* | ( | const Row< N, Value > & | l, |
const Column< N, Value > & | r | ||
) | [inline] |
Contraction operation: multiply row by column.
Note that the reverse operation, ie. multiplying a column by a row, is the tensor product and yields a $n n$ matrix.
MemCore::RefPtr<typename ResultType::TypedNode_t>* Eagle::RefNode | ( | ResultType * | N | ) |
ingroup parzival Create a new reference pointer appropriate for the class given.
This is a convenience function for the Quest parser, since that one can only deal with native C pointers in the main union data type. It is not supposed to be used anywhere else than in this specific context.
T Eagle::sinc | ( | T | x | ) | [inline] |
The sinc(x) function, save for x=0, and numerically stable around x=0.
When the sine function is written as a taylor series,
we get the sinc(x) function as