Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Vec2

二维向量。

Hierarchy

Index

Constructors

constructor

  • newVec2(other: Vec2): Vec2
  • newVec2(x?: undefined | number, y?: undefined | number): Vec2
  • Parameters

    Returns Vec2

  • Parameters

    • Optional x: undefined | number
    • Optional y: undefined | number

    Returns Vec2

Properties

x

x: number

x 分量。

y

y: number

y 分量。

Static NEGONE

NEGONE: object = Object.freeze(new Vec2(-1, -1))

Type declaration

Static ONE

ONE: object = Object.freeze(new Vec2(1, 1))

Type declaration

Static UNITX

UNITX: object = Object.freeze(new Vec2(1, 0))

Type declaration

Static UNITY

UNITY: object = Object.freeze(new Vec2(0, 1))

Type declaration

Static ZERO

ZERO: object = Object.freeze(new Vec2(0, 0))

Type declaration

Methods

add

  • add(other: Vec2): this
  • 向量加法。将当前向量与指定向量的相加

    Parameters

    • other: Vec2

      指定的向量。

    Returns this

add2f

  • add2f(x: number, y: number): this
  • 向量加法。将当前向量与指定分量的向量相加

    Parameters

    • x: number

      指定的向量的 x 分量。

    • y: number

      指定的向量的 y 分量。

    Returns this

angle

  • angle(other: Vec2): number
  • 获取当前向量和指定向量之间的角度。

    Parameters

    • other: Vec2

      指定的向量。

    Returns number

    当前向量和指定向量之间的角度(弧度制);若当前向量和指定向量中存在零向量,将返回 0。

clampf

  • clampf(minInclusive: Vec2, maxInclusive: Vec2): this
  • 设置当前向量的值,使其各个分量都处于指定的范围内。

    Parameters

    • minInclusive: Vec2

      每个分量都代表了对应分量允许的最小值。

    • maxInclusive: Vec2

      每个分量都代表了对应分量允许的最大值。

    Returns this

    this

clone

  • 克隆当前向量。

    Returns Vec2

cross

  • cross(other: Vec2): number
  • 向量叉乘。

    Parameters

    • other: Vec2

      指定的向量。

    Returns number

    out

divide

  • divide(other: Vec2): this
  • 向量逐元素相除。将当前向量与指定分量的向量相除的结果赋值给当前向量。

    Parameters

    • other: Vec2

      指定的向量

    Returns this

divide2f

  • divide2f(x: number, y: number): this
  • 向量逐元素相除。将当前向量与指定分量的向量相除的结果赋值给当前向量。

    Parameters

    • x: number

      指定的向量的 x 分量。

    • y: number

      指定的向量的 y 分量。

    Returns this

dot

  • dot(other: Vec2): number
  • 向量点乘。

    Parameters

    • other: Vec2

      指定的向量。

    Returns number

    当前向量与指定向量点乘的结果。

equals

  • equals(other: Vec2, epsilon?: number): boolean
  • 判断当前向量是否在误差范围内与指定向量相等。

    Parameters

    • other: Vec2

      相比较的向量。

    • Default value epsilon: number = EPSILON

      允许的误差,应为非负数。

    Returns boolean

    当两向量的各分量都在指定的误差范围内分别相等时,返回 true;否则返回 false

equals2f

  • equals2f(x: number, y: number, epsilon?: number): boolean
  • 判断当前向量是否在误差范围内与指定分量的向量相等。

    Parameters

    • x: number

      相比较的向量的 x 分量。

    • y: number

      相比较的向量的 y 分量。

    • Default value epsilon: number = EPSILON

      允许的误差,应为非负数。

    Returns boolean

    当两向量的各分量都在指定的误差范围内分别相等时,返回 true;否则返回 false

length

  • length(): number
  • 计算向量的长度(模)。

    Returns number

    向量的长度(模)。

lengthSqr

  • lengthSqr(): number
  • 计算向量长度(模)的平方。

    Returns number

    向量长度(模)的平方。

lerp

  • lerp(to: Vec2, ratio: number): this
  • 根据指定的插值比率,从当前向量到目标向量之间做插值。

    Parameters

    • to: Vec2

      目标向量。

    • ratio: number

      插值比率,范围为 [0,1]。

    Returns this

multiply

  • multiply(other: Vec2): this
  • 向量乘法。将当前向量乘以与指定向量的结果赋值给当前向量。

    Parameters

    • other: Vec2

      指定的向量。

    Returns this

multiply2f

  • multiply2f(x: number, y: number): this
  • 向量乘法。将当前向量与指定分量的向量相乘的结果赋值给当前向量。

    Parameters

    • x: number

      指定的向量的 x 分量。

    • y: number

      指定的向量的 y 分量。

    Returns this

