Skip to content

@simversus/yjvis


@simversus/yjvis / math / Euler

Class: Euler ​

Defined in: math/euler.ts:8

欧拉角类,表示三维空间中的旋转 继承自 Vec3,使用 x, y, z 分量表示绕各轴的旋转角度(弧度)

Extends ​

Constructors ​

Constructor ​

new Euler(x, y?, z?, order?): Euler

Defined in: math/euler.ts:26

构造函数

Parameters ​

x ​

number = 0

绕 X 轴的旋转角度(弧度)

y? ​

number

绕 Y 轴的旋转角度(弧度)

z? ​

number

绕 Z 轴的旋转角度(弧度)

order? ​

string = 'XYZ'

旋转顺序,默认 'XYZ'

Returns ​

Euler

Overrides ​

Vec3.constructor

Properties ​

_onChangeCallback() ​

_onChangeCallback: () => void

Defined in: math/euler.ts:17

值改变时的回调函数

Returns ​

void


_order ​

_order: string

Defined in: math/euler.ts:12

旋转顺序,如 'XYZ', 'YXZ' 等


elements ​

elements: Number3

Defined in: math/vec3.ts:62

向量元素数组 [x, y, z]

Inherited from ​

Vec3.elements

Accessors ​

0 ​

Get Signature ​

get 0(): number

Defined in: math/vec3.ts:129

x 分量 (索引 0)

Returns ​

number

Set Signature ​

set 0(v): void

Defined in: math/vec3.ts:143

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.0


1 ​

Get Signature ​

get 1(): number

Defined in: math/vec3.ts:134

y 分量 (索引 1)

Returns ​

number

Set Signature ​

set 1(v): void

Defined in: math/vec3.ts:147

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.1


2 ​

Get Signature ​

get 2(): number

Defined in: math/vec3.ts:139

z 分量 (索引 2)

Returns ​

number

Set Signature ​

set 2(v): void

Defined in: math/vec3.ts:151

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.2


depth ​

Get Signature ​

get depth(): number

Defined in: math/vec3.ts:86

深度 (z 分量)

Returns ​

number

Set Signature ​

set depth(v): void

Defined in: math/vec3.ts:98

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.depth


height ​

Get Signature ​

get height(): number

Defined in: math/vec3.ts:81

高度 (y 分量)

Returns ​

number

Set Signature ​

set height(v): void

Defined in: math/vec3.ts:94

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.height


order ​

Get Signature ​

get order(): string

Defined in: math/euler.ts:35

获取旋转顺序

Returns ​

string

Set Signature ​

set order(val): void

Defined in: math/euler.ts:42

设置旋转顺序

Parameters ​
val ​

string

Returns ​

void


width ​

Get Signature ​

get width(): number

Defined in: math/vec3.ts:76

宽度 (x 分量)

Returns ​

number

Set Signature ​

set width(v): void

Defined in: math/vec3.ts:90

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.width


x ​

Get Signature ​

get x(): number

Defined in: math/vec3.ts:103

x 分量

Returns ​

number

Set Signature ​

set x(v): void

Defined in: math/vec3.ts:116

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.x


y ​

Get Signature ​

get y(): number

Defined in: math/vec3.ts:108

y 分量

Returns ​

number

Set Signature ​

set y(v): void

Defined in: math/vec3.ts:120

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.y


z ​

Get Signature ​

get z(): number

Defined in: math/vec3.ts:113

z 分量

Returns ​

number

Set Signature ​

set z(v): void

Defined in: math/vec3.ts:124

Parameters ​
v ​

number

Returns ​

void

Inherited from ​

Vec3.z


unitX ​

Get Signature ​

get static unitX(): Vec3

Defined in: math/vec3.ts:40

单位 X 向量 (1, 0, 0)

Returns ​

Vec3

Inherited from ​

Vec3.unitX


unitY ​

Get Signature ​

get static unitY(): Vec3

Defined in: math/vec3.ts:47

单位 Y 向量 (0, 1, 0)

Returns ​

Vec3

Inherited from ​

Vec3.unitY


unitZ ​

Get Signature ​

