cifmatrix.cpp
#include "stdafx.h" #include "define.h" void identity_matrix(double matrix[3][3]); void hit_matrix(double left_matrix[3][3], double right_matrix[3][3], double to_matrix[3][3]); void copy_matrix(double from_matrix[3][3], double to_matrix[3][3]); int sign(int x); void identity_matrix(double matrix[3][3]) { matrix[0][0] = 1.0; matrix[0][1] = 0; matrix[0][2] = 0; matrix[1][0] = 0; matrix[1][1] = 1.0; matrix[1][2] = 0; matrix[2][0] = 0; matrix[2][1] = 0; matrix[2][2] = 1.0; } /*identity_matrix*/ int sign(int x) { int z; z = 0; if (x > 0) z = 1; if (x < 0) z = -1; return(z); } void hit_matrix(double left_matrix[3][3], double right_matrix[3][3], double to_matrix[3][3]) { int i, j; double temp[3][3]; for(i = 0; i < 3; i++) for(j = 0; j < 3; j++) temp[i][j] = left_matrix[i][0] * right_matrix[0][j] + left_matrix[i][1] * right_matrix[1][j] + left_matrix[i][2] * right_matrix[2][j]; copy_matrix(temp, to_matrix); } /*hit_matrix*/ void copy_matrix(double from_matrix[3][3], double to_matrix[3][3]) { int i, j; for(i = 0; i < 3; i++) { for(j = 0; j < 3; j++) to_matrix[i][j] = from_matrix[i][j]; } } /*copy_matrix*/
Maintained by John Loomis, updated Mon Feb 12 23:32:35 2007