Package Exports
- @aliser/vector2
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@aliser/vector2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@aliser/vector2 / Exports
Usage
Install with npm.
npm install @aliser/vector2Import as a module.
import { Vector2, RAD2DEG, DEG2RAD } from '@aliser/vector2';Enjoy!
Below you can find the docs for all of this.
Note: the static and the instance methods are mixed. Sorry for that.
TODO
- custom interpolation functions for the
static lerp- slide with ease! - maybe some static damping function - it'll make the target vector experience some kind of repulsion (the magnitude of which is controller by some specified function) on approaching the end point.
- getters for directions - up, down, right, west, east, forward, backward, sideways, the 5- and 11- dimensions and other.
- implement the stuff that other libs like this one are providing: reflect, normal, moveTowards.
Classes
@aliser/vector2 / Exports / Vector2
Class: Vector2
Hierarchy
- Vector2
Implements
- IVector2
Table of contents
Constructors
Properties
Accessors
Methods
- add
- ceil
- clamp
- copy
- div
- floor
- isEquals
- lerp
- mod
- mult
- negate
- normalize
- rotateBy
- rotateTo
- round
- set
- setMag
- sub
- add
- angleBetween
- angleBetweenSigned
- dist
- div
- dot
- fromAngle
- lerp
- mult
- random
- randomWithLength
- sub
- zero
Constructors
constructor
+ new Vector2(x?: number, y?: number): Vector2
Creates an instance.
Parameters:
| Name | Type |
|---|---|
x? |
number |
y? |
number |
Returns: Vector2
+ new Vector2(xy?: number): Vector2
Creates an instance, where 'x' and 'y' are both equal to 'xy'.
Parameters:
| Name | Type |
|---|---|
xy? |
number |
Returns: Vector2
+ new Vector2(): Vector2
Creates an instance, where 'x' and 'y' are both equal to 0.
Returns: Vector2
+ new Vector2(vec?: Vector2): Vector2
Creates an instance, where 'x' and 'y' are equal to 'x' and 'y' of 'vec', respectively.
Parameters:
| Name | Type |
|---|---|
vec? |
Vector2 |
Returns: Vector2
Properties
x
• x: number
y
• y: number
Accessors
0
• 0(): number
Returns: number
alias for 'x'.
• 0(value: number): void
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: void
alias for 'x'.
1
• 1(): number
Returns: number
alias for 'y'.
• 1(value: number): void
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: void
alias for 'y'.
angle
• angle(): number
The signed angle (from -PI to PI radians).
Returns: number
• angle(value: number): void
The signed angle (from -PI to PI radians).
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: void
mag
• mag(): number
The length.
Note, when setting 'mag' to negative value, both 'x' and 'y' will be set to 0, and the magnitude will be 0.
Returns: number
• mag(value: number): void
The length.
Note, when setting 'mag' to negative value, both 'x' and 'y' will be set to 0, and the magnitude will be 0.
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: void
max
• max(): number
Returns: number
the largest of 'x' and 'y'.
min
• min(): number
Returns: number
the smallest of 'x' and 'y'.
sqrMag
• sqrMag(): number
Returns: number
the length, squared.
u
• u(): number
Returns: number
alias for 'x'.
• u(value: number): void
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: void
alias for 'x'.
v
• v(): number
Returns: number
alias for 'y'.
• v(value: number): void
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: void
alias for 'y'.
Methods
add
▸ add(deltaX: number): Vector2
Adds 'deltaX' to both 'x' and 'y'.
Parameters:
| Name | Type |
|---|---|
deltaX |
number |
Returns: Vector2
▸ add(deltaX: number, deltaY: number): Vector2
Adds 'deltaX' and 'deltaY' to 'x' and 'y', respectively.
Parameters:
| Name | Type |
|---|---|
deltaX |
number |
deltaY |
number |
Returns: Vector2
Adds 'x' and 'y' of 'vec' to 'x' and 'y', respectively.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
ceil
▸ ceil(): Vector2
Does the rounding to the nearest larger integer.
Returns: Vector2
clamp
▸ clamp(): Vector2
Restricts 'x' and 'y' from going below 0 or above 1.
Returns: Vector2
▸ clamp(upperBound: number): Vector2
Restricts 'x' and 'y' from going below 0 or above 'upperBound'.
Parameters:
| Name | Type |
|---|---|
upperBound |
number |
Returns: Vector2
▸ clamp(lowerBound: number, upperBound: number): Vector2
Restricts 'x' and 'y' from going below 'lowerBound' or above 'upperBound'.
Parameters:
| Name | Type |
|---|---|
lowerBound |
number |
upperBound |
number |
Returns: Vector2
▸ clamp(lowerBoundX: number, upperBoundX: number, lowerBoundY: number, upperBoundY: number): Vector2
Restricts 'x' from going below 'lowerBoundX' or above 'upperBoundX', and for 'y' from going below 'lowerBoundY' or above 'upperBoundY'.
Parameters:
| Name | Type |
|---|---|
lowerBoundX |
number |
upperBoundX |
number |
lowerBoundY |
number |
upperBoundY |
number |
Returns: Vector2
copy
▸ copy(): Vector2
Returns: Vector2
a copy of this instance.
div
▸ div(divisor: number): Vector2
Divides both 'x' and 'y' by 'divisor'.
Parameters:
| Name | Type |
|---|---|
divisor |
number |
Returns: Vector2
▸ div(divisorX: number, divisorY: number): Vector2
Divides 'x' and 'y' by 'divisorX' and 'divisorY', respectively.
Parameters:
| Name | Type |
|---|---|
divisorX |
number |
divisorY |
number |
Returns: Vector2
Divides 'x' and 'y' by 'x' and 'y' of vec, respectively.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
floor
▸ floor(): Vector2
Does the rounding to the nearest smaller integer.
Returns: Vector2
isEquals
▸ isEquals(vec: Vector2): boolean
Checks if 'x' and 'y' are strictly equal to 'x' and 'y', respectively.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: boolean
lerp
▸ lerp(vec1: Vector2, vec2: Vector2, t: number): Vector2
Linearly interpolates between 'vec1' and 'vec2' by 't', setting this instance to result.
Parameters:
| Name | Type |
|---|---|
vec1 |
Vector2 |
vec2 |
Vector2 |
t |
number |
Returns: Vector2
mod
▸ mod(divisor: number): Vector2
Divides both 'x' and 'y' by 'divisor' and sets them to the remainder of that division, respectively.
Parameters:
| Name | Type |
|---|---|
divisor |
number |
Returns: Vector2
▸ mod(divisorX: number, divisorY: number): Vector2
Divides 'x' and 'y' by 'divisorX' and 'divisorY', respectively, and sets them to the remainder of that division, also respectively.
Parameters:
| Name | Type |
|---|---|
divisorX |
number |
divisorY |
number |
Returns: Vector2
mult
▸ mult(multiplier: number): Vector2
Multiplies both 'x' and 'y' by 'multiplier'.
Parameters:
| Name | Type |
|---|---|
multiplier |
number |
Returns: Vector2
▸ mult(multiplierX: number, multiplierY: number): Vector2
Multiplies 'x' and 'y' by 'multiplierX' and 'multiplierY', respectively.
Parameters:
| Name | Type |
|---|---|
multiplierX |
number |
multiplierY |
number |
Returns: Vector2
Multiplies 'x' and 'y' by 'x' and 'y' of 'vec', respectively.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
negate
▸ negate(): Vector2
Inverts both 'x' and 'y' (makes them -'x' and -'y').
Returns: Vector2
normalize
▸ normalize(): Vector2
Mangles the length of this instance until it will be 1.
Note, if the length of this instance is 0, than it will not be changed.
Returns: Vector2
rotateBy
▸ rotateBy(angleInRadiansDelta: number): Vector2
Rotates this instance by 'angleInRadiansDelta' radians.
Parameters:
| Name | Type |
|---|---|
angleInRadiansDelta |
number |
Returns: Vector2
▸ rotateBy(vec: Vector2): Vector2
Rotates this instance by the signed angle of 'vec'.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
rotateTo
▸ rotateTo(angleInRadians: number): Vector2
Rotates this instance to 'angleInRadians' radians.
Parameters:
| Name | Type |
|---|---|
angleInRadians |
number |
Returns: Vector2
▸ rotateTo(vec: Vector2): Vector2
Rotates this instance to the angle of 'vec'.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
round
▸ round(): Vector2
Does the rounding to the nearest integer.
Returns: Vector2
set
▸ set(x?: number, y?: number): Vector2
Sets 'x' and 'y', respectively.
Parameters:
| Name | Type |
|---|---|
x? |
number |
y? |
number |
Returns: Vector2
▸ set(xy?: number): Vector2
Sets both 'x' and 'y' to 'xy'.
Parameters:
| Name | Type |
|---|---|
xy? |
number |
Returns: Vector2
▸ set(): Vector2
Sets both 'x' and 'y' to 0.
Returns: Vector2
Sets 'x' and 'y' to 'x' and 'y' of 'vec', respectively.
Parameters:
| Name | Type |
|---|---|
vec? |
Vector2 |
Returns: Vector2
setMag
▸ setMag(value: number): Vector2
Function alias of 'mag'.
Sets the length.
Note, when setting 'value' is negative, both 'x' and 'y' will be set to 0, and the magnitude will be 0.
Parameters:
| Name | Type |
|---|---|
value |
number |
Returns: Vector2
▸ setMag(vec: Vector2): Vector2
Sets the length to the length of vec.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
sub
▸ sub(delta: number): Vector2
Subtracts 'delta' from both 'x' and 'y'.
Parameters:
| Name | Type |
|---|---|
delta |
number |
Returns: Vector2
▸ sub(deltaX: number, deltaY: number): Vector2
Subtracts 'deltaX' and 'deltaY' from 'x' and 'y', respectively.
Parameters:
| Name | Type |
|---|---|
deltaX |
number |
deltaY |
number |
Returns: Vector2
Subtracts 'x' and 'y' of 'vec' from 'x' and 'y', respectively.
Parameters:
| Name | Type |
|---|---|
vec |
Vector2 |
Returns: Vector2
add
▸ Staticadd(...vecs: [Vector2, Vector2, ...Vector2[]]): Vector2
Adds 'vecs' together.
Parameters:
| Name | Type |
|---|---|
...vecs |
[Vector2, Vector2, ...Vector2[]] |
Returns: Vector2
angleBetween
▸ StaticangleBetween(vec1: Vector2, vec2: Vector2): number
Parameters:
| Name | Type |
|---|---|
vec1 |
Vector2 |
vec2 |
Vector2 |
Returns: number
an unsigned angle (from 0 to PI radians) between 'vec1' and 'vec2'.
angleBetweenSigned
▸ StaticangleBetweenSigned(vec1: Vector2, vec2: Vector2): number
Parameters:
| Name | Type |
|---|---|
vec1 |
Vector2 |
vec2 |
Vector2 |
Returns: number
the smallest signed angle (from -PI to PI radians) between 'vec1' and 'vec2'.
Note, that the resulting angle is the angle that, if applied as a rotation to 'vec1', will result in 'vec2'.
dist
▸ Staticdist(vec1: Vector2, vec2: Vector2): number
Parameters:
| Name | Type |
|---|---|
vec1 |
Vector2 |
vec2 |
Vector2 |
Returns: number
the distance between 'vec1' and 'vec2'.
div
▸ Staticdiv(...vectors: [Vector2, Vector2, ...Vector2[]]): Vector2
Sequentially divides 'vecs', one by one.
Parameters:
| Name | Type |
|---|---|
...vectors |
[Vector2, Vector2, ...Vector2[]] |
Returns: Vector2
dot
▸ Staticdot(vec1: Vector2, vec2: Vector2): number
Parameters:
| Name | Type |
|---|---|
vec1 |
Vector2 |
vec2 |
Vector2 |
Returns: number
the dot product of 'vec1' and 'vec2'.
fromAngle
▸ StaticfromAngle(angleOfRadians: number, length?: number): Vector2
Parameters:
| Name | Type | Default value |
|---|---|---|
angleOfRadians |
number | - |
length |
number | 1 |
Returns: Vector2
a new instance with angle 'angleOfRadians' radians and length 'length'.
lerp
▸ Staticlerp(vecOut: Vector2, vec1: Vector2, vec2: Vector2, t: number): Vector2
Linearly interpolates between 'vec1' and 'vec2' by 't', setting 'vecOut' to result.
Parameters:
| Name | Type |
|---|---|
vecOut |
Vector2 |
vec1 |
Vector2 |
vec2 |
Vector2 |
t |
number |
Returns: Vector2
'vecOut'.
mult
▸ Staticmult(...vecs: [Vector2, Vector2, ...Vector2[]]): Vector2
Multiplies 'vecs' together.
Parameters:
| Name | Type |
|---|---|
...vecs |
[Vector2, Vector2, ...Vector2[]] |
Returns: Vector2
random
▸ Staticrandom(multiplier?: number): Vector2
Parameters:
| Name | Type | Default value |
|---|---|---|
multiplier |
number | 1 |
Returns: Vector2
a new instance with 'x' and 'y' individually set to some random value from -1 to below 1, multiplied by 'multiplier'.
randomWithLength
▸ StaticrandomWithLength(length?: number): Vector2
Parameters:
| Name | Type | Default value |
|---|---|---|
length |
number | 1 |
Returns: Vector2
a new instance with 'x' and 'y' individually set to some random value in such a way that the length of the new instance will be 'length'.
sub
▸ Staticsub(...vecs: [Vector2, Vector2, ...Vector2[]]): Vector2
Sequentially subtracts 'vecs', one by one.
Parameters:
| Name | Type |
|---|---|
...vecs |
[Vector2, Vector2, ...Vector2[]] |
Returns: Vector2
zero
▸ Staticzero(): Vector2
Returns: Vector2
a new instance with both 'x' and 'y' set to 0.
@aliser/vector2 / Exports
@aliser/vector2
Table of contents
Classes
Variables
Variables
DEG2RAD
• Const DEG2RAD: number
Multiply your degrees by this to convert them to radians.
RAD2DEG
• Const RAD2DEG: number
Multiply your radians by this to convert them to degrees.