new Vector2( [ p1 [, p2 ] ] )

Description
Vector2 Class
Parameters
Name Type Attributes Description
p1 Vector2 | Number <optional>
Vector2: copy, Number: assign
p2 Number <optional>
Number: assign
Properties
Name Type Description
x Number The x value of the vertice
y Number The y value of the vertice
Examples
// returns Vector2 with x:0 & y:0
			new Vector2()
// returns Vector2 with x:2 & y:2
			new Vector2(2)
// returns Vector2 with x:4 & y:5
			new Vector2(4, 5)
// returns Vector2 with x:1 & y:3
			new Vector2({x: 1, y: 3})
// returns Vector2 with x:6 & y:7
			const v1 = new Vector2(6, 7);
			new Vector2(v1);
Details

Members


<readonly> approximated :Vector2

Description
Approximated value of the Vector2 (used to remove duplicates)
Examples
const v1 = new Vector2(Math.PI, Math.PI);
			console.log(v1.toString()); // {x: 3.141592653589793, y: 3.141592653589793}
			console.log(v1.approximate.toString()); // {x: 3.1416, y: 3.1416}
Details

approximate


<readonly> normalized :Vector2

Description
Normalized Vector2
Examples
const v1 = new Vector2(1, 1);
			console.log(v1.normalized.toString()); // {x: 0.7071067811865476, y: 0.7071067811865476}
Details

norm


<readonly> norm :Vector2

Description
Alias of normalized
Details

normalized


<readonly> magnitude :Number

Description
Magnitude of the Vector2
Examples
const v1 = new Vector2(12, 32);
			console.log(v1.magnitude); // 34.17601498127012
Details
Number

<readonly> clone :Vector2

Description
A clone of the Vector2
Examples
const v1 = new Vector2(5, 5);
			console.log(v1.clone.add(2, 3)); // {x: 7, y: 8}
			// v1 is unchanged
Details

Methods


rotate( angle ) → {Vector2}

Description
Rotate the Vector2 arround zero by angle
Parameters
Name Type Description
angle Number degrees angle
Returns
Examples
const v1 = new Vector2(3, 6);
			v1.rotate(180);
			// v1 values are now x:-3 & y:-6
Details

equals( [ p1 [, p2 ] ] ) → {Boolean}

Description
Test if the Vector2 is equal to an other
Parameters
Name Type Attributes Description
p1 Vector2 | Number <optional>
Vector2: copy, Number: assign
p2 Number <optional>
Number: assign
Returns
Examples
const v1 = new Vector2(3, 6);
			const v2 = new Vector2(4, 6);
			return v1.equals(v2); // false
Details

equalsX( v ) → {Boolean}

Description
Test if the x value of the Vector2 is equal to an other
Parameters
Name Type Description
v Number The value to compare
Returns
Examples
const v1 = new Vector2(3, 6);
			const v2 = new Vector2(4, 6);
			return v1.equalsX(v2); // false
Details

equalsY( v ) → {Boolean}

Description
Test if the y value of the Vector2 is equal to an other
Parameters
Name Type Description
v Number The value to compare
Returns
Examples
const v1 = new Vector2(3, 6);
			const v2 = new Vector2(4, 6);
			return v1.equalsY(v2); // true
Details

isInside( polygon ) → {Boolean}

Description
Test if the current Vector2 is inside a polygon
Parameters
Name Type Description
polygon Polygon The polygon to check
Returns
Examples
const polygon = new Polygon([
				new Vector2(0,0),
				new Vector2(10,0),
				new Vector2(10,10),
				new Vector2(0,10)
			]);
			const v1 = new Vector2(5, 5);
			return v1.isInside(polygon); // true
Details

approximate()

Examples
const v1 = new Vector2(Math.PI, Math.PI);
			console.log(v1.toString()); // {x: 3.141592653589793, y: 3.141592653589793}
			console.log(v1.approximate().toString()); // {x: 3.1416, y: 3.1416}
Details

approximated


toString() → {String}

Description
Getting JSON string version of the Vector2
Returns
Details

<static> Distance( v1, v2 ) → {Number}

Description
Getting the distance between two Vector2
Parameters
Name Type Description
v1 Vector2 first Vector2
v2 Vector2 second Vector2
Returns
Details

<static> Max( v1, v2 ) → {Vector2}

Description
Getting the max values from two Vector2
Parameters
Name Type Description
v1 Vector2 first Vector2
v2 Vector2 second Vector2
Returns
Details

<static> Min( v1, v2 ) → {Vector2}

