Files
jens 0036417945 Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/matrix@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
2014-07-19 07:44:42 +00:00

44 lines
1.5 KiB
C
Executable File

//
// 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, UINT32 du);
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