Skip to content

Documentation / base / Vector3

Class: Vector3

Defined in: libs/base/src/math/vector.ts:596

3 dimentional vector

Extends

Extended by

Indexable

[index: number]: number

Constructors

Constructor

new Vector3(x, y, z): Vector3

Defined in: libs/base/src/math/vector.ts:603

Creates a new Vector3 initialized with values.

Parameters

x

number

The x component.

y

number

The y component.

z

number

The z component.

Returns

Vector3

Overrides

VectorBase.constructor

Constructor

new Vector3(elements): Vector3

Defined in: libs/base/src/math/vector.ts:608

Creates a new Vector3 initialized with values in an array.

Parameters

elements

number[]

Array that contains the x, y, z values.

Returns

Vector3

Overrides

VectorBase.constructor

Constructor

new Vector3(array): Vector3

Defined in: libs/base/src/math/vector.ts:613

Creates a new Vector3 initialized with values in a Float32Array.

Parameters

array

Float32Array<ArrayBuffer>

Float32Array object that contains the x, y, z values.

Returns

Vector3

Overrides

VectorBase.constructor

Constructor

new Vector3(buffer, offset): Vector3

Defined in: libs/base/src/math/vector.ts:619

Creates a new Vector3 placed on a given ArrayBuffer object.

Parameters

buffer

ArrayBuffer

The array buffer object.

offset

number

The byte offset of the buffer where the vector placed at.

Returns

Vector3

Overrides

VectorBase.constructor

Constructor

new Vector3(): Vector3

Defined in: libs/base/src/math/vector.ts:623

Creates a new Vector3 filled with zero values.

Returns

Vector3

Overrides

VectorBase.constructor

Accessors

x

Get Signature

get x(): number

Defined in: libs/base/src/math/vector.ts:654

Get the x component value.

Returns

number

Set Signature

set x(v): void

Defined in: libs/base/src/math/vector.ts:657

Parameters
v

number

Returns

void


y

Get Signature

get y(): number

Defined in: libs/base/src/math/vector.ts:661

Get the y component value.

Returns

number

Set Signature

set y(v): void

Defined in: libs/base/src/math/vector.ts:664

Parameters
v

number

Returns

void


z

Get Signature

get z(): number

Defined in: libs/base/src/math/vector.ts:668

Get the z component value.

Returns

number

Set Signature

set z(v): void

Defined in: libs/base/src/math/vector.ts:671

Parameters
v

number

Returns

void


magnitude

Get Signature

get magnitude(): number

Defined in: libs/base/src/math/vector.ts:675

Get the length of the vector.

Returns

number


magnitudeSq

Get Signature

get magnitudeSq(): number

Defined in: libs/base/src/math/vector.ts:679

Get the squared length of the vector.

Returns

number

Methods

equalsTo()

equalsTo(other, epsl?): boolean

Defined in: libs/base/src/math/vector.ts:31

Check if all data is close enough to another

Parameters

other

Float32Array<ArrayBuffer>

The data to be compared with.

epsl?

number

Returns

boolean

true if close enough, otherwise false.

Inherited from

VectorBase.equalsTo


toString()

toString(): string

Defined in: libs/base/src/math/vector.ts:51

Convert this to string object.

Returns

string

Inherited from

VectorBase.toString


isNaN()

isNaN(): boolean

Defined in: libs/base/src/math/vector.ts:60

Check the data for the presence of NaN.

Returns

boolean

true if NaN is present, otherwise false.

Inherited from

VectorBase.isNaN


setRandom()

setRandom(minValue, maxValue): void

Defined in: libs/base/src/math/vector.ts:74

Generate random vector

Parameters

minValue

number

Minimum value of any component of the vector

maxValue

number

Maximum value of any component of the vector

Returns

void

Inherited from

VectorBase.setRandom


clone()

clone(): Vector3

Defined in: libs/base/src/math/vector.ts:650

Creates a new Vector3 initialized with values from this vector.

Returns

Vector3

The new vector.


xy()

xy(): Vector2

Defined in: libs/base/src/math/vector.ts:686

Creates a new Vector2 initialized with x, y component of this vector.

Returns

Vector2

The new vector


setXYZ()

setXYZ(x, y, z): Vector3

Defined in: libs/base/src/math/vector.ts:696

Set component values.

Parameters

x

number

The x component value.

y

number

The y component value.

z

number

The z component value.

Returns

Vector3

self


setAndNormalize()

setAndNormalize(x, y, z): Vector3

Defined in: libs/base/src/math/vector.ts:709

Set component values and then normalize the vector.

Parameters

x

number

The x component value.

y

number

The y component value.

z

number

The z component value.

Returns

Vector3

self


subBy()

subBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:718

Subtract a vector from this vector.

Parameters

other

Vector3

The vector that will be subtract.

Returns

Vector3

self


addBy()

addBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:727

Add a vector to this vector.

Parameters

other

Vector3

The vector that will be added.

Returns

Vector3

self


combineBy()

combineBy(other, t0, t1): Vector3

Defined in: libs/base/src/math/vector.ts:738

Combine a vector to this vector.

Parameters

other

Vector3

The vector that will be added.

t0

number

Scale factor for this vector

t1

number

Scale factor for other vector

Returns

Vector3

self


mulBy()

mulBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:747

Multiply this vector by a vector.

Parameters

other

Vector3

The vector that will be multiplied by.

Returns

Vector3

self


divBy()

divBy(other): Vector3

Defined in: libs/base/src/math/vector.ts:756

Divide this vector by a vector.

Parameters

other

Vector3

The vector that will be divide by.

Returns

Vector3

self


scaleBy()

scaleBy(f): Vector3

Defined in: libs/base/src/math/vector.ts:765

Scale this vector by a scalar number.

Parameters

f

