next up previous contents
Next: Generic Geometry Functions Up: Geometrical Primitives Previous: Plane Geometry   Contents

Transformations

The explicit definition of 3 vector transformations or the implicit coordinate frames they represent is done with the Transf3 data structure.

typedef struct transf3
{
     Ts_id ts_id;                /* Tina structure identifier */
     unsigned int type;
     unsigned int label;
     Transform3 T;
     struct list *props;
} Transf3;

Where Transform3

typedef struct transform3
{
    Ts_id ts_id;                /* Tina structure identifier */
    int type;
    struct mat3 R;
    struct vec3 t;
}   Transform3;

and also

typedef struct transform2
{
    Ts_id ts_id;                /* Tina structure identifier */
    int type;
    struct mat2 R;
    struct vec2 t;
} Transform2;

represent a rotation and translation matrix. Transformations are achieved
according to The physical meaning of the transformation in terms of coordinate frames is that the application of the transformation takes geometry from the current frame to the new frame see the Math Library). Hence t is the transformation of frame 1 with respect to frame 2 and the column vectors of R are the unit x, y and z vectors of frame 1 with respect to the coordinates of frame2.

Again Tranf3 is principally used by Geomstat.

Transf3 *transf3_alloc(unsigned int type)

Transf3 *transf3_make(Transform3 T, int type)

Transf3 *transf3_copy(Transf3 * transf)

void     transf3_free(Transf3 * transf)
 
void     transf3_format(Transf3 * transf)

int      transf3_number(List * transfs)


next up previous contents
Next: Generic Geometry Functions Up: Geometrical Primitives Previous: Plane Geometry   Contents
root 2017-11-23