INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
matrix3.h00001 #if 0 00002 #ifndef ORCAQGUI3D_MATRIX3_H 00003 #define ORCAQGUI3D_MATRIX3_H 00004 00005 #include "vector3.h" 00006 00007 // 00008 // From http://student.kuleuven.be/~m0216922/CG/3dbasics.html 00009 // 00010 00011 namespace orcaview3d { 00012 00014 // [ a b c ] // 00015 // Matrix Class [ d e f ] // 00016 // [ g h i ] // 00018 00019 class Matrix3 00020 { 00021 public: 00022 00023 double a; double b; double c; 00024 double d; double e; double f; 00025 double g; double h; double i; 00026 00027 Matrix3(double a, double b, double c, double d, double e, double f, double g, double h, double i); 00028 Matrix3(); 00029 00030 void transpose(); 00031 double determinant() const; 00032 void invert(); 00033 }; 00034 00035 Matrix3 transpose(const Matrix3 &A); 00036 double determinant(const Matrix3 &A); 00037 Matrix3 inverse(const Matrix3 &A); 00038 Matrix3 operator+(const Matrix3 &A, const Matrix3 &B); 00039 Matrix3 operator-(const Matrix3 &A, const Matrix3 &B); 00040 Matrix3 operator*(const Matrix3 &A, double a); 00041 Matrix3 operator*(double a, const Matrix3 &A); 00042 Matrix3 operator/(const Matrix3 &A, double a); 00043 Vector3 operator*(const Matrix3 &A, const Vector3 &v); 00044 Vector3 operator*(const Vector3 &v, const Matrix3 &A); 00045 Matrix3 operator*(const Matrix3 &A, const Matrix3 &B); 00046 00047 } 00048 00049 #endif 00050 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)