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 15#15 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: Generic Geometry Functions Up: Geometrical Primitives Previous: Plane Geometry   Contents
root 2018-09-24