number

amount to scale this vector by.

Returns

Vector3

self


inplaceNormalize()

inplaceNormalize(): Vector3

Defined in: libs/base/src/math/vector.ts:773

Normalize this vector inplace.

Returns

Vector3

self


inplaceInverse()

inplaceInverse(): Vector3

Defined in: libs/base/src/math/vector.ts:781

Inverse this vector inplace.

Returns

Vector3

self


inplaceMin()

inplaceMin(other): Vector3

Defined in: libs/base/src/math/vector.ts:790

Set the component values to the minimum of this vector and another vector.

Parameters

other

Vector3

The vector that to be compared with.

Returns

Vector3

self


inplaceMax()

inplaceMax(other): Vector3

Defined in: libs/base/src/math/vector.ts:799

Set the component values to the maximum of this vector and another vector.

Parameters

other

Vector3

The vector that to be compared with.

Returns

Vector3

self


zero()

static zero(): Vector3

Defined in: libs/base/src/math/vector.ts:807

Creates a new Vector3 initialized with zero values.

Returns

Vector3

The new vector


one()

static one(): Vector3

Defined in: libs/base/src/math/vector.ts:814

Creates a new Vector3 initialized with one.

Returns

Vector3

The new vector


axisPX()

static axisPX(): Vector3

Defined in: libs/base/src/math/vector.ts:821

Creates a new Vector3 pointing in the positive direction of the X axis, i.e. vec3(1, 0, 0)

Returns

Vector3

The new vector


axisNX()

static axisNX(): Vector3

Defined in: libs/base/src/math/vector.ts:828

Creates a new Vector3 pointing in the negative direction of the X axis, i.e. vec3(-1, 0, 0)

Returns

Vector3

The new vector


axisPY()

static axisPY(): Vector3

Defined in: libs/base/src/math/vector.ts:835

Creates a new Vector3 pointing in the positive direction of the Y axis, i.e. vec3(0, 1, 0)

Returns

Vector3

The new vector


axisNY()

static axisNY(): Vector3

Defined in: libs/base/src/math/vector.ts:842

Creates a new Vector3 pointing in the negative direction of the Y axis, i.e. vec3(0, -1, 0)

Returns

Vector3

The new vector


axisPZ()

static axisPZ(): Vector3

Defined in: libs/base/src/math/vector.ts:849

Creates a new Vector3 pointing in the positive direction of the Z axis, i.e. vec3(0, 0, 1)

Returns

Vector3

The new vector


axisNZ()

static axisNZ(): Vector3

Defined in: libs/base/src/math/vector.ts:856

Creates a new Vector2 pointing in the negative direction of the Z axis, i.e. vec3(0, 0, -1)

Returns

Vector3

The new vector


distance()

static distance(v1, v2): number

Defined in: libs/base/src/math/vector.ts:865

Calculates the distance between two Vector3's.

Parameters

v1

Vector3

The first vector.

v2

Vector3

The second vector.

Returns

number

distance between v1 and v2


distanceSq()

static distanceSq(v1, v2): number

Defined in: libs/base/src/math/vector.ts:874

Calculates the squared distance between two Vector3's.

Parameters

v1

Vector3

The first vector.

v2

Vector3

The second vector.

Returns

number

squared distance between v1 and v2


normalize()

static normalize(v, result?): Vector3

Defined in: libs/base/src/math/vector.ts:886

Normalize a Vector3

Parameters

v

Vector3

The input vector

result?

Vector3

The output vector (can be the same vector as v). if not specified, a new vector will be created.

Returns

Vector3

The output vector


inverse()

static inverse(v, result?): Vector3

Defined in: libs/base/src/math/vector.ts:899

Inverse a Vector3

Parameters

v

Vector3

The input vector

result?

Vector3

The output vector (can be the same vector as v). if not specified, a new vector will be created.

Returns

Vector3

The output vector


sub()

static sub(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:912

Subtract two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


add()

static add(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:925

Add two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


combine()

static combine(a, b, t0, t1, result?): Vector3

Defined in: libs/base/src/math/vector.ts:940

Combine two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

t0

number

Scale factor for the first operand

t1

number

Scale factor for the second operand

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


lerp()

static lerp(a, b, t, result?): Vector3

Defined in: libs/base/src/math/vector.ts:954

Linearly interpolate between two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

t

number

The interpolation factor. The result is equal to a when t = 0 and equal to b when t = 1.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


mul()

static mul(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:967

Multiply two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


div()

static div(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:980

Divide two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


scale()

static scale(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:993

Scale a Vector3 by a scalar number.

Parameters

a

Vector3

The vector to be scaled.

b

number

The scalar number.

result?

Vector3

The output vector (can be the same vector as a). if not specified, a new vector will be created.

Returns

Vector3

The output vector


min()

static min(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1006

Calculates the minimum of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


max()

static max(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1019

Calculates the maximum of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


abs()

static abs(a, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1031

Calculates the absolute values of a Vector3.

Parameters

a

Vector3

The input vector.

result?

Vector3

The output vector (can be the same vector as a or b). if not specified, a new vector will be created.

Returns

Vector3

The output vector


dot()

static dot(a, b): number

Defined in: libs/base/src/math/vector.ts:1043

Calculates the dot product of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

Returns

number

dot product of a and b


cross()

static cross(a, b, result?): Vector3

Defined in: libs/base/src/math/vector.ts:1052

Calculates the cross product of two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

result?

Vector3

Returns

Vector3

the cross product of the two vectors.


angleBetween()

static angleBetween(a, b): number

Defined in: libs/base/src/math/vector.ts:1064

Calculates the angle between two Vector3's.

Parameters

a

Vector3

The first operand.

b

Vector3

The second operand.

Returns

number

the angle between the two vectors in radians

Released under the MIT License.