唯杰地图 logo唯杰地图
VJMAP
EN

Namespace: quat

更新于 2026-09-14约 19 分钟
.md

Table of contents

Type aliases

Functions

Type aliases

valueType

Ƭ valueType: quattype

Functions

add

▸ Const add(out: vec4type, a: vec4type, b: vec4type): vec4type

Adds two quat's

function

Parameters
Name Type Description
out vec4type the receiving quaternion
a vec4type the first operand
b vec4type the second operand

Returns: vec4type

out


calculateW

▸ calculateW(out: quattype, a: quattype): quattype

Calculates the W component of a quat from the X, Y, and Z components. Assumes that quaternion is 1 unit in length. Any existing W component will be ignored.

Parameters
Name Type Description
out quattype the receiving quaternion
a quattype quat to calculate W component of

Returns: quattype

out


clone

▸ Const clone(a: vec4type): vec4type

Creates a new quat initialized with values from an existing quaternion

function

Parameters
Name Type Description
a vec4type quaternion to clone

Returns: vec4type

a new quaternion


conjugate

▸ conjugate(out: quattype, a: quattype): quattype

Calculates the conjugate of a quat If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.

Parameters
Name Type Description
out quattype the receiving quaternion
a quattype quat to calculate conjugate of

Returns: quattype

out


copy

▸ Const copy(out: vec4type, a: vec4type): vec4type

Copy the values from one quat to another

function

Parameters
Name Type Description
out vec4type the receiving quaternion
a vec4type the source quaternion

Returns: vec4type

out


create

▸ create(): quattype

Creates a new identity quat

Returns: quattype

a new quaternion


dot

▸ Const dot(a: vec4type, b: vec4type): number

Calculates the dot product of two quat's

function

Parameters
Name Type Description
a vec4type the first operand
b vec4type the second operand

Returns: number

dot product of a and b


equals

▸ Const equals(a: vec4type, b: vec4type): boolean

Returns whether or not the quaternions have approximately the same elements in the same position.

Parameters
Name Type Description
a vec4type The first vector.
b vec4type The second vector.

Returns: boolean

True if the vectors are equal, false otherwise.


exactEquals

▸ Const exactEquals(a: vec4type, b: vec4type): boolean

Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)

Parameters
Name Type Description
a vec4type The first quaternion.
b vec4type The second quaternion.

Returns: boolean

True if the vectors are equal, false otherwise.


fromMat3

▸ fromMat3(out: quattype, m: mat3type): quattype

Creates a quaternion from the given 3x3 rotation matrix.

NOTE: The resultant quaternion is not normalized, so you should be sure to renormalize the quaternion yourself where necessary.

function

Parameters
Name Type Description
out quattype the receiving quaternion
m mat3type rotation matrix

Returns: quattype

out


fromValues

▸ Const fromValues(x: number, y: number, z: number, w: number): vec4type

Creates a new quat initialized with the given values

function

Parameters
Name Type Description
x number X component
y number Y component
z number Z component
w number W component

Returns: vec4type

a new quaternion


getAxisAngle

▸ getAxisAngle(outAxis: vec3type, q: quattype): number

Gets the rotation axis and angle for a given quaternion. If a quaternion is created with setAxisAngle, this method will return the same values as providied in the original parameter list OR functionally equivalent values. Example: The quaternion formed by axis [0, 0, 1] and angle -90 is the same as the quaternion formed by [0, 0, 1] and 270. This method favors the latter.

Parameters
Name Type Description
outAxis vec3type Vector receiving the axis of rotation
q quattype Quaternion to be decomposed

Returns: number

Angle, in radians, of the rotation


identity

▸ identity(out: quattype): quattype

Set a quat to the identity quaternion

Parameters
Name Type Description
out quattype the receiving quaternion

Returns: quattype

out


invert

▸ invert(out: quattype, a: quattype): quattype

Calculates the inverse of a quat

Parameters
Name Type Description
out quattype the receiving quaternion
a quattype quat to calculate inverse of

Returns: quattype

out


length

▸ Const length(a: vec4type): number

Calculates the length of a quat

function

Parameters
Name Type Description
a vec4type vector to calculate length of

Returns: number

length of a


lerp

▸ Const lerp(out: vec4type, a: vec4type, b: vec4type, t: number): vec4type

Performs a linear interpolation between two quat's

function

