This is matrix.h in view mode; [Download] [Up]
/* matrix.h - matrix algebra definitions
* Copyright (C) 1993 Corona Design, Inc. All rights reserved.
*
* Abstract
* Common algebraic manipulations of 4X4 matrices and vectors.
* Reference: Foley & van Dam, Computer Graphics
* Requires C++ compiler.
*
* $LOG
*/
#ifndef _MATRIX_H
#define _MATRIX_H
// a homogenous 3D vector
typedef struct _vector
{
float x;
float y;
float z;
float w;
//operations
float vectorLength();
// V = V X W
void crossProduct( struct _vector *);
// V = M * V
void matrixMultiply( struct _matrix *);
// V = V * k
void scalarMultiply( float k);
} VECTOR;
// 4 X 4 matrix
struct _matrix
{
float matrix[4][4];
// retrieve rotation vectors
struct _vector *getRx();
struct _vector *getRy();
struct _vector *getRz();
// A *= B
void matrixMultiply( struct _matrix *B);
};
// constant identity elements
extern VECTOR unitVector;
extern struct _matrix unitMatrix;
#ifdef _LOG
/*
* $Log: matrix.h,v $
* Revision 1.1 93/09/15 12:33:57 pkron
* Created
*
*/
#endif
#endif // MATRIX_HThese are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.