git-svn-id: http://moon:8086/svn/software/trunk/libsrc/matrix@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
44 lines
1.5 KiB
C
Executable File
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
|