@esengine/ecs-framework-math 2.10.0 → 2.10.3

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 (92) hide show
  1. package/dist/index.cjs +2 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.ts +10175 -0
  4. package/dist/index.mjs +2 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/index.umd.js +2 -0
  7. package/dist/index.umd.js.map +1 -0
  8. package/package.json +21 -12
  9. package/bin/Animation/Easing.d.ts +0 -244
  10. package/bin/Animation/Easing.d.ts.map +0 -1
  11. package/bin/Animation/Easing.js +0 -407
  12. package/bin/Animation/Easing.js.map +0 -1
  13. package/bin/Animation/Interpolation.d.ts +0 -172
  14. package/bin/Animation/Interpolation.d.ts.map +0 -1
  15. package/bin/Animation/Interpolation.js +0 -327
  16. package/bin/Animation/Interpolation.js.map +0 -1
  17. package/bin/Animation/index.d.ts +0 -8
  18. package/bin/Animation/index.d.ts.map +0 -1
  19. package/bin/Animation/index.js +0 -8
  20. package/bin/Animation/index.js.map +0 -1
  21. package/bin/Circle.d.ts +0 -277
  22. package/bin/Circle.d.ts.map +0 -1
  23. package/bin/Circle.js +0 -496
  24. package/bin/Circle.js.map +0 -1
  25. package/bin/Collision/CollisionDetector.d.ts +0 -114
  26. package/bin/Collision/CollisionDetector.d.ts.map +0 -1
  27. package/bin/Collision/CollisionDetector.js +0 -353
  28. package/bin/Collision/CollisionDetector.js.map +0 -1
  29. package/bin/Collision/index.d.ts +0 -7
  30. package/bin/Collision/index.d.ts.map +0 -1
  31. package/bin/Collision/index.js +0 -7
  32. package/bin/Collision/index.js.map +0 -1
  33. package/bin/Color.d.ts +0 -277
  34. package/bin/Color.d.ts.map +0 -1
  35. package/bin/Color.js +0 -470
  36. package/bin/Color.js.map +0 -1
  37. package/bin/Fixed32.d.ts +0 -266
  38. package/bin/Fixed32.d.ts.map +0 -1
  39. package/bin/Fixed32.js +0 -381
  40. package/bin/Fixed32.js.map +0 -1
  41. package/bin/FixedMath.d.ts +0 -109
  42. package/bin/FixedMath.d.ts.map +0 -1
  43. package/bin/FixedMath.js +0 -264
  44. package/bin/FixedMath.js.map +0 -1
  45. package/bin/FixedVector2.d.ts +0 -293
  46. package/bin/FixedVector2.d.ts.map +0 -1
  47. package/bin/FixedVector2.js +0 -413
  48. package/bin/FixedVector2.js.map +0 -1
  49. package/bin/MathUtils.d.ts +0 -312
  50. package/bin/MathUtils.d.ts.map +0 -1
  51. package/bin/MathUtils.js +0 -500
  52. package/bin/MathUtils.js.map +0 -1
  53. package/bin/Matrix3.d.ts +0 -288
  54. package/bin/Matrix3.d.ts.map +0 -1
  55. package/bin/Matrix3.js +0 -542
  56. package/bin/Matrix3.js.map +0 -1
  57. package/bin/Rectangle.d.ts +0 -266
  58. package/bin/Rectangle.d.ts.map +0 -1
  59. package/bin/Rectangle.js +0 -437
  60. package/bin/Rectangle.js.map +0 -1
  61. package/bin/Vector2.d.ts +0 -333
  62. package/bin/Vector2.d.ts.map +0 -1
  63. package/bin/Vector2.js +0 -484
  64. package/bin/Vector2.js.map +0 -1
  65. package/bin/Vector3.d.ts +0 -257
  66. package/bin/Vector3.d.ts.map +0 -1
  67. package/bin/Vector3.js +0 -372
  68. package/bin/Vector3.js.map +0 -1
  69. package/bin/index.d.ts +0 -25
  70. package/bin/index.d.ts.map +0 -1
  71. package/bin/index.js +0 -32
  72. package/bin/index.js.map +0 -1
  73. package/bin/nodes/ColorNodes.d.ts +0 -70
  74. package/bin/nodes/ColorNodes.d.ts.map +0 -1
  75. package/bin/nodes/ColorNodes.js +0 -427
  76. package/bin/nodes/ColorNodes.js.map +0 -1
  77. package/bin/nodes/FixedNodes.d.ts +0 -98
  78. package/bin/nodes/FixedNodes.d.ts.map +0 -1
  79. package/bin/nodes/FixedNodes.js +0 -612
  80. package/bin/nodes/FixedNodes.js.map +0 -1
  81. package/bin/nodes/FixedVectorNodes.d.ts +0 -58
  82. package/bin/nodes/FixedVectorNodes.d.ts.map +0 -1
  83. package/bin/nodes/FixedVectorNodes.js +0 -330
  84. package/bin/nodes/FixedVectorNodes.js.map +0 -1
  85. package/bin/nodes/VectorNodes.d.ts +0 -62
  86. package/bin/nodes/VectorNodes.d.ts.map +0 -1
  87. package/bin/nodes/VectorNodes.js +0 -355
  88. package/bin/nodes/VectorNodes.js.map +0 -1
  89. package/bin/nodes/index.d.ts +0 -20
  90. package/bin/nodes/index.d.ts.map +0 -1
  91. package/bin/nodes/index.js +0 -27
  92. package/bin/nodes/index.js.map +0 -1