multiplyScalar

  • multiplyScalar(scalar: number): this
  • 向量数乘。将当前向量数乘指定标量

    Parameters

    • scalar: number

      标量乘数。

    Returns this

negative

  • negative(): this
  • 将当前向量的各个分量取反

    Returns this

normalize

  • normalize(): this
  • 将当前向量归一化。

    Returns this

project

  • project(other: Vec2): this
  • 计算当前向量在指定向量上的投影向量。

    Parameters

    • other: Vec2

      指定的向量。

    Returns this

rotate

  • rotate(radians: number): this
  • 将当前向量的旋转

    Parameters

    • radians: number

      旋转角度(弧度制)。

    Returns this

set

  • set(other: Vec2): any
  • set(x?: undefined | number, y?: undefined | number): any
  • 设置当前向量使其与指定向量相等。

    Parameters

    • other: Vec2

      相比较的向量。

    Returns any

    this

  • 设置当前向量的具体分量值。

    Parameters

    • Optional x: undefined | number

      要设置的 x 分量的值

    • Optional y: undefined | number

      要设置的 y 分量的值

    Returns any

    this

signAngle

  • signAngle(other: Vec2): number
  • 获取当前向量和指定向量之间的有符号角度。
    有符号角度的取值范围为 (-180, 180],当前向量可以通过逆时针旋转有符号角度与指定向量同向。

    Parameters

    • other: Vec2

      指定的向量。

    Returns number

    当前向量和指定向量之间的有符号角度(弧度制);若当前向量和指定向量中存在零向量,将返回 0。

strictEquals

  • strictEquals(other: Vec2): boolean
  • 判断当前向量是否与指定向量相等。

    Parameters

    • other: Vec2

      相比较的向量。

    Returns boolean

    两向量的各分量都分别相等时返回 true;否则返回 false

strictEquals2f

  • strictEquals2f(x: number, y: number): boolean
  • 判断当前向量是否与指定分量的向量相等。

    Parameters

    • x: number

      指定向量的 x 分量。

    • y: number

      指定向量的 y 分量。

    Returns boolean

    两向量的各分量都分别相等时返回 true;否则返回 false

subtract

  • subtract(other: Vec2): this
  • 向量减法。将当前向量减去指定向量

    Parameters

    • other: Vec2

      减数向量。

    Returns this

subtract2f

  • subtract2f(x: number, y: number): this
  • 向量减法。将当前向量减去指定分量的向量

    Parameters

    • x: number

      指定的向量的 x 分量。

    • y: number

      指定的向量的 y 分量。

    Returns this

toString

  • toString(): string
  • 返回当前向量的字符串表示。

    Returns string

    当前向量的字符串表示。

transformMat4

  • transformMat4(matrix: Mat4): this
  • 将当前向量视为 z 分量为 0、w 分量为 1 的四维向量,
    应用四维矩阵变换到当前矩阵

    Parameters

    • matrix: Mat4

      变换矩阵。

    Returns this

Static add

  • add<Out>(out: Out, a: Out, b: Out): Out
  • 逐元素向量加法

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out

    Returns Out

Static angle

  • angle<Out>(a: Out, b: Out): number
  • 求两向量夹角弧度

    Type parameters

    Parameters

    • a: Out
    • b: Out

    Returns number

Static ceil

  • ceil<Out>(out: Out, a: Out): Out
  • 逐元素向量向上取整

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static clone

  • clone<Out>(a: Out): Vec2
  • 获得指定向量的拷贝

    Type parameters

    Parameters

    • a: Out

    Returns Vec2

Static copy

  • copy<Out>(out: Out, a: Out): Out
  • 复制目标向量

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static cross

  • cross<Out>(out: Vec3, a: Out, b: Out): Vec3
  • 向量叉积(向量积),注意二维向量的叉积为与 Z 轴平行的三维向量

    Type parameters

    Parameters

    • out: Vec3
    • a: Out
    • b: Out

    Returns Vec3

Static distance

  • distance<Out>(a: Out, b: Out): number
  • 求两向量的欧氏距离

    Type parameters

    Parameters

    • a: Out
    • b: Out

    Returns number

Static divide

  • divide<Out>(out: Out, a: Out, b: Out): Out
  • 逐元素向量除法

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out

    Returns Out

Static dot

  • dot<Out>(a: Out, b: Out): number
  • 向量点积(数量积)

    Type parameters

    Parameters

    • a: Out
    • b: Out

    Returns number

Static equals

  • equals<Out>(a: Out, b: Out, epsilon?: number): boolean
  • 排除浮点数误差的向量近似等价判断

    Type parameters

    Parameters

    • a: Out
    • b: Out
    • Default value epsilon: number = EPSILON

    Returns boolean

