HyperspaceExplorer 0.7.1
|
A class template to execute taper actions on an object. More...
#include <Taper.h>
Public Member Functions | |
Taper (const VertexData< D > &v) | |
Create a Taper object from an already existing object. |
A class template to execute taper actions on an object.
The vertex array of the object is tapered into a set of consecutive dimensions.
As I find the concept hard to explain in words, let me give a few examples to illustrate the idea:
Extrude<4, 0, 0> line;
A line in four-space. A point is extruded along dimension 0 (x
).
Taper<4, 1, 1> triangle(line);
An equilateral triangle in the xy
-plane. The line along x
is tapered into the y
dimension.
Taper<4, 2, 2> tetrahedron1(triangle);
Create a tetrahedron from an equilateral triangle by tapering along the z
axis.
Taper<4, 1, 2> tetrahedron2(line);
Create another tetrahedron from a line by tapering it into the dimensions 1 to 2, ie. along y
and z
Extrude<4, 0, 1> square; Taper<4, 2, 2> pyramid(square);
A four-sided pyramid is created by tapering a square along the z
axis.
Taper<4, 1, 3> pentachoron(line);
A four-dimensional simplex, a pentachoron, is created by tapering a line three times.
D | Dimension of the vector space we're working in |
Dmin | First of the set of dimensions being tapered into |
Dmax | Last of the set of dimensions being tapered into |
Taper< D, Dmin, Dmax >::Taper | ( | const VertexData< D > & | v | ) | [inline] |