-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vector3.h
48 lines (32 loc) · 1.14 KB
/
Vector3.h
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef VECTOR3_H
#define VECTOR3_H
namespace POD_Math
{
struct Matrix4x3;
#pragma pack(push,1)
struct Vector3
{
float x,y,z;
};
#pragma pack(pop)
// Ќормализаци¤
void Vector3Normal(Vector3&);
void Vector3Normal(Vector3&, const Vector3&);
// ”множение вектора на скал¤р
void Vector3Mul(Vector3&,const Vector3&, const float);
// ƒеление вектора на скал¤р
void Vector3Div(Vector3&,const Vector3&, const float);
// —ложение векторов
void Vector3Add(Vector3&,const Vector3&, const Vector3&);
// ¬ычитание векторов
void Vector3Sub(Vector3&,const Vector3&, const Vector3&);
// ”множение вектора на п¤моугольную матрицу 4х3
void Vector3Mul(Vector3&,const Vector3&,const Matrix4x3&);
// —кал¤рное умножение
float Vector3Dot(const Vector3&, const Vector3&);
// ¬екторное умножение
void Vector3Cross(Vector3&, const Vector3&, const Vector3&);
// Ћинейна¤ интерпол¤ци¤
void Vector3Lerp(Vector3&, Vector3&, const Vector3&, const float);
};
#endif