Parameters
Name Type Description
out vec4type the receiving quaternion
a vec4type the first operand
b vec4type the second operand
t number interpolation amount between the two inputs

Returns: vec4type

out


multiply

▸ multiply(out: quattype, a: quattype, b: quattype): quattype

Multiplies two quat's

Parameters
Name Type Description
out quattype the receiving quaternion
a quattype the first operand
b quattype the second operand

Returns: quattype

out


normalize

▸ Const normalize(out: vec4type, a: vec4type): vec4type

Normalize a quat

function

Parameters
Name Type Description
out vec4type the receiving quaternion
a vec4type quaternion to normalize

Returns: vec4type

out


rotateX

▸ rotateX(out: quattype, a: quattype, rad: number): quattype

Rotates a quaternion by the given angle about the X axis

Parameters
Name Type Description
out quattype quat receiving operation result
a quattype quat to rotate
rad number angle (in radians) to rotate

Returns: quattype

out


rotateY

▸ rotateY(out: quattype, a: quattype, rad: number): quattype

Rotates a quaternion by the given angle about the Y axis

Parameters
Name Type Description
out quattype quat receiving operation result
a quattype quat to rotate
rad number angle (in radians) to rotate

Returns: quattype

out


rotateZ

▸ rotateZ(out: quattype, a: quattype, rad: number): quattype

Rotates a quaternion by the given angle about the Z axis

Parameters
Name Type Description
out quattype quat receiving operation result
a quattype quat to rotate
rad number angle (in radians) to rotate

Returns: quattype

out


rotationTo

▸ rotationTo(out: quattype, a: vec3type, b: vec3type): quattype

Sets a quaternion to represent the shortest rotation from one vector to another.

Both vectors are assumed to be unit length.

Parameters
Name Type Description
out quattype the receiving quaternion.
a vec3type the initial vector
b vec3type the destination vector

Returns: quattype

out


scale

▸ Const scale(out: vec4type, a: vec4type, b: number): vec4type

Scales a quat by a scalar number

function

Parameters
Name Type Description
out vec4type the receiving vector
a vec4type the vector to scale
b number amount to scale the vector by

Returns: vec4type

out


set

▸ Const set(out: vec4type, x: number, y: number, z: number, w: number): vec4type

Set the components of a quat to the given values

function

Parameters
Name Type Description
out vec4type the receiving quaternion
x number X component
y number Y component
z number Z component
w number W component

Returns: vec4type

out


setAxes

▸ setAxes(out: quattype, view: vec3type, right: vec3type, up: vec3type): quattype

Sets the specified quaternion with values corresponding to the given axes. Each axis is a vec3 and is expected to be unit length and perpendicular to all other specified axes.

Parameters
Name Type Description
out quattype -
view vec3type the vector representing the viewing direction
right vec3type the vector representing the local "right" direction
up vec3type the vector representing the local "up" direction

Returns: quattype

out


setAxisAngle

▸ setAxisAngle(out: quattype, axis: vec3type, rad: number): quattype

Sets a quat from the given angle and rotation axis, then returns it.

Parameters
Name Type Description
out quattype the receiving quaternion
axis vec3type the axis around which to rotate
rad number the angle in radians

Returns: quattype

out


slerp

▸ slerp(out: quattype, a: quattype, b: quattype, t: number): quattype

Performs a spherical linear interpolation between two quat

Parameters
Name Type Description
out quattype the receiving quaternion
a quattype the first operand
b quattype the second operand
t number interpolation amount between the two inputs

Returns: quattype

out


sqlerp

▸ sqlerp(out: quattype, a: quattype, b: quattype, c: quattype, d: quattype, t: number): quattype

Performs a spherical linear interpolation with two control points

Parameters
Name Type Description
out quattype the receiving quaternion
a quattype the first operand
b quattype the second operand
c quattype the third operand
d quattype the fourth operand
t number interpolation amount

Returns: quattype

out


squaredLength

▸ Const squaredLength(a: vec4type): number

Calculates the squared length of a quat

function

Parameters
Name Type Description
a vec4type vector to calculate squared length of

Returns: number

squared length of a


str

▸ str(a: quattype): string

Returns a string representation of a quatenion

Parameters
Name Type Description
a quattype vector to represent as a string

Returns: string

string representation of the vector

vjmap / Exports / spring

这篇文档有帮助吗?