pc.Vec4
A 4-dimensional vector.
var v = new pc.Vec4(1, 2, 3, 4);
Summary
Static Properties
ONE | A constant vector set to [1, 1, 1, 1].[read only] |
ZERO | A constant vector set to [0, 0, 0, 0].[read only] |
Properties
w | The fourth component of the vector. |
x | The first component of the vector. |
y | The second component of the vector. |
z | The third component of the vector. |
Methods
add | Adds a 4-dimensional vector to another in place. |
add2 | Adds two 4-dimensional vectors together and returns the result. |
clone | Returns an identical copy of the specified 4-dimensional vector. |
copy | Copied the contents of a source 4-dimensional vector to a destination 4-dimensional vector. |
dot | Returns the result of a dot product operation performed on the two specified 4-dimensional vectors. |
equals | Reports whether two vectors are equal. |
length | Returns the magnitude of the specified 4-dimensional vector. |
lengthSq | Returns the magnitude squared of the specified 4-dimensional vector. |
lerp | Returns the result of a linear interpolation between two specified 4-dimensional vectors. |
mul | Multiplies a 4-dimensional vector to another in place. |
mul2 | Returns the result of multiplying the specified 4-dimensional vectors together. |
normalize | Returns the specified 4-dimensional vector copied and converted to a unit vector. |
scale | Scales each dimension of the specified 4-dimensional vector by the supplied scalar value. |
set | Sets the specified 4-dimensional vector to the supplied numerical values. |
sub | Subtracts a 4-dimensional vector from another in place. |
sub2 | Subtracts two 4-dimensional vectors from one another and returns the result. |
toString | Converts the vector to string form. |
Details
Static Properties
ONE | A constant vector set to [1, 1, 1, 1].[read only] |
ZERO | A constant vector set to [0, 0, 0, 0].[read only] |
Constructor
Vec4([x], [y], [z], [w])
Creates a new Vec4 object.
var v = new pc.Vec4(1, 2, 3, 4);
Parameters
x | Number | The x value. If x is an array of length 4, the array will be used to populate all components. |
y | Number | The y value. |
z | Number | The z value. |
w | Number | The w value. |
Properties
The fourth component of the vector.
var vec = new pc.Vec4(10, 20, 30, 40);
// Get w
var w = vec.w;
// Set w
vec.w = 0;
The first component of the vector.
var vec = new pc.Vec4(10, 20, 30, 40);
// Get x
var x = vec.x;
// Set x
vec.x = 0;
The second component of the vector.
var vec = new pc.Vec4(10, 20, 30, 40);
// Get y
var y = vec.y;
// Set y
vec.y = 0;
The third component of the vector.
var vec = new pc.Vec4(10, 20, 30, 40);
// Get z
var z = vec.z;
// Set z
vec.z = 0;
Methods
add(rhs)
Adds a 4-dimensional vector to another in place.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
a.add(b);
// Should output [30, 30, 30]
console.log("The result of the addition is: " + a.toString());
Parameters
rhs | pc.Vec4 | The vector to add to the specified vector. |
Returns
pc.Vec4 Self for chaining.add2(lhs, rhs)
Adds two 4-dimensional vectors together and returns the result.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
var r = new pc.Vec4();
r.add2(a, b);
// Should output [30, 30, 30]
console.log("The result of the addition is: " + r.toString());
Parameters
lhs | pc.Vec4 | The first vector operand for the addition. |
rhs | pc.Vec4 | The second vector operand for the addition. |
Returns
pc.Vec4 Self for chaining.clone()
Returns an identical copy of the specified 4-dimensional vector.
var v = new pc.Vec4(10, 20, 30, 40);
var vclone = v.clone();
console.log("The result of the cloning is: " + vclone.toString());
Returns
pc.Vec4 A 4-dimensional vector containing the result of the cloning.copy(rhs)
Copied the contents of a source 4-dimensional vector to a destination 4-dimensional vector.
var src = new pc.Vec4(10, 20, 30, 40);
var dst = new pc.Vec4();
dst.copy(src);
console.log("The two vectors are " + (dst.equals(src) ? "equal" : "different"));
Parameters
rhs | pc.Vec4 | A vector to copy to the specified vector. |
Returns
pc.Vec4 Self for chaining.dot(rhs)
Returns the result of a dot product operation performed on the two specified 4-dimensional vectors.
var v1 = new pc.Vec4(5, 10, 20, 40);
var v2 = new pc.Vec4(10, 20, 40, 80);
var v1dotv2 = v1.dot(v2);
console.log("The result of the dot product is: " + v1dotv2);
Parameters
rhs | pc.Vec4 | The second 4-dimensional vector operand of the dot product. |
Returns
Number The result of the dot product operation.equals(rhs)
Reports whether two vectors are equal.
var a = new pc.Vec4(1, 2, 3, 4);
var b = new pc.Vec4(5, 6, 7, 8);
console.log("The two vectors are " + (a.equals(b) ? "equal" : "different"));
Parameters
rhs | pc.Vec4 | The vector to compare to the specified vector. |
Returns
Boolean true if the vectors are equal and false otherwise.length()
Returns the magnitude of the specified 4-dimensional vector.
var vec = new pc.Vec4(3, 4, 0, 0);
var len = vec.length();
// Should output 5
console.log("The length of the vector is: " + len);
Returns
Number The magnitude of the specified 4-dimensional vector.lengthSq()
Returns the magnitude squared of the specified 4-dimensional vector.
var vec = new pc.Vec4(3, 4, 0);
var len = vec.lengthSq();
// Should output 25
console.log("The length squared of the vector is: " + len);
Returns
Number The magnitude of the specified 4-dimensional vector.lerp(lhs, rhs, alpha)
Returns the result of a linear interpolation between two specified 4-dimensional vectors.
var a = new pc.Vec4(0, 0, 0, 0);
var b = new pc.Vec4(10, 10, 10, 10);
var r = new pc.Vec4();
r.lerp(a, b, 0); // r is equal to a
r.lerp(a, b, 0.5); // r is 5, 5, 5, 5
r.lerp(a, b, 1); // r is equal to b
Parameters
lhs | pc.Vec4 | The 4-dimensional to interpolate from. |
rhs | pc.Vec4 | The 4-dimensional to interpolate to. |
alpha | Number | The value controlling the point of interpolation. Between 0 and 1, the linear interpolant will occur on a straight line between lhs and rhs. Outside of this range, the linear interpolant will occur on a ray extrapolated from this line. |
Returns
pc.Vec4 Self for chaining.mul(rhs)
Multiplies a 4-dimensional vector to another in place.
var a = new pc.Vec4(2, 3, 4, 5);
var b = new pc.Vec4(4, 5, 6, 7);
a.mul(b);
// Should output 8, 15, 24, 35
console.log("The result of the multiplication is: " + a.toString());
Parameters
rhs | pc.Vec4 | The 4-dimensional vector used as the second multiplicand of the operation. |
Returns
pc.Vec4 Self for chaining.mul2(lhs, rhs)
Returns the result of multiplying the specified 4-dimensional vectors together.
var a = new pc.Vec4(2, 3, 4, 5);
var b = new pc.Vec4(4, 5, 6, 7);
var r = new pc.Vec4();
r.mul2(a, b);
// Should output 8, 15, 24, 35
console.log("The result of the multiplication is: " + r.toString());
Parameters
lhs | pc.Vec4 | The 4-dimensional vector used as the first multiplicand of the operation. |
rhs | pc.Vec4 | The 4-dimensional vector used as the second multiplicand of the operation. |
Returns
pc.Vec4 Self for chaining.normalize()
Returns the specified 4-dimensional vector copied and converted to a unit vector. If the vector has a length of zero, the vector's elements will be set to zero.
var v = new pc.Vec4(25, 0, 0, 0);
v.normalize();
// Should output 1, 0, 0, 0
console.log("The result of the vector normalization is: " + v.toString());
Returns
pc.Vec4 The result of the normalization.scale(scalar)
Scales each dimension of the specified 4-dimensional vector by the supplied scalar value.
var v = new pc.Vec4(2, 4, 8, 16);
// Multiply by 2
v.scale(2);
// Negate
v.scale(-1);
// Divide by 2
v.scale(0.5);
Parameters
scalar | Number | The value by which each vector component is multiplied. |
Returns
pc.Vec4 Self for chaining.set(x, y, z, w)
Sets the specified 4-dimensional vector to the supplied numerical values.
var v = new pc.Vec4();
v.set(5, 10, 20, 40);
// Should output 5, 10, 20, 40
console.log("The result of the vector set is: " + v.toString());
Parameters
x | Number | The value to set on the first component of the vector. |
y | Number | The value to set on the second component of the vector. |
z | Number | The value to set on the third component of the vector. |
w | Number | The value to set on the fourth component of the vector. |
Returns
pc.Vec4 Self for chaining.sub(rhs)
Subtracts a 4-dimensional vector from another in place.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
a.sub(b);
// Should output [-10, -10, -10, -10]
console.log("The result of the subtraction is: " + a.toString());
Parameters
rhs | pc.Vec4 | The vector to add to the specified vector. |
Returns
pc.Vec4 Self for chaining.sub2(lhs, rhs)
Subtracts two 4-dimensional vectors from one another and returns the result.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
var r = new pc.Vec4();
r.sub2(a, b);
// Should output [-10, -10, -10, -10]
console.log("The result of the subtraction is: " + r.toString());
Parameters
lhs | pc.Vec4 | The first vector operand for the subtraction. |
rhs | pc.Vec4 | The second vector operand for the subtraction. |