Files
mips/src/jman/matrix.h
T
jens 26291bca3d - initial import
git-svn-id: http://moon:8086/svn/mips@1 a8ebac50-d88d-4704-bea3-6648445a41b3
2014-07-20 15:01:37 +00:00

44 lines
1.5 KiB
C

//
// Autor: Matthias Huether (huether@dfki.uni-sb.de)
//
//
// Beschreibung: Funktionen fuer das Rechnen mit Transformationsmatrizen
//
// ergaenzendes Modul: matrix.cc
// letzte Änderung 01.09.199, Jens Ahrensfeld
#ifndef MATRIX_H
#define MATRIX_H
#include "ri.h"
extern void PrintMatrix(RtMatrix,short);
extern void PrintVector(RtFloat*,short);
extern RtFloat ScalarProduct(RtFloat*,RtFloat*,short);
extern RtFloat Norm(RtFloat*,short);
extern RtFloat AngleBetweenVectors(RtFloat*,RtFloat*,short);
extern void IdentityMatrix(RtMatrix*);
extern void MultiplyMatrices(RtMatrix,RtMatrix,RtMatrix*);
extern void MultiplyMatrixVector(RtMatrix,RtFloat*,RtFloat*);
extern void MultiplyMatrixVector2(RtMatrix M, RtFloat *u, RtFloat *Mu);
extern void MultiplyVectorMatrix(RtFloat*,RtMatrix,RtFloat*);
extern void TransposeMatrix(RtMatrix,RtMatrix*);
extern void NewTranslationMatrix(RtFloat*,RtMatrix*);
extern void RotationMatrix(RtMatrix,RtMatrix*,short);
extern void TranslationMatrix(RtMatrix,RtMatrix*);
extern void InverseRotationMatrix(RtMatrix,RtMatrix*);
extern void InverseTranslationMatrix(RtMatrix,RtMatrix*);
extern void InverseMatrix(RtMatrix,RtMatrix*);
extern void BuildTransformationMatrix(RtFloat*,RtFloat*,RtFloat,RtMatrix*);
// added 01.09.1999
extern void AimCamera(RtFloat*,RtFloat*,RtFloat,RtMatrix*);
void PointCopy(RtFloat *pDst, RtFloat *pSrc);
void PointSwapXY(RtFloat *pSrcDst);
void PointSwapXZ(RtFloat *pSrcDst);
void PointSwapYZ(RtFloat *pSrcDst);
#endif