Description
Getting the min values from two Vector2
Parameters
Name Type Description
v1 Vector2 first Vector2
v2 Vector2 second Vector2
Returns
Details

<static> Lerp( v1, v2, t ) → {Vector2}

Description
Getting a Lerp Vector2 from v1 to v2 with t time
Parameters
Name Type Description
v1 Vector2 first Vector2
v2 Vector2 second Vector2
t Number time of lerp, value should be between 0 and 1
Returns
Details

<static> LerpUnclamped( v1, v2, t ) → {Vector2}

Description
Getting a Lerp Vector2 from v1 to v2 with t time (Unclamped version)
Parameters
Name Type Description
v1 Vector2 first Vector2
v2 Vector2 second Vector2
t Number time of lerp, value should be between 0 and 1, but it can exceed this values
Returns
Details

<static> IsVector2Like( subject ) → {Vector2|false}

Description
Test if the passed element is a Vector2 like and return Vector2 corresponding, or false
Parameters
Name Type Description
subject any The subject to test
Returns
false on failure
Details

<static> Zero() → {Vector2}

Description
A zero Vector2
Returns
Details

<static> Top() → {Vector2}

Description
A top Vector2
Returns
Details

<static> Left() → {Vector2}

Description
A left Vector2
Returns
Details

<static> Bottom() → {Vector2}

Description
A bottom Vector2
Returns
Details

<static> Right() → {Vector2}

Description
A right Vector2
Returns
Details

floor( v ) → {Vector2}

Description
Flooring the Vector2
Parameters
Name Type Default Description
v Number 1 Precision
Returns
Details

floorX( [ v ] ) → {Vector2}

Description
Flooring the x value of the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

floorY( [ v ] ) → {Vector2}

Description
Flooring the y value of the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

ceil( [ v ] ) → {Vector2}

Description
Ceiling the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

ceilX( [ v ] ) → {Vector2}

Description
Ceiling the x value of the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

ceilY( [ v ] ) → {Vector2}

Description
Ceiling the y value of the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

round( [ v ] ) → {Vector2}

Description
Rounding the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

roundX( [ v ] ) → {Vector2}

Description
Rounding the x value of the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

roundY( [ v ] ) → {Vector2}

Description
Rounding the y value of the Vector2
Parameters
Name Type Attributes Default Description
v Number <optional>
1 Precision
Returns
Details

set( [ p1 [, p2 ] ] ) → {Vector2}

Description
Setting the value of the Vector2
Parameters
Name Type Attributes Description
p1 Vector2 | Number <optional>
Vector2: copy, Number: assign
p2 Number <optional>
Number: assign
Returns
Examples
const v1 = new Vector2();
			// change v1 Vector2 to x:3 & y:3
			v1.set(3);
const v1 = new Vector2();
			// change v1 Vector2 to x:3 & y:4
			v1.set(3, 4);
const v1 = new Vector2();
			// change v1 Vector2 to x:5 & y:6
			v1.set({x:5, y:6});
const v1 = new Vector2();
			const v2 = new Vector2(7, 8);
			// change v1 Vector2 to x:7 & y:8
			v1.set(v2);
Details

setX( v ) → {Vector2}

Description
Setting the x value of the Vector2
Parameters
Name Type Description
v Number The value
Returns
Details

setY( v ) → {Vector2}

Description
Setting the y value of the Vector2
Parameters
Name Type Description
v Number The value
Returns
Details

add( [ p1 [, p2 ] ] ) → {Vector2}

Description
Adding values to the the Vector2
Parameters
Name Type Attributes Description
p1 Vector2 | Number <optional>
Vector2: copy, Number: assign
p2 Number <optional>
Number: assign
Returns
Examples
const v1 = new Vector2(2, 3);
			// add  3 to v1 Vector2
			v1.add(3);
			// v1 values are now x:5 & y:6
const v1 = new Vector2(2, 3);
			// add 5, 7 to v1 Vector2
			v1.add(5, 7);
			// v1 values are now x:7 & y:10
const v1 = new Vector2(2, 3);
			// add  3 to v1 Vector2
			v1.add({x:1, y:2});
			// v1 values are now x:3 & y:5
const v1 = new Vector2(2, 3);
			const v2 = new Vector2(4, 1);
			// add  3 to v1 Vector2
			v1.add(v2);
			// v1 values are now x:6 & y:4, v2 is unchanged
Details

addX( v ) → {Vector2}

Description
Adding v to x value of the Vector2
Parameters
Name Type Description
v Number The value
Returns
Details

addY( v ) → {Vector2}

Description
Adding v to y value of the Vector2
Parameters
Name Type Description
v Number The value
Returns
Details

