-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVector3.cpp
More file actions
66 lines (53 loc) · 1.28 KB
/
Vector3.cpp
File metadata and controls
66 lines (53 loc) · 1.28 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include"Vector3.h"
Vector3 operator - (const Vector3& A)//È¡·´
{
return Vector3(-A.x, -A.y, -A.z);
}
Vector3 operator + (const Vector3& A, const Vector3& B)
{
return Vector3(A.x + B.x, A.y + B.y, A.z + B.z);
}
Vector3 operator - (const Vector3& A, const Vector3& B)
{
return Vector3(A.x - B.x, A.y - B.y, A.z - B.z);
}
Vector3 operator * (const Vector3& A, const Vector3& B)
{
return Vector3(A.x * B.x, A.y * B.y, A.z * B.z);
}
Vector3 operator / (const Vector3& A, const Vector3& B)
{
return Vector3(A.x / B.x, A.y / B.y, A.z / B.z);
}
Vector3 operator + (const Vector3& A, const double& d)
{
return Vector3(A.x + d, A.y + d, A.z + d);
}
Vector3 operator - (const Vector3& A, const double& d)
{
return Vector3(A.x - d, A.y - d, A.z - d);
}
Vector3 operator * (const Vector3& A, const double& d)
{
return Vector3(A.x * d, A.y * d, A.z * d);
}
Vector3 operator / (const Vector3& A, const double& d)
{
return Vector3(A.x / d, A.y / d, A.z / d);
}
double Vector3::get_module()
{
return sqrt(x*x + y*y + z*z);
}
double Vector3::get_module_square()
{
return x*x + y*y + z*z;
}
Vector3 Vector3::get_Cross(const Vector3 A)
{
return Vector3(y * A.z - z * A.y, z * A.x - x * A.z, x * A.y - y * A.x);
}
double Vector3::get_inner_product(const Vector3& A)
{
return (x*A.x + y*A.y + z*A.z);
}