@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/Matrix3.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { Vector2 } from './Vector2';
|
|
2
2
|
/**
|
|
3
3
|
* 3x3变换矩阵类
|
|
4
|
+
* 3x3 Transform Matrix Class
|
|
4
5
|
*
|
|
5
6
|
* 用于2D变换(平移、旋转、缩放)的3x3矩阵
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* [
|
|
7
|
+
* 使用左手坐标系(顺时针正旋转)
|
|
8
|
+
*
|
|
9
|
+
* 矩阵布局(顺时针旋转):
|
|
10
|
+
* [m00, m01, m02] [scaleX * cos, scaleY * sin, translateX]
|
|
11
|
+
* [m10, m11, m12] = [-scaleX * sin, scaleY * cos, translateY]
|
|
12
|
+
* [m20, m21, m22] [0, 0, 1]
|
|
10
13
|
*/
|
|
11
14
|
export class Matrix3 {
|
|
12
15
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
* 创建3x3矩阵
|
|
17
|
+
* @param elements 矩阵元素数组(可选),默认为单位矩阵
|
|
18
|
+
*/
|
|
16
19
|
constructor(elements) {
|
|
17
20
|
this.elements = new Float32Array(9);
|
|
18
21
|
if (elements) {
|
|
@@ -53,9 +56,9 @@ export class Matrix3 {
|
|
|
53
56
|
set m22(value) { this.elements[8] = value; }
|
|
54
57
|
// 基础操作
|
|
55
58
|
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
* 设置矩阵为单位矩阵
|
|
60
|
+
* @returns 当前矩阵实例(链式调用)
|
|
61
|
+
*/
|
|
59
62
|
identity() {
|
|
60
63
|
this.elements.set([
|
|
61
64
|
1, 0, 0,
|
|
@@ -65,44 +68,44 @@ export class Matrix3 {
|
|
|
65
68
|
return this;
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
* 设置矩阵为零矩阵
|
|
72
|
+
* @returns 当前矩阵实例(链式调用)
|
|
73
|
+
*/
|
|
71
74
|
zero() {
|
|
72
75
|
this.elements.fill(0);
|
|
73
76
|
return this;
|
|
74
77
|
}
|
|
75
78
|
/**
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
* 复制另一个矩阵的值
|
|
80
|
+
* @param other 源矩阵
|
|
81
|
+
* @returns 当前矩阵实例(链式调用)
|
|
82
|
+
*/
|
|
80
83
|
copy(other) {
|
|
81
84
|
this.elements.set(other.elements);
|
|
82
85
|
return this;
|
|
83
86
|
}
|
|
84
87
|
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
* 克隆当前矩阵
|
|
89
|
+
* @returns 新的矩阵实例
|
|
90
|
+
*/
|
|
88
91
|
clone() {
|
|
89
92
|
return new Matrix3(this.elements);
|
|
90
93
|
}
|
|
91
94
|
/**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
* 从数组设置矩阵元素
|
|
96
|
+
* @param elements 矩阵元素数组
|
|
97
|
+
* @returns 当前矩阵实例(链式调用)
|
|
98
|
+
*/
|
|
96
99
|
fromArray(elements) {
|
|
97
100
|
this.elements.set(elements);
|
|
98
101
|
return this;
|
|
99
102
|
}
|
|
100
103
|
// 矩阵运算
|
|
101
104
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
* 矩阵加法
|
|
106
|
+
* @param other 另一个矩阵
|
|
107
|
+
* @returns 当前矩阵实例(链式调用)
|
|
108
|
+
*/
|
|
106
109
|
add(other) {
|
|
107
110
|
for (let i = 0; i < 9; i++) {
|
|
108
111
|
this.elements[i] += other.elements[i];
|
|
@@ -110,10 +113,10 @@ export class Matrix3 {
|
|
|
110
113
|
return this;
|
|
111
114
|
}
|
|
112
115
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
* 矩阵减法
|
|
117
|
+
* @param other 另一个矩阵
|
|
118
|
+
* @returns 当前矩阵实例(链式调用)
|
|
119
|
+
*/
|
|
117
120
|
subtract(other) {
|
|
118
121
|
for (let i = 0; i < 9; i++) {
|
|
119
122
|
this.elements[i] -= other.elements[i];
|
|
@@ -121,10 +124,10 @@ export class Matrix3 {
|
|
|
121
124
|
return this;
|
|
122
125
|
}
|
|
123
126
|
/**
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
127
|
+
* 矩阵标量乘法
|
|
128
|
+
* @param scalar 标量
|
|
129
|
+
* @returns 当前矩阵实例(链式调用)
|
|
130
|
+
*/
|
|
128
131
|
multiplyScalar(scalar) {
|
|
129
132
|
for (let i = 0; i < 9; i++) {
|
|
130
133
|
this.elements[i] *= scalar;
|
|
@@ -132,10 +135,10 @@ export class Matrix3 {
|
|
|
132
135
|
return this;
|
|
133
136
|
}
|
|
134
137
|
/**
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
138
|
+
* 矩阵乘法
|
|
139
|
+
* @param other 另一个矩阵
|
|
140
|
+
* @returns 当前矩阵实例(链式调用)
|
|
141
|
+
*/
|
|
139
142
|
multiply(other) {
|
|
140
143
|
const a = this.elements;
|
|
141
144
|
const b = other.elements;
|
|
@@ -153,10 +156,10 @@ export class Matrix3 {
|
|
|
153
156
|
return this;
|
|
154
157
|
}
|
|
155
158
|
/**
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
* 左乘另一个矩阵(other * this)
|
|
160
|
+
* @param other 左乘矩阵
|
|
161
|
+
* @returns 当前矩阵实例(链式调用)
|
|
162
|
+
*/
|
|
160
163
|
premultiply(other) {
|
|
161
164
|
const a = other.elements;
|
|
162
165
|
const b = this.elements;
|
|
@@ -175,11 +178,11 @@ export class Matrix3 {
|
|
|
175
178
|
}
|
|
176
179
|
// 变换操作
|
|
177
180
|
/**
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
* 设置为平移矩阵
|
|
182
|
+
* @param x X方向平移
|
|
183
|
+
* @param y Y方向平移
|
|
184
|
+
* @returns 当前矩阵实例(链式调用)
|
|
185
|
+
*/
|
|
183
186
|
makeTranslation(x, y) {
|
|
184
187
|
this.elements.set([
|
|
185
188
|
1, 0, x,
|
|
@@ -189,26 +192,33 @@ export class Matrix3 {
|
|
|
189
192
|
return this;
|
|
190
193
|
}
|
|
191
194
|
/**
|
|
192
|
-
*
|
|
195
|
+
* 设置为旋转矩阵(顺时针为正)
|
|
196
|
+
* Set as rotation matrix (clockwise positive)
|
|
197
|
+
*
|
|
198
|
+
* 使用左手坐标系约定:正角度 = 顺时针旋转
|
|
199
|
+
* Uses left-hand coordinate system: positive angle = clockwise
|
|
200
|
+
*
|
|
193
201
|
* @param angle 旋转角度(弧度)
|
|
194
202
|
* @returns 当前矩阵实例(链式调用)
|
|
195
203
|
*/
|
|
196
204
|
makeRotation(angle) {
|
|
197
205
|
const cos = Math.cos(angle);
|
|
198
206
|
const sin = Math.sin(angle);
|
|
207
|
+
// Clockwise rotation matrix
|
|
208
|
+
// 顺时针旋转矩阵
|
|
199
209
|
this.elements.set([
|
|
200
|
-
cos,
|
|
201
|
-
sin, cos, 0,
|
|
210
|
+
cos, sin, 0,
|
|
211
|
+
-sin, cos, 0,
|
|
202
212
|
0, 0, 1
|
|
203
213
|
]);
|
|
204
214
|
return this;
|
|
205
215
|
}
|
|
206
216
|
/**
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
217
|
+
* 设置为缩放矩阵
|
|
218
|
+
* @param scaleX X方向缩放
|
|
219
|
+
* @param scaleY Y方向缩放
|
|
220
|
+
* @returns 当前矩阵实例(链式调用)
|
|
221
|
+
*/
|
|
212
222
|
makeScale(scaleX, scaleY) {
|
|
213
223
|
this.elements.set([
|
|
214
224
|
scaleX, 0, 0,
|
|
@@ -218,28 +228,35 @@ export class Matrix3 {
|
|
|
218
228
|
return this;
|
|
219
229
|
}
|
|
220
230
|
/**
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
231
|
+
* 复合平移
|
|
232
|
+
* @param x X方向平移
|
|
233
|
+
* @param y Y方向平移
|
|
234
|
+
* @returns 当前矩阵实例(链式调用)
|
|
235
|
+
*/
|
|
226
236
|
translate(x, y) {
|
|
227
237
|
this.m02 += this.m00 * x + this.m01 * y;
|
|
228
238
|
this.m12 += this.m10 * x + this.m11 * y;
|
|
229
239
|
return this;
|
|
230
240
|
}
|
|
231
241
|
/**
|
|
232
|
-
*
|
|
242
|
+
* 复合旋转(顺时针为正)
|
|
243
|
+
* Composite rotation (clockwise positive)
|
|
244
|
+
*
|
|
245
|
+
* 使用左手坐标系约定:正角度 = 顺时针旋转
|
|
246
|
+
* Uses left-hand coordinate system: positive angle = clockwise
|
|
247
|
+
*
|
|
233
248
|
* @param angle 旋转角度(弧度)
|
|
234
249
|
* @returns 当前矩阵实例(链式调用)
|
|
235
250
|
*/
|
|
236
251
|
rotate(angle) {
|
|
237
252
|
const cos = Math.cos(angle);
|
|
238
253
|
const sin = Math.sin(angle);
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
const
|
|
242
|
-
const
|
|
254
|
+
// Clockwise rotation: multiply by [cos, sin; -sin, cos]
|
|
255
|
+
// 顺时针旋转
|
|
256
|
+
const m00 = this.m00 * cos - this.m01 * sin;
|
|
257
|
+
const m01 = this.m00 * sin + this.m01 * cos;
|
|
258
|
+
const m10 = this.m10 * cos - this.m11 * sin;
|
|
259
|
+
const m11 = this.m10 * sin + this.m11 * cos;
|
|
243
260
|
this.m00 = m00;
|
|
244
261
|
this.m01 = m01;
|
|
245
262
|
this.m10 = m10;
|
|
@@ -247,11 +264,11 @@ export class Matrix3 {
|
|
|
247
264
|
return this;
|
|
248
265
|
}
|
|
249
266
|
/**
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
267
|
+
* 复合缩放
|
|
268
|
+
* @param scaleX X方向缩放
|
|
269
|
+
* @param scaleY Y方向缩放
|
|
270
|
+
* @returns 当前矩阵实例(链式调用)
|
|
271
|
+
*/
|
|
255
272
|
scale(scaleX, scaleY) {
|
|
256
273
|
this.m00 *= scaleX;
|
|
257
274
|
this.m01 *= scaleY;
|
|
@@ -261,9 +278,9 @@ export class Matrix3 {
|
|
|
261
278
|
}
|
|
262
279
|
// 矩阵变换
|
|
263
280
|
/**
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
281
|
+
* 矩阵转置
|
|
282
|
+
* @returns 当前矩阵实例(链式调用)
|
|
283
|
+
*/
|
|
267
284
|
transpose() {
|
|
268
285
|
const elements = this.elements;
|
|
269
286
|
let tmp;
|
|
@@ -279,9 +296,9 @@ export class Matrix3 {
|
|
|
279
296
|
return this;
|
|
280
297
|
}
|
|
281
298
|
/**
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
299
|
+
* 计算矩阵行列式
|
|
300
|
+
* @returns 行列式值
|
|
301
|
+
*/
|
|
285
302
|
determinant() {
|
|
286
303
|
const e = this.elements;
|
|
287
304
|
return e[0] * (e[4] * e[8] - e[5] * e[7]) -
|
|
@@ -289,9 +306,9 @@ export class Matrix3 {
|
|
|
289
306
|
e[2] * (e[3] * e[7] - e[4] * e[6]);
|
|
290
307
|
}
|
|
291
308
|
/**
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
309
|
+
* 矩阵求逆
|
|
310
|
+
* @returns 当前矩阵实例(链式调用),如果矩阵不可逆则保持不变
|
|
311
|
+
*/
|
|
295
312
|
invert() {
|
|
296
313
|
const e = this.elements;
|
|
297
314
|
const det = this.determinant();
|
|
@@ -315,10 +332,10 @@ export class Matrix3 {
|
|
|
315
332
|
}
|
|
316
333
|
// 向量变换
|
|
317
334
|
/**
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
335
|
+
* 变换向量(应用完整的3x3变换)
|
|
336
|
+
* @param vector 向量
|
|
337
|
+
* @returns 新的变换后的向量
|
|
338
|
+
*/
|
|
322
339
|
transformVector(vector) {
|
|
323
340
|
const x = vector.x;
|
|
324
341
|
const y = vector.y;
|
|
@@ -326,40 +343,44 @@ export class Matrix3 {
|
|
|
326
343
|
return new Vector2((this.m00 * x + this.m01 * y + this.m02) / w, (this.m10 * x + this.m11 * y + this.m12) / w);
|
|
327
344
|
}
|
|
328
345
|
/**
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
346
|
+
* 变换向量(仅应用旋转和缩放,忽略平移)
|
|
347
|
+
* @param vector 向量
|
|
348
|
+
* @returns 新的变换后的向量
|
|
349
|
+
*/
|
|
333
350
|
transformDirection(vector) {
|
|
334
351
|
return new Vector2(this.m00 * vector.x + this.m01 * vector.y, this.m10 * vector.x + this.m11 * vector.y);
|
|
335
352
|
}
|
|
336
353
|
/**
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
354
|
+
* 批量变换向量数组
|
|
355
|
+
* @param vectors 向量数组
|
|
356
|
+
* @returns 变换后的向量数组
|
|
357
|
+
*/
|
|
341
358
|
transformVectors(vectors) {
|
|
342
|
-
return vectors.map(v => this.transformVector(v));
|
|
359
|
+
return vectors.map((v) => this.transformVector(v));
|
|
343
360
|
}
|
|
344
361
|
// 属性提取
|
|
345
362
|
/**
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
363
|
+
* 获取平移分量
|
|
364
|
+
* @returns 平移向量
|
|
365
|
+
*/
|
|
349
366
|
getTranslation() {
|
|
350
367
|
return new Vector2(this.m02, this.m12);
|
|
351
368
|
}
|
|
352
369
|
/**
|
|
353
|
-
*
|
|
370
|
+
* 获取旋转角度(顺时针为正)
|
|
371
|
+
* Get rotation angle (clockwise positive)
|
|
354
372
|
* @returns 旋转角度(弧度)
|
|
355
373
|
*/
|
|
356
374
|
getRotation() {
|
|
357
|
-
|
|
375
|
+
// For clockwise rotation matrix [cos, sin; -sin, cos]
|
|
376
|
+
// m00 = cos, m01 = sin, so atan2(m01, m00) = θ
|
|
377
|
+
// 顺时针旋转矩阵:从 m01 和 m00 提取角度
|
|
378
|
+
return Math.atan2(this.m01, this.m00);
|
|
358
379
|
}
|
|
359
380
|
/**
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
381
|
+
* 获取缩放分量
|
|
382
|
+
* @returns 缩放向量
|
|
383
|
+
*/
|
|
363
384
|
getScale() {
|
|
364
385
|
const scaleX = Math.sqrt(this.m00 * this.m00 + this.m10 * this.m10);
|
|
365
386
|
const scaleY = Math.sqrt(this.m01 * this.m01 + this.m11 * this.m11);
|
|
@@ -371,9 +392,9 @@ export class Matrix3 {
|
|
|
371
392
|
return new Vector2(scaleX, scaleY);
|
|
372
393
|
}
|
|
373
394
|
/**
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
395
|
+
* 分解变换矩阵为平移、旋转、缩放分量
|
|
396
|
+
* @returns {translation, rotation, scale}
|
|
397
|
+
*/
|
|
377
398
|
decompose() {
|
|
378
399
|
return {
|
|
379
400
|
translation: this.getTranslation(),
|
|
@@ -383,11 +404,11 @@ export class Matrix3 {
|
|
|
383
404
|
}
|
|
384
405
|
// 比较操作
|
|
385
406
|
/**
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
407
|
+
* 检查两个矩阵是否相等
|
|
408
|
+
* @param other 另一个矩阵
|
|
409
|
+
* @param epsilon 容差,默认为Number.EPSILON
|
|
410
|
+
* @returns 是否相等
|
|
411
|
+
*/
|
|
391
412
|
equals(other, epsilon = Number.EPSILON) {
|
|
392
413
|
for (let i = 0; i < 9; i++) {
|
|
393
414
|
if (Math.abs(this.elements[i] - other.elements[i]) >= epsilon) {
|
|
@@ -397,10 +418,10 @@ export class Matrix3 {
|
|
|
397
418
|
return true;
|
|
398
419
|
}
|
|
399
420
|
/**
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
421
|
+
* 检查两个矩阵是否完全相等
|
|
422
|
+
* @param other 另一个矩阵
|
|
423
|
+
* @returns 是否完全相等
|
|
424
|
+
*/
|
|
404
425
|
exactEquals(other) {
|
|
405
426
|
for (let i = 0; i < 9; i++) {
|
|
406
427
|
if (this.elements[i] !== other.elements[i]) {
|
|
@@ -410,51 +431,56 @@ export class Matrix3 {
|
|
|
410
431
|
return true;
|
|
411
432
|
}
|
|
412
433
|
/**
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
434
|
+
* 检查是否为单位矩阵
|
|
435
|
+
* @param epsilon 容差,默认为Number.EPSILON
|
|
436
|
+
* @returns 是否为单位矩阵
|
|
437
|
+
*/
|
|
417
438
|
isIdentity(epsilon = Number.EPSILON) {
|
|
418
439
|
return this.equals(Matrix3.IDENTITY, epsilon);
|
|
419
440
|
}
|
|
420
441
|
// 静态方法
|
|
421
442
|
/**
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
443
|
+
* 矩阵乘法(静态方法)
|
|
444
|
+
* @param a 矩阵a
|
|
445
|
+
* @param b 矩阵b
|
|
446
|
+
* @returns 新的结果矩阵
|
|
447
|
+
*/
|
|
427
448
|
static multiply(a, b) {
|
|
428
449
|
return a.clone().multiply(b);
|
|
429
450
|
}
|
|
430
451
|
/**
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
452
|
+
* 创建平移矩阵(静态方法)
|
|
453
|
+
* @param x X方向平移
|
|
454
|
+
* @param y Y方向平移
|
|
455
|
+
* @returns 新的平移矩阵
|
|
456
|
+
*/
|
|
436
457
|
static translation(x, y) {
|
|
437
458
|
return new Matrix3().makeTranslation(x, y);
|
|
438
459
|
}
|
|
439
460
|
/**
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
461
|
+
* 创建旋转矩阵(静态方法)
|
|
462
|
+
* @param angle 旋转角度(弧度)
|
|
463
|
+
* @returns 新的旋转矩阵
|
|
464
|
+
*/
|
|
444
465
|
static rotation(angle) {
|
|
445
466
|
return new Matrix3().makeRotation(angle);
|
|
446
467
|
}
|
|
447
468
|
/**
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
469
|
+
* 创建缩放矩阵(静态方法)
|
|
470
|
+
* @param scaleX X方向缩放
|
|
471
|
+
* @param scaleY Y方向缩放
|
|
472
|
+
* @returns 新的缩放矩阵
|
|
473
|
+
*/
|
|
453
474
|
static scale(scaleX, scaleY) {
|
|
454
475
|
return new Matrix3().makeScale(scaleX, scaleY);
|
|
455
476
|
}
|
|
456
477
|
/**
|
|
457
|
-
* 创建TRS
|
|
478
|
+
* 创建TRS(平移-旋转-缩放)变换矩阵(顺时针为正)
|
|
479
|
+
* Create TRS (Translate-Rotate-Scale) matrix (clockwise positive)
|
|
480
|
+
*
|
|
481
|
+
* 使用左手坐标系约定:正角度 = 顺时针旋转
|
|
482
|
+
* Uses left-hand coordinate system: positive angle = clockwise
|
|
483
|
+
*
|
|
458
484
|
* @param translation 平移向量
|
|
459
485
|
* @param rotation 旋转角度(弧度)
|
|
460
486
|
* @param scale 缩放向量
|
|
@@ -463,36 +489,38 @@ export class Matrix3 {
|
|
|
463
489
|
static TRS(translation, rotation, scale) {
|
|
464
490
|
const cos = Math.cos(rotation);
|
|
465
491
|
const sin = Math.sin(rotation);
|
|
492
|
+
// Clockwise rotation matrix with scale
|
|
493
|
+
// 带缩放的顺时针旋转矩阵
|
|
466
494
|
return new Matrix3([
|
|
467
|
-
scale.x * cos,
|
|
468
|
-
scale.x * sin, scale.y * cos, translation.y,
|
|
495
|
+
scale.x * cos, scale.y * sin, translation.x,
|
|
496
|
+
-scale.x * sin, scale.y * cos, translation.y,
|
|
469
497
|
0, 0, 1
|
|
470
498
|
]);
|
|
471
499
|
}
|
|
472
500
|
// 字符串转换
|
|
473
501
|
/**
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
502
|
+
* 转换为字符串
|
|
503
|
+
* @returns 字符串表示
|
|
504
|
+
*/
|
|
477
505
|
toString() {
|
|
478
506
|
const e = this.elements;
|
|
479
|
-
return
|
|
507
|
+
return 'Matrix3(\n' +
|
|
480
508
|
` ${e[0].toFixed(3)}, ${e[1].toFixed(3)}, ${e[2].toFixed(3)}\n` +
|
|
481
509
|
` ${e[3].toFixed(3)}, ${e[4].toFixed(3)}, ${e[5].toFixed(3)}\n` +
|
|
482
510
|
` ${e[6].toFixed(3)}, ${e[7].toFixed(3)}, ${e[8].toFixed(3)}\n` +
|
|
483
|
-
|
|
511
|
+
')';
|
|
484
512
|
}
|
|
485
513
|
/**
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
514
|
+
* 转换为数组
|
|
515
|
+
* @returns 矩阵元素数组
|
|
516
|
+
*/
|
|
489
517
|
toArray() {
|
|
490
518
|
return Array.from(this.elements);
|
|
491
519
|
}
|
|
492
520
|
/**
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
521
|
+
* 转换为CSS transform字符串
|
|
522
|
+
* @returns CSS transform字符串
|
|
523
|
+
*/
|
|
496
524
|
toCSSTransform() {
|
|
497
525
|
const e = this.elements;
|
|
498
526
|
return `matrix(${e[0]}, ${e[3]}, ${e[1]}, ${e[4]}, ${e[2]}, ${e[5]})`;
|
package/bin/Matrix3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Matrix3.js","sourceRoot":"","sources":["../src/Matrix3.ts"],"names":[],"mappings":"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AAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC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"}
|
|
1
|
+
{"version":3,"file":"Matrix3.js","sourceRoot":"","sources":["../src/Matrix3.ts"],"names":[],"mappings":"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C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,G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"}
|