- initial import

git-svn-id: http://moon:8086/svn/mips@1 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
2014-07-20 15:01:37 +00:00
commit 26291bca3d
1549 changed files with 3997969 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
//
// 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