Static floor

  • floor<Out>(out: Out, a: Out): Out
  • 逐元素向量向下取整

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static fromArray

  • fromArray<Out>(out: Out, arr: IWritableArrayLike<number>, ofs?: number): Out
  • 数组转向量

    Type parameters

    Parameters

    • out: Out
    • arr: IWritableArrayLike<number>
    • Default value ofs: number = 0

      数组起始偏移量

    Returns Out

Static inverse

  • inverse<Out>(out: Out, a: Out): Out
  • 逐元素向量取倒数,接近 0 时返回 Infinity

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static inverseSafe

  • inverseSafe<Out>(out: Out, a: Out): Out
  • 逐元素向量取倒数,接近 0 时返回 0

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static len

  • len<Out>(a: Out): number
  • 求向量长度

    Type parameters

    Parameters

    • a: Out

    Returns number

Static lengthSqr

  • lengthSqr<Out>(a: Out): number
  • 求向量长度平方

    Type parameters

    Parameters

    • a: Out

    Returns number

Static lerp

  • lerp<Out>(out: Out, a: Out, b: Out, t: number): Out
  • 逐元素向量线性插值: A + t * (B - A)

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out
    • t: number

    Returns Out

Static max

  • max<Out>(out: Out, a: Out, b: Out): Out
  • 逐元素向量最大值

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out

    Returns Out

Static min

  • min<Out>(out: Out, a: Out, b: Out): Out
  • 逐元素向量最小值

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out

    Returns Out

Static multiply

  • multiply<Out>(out: Out, a: Out, b: Out): Out
  • 逐元素向量乘法

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out

    Returns Out

Static multiplyScalar

  • multiplyScalar<Out>(out: Out, a: Out, b: number): Out
  • 向量标量乘法

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: number

    Returns Out

Static negate

  • negate<Out>(out: Out, a: Out): Out
  • 逐元素向量取负

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static normalize

  • normalize<Out, Vec2Like>(out: Out, a: Vec2Like): Out
  • 归一化向量

    Type parameters

    Parameters

    • out: Out
    • a: Vec2Like

    Returns Out

Static random

  • random<Out>(out: Out, scale?: undefined | number): Out
  • 生成一个在单位圆上均匀分布的随机向量

    Type parameters

    Parameters

    • out: Out
    • Optional scale: undefined | number

      生成的向量长度

    Returns Out

Static round

  • round<Out>(out: Out, a: Out): Out
  • 逐元素向量四舍五入取整

    Type parameters

    Parameters

    • out: Out
    • a: Out

    Returns Out

Static scaleAndAdd

  • scaleAndAdd<Out>(out: Out, a: Out, b: Out, scale: number): Out
  • 逐元素向量乘加: A + B * scale

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out
    • scale: number

    Returns Out

Static set

  • set<Out>(out: Out, x: number, y: number): Out
  • 设置向量值

    Type parameters

    Parameters

    • out: Out
    • x: number
    • y: number

    Returns Out

Static squaredDistance

  • squaredDistance<Out>(a: Out, b: Out): number
  • 求两向量的欧氏距离平方

    Type parameters

    Parameters

    • a: Out
    • b: Out

    Returns number

Static str

  • str<Out>(a: Out): string
  • 返回向量的字符串表示

    Type parameters

    Parameters

    • a: Out

    Returns string

Static strictEquals

  • strictEquals<Out>(a: Out, b: Out): boolean
  • 向量等价判断

    Type parameters

    Parameters

    • a: Out
    • b: Out

    Returns boolean

Static subtract

  • subtract<Out>(out: Out, a: Out, b: Out): Out
  • 逐元素向量减法

    Type parameters

    Parameters

    • out: Out
    • a: Out
    • b: Out

    Returns Out

Static toArray

  • toArray<Out>(out: Out, v: IVec2Like, ofs?: number): Out
  • 向量转数组

    Type parameters

    • Out: IWritableArrayLike<number>

    Parameters

    • out: Out
    • v: IVec2Like
    • Default value ofs: number = 0

      数组起始偏移量

    Returns Out

Static transformMat3

  • transformMat3<Out, MatLike>(out: Out, a: Out, m: IMat3Like): Out
  • 向量与三维矩阵乘法,默认向量第三位为 1。

    Type parameters

    Parameters

    Returns Out

Static transformMat4

  • transformMat4<Out, MatLike>(out: Out, a: Out, m: IMat4Like): Out
  • 向量与四维矩阵乘法,默认向量第三位为 0,第四位为 1。

    Type parameters

    Parameters

    Returns Out

Generated using TypeDoc