@@ -1,327 +0,0 @@
1
- import { Vector2 } from '../Vector2';
2
- import { MathUtils } from '../MathUtils';
3
- /**
4
- * 带缓存的插值器类
5
- * 用于需要重复插值相同起始和目标值的情况
6
- */
7
- export class CachedInterpolator {
8
- constructor(interpolator) {
9
- this.cache = new Map();
10
- this.interpolator = interpolator;
11
- }
12
- /**
13
- * 设置插值范围
14
- * @param from 起始值
15
- * @param to 目标值
16
- */
17
- setRange(from, to) {
18
- if (this.from !== from || this.to !== to) {
19
- this.from = from;
20
- this.to = to;
21
- this.cache.clear();
22
- }
23
- }
24
- /**
25
- * 获取插值结果
26
- * @param t 插值参数
27
- * @returns 插值结果
28
- */
29
- get(t) {
30
- if (!this.from || !this.to) {
31
- throw new Error('插值范围未设置');
32
- }
33
- if (!this.cache.has(t)) {
34
- const result = this.interpolator(this.from, this.to, t);
35
- this.cache.set(t, result);
36
- }
37
- return this.cache.get(t);
38
- }
39
- /**
40
- * 清空缓存
41
- */
42
- clearCache() {
43
- this.cache.clear();
44
- }
45
- }
46
- /**
47
- * 插值工具类
48
- *
49
- * 提供各种类型的插值功能,用于创建平滑的数值变化
50
- */
51
- export class Interpolation {
52
- // 基础插值
53
- /**
54
- * 数值线性插值
55
- * @param from 起始值
56
- * @param to 目标值
57
- * @param t 插值参数 (0-1)
58
- * @returns 插值结果
59
- */
60
- static number(from, to, t) {
61
- return MathUtils.lerp(from, to, t);
62
- }
63
- /**
64
- * 向量线性插值
65
- * @param from 起始向量
66
- * @param to 目标向量
67
- * @param t 插值参数 (0-1)
68
- * @returns 插值结果向量
69
- */
70
- static vector2(from, to, t) {
71
- return Vector2.lerp(from, to, t);
72
- }
73
- /**
74
- * 角度插值(处理角度环绕)
75
- * @param from 起始角度(弧度)
76
- * @param to 目标角度(弧度)
77
- * @param t 插值参数 (0-1)
78
- * @returns 插值结果角度
79
- */
80
- static angle(from, to, t) {
81
- return MathUtils.lerpAngle(from, to, t);
82
- }
83
- /**
84
- * 颜色插值(RGB)
85
- * @param from 起始颜色 [r, g, b, a?]
86
- * @param to 目标颜色 [r, g, b, a?]
87
- * @param t 插值参数 (0-1)
88
- * @returns 插值结果颜色
89
- */
90
- static color(from, to, t) {
91
- const result = [];
92
- const length = Math.max(from.length, to.length);
93
- for (let i = 0; i < length; i++) {
94
- const fromVal = from[i] ?? (i === 3 ? 1 : 0); // alpha默认为1
95
- const toVal = to[i] ?? (i === 3 ? 1 : 0);
96
- result[i] = MathUtils.lerp(fromVal, toVal, t);
97
- }
98
- return result;
99
- }
100
- // 高级插值
101
- /**
102
- * 三次样条插值
103
- * @param p0 控制点0
104
- * @param p1 控制点1(起点)
105
- * @param p2 控制点2(终点)
106
- * @param p3 控制点3
107
- * @param t 插值参数 (0-1)
108
- * @returns 插值结果
109
- */
110
- static cubicSpline(p0, p1, p2, p3, t) {
111
- const t2 = t * t;
112
- const t3 = t2 * t;
113
- return 0.5 * ((2 * p1) +
114
- (-p0 + p2) * t +
115
- (2 * p0 - 5 * p1 + 4 * p2 - p3) * t2 +
116
- (-p0 + 3 * p1 - 3 * p2 + p3) * t3);
117
- }
118
- /**
119
- * Hermite插值
120
- * @param p0 起始点
121
- * @param m0 起始切线
122
- * @param p1 结束点
123
- * @param m1 结束切线
124
- * @param t 插值参数 (0-1)
125
- * @returns 插值结果
126
- */
127
- static hermite(p0, m0, p1, m1, t) {
128
- const t2 = t * t;
129
- const t3 = t2 * t;
130
- const h00 = 2 * t3 - 3 * t2 + 1;
131
- const h10 = t3 - 2 * t2 + t;
132
- const h01 = -2 * t3 + 3 * t2;
133
- const h11 = t3 - t2;
134
- return h00 * p0 + h10 * m0 + h01 * p1 + h11 * m1;
135
- }
136
- /**
137
- * 球面线性插值(适用于方向向量)
138
- * @param from 起始单位向量
139
- * @param to 目标单位向量
140
- * @param t 插值参数 (0-1)
141
- * @returns 插值结果向量
142
- */
143
- static slerp(from, to, t) {
144
- let dot = Vector2.dot(from, to);
145
- // 如果点积为负,取反一个向量确保走最短路径
146
- let toVec = to;
147
- if (dot < 0) {
148
- dot = -dot;
149
- toVec = to.clone().negate();
150
- }
151
- // 如果向量几乎平行,使用线性插值
152
- if (dot > 0.9995) {
153
- return Vector2.lerp(from, toVec, t).normalize();
154
- }
155
- // 球面插值
156
- const theta = Math.acos(Math.abs(dot));
157
- const sinTheta = Math.sin(theta);
158
- const a = Math.sin((1 - t) * theta) / sinTheta;
159
- const b = Math.sin(t * theta) / sinTheta;
160
- return new Vector2(from.x * a + toVec.x * b, from.y * a + toVec.y * b);
161
- }
162
- // 缓存插值
163
- /**
164
- * 创建带缓存的插值器
165
- * 用于需要重复插值相同起始和目标值的情况
166
- * @param interpolator 插值函数
167
- * @returns 缓存插值器实例
168
- */
169
- static createCachedInterpolator(interpolator) {
170
- return new CachedInterpolator(interpolator);
171
- }
172
- // 多点插值
173
- /**
174
- * 样条曲线插值(通过多个控制点)
175
- * @param points 控制点数组
176
- * @param t 插值参数 (0-1)
177
- * @returns 插值结果
178
- */
179
- static spline(points, t) {
180
- if (points.length === 0)
181
- return 0;
182
- if (points.length === 1)
183
- return points[0];
184
- if (points.length === 2)
185
- return MathUtils.lerp(points[0], points[1], t);
186
- const n = points.length - 1;
187
- const scaledT = t * n;
188
- const segment = Math.floor(scaledT);
189
- const localT = scaledT - segment;
190
- const i = Math.max(0, Math.min(n - 1, segment));
191
- const p0 = points[Math.max(0, i - 1)];
192
- const p1 = points[i];
193
- const p2 = points[Math.min(n, i + 1)];
194
- const p3 = points[Math.min(n, i + 2)];
195
- return Interpolation.cubicSpline(p0, p1, p2, p3, localT);
196
- }
197
- /**
198
- * 向量样条曲线插值
199
- * @param points 控制点数组
200
- * @param t 插值参数 (0-1)
201
- * @returns 插值结果向量
202
- */
203
- static vectorSpline(points, t) {
204
- if (points.length === 0)
205
- return new Vector2();
206
- if (points.length === 1)
207
- return points[0].clone();
208
- if (points.length === 2)
209
- return Vector2.lerp(points[0], points[1], t);
210
- const xPoints = points.map((p) => p.x);
211
- const yPoints = points.map((p) => p.y);
212
- return new Vector2(Interpolation.spline(xPoints, t), Interpolation.spline(yPoints, t));
213
- }
214
- // 时间轴插值
215
- /**
216
- * 关键帧动画插值
217
- * @param keyframes 关键帧数组(按时间排序)
218
- * @param time 当前时间
219
- * @param interpolator 插值函数
220
- * @returns 插值结果
221
- */
222
- static keyframe(keyframes, time, interpolator) {
223
- if (keyframes.length === 0) {
224
- throw new Error('至少需要一个关键帧');
225
- }
226
- if (keyframes.length === 1 || time <= keyframes[0].time) {
227
- return keyframes[0].value;
228
- }
229
- if (time >= keyframes[keyframes.length - 1].time) {
230
- return keyframes[keyframes.length - 1].value;
231
- }
232
- // 找到当前时间所在的区间
233
- for (let i = 0; i < keyframes.length - 1; i++) {
234
- const current = keyframes[i];
235
- const next = keyframes[i + 1];
236
- if (time >= current.time && time <= next.time) {
237
- const duration = next.time - current.time;
238
- const progress = duration > 0 ? (time - current.time) / duration : 0;
239
- // 应用缓动函数
240
- const easedProgress = current.easing ? current.easing(progress) : progress;
241
- return interpolator(current.value, next.value, easedProgress);
242
- }
243
- }
244
- return keyframes[keyframes.length - 1].value;
245
- }
246
- // 路径插值
247
- /**
248
- * 路径插值(沿着由点组成的路径)
249
- * @param path 路径点数组
250
- * @param t 插值参数 (0-1)
251
- * @param closed 是否为闭合路径
252
- * @returns 路径上的点
253
- */
254
- static pathInterpolation(path, t, closed = false) {
255
- if (path.length === 0)
256
- return new Vector2();
257
- if (path.length === 1)
258
- return path[0].clone();
259
- const totalLength = Interpolation.getPathLength(path, closed);
260
- const targetDistance = t * totalLength;
261
- let accumulatedDistance = 0;
262
- const segments = closed ? path.length : path.length - 1;
263
- for (let i = 0; i < segments; i++) {
264
- const start = path[i];
265
- const end = path[(i + 1) % path.length];
266
- const segmentLength = Vector2.distance(start, end);
267
- if (accumulatedDistance + segmentLength >= targetDistance) {
268
- const segmentT = (targetDistance - accumulatedDistance) / segmentLength;
269
- return Vector2.lerp(start, end, segmentT);
270
- }
271
- accumulatedDistance += segmentLength;
272
- }
273
- return path[path.length - 1].clone();
274
- }
275
- /**
276
- * 计算路径总长度
277
- * @param path 路径点数组
278
- * @param closed 是否为闭合路径
279
- * @returns 路径总长度
280
- */
281
- static getPathLength(path, closed = false) {
282
- if (path.length < 2)
283
- return 0;
284
- let totalLength = 0;
285
- const segments = closed ? path.length : path.length - 1;
286
- for (let i = 0; i < segments; i++) {
287
- const start = path[i];
288
- const end = path[(i + 1) % path.length];
289
- totalLength += Vector2.distance(start, end);
290
- }
291
- return totalLength;
292
- }
293
- // 实用工具
294
- /**
295
- * 创建数值插值器
296
- * @param from 起始值
297
- * @param to 目标值
298
- * @returns 插值器函数
299
- */
300
- static createNumberInterpolator(from, to) {
301
- return (t) => Interpolation.number(from, to, t);
302
- }
303
- /**
304
- * 创建向量插值器
305
- * @param from 起始向量
306
- * @param to 目标向量
307
- * @returns 插值器函数
308
- */
309
- static createVectorInterpolator(from, to) {
310
- return (t) => Interpolation.vector2(from, to, t);
311
- }
312
- /**
313
- * 创建组合插值器(插值多个值)
314
- * @param interpolators 插值器数组
315
- * @returns 组合插值器函数
316
- */
317
- static createCompositeInterpolator(interpolators) {
318
- return (from, to, t) => {
319
- const result = [];
320
- for (let i = 0; i < Math.min(interpolators.length, from.length, to.length); i++) {
321
- result[i] = interpolators[i](from[i], to[i], t);
322
- }
323
- return result;
324
- };
325
- }
326
- }
327
- //# sourceMappingURL=Interpolation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Interpolation.js","sourceRoot":"","sources":["../../src/Animation/Interpolation.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * 动画和插值模块
3
- *
4
- * 提供缓动函数和各种插值功能
5
- */
6
- export { Easing } from './Easing';
7
- export { Interpolation, CachedInterpolator, type InterpolatorFunction, type Keyframe } from './Interpolation';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Animation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACH,aAAa,EACb,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAChB,MAAM,iBAAiB,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * 动画和插值模块
3
- *
4
- * 提供缓动函数和各种插值功能
5
- */
6
- export { Easing } from './Easing';
7
- export { Interpolation, CachedInterpolator } from './Interpolation';
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Animation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACH,aAAa,EACb,kBAAkB,EAGrB,MAAM,iBAAiB,CAAC"}
package/bin/Circle.d.ts DELETED
@@ -1,277 +0,0 @@
1
- import { Vector2 } from './Vector2';
2
- import { Rectangle } from './Rectangle';
3
- /**
4
- * 2D圆形类
5
- *
6
- * 表示一个圆形,提供圆形相关的几何运算功能:
7
- * - 圆形创建和属性获取
8
- * - 包含检测(点、圆形)
9
- * - 相交检测和计算
10
- * - 变换和操作
11
- */
12
- export declare class Circle {
13
- /** 圆心X坐标 */
14
- x: number;
15
- /** 圆心Y坐标 */
16
- y: number;
17
- /** 半径 */
18
- radius: number;
19
- /**
20
- * 创建圆形
21
- * @param x 圆心X坐标,默认为0
22
- * @param y 圆心Y坐标,默认为0
23
- * @param radius 半径,默认为0
24
- */
25
- constructor(x?: number, y?: number, radius?: number);
26
- /** 空圆形 */
27
- static readonly EMPTY: Circle;
28
- /** 单位圆 */
29
- static readonly UNIT: Circle;
30
- /** 获取圆心坐标 */
31
- get center(): Vector2;
32
- /** 设置圆心坐标 */
33
- set center(value: Vector2);
34
- /** 获取直径 */
35
- get diameter(): number;
36
- /** 设置直径 */
37
- set diameter(value: number);
38
- /** 获取面积 */
39
- get area(): number;
40
- /** 获取周长 */
41
- get circumference(): number;
42
- /** 获取包围矩形 */
43
- get bounds(): Rectangle;
44
- /** 检查是否为空圆形 */
45
- get isEmpty(): boolean;
46
- /**
47
- * 设置圆形属性
48
- * @param x 圆心X坐标
49
- * @param y 圆心Y坐标
50
- * @param radius 半径
51
- * @returns 当前圆形实例(链式调用)
52
- */
53
- set(x: number, y: number, radius: number): this;
54
- /**
55
- * 复制另一个圆形的值
56
- * @param other 源圆形
57
- * @returns 当前圆形实例(链式调用)
58
- */
59
- copy(other: Circle): this;
60
- /**
61
- * 克隆当前圆形
62
- * @returns 新的圆形实例
63
- */
64
- clone(): Circle;
65
- /**
66
- * 设置圆心位置
67
- * @param x 新的X坐标
68
- * @param y 新的Y坐标
69
- * @returns 当前圆形实例(链式调用)
70
- */
71
- setPosition(x: number, y: number): this;
72
- /**
73
- * 设置圆心位置(使用向量)
74
- * @param center 新的圆心位置
75
- * @returns 当前圆形实例(链式调用)
76
- */
77
- setCenter(center: Vector2): this;
78
- /**
79
- * 设置半径
80
- * @param radius 新的半径
81
- * @returns 当前圆形实例(链式调用)
82
- */
83
- setRadius(radius: number): this;
84
- /**
85
- * 平移圆形
86
- * @param dx X方向偏移
87
- * @param dy Y方向偏移
88
- * @returns 当前圆形实例(链式调用)
89
- */
90
- translate(dx: number, dy: number): this;
91
- /**
92
- * 平移圆形(使用向量)
93
- * @param offset 偏移向量
94
- * @returns 当前圆形实例(链式调用)
95
- */
96
- translateBy(offset: Vector2): this;
97
- /**
98
- * 缩放圆形
99
- * @param scale 缩放因子
100
- * @returns 当前圆形实例(链式调用)
101
- */
102
- scale(scale: number): this;
103
- /**
104
- * 扩展圆形
105
- * @param amount 扩展量(正值扩大半径,负值缩小半径)
106
- * @returns 当前圆形实例(链式调用)
107
- */
108
- inflate(amount: number): this;
109
- /**
110
- * 检查是否包含指定点
111
- * @param point 点
112
- * @returns 是否包含
113
- */
114
- containsPoint(point: Vector2): boolean;
115
- /**
116
- * 检查是否包含指定坐标
117
- * @param x X坐标
118
- * @param y Y坐标
119
- * @returns 是否包含
120
- */
121
- contains(x: number, y: number): boolean;
122
- /**
123
- * 检查是否完全包含另一个圆形
124
- * @param other 另一个圆形
125
- * @returns 是否完全包含
126
- */
127
- containsCircle(other: Circle): boolean;
128
- /**
129
- * 检查点是否在圆的边界上
130
- * @param point 点
131
- * @param epsilon 容差,默认为Number.EPSILON
132
- * @returns 是否在边界上
133
- */
134
- pointOnBoundary(point: Vector2, epsilon?: number): boolean;
135
- /**
136
- * 检查是否与另一个圆形相交
137
- * @param other 另一个圆形
138
- * @returns 是否相交
139
- */
140
- intersects(other: Circle): boolean;
141
- /**
142
- * 检查是否与矩形相交
143
- * @param rect 矩形
144
- * @returns 是否相交
145
- */
146
- intersectsRect(rect: Rectangle): boolean;
147
- /**
148
- * 计算与另一个圆形的相交面积
149
- * @param other 另一个圆形
150
- * @returns 相交面积
151
- */
152
- intersectionArea(other: Circle): number;
153
- /**
154
- * 计算圆心到点的距离
155
- * @param point 点
156
- * @returns 距离
157
- */
158
- distanceToPoint(point: Vector2): number;
159
- /**
160
- * 计算圆形边界到点的最短距离
161
- * @param point 点
162
- * @returns 最短距离(点在圆内时为负值)
163
- */
164
- distanceToPointFromBoundary(point: Vector2): number;
165
- /**
166
- * 计算两个圆心之间的距离
167
- * @param other 另一个圆形
168
- * @returns 圆心距离
169
- */
170
- distanceToCircle(other: Circle): number;
171
- /**
172
- * 计算两个圆形边界之间的最短距离
173
- * @param other 另一个圆形
174
- * @returns 最短距离(相交时为负值)
175
- */
176
- distanceToCircleFromBoundary(other: Circle): number;
177
- /**
178
- * 计算圆形到矩形的最短距离
179
- * @param rect 矩形
180
- * @returns 最短距离
181
- */
182
- distanceToRect(rect: Rectangle): number;
183
- /**
184
- * 获取圆形上距离指定点最近的点
185
- * @param point 指定点
186
- * @returns 最近点
187
- */
188
- closestPointTo(point: Vector2): Vector2;
189
- /**
190
- * 获取圆形上距离指定点最远的点
191
- * @param point 指定点
192
- * @returns 最远点
193
- */
194
- farthestPointFrom(point: Vector2): Vector2;
195
- /**
196
- * 获取指定角度上的圆周点
197
- * @param angle 角度(弧度)
198
- * @returns 圆周点
199
- */
200
- getPointAtAngle(angle: number): Vector2;
201
- /**
202
- * 获取点相对于圆心的角度
203
- * @param point 点
204
- * @returns 角度(弧度)
205
- */
206
- getAngleToPoint(point: Vector2): number;
207
- /**
208
- * 获取圆形与直线的交点
209
- * @param lineStart 直线起点
210
- * @param lineEnd 直线终点
211
- * @returns 交点数组(0-2个点)
212
- */
213
- getLineIntersections(lineStart: Vector2, lineEnd: Vector2): Vector2[];
214
- /**
215
- * 检查两个圆形是否相等
216
- * @param other 另一个圆形
217
- * @param epsilon 容差,默认为Number.EPSILON
218
- * @returns 是否相等
219
- */
220
- equals(other: Circle, epsilon?: number): boolean;
221
- /**
222
- * 检查两个圆形是否完全相等
223
- * @param other 另一个圆形
224
- * @returns 是否完全相等
225
- */
226
- exactEquals(other: Circle): boolean;
227
- /**
228
- * 从直径创建圆形
229
- * @param x 圆心X坐标
230
- * @param y 圆心Y坐标
231
- * @param diameter 直径
232
- * @returns 新的圆形实例
233
- */
234
- static fromDiameter(x: number, y: number, diameter: number): Circle;
235
- /**
236
- * 从三个点创建外接圆
237
- * @param p1 第一个点
238
- * @param p2 第二个点
239
- * @param p3 第三个点
240
- * @returns 外接圆,如果三点共线返回null
241
- */
242
- static fromThreePoints(p1: Vector2, p2: Vector2, p3: Vector2): Circle | null;
243
- /**
244
- * 从点数组创建最小包围圆
245
- * @param points 点数组
246
- * @returns 最小包围圆
247
- */
248
- static fromPointArray(points: Vector2[]): Circle;
249
- /**
250
- * 线性插值两个圆形
251
- * @param a 起始圆形
252
- * @param b 目标圆形
253
- * @param t 插值参数(0到1)
254
- * @returns 新的插值结果圆形
255
- */
256
- static lerp(a: Circle, b: Circle, t: number): Circle;
257
- /**
258
- * 转换为字符串
259
- * @returns 字符串表示
260
- */
261
- toString(): string;
262
- /**
263
- * 转换为数组
264
- * @returns [x, y, radius] 数组
265
- */
266
- toArray(): [number, number, number];
267
- /**
268
- * 转换为普通对象
269
- * @returns {x, y, radius} 对象
270
- */
271
- toObject(): {
272
- x: number;
273
- y: number;
274
- radius: number;
275
- };
276
- }
277
- //# sourceMappingURL=Circle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Circle.d.ts","sourceRoot":"","sources":["../src/Circle.ts"],"names":[],"mappings":"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"}