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*/


Results




Maintained by John Loomis, updated Mon Feb 12 23:32:35 2007