substract( [ p1 [, p2 ] ] ) → {Vector2}

Description
Substracting values to the the Vector2
Parameters
Name Type Attributes Description
p1 Vector2 | Number <optional>
Vector2: copy, Number: assign
p2 Number <optional>
Number: assign
Returns
Examples
const v1 = new Vector2(2, 3);
			// Substracting  3 to v1 Vector2
			v1.substract(3);
			// v1 values are now x:-1 & y:0
const v1 = new Vector2(2, 3);
			// Substracting 5, 7 to v1 Vector2
			v1.substract(5, 7);
			// v1 values are now x:-3 & y:-4
const v1 = new Vector2(2, 3);
			// Substracting  3 to v1 Vector2
			v1.substract({x:1, y:2});
			// v1 values are now x:1 & y:1
const v1 = new Vector2(2, 3);
			const v2 = new Vector2(4, 1);
			// Substracting 3 to v1 Vector2
			v1.substract(v2);
			// v1 values are now x:-2 & y:2, v2 is unchanged
Details

substractX( v ) → {Vector2}

Description
Substracting v to x value of the Vector2
Parameters
Name Type Description
v Number The value
Returns
Details

substractY( v ) → {Vector2}

Description
Substracting v to x value of the Vector2
Parameters
Name Type Description
v Number The value
Returns
Details

multiply( [ p1 [, p2 ] ] ) → {Vector2}

Description
Multiply values to the the Vector2
Parameters
Name Type Attributes Description
p1 Vector2 | Number <optional>
Vector2: copy, Number: assign
p2 Number <optional>
Number: assign
Returns
Examples
const v1 = new Vector2(2, 3);
			// Multiply 3 to v1 Vector2
			v1.multiply(3);
			// v1 values are now x:6 & y:9
const v1 = new Vector2(2, 3);
			// Multiply 5, 7 to v1 Vector2
			v1.multiply(5, 7);
			// v1 values are now x:10 & y:21
const v1 = new Vector2(2, 3);
			// Multiply  1, 2 to v1 Vector2
			v1.multiply({x:1, y:2});
			// v1 values are now x:2 & y:6
const v1 = new Vector2(2, 3);
			const v2 = new Vector2(4, 1);
			// Multiply v2 to v1 Vector2
			v1.multiply(v2);
			// v1 values are now x:8 & y:3, v2 is unchanged
Details

multiplyX( v ) → {Vector2}

Description
Multiply x value of the Vector2 by v
Parameters
Name Type Description
v Number The multiplicator
Returns
Details

multiplyY( v ) → {Vector2}

Description
Multiply y value of the Vector2 by v
Parameters
Name Type Description
v Number The multiplicator
Returns
Details

divide( p1, p2 ) → {Vector2}

Description
Dividing values to the the Vector2
Parameters
Name Type Description
p1 Vector2 | Number Vector2: copy, Number: assign
p2 Number Number: assign
Returns
Examples
const v1 = new Vector2(12, 9);
			// Dividing v1 Vector2 by 3
			v1.divide(3);
			// v1 values are now x:4 & y:3
const v1 = new Vector2(10, 15);
			// Dividing v1 Vector2 by 2, 5
			v1.divide(2, 5);
			// v1 values are now x:5 & y:3
const v1 = new Vector2(5, 8);
			// Dividing v1 Vector2 by 2, 4
			v1.divide({x:2, y:4});
			// v1 values are now x:2.5 & y:2
const v1 = new Vector2(12, 10);
			const v2 = new Vector2(6, 2);
			// Dividing v1 Vector2 by 6, 2
			v1.divide(v2);
			// v1 values are now x:2 & y:5, v2 is unchanged
Details

divideX( v ) → {Vector2}

Description
Divinding x value of the Vector2 by v
Parameters
Name Type Description
v Number The divisor
Returns
Details

divideY( v ) → {Vector2}

Description
Divinding x value of the Vector2 by v
Parameters
Name Type Description
v Number The divisor
Returns
Details

invert() → {Vector2}

Description
Inverting the Vector2
Returns
Examples
const v1 = new Vector2(3, 6);
			v1.invert();
			// v1 values are now x:-3 & y:-6
Details

invertX() → {Vector2}

Description
Inverting the x value of the Vector2
Returns
Examples
const v1 = new Vector2(3, 6);
			v1.invertX();
			// v1 values are now x:-3 & y:6
Details

invertY() → {Vector2}

Description
Inverting the y value of the Vector2
Returns
Examples
const v1 = new Vector2(3, 6);
			v1.invertY();
			// v1 values are now x:3 & y:-6
Details