My Project
cameramodification.cpp
Go to the documentation of this file.
1 #include "stdafx.h"
2 #include "../stdafx.h"
3 
4 #include "cameramodification.h"
5 
6 GMatrix matrixrotation(double X, double Y, double Z, double angle)
7 {
8  double cosa = cos(angle);
9  double sina = sin(angle);
10 
11  GMatrix transform;
12 
13  transform[0][0] = cosa + (1 - cosa) * X * X;
14  transform[0][1] = (1 - cosa) * X * Y - sina * Z;
15  transform[0][2] = (1 - cosa) * X * Z + sina * Y;
16  transform[0][3] = 0;
17 
18  transform[1][0] = (1 - cosa) * Y * X + sina * Z;
19  transform[1][1] = cosa + (1 - cosa) * Y * Y;
20  transform[1][2] = (1 - cosa) * Y * Z - sina * X;
21  transform[1][3] = 0;
22 
23  transform[2][0] = (1 - cosa) * Z * X - sina * Y;
24  transform[2][1] = (1 - cosa) * Z * Y + sina * X;
25  transform[2][2] = cosa + (1 - cosa) * Z * Z;
26  transform[2][3] = 0;
27 
28  transform[3][0] = 0;
29  transform[3][1] = 0;
30  transform[3][2] = 0;
31  transform[3][3] = 1;
32 
33  return transform;
34 }
35 
36 GMatrix matrixmovement(double X, double Y, double Z)
37 {
38  GMatrix transform;
39 
40  transform[0][0] = 1;
41  transform[0][1] = 0;
42  transform[0][2] = 0;
43  transform[0][3] = 0;
44 
45  transform[1][0] = 0;
46  transform[1][1] = 1;
47  transform[1][2] = 0;
48  transform[1][3] = 0;
49 
50  transform[2][0] = 0;
51  transform[2][1] = 0;
52  transform[2][2] = 1;
53  transform[2][3] = 0;
54 
55  transform[3][0] = X;
56  transform[3][1] = Y;
57  transform[3][2] = Z;
58  transform[3][3] = 1;
59 
60  return transform;
61 }
GMatrix matrixrotation(double X, double Y, double Z, double angle)
double angle
Definition: listener.cpp:17
GMatrix matrixmovement(double X, double Y, double Z)
Modidy camera.
Define geometric matrix.
Definition: gmatrix.h:24