Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/Deprecated/old_18mar_diff/Vector/Matrix22.cpp

Go to the documentation of this file.
00001 /*
00002 Definition for a 2 by 2 matrix:
00003 e.g.  |1 2|
00004       |3 4|
00005 */
00006 
00007 #ifndef __J2K__Matrix22_CPP__
00008 #define __J2K__Matrix22_CPP__
00009 
00010 #include <j2k/Fred/Games/Matrix22.hpp>
00011 
00012 
00013 inline JMatrix22::JMatrix22() {
00014   clear();
00015 }
00016 
00017 inline JMatrix22::~JMatrix22() { }
00018 
00019 inline JMatrix22::JMatrix22( const Matrix22& src ) {
00020   for( int i = 0; i < 4; i++ ) {
00021     m[i] = src.m[i];
00022   }       
00023 }
00024 
00025 inline void JMatrix22::clear() {
00026   for( int i = 0; i < 4; i++ ) {
00027     m[i] = 0.0;
00028   }       
00029 }
00030 
00031 inline void JMatrix22::print() {
00032   printf("| %-+7.2f %-+7.2f|\n",   m[0], m[2] );
00033   printf("| %-+7.2f %-+7.2f|\n\n", m[1], m[3] );
00034 }
00035 
00036 inline void JMatrix22::identity() {
00037   m[0] = 1;
00038   m[1] = 0;
00039   m[2] = 0;
00040   m[3] = 1;
00041 }
00042 
00043 
00044 JMatrix22 JMatrix22::rotz( double rad ) {
00045   JMatrix22 ret;
00046   double c = cos(rad);
00047   double s = sin(rad);
00048 
00049   ret.m[0] =  c;
00050   ret.m[1] = -s;
00051   ret.m[2] =  s;
00052   ret.m[3] =  c;
00053 
00054   return ret;
00055 }
00056 
00057 JMatrix22 JMatrix22::mult( const JMatrix22& mat ) {
00058   JMatrix22 ret;
00059 
00060   ret.m[0] = m[0] * mat.m[0] + m[1] * mat.m[2];
00061   ret.m[1] = m[0] * mat.m[1] + m[1] * mat.m[3];
00062   ret.m[2] = m[2] * mat.m[0] + m[3] * mat.m[2];
00063   ret.m[3] = m[2] * mat.m[1] + m[3] * mat.m[3];
00064 
00065   return ret;
00066 }
00067 
00068 JVector2 JMatrix22::mult( const JVector2& vect ) {
00069   Vector2 ret;
00070 
00071   ret.v[0] = m[0] * vect.v[0] + m[1] * vect.v[1];
00072   ret.v[1] = m[2] * vect.v[0] + m[3] * vect.v[1];
00073 
00074   return ret;
00075 }
00076 
00077 #endif

Generated on Sun Oct 14 18:46:14 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001