| hkl Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
HklMatrix; void hkl_matrix_init (HklMatrix *self,double m11,double m12,double m13,double m21,double m22,double m23,double m31,double m32,double m33); void hkl_matrix_init_from_two_vector (HklMatrix *self,const HklVector *v1,const HklVector *v2); void hkl_matrix_init_from_euler (HklMatrix *self,double euler_x,double euler_y,double euler_z); void hkl_matrix_fprintf (FILE *file,const HklMatrix *self); void hkl_matrix_to_euler (const HklMatrix *self,double *euler_x,double *euler_y,double *euler_z); int hkl_matrix_cmp (const HklMatrix *self,const HklMatrix *m); void hkl_matrix_times_matrix (HklMatrix *self,const HklMatrix *m); void hkl_matrix_times_vector (const HklMatrix *self,HklVector *v); void hkl_matrix_transpose (HklMatrix *self); double hkl_matrix_det (const HklMatrix *self); int hkl_matrix_solve (const HklMatrix *self,HklVector *x,const HklVector *b); int hkl_matrix_is_null (const HklMatrix *self);
void hkl_matrix_init (HklMatrix *self,double m11,double m12,double m13,double m21,double m22,double m23,double m31,double m32,double m33);
|
the HklMatrix to initialize |
|
the matrix 11 value |
|
the matrix 12 value |
|
the matrix 13 value |
|
the matrix 21 value |
|
the matrix 22 value |
|
the matrix 23 value |
|
the matrix 31 value |
|
the matrix 32 value |
|
the matrix 33 value |
void hkl_matrix_init_from_two_vector (HklMatrix *self,const HklVector *v1,const HklVector *v2);
Create an HklMatrix which represent a direct oriented base of the space the first row correspond to the |v1|, the second row |v2| and the last one is |v1 ^ v2|
void hkl_matrix_init_from_euler (HklMatrix *self,double euler_x,double euler_y,double euler_z);
Create a rotation HklMatrix from three eulerians angles.
|
the HklMatrix to initialize |
|
the eulerian value along X |
|
the eulerian value along Y |
|
the eulerian value along Z |
void hkl_matrix_fprintf (FILE *file,const HklMatrix *self);
printf an HklMatrix into a FILE stream.
|
the FILE stream |
|
the HklMatrix to print into the file stream |
void hkl_matrix_to_euler (const HklMatrix *self,double *euler_x,double *euler_y,double *euler_z);
compute the three eulerians values for a given rotation HklMatrix
|
the rotation HklMatrix use to compute the eulerians angles |
|
the eulerian value along X |
|
the eulerian value along Y |
|
the eulerian value along Z |
int hkl_matrix_cmp (const HklMatrix *self,const HklMatrix *m);
compare two HklMatrix.
void hkl_matrix_times_matrix (HklMatrix *self,const HklMatrix *m);
compute the matrix multiplication self = self * m
void hkl_matrix_transpose (HklMatrix *self);
transpose an HklMatrix
|
the HklMatrix to transpose |
double hkl_matrix_det (const HklMatrix *self);
compute the determinant of an HklMatrix
int hkl_matrix_solve (const HklMatrix *self,HklVector *x,const HklVector *b);
solve the system self . X = b
int hkl_matrix_is_null (const HklMatrix *self);
is all hklMatrix elementes bellow HKL_EPSILON