blob: 96c539cfb1620d342414cb3284c53d13bfcb1836 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "matrix.h"
#include <cmath>
Matrix2::Matrix2() {
m[0][0] = m[0][1] =
m[1][0] = m[1][1] = 0;
}
Matrix2::Matrix2(float m00, float m01, float m10, float m11) {
m[0][0] = m00;
m[0][1] = m01;
m[1][0] = m10;
m[1][1] = m11;
}
Vector2 Matrix2::operator*(const Vector2& v) {
return Vector2(
m[0][0] * v.x + m[0][1] * v.y,
m[1][0] * v.x + m[1][1] * v.y);
}
Matrix2 rotation_matrix(float rot) {
float s = sinf(rot);
float c = cosf(rot);
return Matrix2(
c, -s,
s, c);
}
|