@esengine/ecs-framework-math 1.0.3 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/LICENSE +21 -0
  2. package/bin/Animation/Easing.d.ts +150 -150
  3. package/bin/Animation/Easing.d.ts.map +1 -1
  4. package/bin/Animation/Easing.js +151 -151
  5. package/bin/Animation/Easing.js.map +1 -1
  6. package/bin/Animation/Interpolation.d.ts +102 -102
  7. package/bin/Animation/Interpolation.d.ts.map +1 -1
  8. package/bin/Animation/Interpolation.js +104 -104
  9. package/bin/Animation/Interpolation.js.map +1 -1
  10. package/bin/Animation/index.d.ts.map +1 -1
  11. package/bin/Animation/index.js.map +1 -1
  12. package/bin/Circle.d.ts +159 -159
  13. package/bin/Circle.d.ts.map +1 -1
  14. package/bin/Circle.js +159 -159
  15. package/bin/Circle.js.map +1 -1
  16. package/bin/Collision/CollisionDetector.d.ts +64 -64
  17. package/bin/Collision/CollisionDetector.d.ts.map +1 -1
  18. package/bin/Collision/CollisionDetector.js +66 -66
  19. package/bin/Collision/CollisionDetector.js.map +1 -1
  20. package/bin/Color.d.ts +277 -0
  21. package/bin/Color.d.ts.map +1 -0
  22. package/bin/Color.js +470 -0
  23. package/bin/Color.js.map +1 -0
  24. package/bin/Fixed32.d.ts +266 -0
  25. package/bin/Fixed32.d.ts.map +1 -0
  26. package/bin/Fixed32.js +381 -0
  27. package/bin/Fixed32.js.map +1 -0
  28. package/bin/FixedMath.d.ts +109 -0
  29. package/bin/FixedMath.d.ts.map +1 -0
  30. package/bin/FixedMath.js +264 -0
  31. package/bin/FixedMath.js.map +1 -0
  32. package/bin/FixedVector2.d.ts +293 -0
  33. package/bin/FixedVector2.d.ts.map +1 -0
  34. package/bin/FixedVector2.js +413 -0
  35. package/bin/FixedVector2.js.map +1 -0
  36. package/bin/MathUtils.d.ts +205 -205
  37. package/bin/MathUtils.d.ts.map +1 -1
  38. package/bin/MathUtils.js +206 -206
  39. package/bin/MathUtils.js.map +1 -1
  40. package/bin/Matrix3.d.ts +158 -139
  41. package/bin/Matrix3.d.ts.map +1 -1
  42. package/bin/Matrix3.js +179 -151
  43. package/bin/Matrix3.js.map +1 -1
  44. package/bin/Rectangle.d.ts +144 -144
  45. package/bin/Rectangle.d.ts.map +1 -1
  46. package/bin/Rectangle.js +144 -144
  47. package/bin/Rectangle.js.map +1 -1
  48. package/bin/Vector2.d.ts +202 -186
  49. package/bin/Vector2.d.ts.map +1 -1
  50. package/bin/Vector2.js +198 -188
  51. package/bin/Vector2.js.map +1 -1
  52. package/bin/Vector3.d.ts +257 -0
  53. package/bin/Vector3.d.ts.map +1 -0
  54. package/bin/Vector3.js +372 -0
  55. package/bin/Vector3.js.map +1 -0
  56. package/bin/index.d.ts +8 -1
  57. package/bin/index.d.ts.map +1 -1
  58. package/bin/index.js +9 -0
  59. package/bin/index.js.map +1 -1
  60. package/package.json +66 -67
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * 3D 向量数据接口
3
+ *
4
+ * 轻量级数据结构,用于组件属性和序列化。
5
+ * Lightweight data structure for component properties and serialization.
6
+ */
7
+ export interface IVector3 {
8
+ x: number;
9
+ y: number;
10
+ z: number;
11
+ }
12
+ /**
13
+ * 3D向量类
14
+ *
15
+ * 提供完整的3D向量运算功能,包括:
16
+ * - 基础运算(加减乘除)
17
+ * - 向量运算(点积、叉积、归一化)
18
+ * - 几何运算(距离、角度、投影)
19
+ * - 变换操作(旋转、反射、插值)
20
+ */
21
+ export declare class Vector3 implements IVector3 {
22
+ /** X分量 */
23
+ x: number;
24
+ /** Y分量 */
25
+ y: number;
26
+ /** Z分量 */
27
+ z: number;
28
+ /**
29
+ * 创建3D向量
30
+ * @param x X分量,默认为0
31
+ * @param y Y分量,默认为0
32
+ * @param z Z分量,默认为0
33
+ */
34
+ constructor(x?: number, y?: number, z?: number);
35
+ /** 零向量 (0, 0, 0) */
36
+ static readonly ZERO: Vector3;
37
+ /** 单位向量 (1, 1, 1) */
38
+ static readonly ONE: Vector3;
39
+ /** 右方向向量 (1, 0, 0) */
40
+ static readonly RIGHT: Vector3;
41
+ /** 左方向向量 (-1, 0, 0) */
42
+ static readonly LEFT: Vector3;
43
+ /** 上方向向量 (0, 1, 0) */
44
+ static readonly UP: Vector3;
45
+ /** 下方向向量 (0, -1, 0) */
46
+ static readonly DOWN: Vector3;
47
+ /** 前方向向量 (0, 0, 1) */
48
+ static readonly FORWARD: Vector3;
49
+ /** 后方向向量 (0, 0, -1) */
50
+ static readonly BACK: Vector3;
51
+ /**
52
+ * 获取向量长度(模)
53
+ */
54
+ get length(): number;
55
+ /**
56
+ * 获取向量长度的平方
57
+ */
58
+ get lengthSquared(): number;
59
+ /**
60
+ * 检查是否为零向量
61
+ */
62
+ get isZero(): boolean;
63
+ /**
64
+ * 检查是否为单位向量
65
+ */
66
+ get isUnit(): boolean;
67
+ /**
68
+ * 设置向量分量
69
+ * @param x X分量
70
+ * @param y Y分量
71
+ * @param z Z分量
72
+ * @returns 当前向量实例(链式调用)
73
+ */
74
+ set(x: number, y: number, z: number): this;
75
+ /**
76
+ * 复制另一个向量的值
77
+ * @param other 源向量
78
+ * @returns 当前向量实例(链式调用)
79
+ */
80
+ copy(other: Vector3): this;
81
+ /**
82
+ * 克隆当前向量
83
+ * @returns 新的向量实例
84
+ */
85
+ clone(): Vector3;
86
+ /**
87
+ * 向量加法
88
+ * @param other 另一个向量
89
+ * @returns 当前向量实例(链式调用)
90
+ */
91
+ add(other: Vector3): this;
92
+ /**
93
+ * 向量减法
94
+ * @param other 另一个向量
95
+ * @returns 当前向量实例(链式调用)
96
+ */
97
+ subtract(other: Vector3): this;
98
+ /**
99
+ * 向量数乘
100
+ * @param scalar 标量
101
+ * @returns 当前向量实例(链式调用)
102
+ */
103
+ multiply(scalar: number): this;
104
+ /**
105
+ * 向量数除
106
+ * @param scalar 标量
107
+ * @returns 当前向量实例(链式调用)
108
+ */
109
+ divide(scalar: number): this;
110
+ /**
111
+ * 向量取反
112
+ * @returns 当前向量实例(链式调用)
113
+ */
114
+ negate(): this;
115
+ /**
116
+ * 计算与另一个向量的点积
117
+ * @param other 另一个向量
118
+ * @returns 点积值
119
+ */
120
+ dot(other: Vector3): number;
121
+ /**
122
+ * 计算与另一个向量的叉积
123
+ * @param other 另一个向量
124
+ * @returns 新的叉积向量
125
+ */
126
+ cross(other: Vector3): Vector3;
127
+ /**
128
+ * 向量归一化(转换为单位向量)
129
+ * @returns 当前向量实例(链式调用)
130
+ */
131
+ normalize(): this;
132
+ /**
133
+ * 获取归一化后的向量(不修改原向量)
134
+ * @returns 新的单位向量
135
+ */
136
+ normalized(): Vector3;
137
+ /**
138
+ * 计算到另一个向量的距离
139
+ * @param other 另一个向量
140
+ * @returns 距离值
141
+ */
142
+ distanceTo(other: Vector3): number;
143
+ /**
144
+ * 计算到另一个向量的距离平方
145
+ * @param other 另一个向量
146
+ * @returns 距离平方值
147
+ */
148
+ distanceToSquared(other: Vector3): number;
149
+ /**
150
+ * 计算与另一个向量的夹角(弧度)
151
+ * @param other 另一个向量
152
+ * @returns 夹角(0到π)
153
+ */
154
+ angleTo(other: Vector3): number;
155
+ /**
156
+ * 计算向量在另一个向量上的投影
157
+ * @param onto 投影目标向量
158
+ * @returns 新的投影向量
159
+ */
160
+ projectOnto(onto: Vector3): Vector3;
161
+ /**
162
+ * 线性插值
163
+ * @param target 目标向量
164
+ * @param t 插值参数(0到1)
165
+ * @returns 当前向量实例(链式调用)
166
+ */
167
+ lerp(target: Vector3, t: number): this;
168
+ /**
169
+ * 限制向量长度
170
+ * @param maxLength 最大长度
171
+ * @returns 当前向量实例(链式调用)
172
+ */
173
+ clampLength(maxLength: number): this;
174
+ /**
175
+ * 检查两个向量是否相等
176
+ * @param other 另一个向量
177
+ * @param epsilon 容差,默认为Number.EPSILON
178
+ * @returns 是否相等
179
+ */
180
+ equals(other: Vector3, epsilon?: number): boolean;
181
+ /**
182
+ * 检查两个向量是否完全相等
183
+ * @param other 另一个向量
184
+ * @returns 是否完全相等
185
+ */
186
+ exactEquals(other: Vector3): boolean;
187
+ /**
188
+ * 向量加法(静态方法)
189
+ * @param a 向量a
190
+ * @param b 向量b
191
+ * @returns 新的结果向量
192
+ */
193
+ static add(a: Vector3, b: Vector3): Vector3;
194
+ /**
195
+ * 向量减法(静态方法)
196
+ * @param a 向量a
197
+ * @param b 向量b
198
+ * @returns 新的结果向量
199
+ */
200
+ static subtract(a: Vector3, b: Vector3): Vector3;
201
+ /**
202
+ * 向量数乘(静态方法)
203
+ * @param vector 向量
204
+ * @param scalar 标量
205
+ * @returns 新的结果向量
206
+ */
207
+ static multiply(vector: Vector3, scalar: number): Vector3;
208
+ /**
209
+ * 向量点积(静态方法)
210
+ * @param a 向量a
211
+ * @param b 向量b
212
+ * @returns 点积值
213
+ */
214
+ static dot(a: Vector3, b: Vector3): number;
215
+ /**
216
+ * 向量叉积(静态方法)
217
+ * @param a 向量a
218
+ * @param b 向量b
219
+ * @returns 新的叉积向量
220
+ */
221
+ static cross(a: Vector3, b: Vector3): Vector3;
222
+ /**
223
+ * 计算两点间距离(静态方法)
224
+ * @param a 点a
225
+ * @param b 点b
226
+ * @returns 距离值
227
+ */
228
+ static distance(a: Vector3, b: Vector3): number;
229
+ /**
230
+ * 线性插值(静态方法)
231
+ * @param a 起始向量
232
+ * @param b 目标向量
233
+ * @param t 插值参数(0到1)
234
+ * @returns 新的插值结果向量
235
+ */
236
+ static lerp(a: Vector3, b: Vector3, t: number): Vector3;
237
+ /**
238
+ * 转换为字符串
239
+ * @returns 字符串表示
240
+ */
241
+ toString(): string;
242
+ /**
243
+ * 转换为数组
244
+ * @returns [x, y, z] 数组
245
+ */
246
+ toArray(): [number, number, number];
247
+ /**
248
+ * 转换为普通对象
249
+ * @returns {x, y, z} 对象
250
+ */
251
+ toObject(): {
252
+ x: number;
253
+ y: number;
254
+ z: number;
255
+ };
256
+ }
257
+ //# sourceMappingURL=Vector3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../src/Vector3.ts"],"names":[],"mappings":"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"}
package/bin/Vector3.js ADDED
@@ -0,0 +1,372 @@
1
+ /**
2
+ * 3D向量类
3
+ *
4
+ * 提供完整的3D向量运算功能,包括:
5
+ * - 基础运算(加减乘除)
6
+ * - 向量运算(点积、叉积、归一化)
7
+ * - 几何运算(距离、角度、投影)
8
+ * - 变换操作(旋转、反射、插值)
9
+ */
10
+ export class Vector3 {
11
+ /**
12
+ * 创建3D向量
13
+ * @param x X分量,默认为0
14
+ * @param y Y分量,默认为0
15
+ * @param z Z分量,默认为0
16
+ */
17
+ constructor(x = 0, y = 0, z = 0) {
18
+ this.x = x;
19
+ this.y = y;
20
+ this.z = z;
21
+ }
22
+ // 基础属性
23
+ /**
24
+ * 获取向量长度(模)
25
+ */
26
+ get length() {
27
+ return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
28
+ }
29
+ /**
30
+ * 获取向量长度的平方
31
+ */
32
+ get lengthSquared() {
33
+ return this.x * this.x + this.y * this.y + this.z * this.z;
34
+ }
35
+ /**
36
+ * 检查是否为零向量
37
+ */
38
+ get isZero() {
39
+ return this.x === 0 && this.y === 0 && this.z === 0;
40
+ }
41
+ /**
42
+ * 检查是否为单位向量
43
+ */
44
+ get isUnit() {
45
+ const lenSq = this.lengthSquared;
46
+ return Math.abs(lenSq - 1) < Number.EPSILON;
47
+ }
48
+ // 基础运算
49
+ /**
50
+ * 设置向量分量
51
+ * @param x X分量
52
+ * @param y Y分量
53
+ * @param z Z分量
54
+ * @returns 当前向量实例(链式调用)
55
+ */
56
+ set(x, y, z) {
57
+ this.x = x;
58
+ this.y = y;
59
+ this.z = z;
60
+ return this;
61
+ }
62
+ /**
63
+ * 复制另一个向量的值
64
+ * @param other 源向量
65
+ * @returns 当前向量实例(链式调用)
66
+ */
67
+ copy(other) {
68
+ this.x = other.x;
69
+ this.y = other.y;
70
+ this.z = other.z;
71
+ return this;
72
+ }
73
+ /**
74
+ * 克隆当前向量
75
+ * @returns 新的向量实例
76
+ */
77
+ clone() {
78
+ return new Vector3(this.x, this.y, this.z);
79
+ }
80
+ /**
81
+ * 向量加法
82
+ * @param other 另一个向量
83
+ * @returns 当前向量实例(链式调用)
84
+ */
85
+ add(other) {
86
+ this.x += other.x;
87
+ this.y += other.y;
88
+ this.z += other.z;
89
+ return this;
90
+ }
91
+ /**
92
+ * 向量减法
93
+ * @param other 另一个向量
94
+ * @returns 当前向量实例(链式调用)
95
+ */
96
+ subtract(other) {
97
+ this.x -= other.x;
98
+ this.y -= other.y;
99
+ this.z -= other.z;
100
+ return this;
101
+ }
102
+ /**
103
+ * 向量数乘
104
+ * @param scalar 标量
105
+ * @returns 当前向量实例(链式调用)
106
+ */
107
+ multiply(scalar) {
108
+ this.x *= scalar;
109
+ this.y *= scalar;
110
+ this.z *= scalar;
111
+ return this;
112
+ }
113
+ /**
114
+ * 向量数除
115
+ * @param scalar 标量
116
+ * @returns 当前向量实例(链式调用)
117
+ */
118
+ divide(scalar) {
119
+ if (scalar === 0) {
120
+ throw new Error('不能除以零');
121
+ }
122
+ this.x /= scalar;
123
+ this.y /= scalar;
124
+ this.z /= scalar;
125
+ return this;
126
+ }
127
+ /**
128
+ * 向量取反
129
+ * @returns 当前向量实例(链式调用)
130
+ */
131
+ negate() {
132
+ this.x = -this.x;
133
+ this.y = -this.y;
134
+ this.z = -this.z;
135
+ return this;
136
+ }
137
+ // 向量运算
138
+ /**
139
+ * 计算与另一个向量的点积
140
+ * @param other 另一个向量
141
+ * @returns 点积值
142
+ */
143
+ dot(other) {
144
+ return this.x * other.x + this.y * other.y + this.z * other.z;
145
+ }
146
+ /**
147
+ * 计算与另一个向量的叉积
148
+ * @param other 另一个向量
149
+ * @returns 新的叉积向量
150
+ */
151
+ cross(other) {
152
+ return new Vector3(this.y * other.z - this.z * other.y, this.z * other.x - this.x * other.z, this.x * other.y - this.y * other.x);
153
+ }
154
+ /**
155
+ * 向量归一化(转换为单位向量)
156
+ * @returns 当前向量实例(链式调用)
157
+ */
158
+ normalize() {
159
+ const len = this.length;
160
+ if (len === 0) {
161
+ return this;
162
+ }
163
+ return this.divide(len);
164
+ }
165
+ /**
166
+ * 获取归一化后的向量(不修改原向量)
167
+ * @returns 新的单位向量
168
+ */
169
+ normalized() {
170
+ return this.clone().normalize();
171
+ }
172
+ // 几何运算
173
+ /**
174
+ * 计算到另一个向量的距离
175
+ * @param other 另一个向量
176
+ * @returns 距离值
177
+ */
178
+ distanceTo(other) {
179
+ const dx = this.x - other.x;
180
+ const dy = this.y - other.y;
181
+ const dz = this.z - other.z;
182
+ return Math.sqrt(dx * dx + dy * dy + dz * dz);
183
+ }
184
+ /**
185
+ * 计算到另一个向量的距离平方
186
+ * @param other 另一个向量
187
+ * @returns 距离平方值
188
+ */
189
+ distanceToSquared(other) {
190
+ const dx = this.x - other.x;
191
+ const dy = this.y - other.y;
192
+ const dz = this.z - other.z;
193
+ return dx * dx + dy * dy + dz * dz;
194
+ }
195
+ /**
196
+ * 计算与另一个向量的夹角(弧度)
197
+ * @param other 另一个向量
198
+ * @returns 夹角(0到π)
199
+ */
200
+ angleTo(other) {
201
+ const dot = this.dot(other);
202
+ const lenProduct = this.length * other.length;
203
+ if (lenProduct === 0)
204
+ return 0;
205
+ return Math.acos(Math.max(-1, Math.min(1, dot / lenProduct)));
206
+ }
207
+ /**
208
+ * 计算向量在另一个向量上的投影
209
+ * @param onto 投影目标向量
210
+ * @returns 新的投影向量
211
+ */
212
+ projectOnto(onto) {
213
+ const dot = this.dot(onto);
214
+ const lenSq = onto.lengthSquared;
215
+ if (lenSq === 0)
216
+ return new Vector3();
217
+ return onto.clone().multiply(dot / lenSq);
218
+ }
219
+ // 插值和限制
220
+ /**
221
+ * 线性插值
222
+ * @param target 目标向量
223
+ * @param t 插值参数(0到1)
224
+ * @returns 当前向量实例(链式调用)
225
+ */
226
+ lerp(target, t) {
227
+ this.x += (target.x - this.x) * t;
228
+ this.y += (target.y - this.y) * t;
229
+ this.z += (target.z - this.z) * t;
230
+ return this;
231
+ }
232
+ /**
233
+ * 限制向量长度
234
+ * @param maxLength 最大长度
235
+ * @returns 当前向量实例(链式调用)
236
+ */
237
+ clampLength(maxLength) {
238
+ const lenSq = this.lengthSquared;
239
+ if (lenSq > maxLength * maxLength) {
240
+ return this.normalize().multiply(maxLength);
241
+ }
242
+ return this;
243
+ }
244
+ // 比较操作
245
+ /**
246
+ * 检查两个向量是否相等
247
+ * @param other 另一个向量
248
+ * @param epsilon 容差,默认为Number.EPSILON
249
+ * @returns 是否相等
250
+ */
251
+ equals(other, epsilon = Number.EPSILON) {
252
+ return Math.abs(this.x - other.x) < epsilon &&
253
+ Math.abs(this.y - other.y) < epsilon &&
254
+ Math.abs(this.z - other.z) < epsilon;
255
+ }
256
+ /**
257
+ * 检查两个向量是否完全相等
258
+ * @param other 另一个向量
259
+ * @returns 是否完全相等
260
+ */
261
+ exactEquals(other) {
262
+ return this.x === other.x && this.y === other.y && this.z === other.z;
263
+ }
264
+ // 静态方法
265
+ /**
266
+ * 向量加法(静态方法)
267
+ * @param a 向量a
268
+ * @param b 向量b
269
+ * @returns 新的结果向量
270
+ */
271
+ static add(a, b) {
272
+ return new Vector3(a.x + b.x, a.y + b.y, a.z + b.z);
273
+ }
274
+ /**
275
+ * 向量减法(静态方法)
276
+ * @param a 向量a
277
+ * @param b 向量b
278
+ * @returns 新的结果向量
279
+ */
280
+ static subtract(a, b) {
281
+ return new Vector3(a.x - b.x, a.y - b.y, a.z - b.z);
282
+ }
283
+ /**
284
+ * 向量数乘(静态方法)
285
+ * @param vector 向量
286
+ * @param scalar 标量
287
+ * @returns 新的结果向量
288
+ */
289
+ static multiply(vector, scalar) {
290
+ return new Vector3(vector.x * scalar, vector.y * scalar, vector.z * scalar);
291
+ }
292
+ /**
293
+ * 向量点积(静态方法)
294
+ * @param a 向量a
295
+ * @param b 向量b
296
+ * @returns 点积值
297
+ */
298
+ static dot(a, b) {
299
+ return a.x * b.x + a.y * b.y + a.z * b.z;
300
+ }
301
+ /**
302
+ * 向量叉积(静态方法)
303
+ * @param a 向量a
304
+ * @param b 向量b
305
+ * @returns 新的叉积向量
306
+ */
307
+ static cross(a, b) {
308
+ return new Vector3(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x);
309
+ }
310
+ /**
311
+ * 计算两点间距离(静态方法)
312
+ * @param a 点a
313
+ * @param b 点b
314
+ * @returns 距离值
315
+ */
316
+ static distance(a, b) {
317
+ const dx = a.x - b.x;
318
+ const dy = a.y - b.y;
319
+ const dz = a.z - b.z;
320
+ return Math.sqrt(dx * dx + dy * dy + dz * dz);
321
+ }
322
+ /**
323
+ * 线性插值(静态方法)
324
+ * @param a 起始向量
325
+ * @param b 目标向量
326
+ * @param t 插值参数(0到1)
327
+ * @returns 新的插值结果向量
328
+ */
329
+ static lerp(a, b, t) {
330
+ return new Vector3(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t, a.z + (b.z - a.z) * t);
331
+ }
332
+ // 字符串转换
333
+ /**
334
+ * 转换为字符串
335
+ * @returns 字符串表示
336
+ */
337
+ toString() {
338
+ return `Vector3(${this.x.toFixed(3)}, ${this.y.toFixed(3)}, ${this.z.toFixed(3)})`;
339
+ }
340
+ /**
341
+ * 转换为数组
342
+ * @returns [x, y, z] 数组
343
+ */
344
+ toArray() {
345
+ return [this.x, this.y, this.z];
346
+ }
347
+ /**
348
+ * 转换为普通对象
349
+ * @returns {x, y, z} 对象
350
+ */
351
+ toObject() {
352
+ return { x: this.x, y: this.y, z: this.z };
353
+ }
354
+ }
355
+ // 静态常量
356
+ /** 零向量 (0, 0, 0) */
357
+ Vector3.ZERO = new Vector3(0, 0, 0);
358
+ /** 单位向量 (1, 1, 1) */
359
+ Vector3.ONE = new Vector3(1, 1, 1);
360
+ /** 右方向向量 (1, 0, 0) */
361
+ Vector3.RIGHT = new Vector3(1, 0, 0);
362
+ /** 左方向向量 (-1, 0, 0) */
363
+ Vector3.LEFT = new Vector3(-1, 0, 0);
364
+ /** 上方向向量 (0, 1, 0) */
365
+ Vector3.UP = new Vector3(0, 1, 0);
366
+ /** 下方向向量 (0, -1, 0) */
367
+ Vector3.DOWN = new Vector3(0, -1, 0);
368
+ /** 前方向向量 (0, 0, 1) */
369
+ Vector3.FORWARD = new Vector3(0, 0, 1);
370
+ /** 后方向向量 (0, 0, -1) */
371
+ Vector3.BACK = new Vector3(0, 0, -1);
372
+ //# sourceMappingURL=Vector3.js.map