Vector4.js 1.1 KB
Newer Older
M
Mr.doob 已提交
1
THREE.Vector4 = function (x, y, z, w) {
2

M
Mr.doob 已提交
3 4 5 6
	this.x = x || 0;
	this.y = y || 0;
	this.z = z || 0;
	this.w = w || 1;
7

M
Mr.doob 已提交
8 9
	this.copy = function (v) {
	
10 11 12 13
		this.x = v.x;
		this.y = v.y;
		this.z = v.z;
		this.w = v.w;
M
Mr.doob 已提交
14 15 16 17 18 19 20 21 22
	}

	this.add = function (v1, v2) {
	
		this.x = v1.x + v2.x;
		this.y = v1.y + v2.y;
		this.z = v1.z + v2.z;	
		this.w = v1.w + v2.w;
	}
23

M
Mr.doob 已提交
24 25
	this.addSelf = function (v) {
	
26 27 28 29
		this.x += v.x;
		this.y += v.y;
		this.z += v.z;
		this.w += v.w;
M
Mr.doob 已提交
30
	}
31

M
Mr.doob 已提交
32 33 34 35 36 37 38 39 40 41
	this.sub = function (v1, v2) {
	
		this.x = v1.x - v2.x;
		this.y = v1.y - v2.y;
		this.z = v1.z - v2.z;	
		this.w = v1.w - v2.w;
	}
	
	this.subSelf = function (v) {
	
42 43 44 45
		this.x -= v.x;
		this.y -= v.y;
		this.z -= v.z;
		this.w -= v.w;
M
Mr.doob 已提交
46
	}
47

M
Mr.doob 已提交
48
	this.clone = function () {
49
	
M
Mr.doob 已提交
50
		return new THREE.Vector4(this.x, this.y, this.z, this.w);
51
	}
M
Mr.doob 已提交
52 53
	
	this.toVector3 = function () {
54

M
Mr.doob 已提交
55 56
		return new THREE.Vector3(this.x / this.w, this.y / this.w, this.z / this.w);
	}
57

M
Mr.doob 已提交
58 59 60 61
	this.toString = function () {
	
		return 'THREE.Vector4 (' + this.x + ', ' + this.y + ', ' + this.z + ', ' + this.w + ')';
	}
62
}