get static unitZ(): Vec3

Defined in: math/vec3.ts:54

单位 Z 向量 (0, 0, 1)

Returns ​

Vec3

Inherited from ​

Vec3.unitZ

Methods ​

_onChange() ​

_onChange(callback): Euler

Defined in: math/euler.ts:72

设置值改变时的回调函数

Parameters ​

callback ​

() => void

回调函数

Returns ​

Euler

this


add() ​

add(va, vb?): Euler

Defined in: math/vec3.ts:235

向量加法 如果传入 vb,则 this = va + vb 否则 this = this + va

Parameters ​

va ​

Vec3

加数 A

vb? ​

Vec3

加数 B (可选)

Returns ​

Euler

Inherited from ​

Vec3.add


addScaledVector() ​

addScaledVector(v, s): Euler

Defined in: math/vec3.ts:246

加上缩放后的向量 (this = this + v * s)

Parameters ​

v ​

Vec3

向量

s ​

number

缩放系数

Returns ​

Euler

Inherited from ​

Vec3.addScaledVector


addVectors() ​

addVectors(a, b): Euler

Defined in: math/vec3.ts:359

向量相加 (this = a + b)

Parameters ​

a ​

Vec3

加数 A

b ​

Vec3

加数 B

Returns ​

Euler

Inherited from ​

Vec3.addVectors


angleTo() ​

angleTo(v): number

Defined in: math/vec3.ts:550

计算与另一个向量的夹角 (弧度)

Parameters ​

v ​

Vec3

目标向量

Returns ​

number

夹角 (弧度)

Inherited from ​

Vec3.angleTo


applyMatrix3() ​

applyMatrix3(mat3): Euler

Defined in: math/vec3.ts:505

应用 3x3 矩阵变换

Parameters ​

mat3 ​

Mat3

3x3 矩阵

Returns ​

Euler

Inherited from ​

Vec3.applyMatrix3


applyMatrix4() ​

applyMatrix4(mat4): Euler

Defined in: math/vec3.ts:496

应用 4x4 矩阵变换 (通常用于位置) 向量被视为点 (w=1)

Parameters ​

mat4 ​

Mat4

4x4 矩阵

Returns ​

Euler

Inherited from ​

Vec3.applyMatrix4


applyNormalMatrix() ​

applyNormalMatrix(mat3): Euler

Defined in: math/vec3.ts:514

应用法线矩阵变换 (并归一化)

Parameters ​

mat3 ​

Mat3

法线矩阵

Returns ​

Euler

Inherited from ​

Vec3.applyNormalMatrix


applyQuaternion() ​

applyQuaternion(q): Euler

Defined in: math/vec3.ts:523

应用四元数变换 (旋转)

Parameters ​

q ​

Quat

四元数

Returns ​

Euler

Inherited from ​

Vec3.applyQuaternion


clampScalar() ​

clampScalar(min, max): Euler

Defined in: math/vec3.ts:335

限制向量分量范围

Parameters ​

min ​

number = Number.MIN_VALUE

最小值

max ​

number = Number.MAX_VALUE

最大值

Returns ​

Euler

Inherited from ​

Vec3.clampScalar


clone() ​

clone(): Vec3

Defined in: math/vec3.ts:224

克隆当前向量

Returns ​

Vec3

Inherited from ​

Vec3.clone


copy() ​

copy(v): Euler

Defined in: math/vec3.ts:215

复制另一个向量

Parameters ​

v ​

Vec3

源向量

Returns ​

Euler

Inherited from ​

Vec3.copy


cross() ​

cross(va, vb?): Euler

Defined in: math/vec3.ts:445

叉积 如果传入 vb,则 this = va x vb 否则 this = this x va

Parameters ​

va ​

Vec3

向量 A

vb? ​

Vec3

向量 B (可选)

Returns ​

Euler

Inherited from ​

Vec3.cross


distance() ​

distance(v): number

Defined in: math/vec3.ts:424

两个向量的距离 (等同于 distanceTo)

Parameters ​

v ​

Vec3

目标向量

Returns ​

number

距离

Inherited from ​

Vec3.distance


