@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.
- package/LICENSE +21 -0
- package/bin/Animation/Easing.d.ts +150 -150
- package/bin/Animation/Easing.d.ts.map +1 -1
- package/bin/Animation/Easing.js +151 -151
- package/bin/Animation/Easing.js.map +1 -1
- package/bin/Animation/Interpolation.d.ts +102 -102
- package/bin/Animation/Interpolation.d.ts.map +1 -1
- package/bin/Animation/Interpolation.js +104 -104
- package/bin/Animation/Interpolation.js.map +1 -1
- package/bin/Animation/index.d.ts.map +1 -1
- package/bin/Animation/index.js.map +1 -1
- package/bin/Circle.d.ts +159 -159
- package/bin/Circle.d.ts.map +1 -1
- package/bin/Circle.js +159 -159
- package/bin/Circle.js.map +1 -1
- package/bin/Collision/CollisionDetector.d.ts +64 -64
- package/bin/Collision/CollisionDetector.d.ts.map +1 -1
- package/bin/Collision/CollisionDetector.js +66 -66
- package/bin/Collision/CollisionDetector.js.map +1 -1
- package/bin/Color.d.ts +277 -0
- package/bin/Color.d.ts.map +1 -0
- package/bin/Color.js +470 -0
- package/bin/Color.js.map +1 -0
- package/bin/Fixed32.d.ts +266 -0
- package/bin/Fixed32.d.ts.map +1 -0
- package/bin/Fixed32.js +381 -0
- package/bin/Fixed32.js.map +1 -0
- package/bin/FixedMath.d.ts +109 -0
- package/bin/FixedMath.d.ts.map +1 -0
- package/bin/FixedMath.js +264 -0
- package/bin/FixedMath.js.map +1 -0
- package/bin/FixedVector2.d.ts +293 -0
- package/bin/FixedVector2.d.ts.map +1 -0
- package/bin/FixedVector2.js +413 -0
- package/bin/FixedVector2.js.map +1 -0
- package/bin/MathUtils.d.ts +205 -205
- package/bin/MathUtils.d.ts.map +1 -1
- package/bin/MathUtils.js +206 -206
- package/bin/MathUtils.js.map +1 -1
- package/bin/Matrix3.d.ts +158 -139
- package/bin/Matrix3.d.ts.map +1 -1
- package/bin/Matrix3.js +179 -151
- package/bin/Matrix3.js.map +1 -1
- package/bin/Rectangle.d.ts +144 -144
- package/bin/Rectangle.d.ts.map +1 -1
- package/bin/Rectangle.js +144 -144
- package/bin/Rectangle.js.map +1 -1
- package/bin/Vector2.d.ts +202 -186
- package/bin/Vector2.d.ts.map +1 -1
- package/bin/Vector2.js +198 -188
- package/bin/Vector2.js.map +1 -1
- package/bin/Vector3.d.ts +257 -0
- package/bin/Vector3.d.ts.map +1 -0
- package/bin/Vector3.js +372 -0
- package/bin/Vector3.js.map +1 -0
- package/bin/index.d.ts +8 -1
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +9 -0
- package/bin/index.js.map +1 -1
- package/package.json +66 -67
package/bin/Vector2.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 2D 向量数据接口
|
|
3
|
+
*
|
|
4
|
+
* 轻量级数据结构,用于组件属性和序列化。
|
|
5
|
+
* Lightweight data structure for component properties and serialization.
|
|
6
|
+
*/
|
|
7
|
+
export interface IVector2 {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}
|
|
1
11
|
/**
|
|
2
12
|
* 2D向量类
|
|
3
13
|
*
|
|
@@ -7,16 +17,16 @@
|
|
|
7
17
|
* - 几何运算(距离、角度、投影)
|
|
8
18
|
* - 变换操作(旋转、反射、插值)
|
|
9
19
|
*/
|
|
10
|
-
export declare class Vector2 {
|
|
20
|
+
export declare class Vector2 implements IVector2 {
|
|
11
21
|
/** X分量 */
|
|
12
22
|
x: number;
|
|
13
23
|
/** Y分量 */
|
|
14
24
|
y: number;
|
|
15
25
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
* 创建2D向量
|
|
27
|
+
* @param x X分量,默认为0
|
|
28
|
+
* @param y Y分量,默认为0
|
|
29
|
+
*/
|
|
20
30
|
constructor(x?: number, y?: number);
|
|
21
31
|
/** 零向量 (0, 0) */
|
|
22
32
|
static readonly ZERO: Vector2;
|
|
@@ -31,284 +41,290 @@ export declare class Vector2 {
|
|
|
31
41
|
/** 下方向向量 (0, -1) */
|
|
32
42
|
static readonly DOWN: Vector2;
|
|
33
43
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
* 获取向量长度(模)
|
|
45
|
+
*/
|
|
36
46
|
get length(): number;
|
|
37
47
|
/**
|
|
38
|
-
|
|
39
|
-
|
|
48
|
+
* 获取向量长度的平方
|
|
49
|
+
*/
|
|
40
50
|
get lengthSquared(): number;
|
|
41
51
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
52
|
+
* 获取向量角度(弧度)
|
|
53
|
+
*/
|
|
44
54
|
get angle(): number;
|
|
45
55
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
56
|
+
* 检查是否为零向量
|
|
57
|
+
*/
|
|
48
58
|
get isZero(): boolean;
|
|
49
59
|
/**
|
|
50
|
-
|
|
51
|
-
|
|
60
|
+
* 检查是否为单位向量
|
|
61
|
+
*/
|
|
52
62
|
get isUnit(): boolean;
|
|
53
63
|
/**
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
* 设置向量分量
|
|
65
|
+
* @param x X分量
|
|
66
|
+
* @param y Y分量
|
|
67
|
+
* @returns 当前向量实例(链式调用)
|
|
68
|
+
*/
|
|
59
69
|
set(x: number, y: number): this;
|
|
60
70
|
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
* 复制另一个向量的值
|
|
72
|
+
* @param other 源向量
|
|
73
|
+
* @returns 当前向量实例(链式调用)
|
|
74
|
+
*/
|
|
65
75
|
copy(other: Vector2): this;
|
|
66
76
|
/**
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
77
|
+
* 克隆当前向量
|
|
78
|
+
* @returns 新的向量实例
|
|
79
|
+
*/
|
|
70
80
|
clone(): Vector2;
|
|
71
81
|
/**
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
82
|
+
* 向量加法
|
|
83
|
+
* @param other 另一个向量
|
|
84
|
+
* @returns 当前向量实例(链式调用)
|
|
85
|
+
*/
|
|
76
86
|
add(other: Vector2): this;
|
|
77
87
|
/**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
* 向量减法
|
|
89
|
+
* @param other 另一个向量
|
|
90
|
+
* @returns 当前向量实例(链式调用)
|
|
91
|
+
*/
|
|
82
92
|
subtract(other: Vector2): this;
|
|
83
93
|
/**
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
94
|
+
* 向量数乘
|
|
95
|
+
* @param scalar 标量
|
|
96
|
+
* @returns 当前向量实例(链式调用)
|
|
97
|
+
*/
|
|
88
98
|
multiply(scalar: number): this;
|
|
89
99
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
100
|
+
* 向量数除
|
|
101
|
+
* @param scalar 标量
|
|
102
|
+
* @returns 当前向量实例(链式调用)
|
|
103
|
+
*/
|
|
94
104
|
divide(scalar: number): this;
|
|
95
105
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
106
|
+
* 向量取反
|
|
107
|
+
* @returns 当前向量实例(链式调用)
|
|
108
|
+
*/
|
|
99
109
|
negate(): this;
|
|
100
110
|
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
111
|
+
* 计算与另一个向量的点积
|
|
112
|
+
* @param other 另一个向量
|
|
113
|
+
* @returns 点积值
|
|
114
|
+
*/
|
|
105
115
|
dot(other: Vector2): number;
|
|
106
116
|
/**
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
117
|
+
* 计算与另一个向量的叉积(2D中返回标量)
|
|
118
|
+
* @param other 另一个向量
|
|
119
|
+
* @returns 叉积值
|
|
120
|
+
*/
|
|
111
121
|
cross(other: Vector2): number;
|
|
112
122
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
123
|
+
* 向量归一化(转换为单位向量)
|
|
124
|
+
* @returns 当前向量实例(链式调用)
|
|
125
|
+
*/
|
|
116
126
|
normalize(): this;
|
|
117
127
|
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
128
|
+
* 获取归一化后的向量(不修改原向量)
|
|
129
|
+
* @returns 新的单位向量
|
|
130
|
+
*/
|
|
121
131
|
normalized(): Vector2;
|
|
122
132
|
/**
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
133
|
+
* 计算到另一个向量的距离
|
|
134
|
+
* @param other 另一个向量
|
|
135
|
+
* @returns 距离值
|
|
136
|
+
*/
|
|
127
137
|
distanceTo(other: Vector2): number;
|
|
128
138
|
/**
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
139
|
+
* 计算到另一个向量的距离平方
|
|
140
|
+
* @param other 另一个向量
|
|
141
|
+
* @returns 距离平方值
|
|
142
|
+
*/
|
|
133
143
|
distanceToSquared(other: Vector2): number;
|
|
134
144
|
/**
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
145
|
+
* 计算与另一个向量的夹角(弧度)
|
|
146
|
+
* @param other 另一个向量
|
|
147
|
+
* @returns 夹角(0到π)
|
|
148
|
+
*/
|
|
139
149
|
angleTo(other: Vector2): number;
|
|
140
150
|
/**
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
151
|
+
* 计算向量在另一个向量上的投影
|
|
152
|
+
* @param onto 投影目标向量
|
|
153
|
+
* @returns 新的投影向量
|
|
154
|
+
*/
|
|
145
155
|
projectOnto(onto: Vector2): Vector2;
|
|
146
156
|
/**
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
157
|
+
* 计算向量在另一个向量上的投影长度
|
|
158
|
+
* @param onto 投影目标向量
|
|
159
|
+
* @returns 投影长度(带符号)
|
|
160
|
+
*/
|
|
151
161
|
projectOntoLength(onto: Vector2): number;
|
|
152
162
|
/**
|
|
153
|
-
*
|
|
163
|
+
* 获取垂直向量(顺时针旋转90度)
|
|
164
|
+
* Get perpendicular vector (clockwise 90 degrees)
|
|
154
165
|
* @returns 新的垂直向量
|
|
155
166
|
*/
|
|
156
167
|
perpendicular(): Vector2;
|
|
157
168
|
/**
|
|
158
|
-
*
|
|
169
|
+
* 向量旋转(顺时针为正)
|
|
170
|
+
* Rotate vector (clockwise positive)
|
|
171
|
+
*
|
|
172
|
+
* 使用左手坐标系约定:正角度 = 顺时针旋转
|
|
173
|
+
* Uses left-hand coordinate system: positive angle = clockwise
|
|
174
|
+
*
|
|
159
175
|
* @param angle 旋转角度(弧度)
|
|
160
176
|
* @returns 当前向量实例(链式调用)
|
|
161
177
|
*/
|
|
162
178
|
rotate(angle: number): this;
|
|
163
179
|
/**
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
180
|
+
* 获取旋转后的向量(不修改原向量)
|
|
181
|
+
* @param angle 旋转角度(弧度)
|
|
182
|
+
* @returns 新的旋转后向量
|
|
183
|
+
*/
|
|
168
184
|
rotated(angle: number): Vector2;
|
|
169
185
|
/**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
186
|
+
* 围绕一个点旋转
|
|
187
|
+
* @param center 旋转中心点
|
|
188
|
+
* @param angle 旋转角度(弧度)
|
|
189
|
+
* @returns 当前向量实例(链式调用)
|
|
190
|
+
*/
|
|
175
191
|
rotateAround(center: Vector2, angle: number): this;
|
|
176
192
|
/**
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
193
|
+
* 反射向量(关于法线)
|
|
194
|
+
* @param normal 法线向量(应为单位向量)
|
|
195
|
+
* @returns 当前向量实例(链式调用)
|
|
196
|
+
*/
|
|
181
197
|
reflect(normal: Vector2): this;
|
|
182
198
|
/**
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
199
|
+
* 获取反射后的向量(不修改原向量)
|
|
200
|
+
* @param normal 法线向量(应为单位向量)
|
|
201
|
+
* @returns 新的反射向量
|
|
202
|
+
*/
|
|
187
203
|
reflected(normal: Vector2): Vector2;
|
|
188
204
|
/**
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
205
|
+
* 线性插值
|
|
206
|
+
* @param target 目标向量
|
|
207
|
+
* @param t 插值参数(0到1)
|
|
208
|
+
* @returns 当前向量实例(链式调用)
|
|
209
|
+
*/
|
|
194
210
|
lerp(target: Vector2, t: number): this;
|
|
195
211
|
/**
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
212
|
+
* 限制向量长度
|
|
213
|
+
* @param maxLength 最大长度
|
|
214
|
+
* @returns 当前向量实例(链式调用)
|
|
215
|
+
*/
|
|
200
216
|
clampLength(maxLength: number): this;
|
|
201
217
|
/**
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
218
|
+
* 限制向量分量
|
|
219
|
+
* @param min 最小值向量
|
|
220
|
+
* @param max 最大值向量
|
|
221
|
+
* @returns 当前向量实例(链式调用)
|
|
222
|
+
*/
|
|
207
223
|
clamp(min: Vector2, max: Vector2): this;
|
|
208
224
|
/**
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
225
|
+
* 检查两个向量是否相等
|
|
226
|
+
* @param other 另一个向量
|
|
227
|
+
* @param epsilon 容差,默认为Number.EPSILON
|
|
228
|
+
* @returns 是否相等
|
|
229
|
+
*/
|
|
214
230
|
equals(other: Vector2, epsilon?: number): boolean;
|
|
215
231
|
/**
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
232
|
+
* 检查两个向量是否完全相等
|
|
233
|
+
* @param other 另一个向量
|
|
234
|
+
* @returns 是否完全相等
|
|
235
|
+
*/
|
|
220
236
|
exactEquals(other: Vector2): boolean;
|
|
221
237
|
/**
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
238
|
+
* 向量加法(静态方法)
|
|
239
|
+
* @param a 向量a
|
|
240
|
+
* @param b 向量b
|
|
241
|
+
* @returns 新的结果向量
|
|
242
|
+
*/
|
|
227
243
|
static add(a: Vector2, b: Vector2): Vector2;
|
|
228
244
|
/**
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
245
|
+
* 向量减法(静态方法)
|
|
246
|
+
* @param a 向量a
|
|
247
|
+
* @param b 向量b
|
|
248
|
+
* @returns 新的结果向量
|
|
249
|
+
*/
|
|
234
250
|
static subtract(a: Vector2, b: Vector2): Vector2;
|
|
235
251
|
/**
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
252
|
+
* 向量数乘(静态方法)
|
|
253
|
+
* @param vector 向量
|
|
254
|
+
* @param scalar 标量
|
|
255
|
+
* @returns 新的结果向量
|
|
256
|
+
*/
|
|
241
257
|
static multiply(vector: Vector2, scalar: number): Vector2;
|
|
242
258
|
/**
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
259
|
+
* 向量点积(静态方法)
|
|
260
|
+
* @param a 向量a
|
|
261
|
+
* @param b 向量b
|
|
262
|
+
* @returns 点积值
|
|
263
|
+
*/
|
|
248
264
|
static dot(a: Vector2, b: Vector2): number;
|
|
249
265
|
/**
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
266
|
+
* 向量叉积(静态方法)
|
|
267
|
+
* @param a 向量a
|
|
268
|
+
* @param b 向量b
|
|
269
|
+
* @returns 叉积值
|
|
270
|
+
*/
|
|
255
271
|
static cross(a: Vector2, b: Vector2): number;
|
|
256
272
|
/**
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
273
|
+
* 计算两点间距离(静态方法)
|
|
274
|
+
* @param a 点a
|
|
275
|
+
* @param b 点b
|
|
276
|
+
* @returns 距离值
|
|
277
|
+
*/
|
|
262
278
|
static distance(a: Vector2, b: Vector2): number;
|
|
263
279
|
/**
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
280
|
+
* 线性插值(静态方法)
|
|
281
|
+
* @param a 起始向量
|
|
282
|
+
* @param b 目标向量
|
|
283
|
+
* @param t 插值参数(0到1)
|
|
284
|
+
* @returns 新的插值结果向量
|
|
285
|
+
*/
|
|
270
286
|
static lerp(a: Vector2, b: Vector2, t: number): Vector2;
|
|
271
287
|
/**
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
288
|
+
* 从角度创建单位向量(静态方法)
|
|
289
|
+
* @param angle 角度(弧度)
|
|
290
|
+
* @returns 新的单位向量
|
|
291
|
+
*/
|
|
276
292
|
static fromAngle(angle: number): Vector2;
|
|
277
293
|
/**
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
294
|
+
* 从极坐标创建向量(静态方法)
|
|
295
|
+
* @param length 长度
|
|
296
|
+
* @param angle 角度(弧度)
|
|
297
|
+
* @returns 新的向量
|
|
298
|
+
*/
|
|
283
299
|
static fromPolar(length: number, angle: number): Vector2;
|
|
284
300
|
/**
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
301
|
+
* 获取两个向量中的最小分量向量(静态方法)
|
|
302
|
+
* @param a 向量a
|
|
303
|
+
* @param b 向量b
|
|
304
|
+
* @returns 新的最小分量向量
|
|
305
|
+
*/
|
|
290
306
|
static min(a: Vector2, b: Vector2): Vector2;
|
|
291
307
|
/**
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
308
|
+
* 获取两个向量中的最大分量向量(静态方法)
|
|
309
|
+
* @param a 向量a
|
|
310
|
+
* @param b 向量b
|
|
311
|
+
* @returns 新的最大分量向量
|
|
312
|
+
*/
|
|
297
313
|
static max(a: Vector2, b: Vector2): Vector2;
|
|
298
314
|
/**
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
315
|
+
* 转换为字符串
|
|
316
|
+
* @returns 字符串表示
|
|
317
|
+
*/
|
|
302
318
|
toString(): string;
|
|
303
319
|
/**
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
320
|
+
* 转换为数组
|
|
321
|
+
* @returns [x, y] 数组
|
|
322
|
+
*/
|
|
307
323
|
toArray(): [number, number];
|
|
308
324
|
/**
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
325
|
+
* 转换为普通对象
|
|
326
|
+
* @returns {x, y} 对象
|
|
327
|
+
*/
|
|
312
328
|
toObject(): {
|
|
313
329
|
x: number;
|
|
314
330
|
y: number;
|
package/bin/Vector2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../src/Vector2.ts"],"names":[],"mappings":"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"}
|