typedef struct matrix { double index[4][4]; } Matrix; typedef struct vector { double index[4]; } Vector; void init_matrix(Matrix *m); void init_vector(Vector *v); void copy_vector(Vector *v1, Vector *v2); void copy_matrix(Matrix *m1, Matrix *m2); void multiply_vector_matrix(Matrix *m, Vector *v); void multiply_matrix_vector(Matrix *m, Vector *v); void multiply_matrix(Matrix *m1, Matrix *m2); void rotate_x(double angle, Matrix *m); void rotate_y(double angle, Matrix *m); void rotate_z(double angle, Matrix *m);