-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmyVec3d.cpp
More file actions
81 lines (63 loc) · 1.48 KB
/
myVec3d.cpp
File metadata and controls
81 lines (63 loc) · 1.48 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "myVec3d.h"
#include <cmath>
using std::sqrt;
myVec3d::myVec3d()
{
x = y = z = 0;
}
myVec3d::myVec3d(double _x,double _y,double _z)
{
x = _x;
y = _y;
z = _z;
}
myVec3d::~myVec3d()
{
}
myVec3d operator + ( const myVec3d& A , const myVec3d& B ) {
return myVec3d( A.x + B.x , A.y + B.y , A.z + B.z );
}
myVec3d operator - ( const myVec3d& A , const myVec3d& B ) {
return myVec3d( A.x - B.x , A.y - B.y , A.z - B.z );
}
myVec3d operator * ( const myVec3d& A , const double& k ) {
return myVec3d( A.x * k , A.y * k , A.z * k );
}
myVec3d operator / ( const myVec3d& A , const double& k ) {
return myVec3d( A.x / k , A.y / k , A.z / k );
}
myVec3d operator * ( const myVec3d& A , const myVec3d& B ) {
return myVec3d( A.x * B.x , A.y * B.y , A.z * B.z );
}
myVec3d& operator += ( myVec3d& A , const myVec3d& B ) {
A = A + B;
return A;
}
myVec3d& operator -= ( myVec3d& A, const myVec3d& B) {
A = A - B;
return A;
}
myVec3d& operator *= ( myVec3d& A , const double& k) {
A = A * k;
return A;
}
myVec3d& operator /= (myVec3d& A,const double& k) {
A = A / k;
return A;
}
myVec3d& operator *= (myVec3d& A,const myVec3d& B) {
A = A * B;
return A;
}
myVec3d operator - ( const myVec3d& A ) {
return myVec3d( -A.x , -A.y , -A.z );
}
double myVec3d::Module2() {
return x * x + y * y + z * z;
}
double myVec3d::Module() {
return sqrt( x * x + y * y + z * z );
}
myVec3d myVec3d::Cross(const myVec3d& a) {
return myVec3d(y * a.z - z * a.y , z * a.x - x * a.z , x * a.y - y * a.x );
}