distanceTo() ​

distanceTo(v): number

Defined in: math/vec3.ts:371

两点之间的直线距离

Parameters ​

v ​

Vec3

目标点

Returns ​

number

Inherited from ​

Vec3.distanceTo


distanceToSquared() ​

distanceToSquared(v): number

Defined in: math/vec3.ts:379

两点之间的直线距离的平方

Parameters ​

v ​

Vec3

目标点

Returns ​

number

Inherited from ​

Vec3.distanceToSquared


divide() ​

divide(v): Euler

Defined in: math/vec3.ts:283

向量分量相除 (this = this / v)

Parameters ​

v ​

Vec3

除数向量

Returns ​

Euler

Inherited from ​

Vec3.divide


dot() ​

dot(v): number

Defined in: math/vec3.ts:456

点积

Parameters ​

v ​

Vec3

目标向量

Returns ​

number

点积结果

Inherited from ​

Vec3.dot


equals() ​

equals(v): boolean

Defined in: math/vec3.ts:474

判断向量是否相等

Parameters ​

v ​

Vec3

目标向量

Returns ​

boolean

是否相等

Inherited from ​

Vec3.equals


fromArray() ​

fromArray(array, offset): Euler

Defined in: math/vec3.ts:483

从数组设置向量

Parameters ​

array ​

数组

number[] | TypedArray

offset ​

number = 0

偏移量

Returns ​

Euler

Inherited from ​

Vec3.fromArray


fromBufferAttribute() ​

fromBufferAttribute(attribute, index): Euler

Defined in: math/vec3.ts:182

从 BufferAttribute 读取数据

Parameters ​

attribute ​

BufferAttribute

BufferAttribute 实例

index ​

number

索引

Returns ​

Euler

Inherited from ​

Vec3.fromBufferAttribute


fromQuaternion() ​

fromQuaternion(q): Euler

Defined in: math/euler.ts:51

从四元数转换为欧拉角

Parameters ​

q ​

Quat

四元数

Returns ​

Euler

this


fromRotationMatrix() ​

fromRotationMatrix(m): Euler

Defined in: math/euler.ts:62

从旋转矩阵提取欧拉角

Parameters ​

m ​

Mat4

旋转矩阵

Returns ​

Euler

this


inverse() ​

inverse(v): Euler

Defined in: math/vec3.ts:301

向量取倒数

Parameters ​

v ​

Euler = ...

结果向量,默认为 this

Returns ​

Euler

Inherited from ​

Vec3.inverse


length() ​

length(): number

Defined in: math/vec3.ts:407

向量长度

Returns ​

number

长度

Inherited from ​

Vec3.length


lengthSq() ​

lengthSq(): number

Defined in: math/vec3.ts:415

向量长度的平方

Returns ​

number

长度平方

Inherited from ​

Vec3.lengthSq


lerp() ​

lerp(end, t, start): Euler

Defined in: math/vec3.ts:393

线性插值

Parameters ​

end ​

Vec3

结束向量

t ​

number

插值因子 [0, 1]

start ​

Euler = ...

开始向量,默认这是

Returns ​

Euler

Inherited from ​

Vec3.lerp


max() ​

max(v): Euler

Defined in: math/vec3.ts:322

取最大值 (分量比较)

Parameters ​

v ​

Vec3

比较向量

Returns ​

Euler

Inherited from ​

Vec3.max


min() ​

min(v): Euler

Defined in: math/vec3.ts:310

取最小值 (分量比较)

Parameters ​

v ​

Vec3

比较向量

Returns ​

Euler

Inherited from ​

Vec3.min


multiply() ​

multiply(va, vb?): Euler

Defined in: math/vec3.ts:273

向量分量相乘 如果传入 vb,则 this = va * vb 否则 this = this * va

Parameters ​

va ​

Vec3

乘数向量 (或被乘数)

vb? ​

Vec3

乘数向量 (可选)

Returns ​

Euler

Inherited from ​

Vec3.multiply


multiplyScalar() ​

multiplyScalar(scalar): Euler

Defined in: math/vec3.ts:346

乘以标量

