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