Subversion Repositories gelsvn

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 bj 1
#include "Mat3x3f.h"
2
 
3
namespace CGLA {
4
	Mat3x3f rotation_Mat3x3f(Axis axis, float angle)
5
	{
6
		Mat3x3f m;
7
 
8
		switch(axis)
9
			{
10
			case XAXIS:
11
				m[0][0] = 1.0;
12
				m[1][1] = cos(angle);
13
				m[1][2] = sin(angle);
14
				m[2][1] = -sin(angle);
15
				m[2][2] = cos(angle);
16
				break;
17
			case YAXIS:
18
				m[0][0] = cos(angle);
19
				m[0][2] = -sin(angle);
20
				m[2][0] = sin(angle);
21
				m[2][2] = cos(angle);
22
				m[1][1] = 1.0;
23
				break;
24
			case ZAXIS:
25
				m[0][0] = cos(angle);
26
				m[0][1] = sin(angle);
27
				m[1][0] = -sin(angle);
28
				m[1][1] = cos(angle);
29
				m[2][2] = 1.0;
30
				break;
31
			}
32
 
33
		return m;
34
	}
35
 
36
	Mat3x3f scaling_Mat3x3f(const Vec3f& v)
37
	{
38
		Mat3x3f m;
39
		m[0][0] = v[0];
40
		m[1][1] = v[1];
41
		m[2][2] = v[2];
42
		return m;
43
	}
44
 
45
 
46
}