Parameters ​

scalar ​

number

标量

Returns ​

Euler

Inherited from ​

Vec3.multiplyScalar


negate() ​

negate(v): Euler

Defined in: math/vec3.ts:433

向量取反

Parameters ​

v ​

Euler = ...

结果向量,默认为 this

Returns ​

Euler

this

Inherited from ​

Vec3.negate


normalize() ​

normalize(v): Euler

Defined in: math/vec3.ts:464

归一化 (转换为单位向量)

Parameters ​

v ​

Euler = ...

结果向量,默认为 this

Returns ​

Euler

Inherited from ​

Vec3.normalize


projectOnPlane() ​

projectOnPlane(normal): Euler

Defined in: math/vec3.ts:573

投影到平面上 (减去在法线方向上的分量)

Parameters ​

normal ​

Vec3

平面法线 (必须是单位向量)

Returns ​

Euler

Inherited from ​

Vec3.projectOnPlane


projectOnVector() ​

projectOnVector(v): Euler

Defined in: math/vec3.ts:562

投影到另一个向量上

Parameters ​

v ​

Vec3

目标向量

Returns ​

Euler

this

Inherited from ​

Vec3.projectOnVector


scale() ​

scale(v): Euler

Defined in: math/vec3.ts:292

向量缩放 (this = this * v)

Parameters ​

v ​

number

缩放系数

Returns ​

Euler

Inherited from ​

Vec3.scale


set() ​

set(x, y, z): Euler

Defined in: math/vec3.ts:196

设置向量的值

Parameters ​

x ​

x 分量或数组

number | [number, number, number]

y ​

y 分量

number | [number, number, number]

z ​

z 分量

number | [number, number, number]

Returns ​

Euler

Inherited from ​

Vec3.set


setFromMatrixPosition() ​

setFromMatrixPosition(mat4): Euler

Defined in: math/vec3.ts:206

从矩阵获取位置信息 (平移分量)

Parameters ​

mat4 ​

Mat4

4x4 矩阵

Returns ​

Euler

Inherited from ​

Vec3.setFromMatrixPosition


sub() ​

sub(va, vb?): Euler

Defined in: math/vec3.ts:260

向量减法 如果传入 vb,则 this = va - vb 否则 this = this - va

Parameters ​

va ​

Vec3

被减向量 (或减向量)

vb? ​

Vec3

减向量 (可选)

Returns ​

Euler

Inherited from ​

Vec3.sub


toArray() ​

toArray(array, offset): number[] | TypedArray

Defined in: math/vec3.ts:170

转换为数组

Parameters ​

array ​

目标数组

number[] | TypedArray

offset ​

number = 0

偏移量

Returns ​

number[] | TypedArray

Inherited from ​

Vec3.toArray


transformDirection() ​

transformDirection(mat4): Euler

Defined in: math/vec3.ts:533

变换方向向量 (忽略平移,应用旋转和缩放,并归一化) 向量被视为方向 (w=0)

Parameters ​

mat4 ​

Mat4

4x4 矩阵

Returns ​

Euler

Inherited from ​

Vec3.transformDirection


unproject() ​

unproject(camera): Euler

Defined in: math/vec3.ts:582

反投影 (屏幕空间 -> 世界空间)

Parameters ​

camera ​

Camera

相机

Returns ​

Euler

Inherited from ​

Vec3.unproject


copy() ​

static copy(v): Vec3

Defined in: math/vec3.ts:159

静态方法,复制一个 Vec3

Parameters ​

v ​

Vec3

源向量

Returns ​

Vec3

Inherited from ​

Vec3.copy


create() ​

static create(x, y?, z?): Vec3

Defined in: math/vec3.ts:26

创建一个新的 Vec3 实例

Parameters ​

x ​

number = 0

x 分量

y? ​

number

y 分量

z? ​

number

z 分量

Returns ​

Vec3

Inherited from ​

Vec3.create


random() ​

static random(): Vec3

Defined in: math/vec3.ts:33

创建一个随机向量,各分量在 [0, 1) 之间

Returns ​

Vec3

Inherited from ​

Vec3.random