@ntf/math 1.0.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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +41 -0
  3. package/dist/cjs/algebra/function.js +7 -0
  4. package/dist/cjs/algebra/function.js.map +1 -0
  5. package/dist/cjs/algebra/linear.js +42 -0
  6. package/dist/cjs/algebra/linear.js.map +1 -0
  7. package/dist/cjs/algebra/quad.js +53 -0
  8. package/dist/cjs/algebra/quad.js.map +1 -0
  9. package/dist/cjs/common/error.js +14 -0
  10. package/dist/cjs/common/error.js.map +1 -0
  11. package/dist/cjs/common/sign.js +14 -0
  12. package/dist/cjs/common/sign.js.map +1 -0
  13. package/dist/cjs/common/types.js +35 -0
  14. package/dist/cjs/common/types.js.map +1 -0
  15. package/dist/cjs/geometry/angle.js +11 -0
  16. package/dist/cjs/geometry/angle.js.map +1 -0
  17. package/dist/cjs/geometry/bbox.js +87 -0
  18. package/dist/cjs/geometry/bbox.js.map +1 -0
  19. package/dist/cjs/geometry/circle.js +64 -0
  20. package/dist/cjs/geometry/circle.js.map +1 -0
  21. package/dist/cjs/geometry/object.js +3 -0
  22. package/dist/cjs/geometry/object.js.map +1 -0
  23. package/dist/cjs/geometry/rectangle.js +77 -0
  24. package/dist/cjs/geometry/rectangle.js.map +1 -0
  25. package/dist/cjs/geometry/square.js +66 -0
  26. package/dist/cjs/geometry/square.js.map +1 -0
  27. package/dist/cjs/geometry/triangle.js +65 -0
  28. package/dist/cjs/geometry/triangle.js.map +1 -0
  29. package/dist/cjs/index.js +58 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/cjs/matrices/mat3.js +184 -0
  32. package/dist/cjs/matrices/mat3.js.map +1 -0
  33. package/dist/cjs/matrices/mat4.js +262 -0
  34. package/dist/cjs/matrices/mat4.js.map +1 -0
  35. package/dist/cjs/quaternion.js +196 -0
  36. package/dist/cjs/quaternion.js.map +1 -0
  37. package/dist/cjs/vectors/vec2.js +151 -0
  38. package/dist/cjs/vectors/vec2.js.map +1 -0
  39. package/dist/cjs/vectors/vec3.js +148 -0
  40. package/dist/cjs/vectors/vec3.js.map +1 -0
  41. package/dist/esm/algebra/function.js +3 -0
  42. package/dist/esm/algebra/function.js.map +1 -0
  43. package/dist/esm/algebra/linear.js +38 -0
  44. package/dist/esm/algebra/linear.js.map +1 -0
  45. package/dist/esm/algebra/quad.js +49 -0
  46. package/dist/esm/algebra/quad.js.map +1 -0
  47. package/dist/esm/common/error.js +10 -0
  48. package/dist/esm/common/error.js.map +1 -0
  49. package/dist/esm/common/sign.js +10 -0
  50. package/dist/esm/common/sign.js.map +1 -0
  51. package/dist/esm/common/types.js +26 -0
  52. package/dist/esm/common/types.js.map +1 -0
  53. package/dist/esm/geometry/angle.js +5 -0
  54. package/dist/esm/geometry/angle.js.map +1 -0
  55. package/dist/esm/geometry/bbox.js +83 -0
  56. package/dist/esm/geometry/bbox.js.map +1 -0
  57. package/dist/esm/geometry/circle.js +60 -0
  58. package/dist/esm/geometry/circle.js.map +1 -0
  59. package/dist/esm/geometry/object.js +2 -0
  60. package/dist/esm/geometry/object.js.map +1 -0
  61. package/dist/esm/geometry/rectangle.js +73 -0
  62. package/dist/esm/geometry/rectangle.js.map +1 -0
  63. package/dist/esm/geometry/square.js +62 -0
  64. package/dist/esm/geometry/square.js.map +1 -0
  65. package/dist/esm/geometry/triangle.js +59 -0
  66. package/dist/esm/geometry/triangle.js.map +1 -0
  67. package/dist/esm/index.js +39 -0
  68. package/dist/esm/index.js.map +1 -0
  69. package/dist/esm/matrices/mat3.js +180 -0
  70. package/dist/esm/matrices/mat3.js.map +1 -0
  71. package/dist/esm/matrices/mat4.js +258 -0
  72. package/dist/esm/matrices/mat4.js.map +1 -0
  73. package/dist/esm/quaternion.js +192 -0
  74. package/dist/esm/quaternion.js.map +1 -0
  75. package/dist/esm/vectors/vec2.js +147 -0
  76. package/dist/esm/vectors/vec2.js.map +1 -0
  77. package/dist/esm/vectors/vec3.js +144 -0
  78. package/dist/esm/vectors/vec3.js.map +1 -0
  79. package/dist/types/algebra/function.d.ts +6 -0
  80. package/dist/types/algebra/function.d.ts.map +1 -0
  81. package/dist/types/algebra/linear.d.ts +14 -0
  82. package/dist/types/algebra/linear.d.ts.map +1 -0
  83. package/dist/types/algebra/quad.d.ts +18 -0
  84. package/dist/types/algebra/quad.d.ts.map +1 -0
  85. package/dist/types/common/error.d.ts +6 -0
  86. package/dist/types/common/error.d.ts.map +1 -0
  87. package/dist/types/common/sign.d.ts +2 -0
  88. package/dist/types/common/sign.d.ts.map +1 -0
  89. package/dist/types/common/types.d.ts +21 -0
  90. package/dist/types/common/types.d.ts.map +1 -0
  91. package/dist/types/geometry/angle.d.ts +5 -0
  92. package/dist/types/geometry/angle.d.ts.map +1 -0
  93. package/dist/types/geometry/bbox.d.ts +35 -0
  94. package/dist/types/geometry/bbox.d.ts.map +1 -0
  95. package/dist/types/geometry/circle.d.ts +26 -0
  96. package/dist/types/geometry/circle.d.ts.map +1 -0
  97. package/dist/types/geometry/object.d.ts +5 -0
  98. package/dist/types/geometry/object.d.ts.map +1 -0
  99. package/dist/types/geometry/rectangle.d.ts +31 -0
  100. package/dist/types/geometry/rectangle.d.ts.map +1 -0
  101. package/dist/types/geometry/square.d.ts +27 -0
  102. package/dist/types/geometry/square.d.ts.map +1 -0
  103. package/dist/types/geometry/triangle.d.ts +42 -0
  104. package/dist/types/geometry/triangle.d.ts.map +1 -0
  105. package/dist/types/index.d.ts +22 -0
  106. package/dist/types/index.d.ts.map +1 -0
  107. package/dist/types/matrices/mat3.d.ts +58 -0
  108. package/dist/types/matrices/mat3.d.ts.map +1 -0
  109. package/dist/types/matrices/mat4.d.ts +84 -0
  110. package/dist/types/matrices/mat4.d.ts.map +1 -0
  111. package/dist/types/quaternion.d.ts +49 -0
  112. package/dist/types/quaternion.d.ts.map +1 -0
  113. package/dist/types/vectors/vec2.d.ts +55 -0
  114. package/dist/types/vectors/vec2.d.ts.map +1 -0
  115. package/dist/types/vectors/vec3.d.ts +53 -0
  116. package/dist/types/vectors/vec3.d.ts.map +1 -0
  117. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"angle.d.ts","sourceRoot":"","sources":["../../../source/geometry/angle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAA6B,CAAA;AAE3E,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAA0B,CAAA;AACxE,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAA0B,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { Vec2Like } from "../vectors/vec2";
2
+ import { CircleLike } from "./circle";
3
+ import { Rectangle } from "./rectangle";
4
+ import { ISquare, Square } from "./square";
5
+ export interface IBoundingBox {
6
+ left: number;
7
+ right: number;
8
+ top: number;
9
+ bottom: number;
10
+ }
11
+ export type BoundingBoxArray = [number, number, number, number];
12
+ export type BoundingBoxString = `${number},${number},${number},${number}`;
13
+ export type BoundingBoxLike = IBoundingBox | BoundingBoxArray | BoundingBoxString;
14
+ export declare class BoundingBox implements IBoundingBox, ISquare {
15
+ left: number;
16
+ right: number;
17
+ top: number;
18
+ bottom: number;
19
+ get width(): number;
20
+ set width(val: number);
21
+ get height(): number;
22
+ set height(val: number);
23
+ static resolve(a: unknown): BoundingBox;
24
+ static is(a: unknown): a is BoundingBoxLike;
25
+ constructor(left: number, right: number, top: number, bottom: number);
26
+ toArray(): BoundingBoxArray;
27
+ toString(): BoundingBoxString;
28
+ toJSON(): IBoundingBox;
29
+ toSquare(): Square;
30
+ toRectangle(): Rectangle;
31
+ inside(a: BoundingBoxLike): boolean;
32
+ insidePoint(a: Vec2Like): boolean;
33
+ insideCircle(a: CircleLike): boolean;
34
+ }
35
+ //# sourceMappingURL=bbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bbox.d.ts","sourceRoot":"","sources":["../../../source/geometry/bbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAU,UAAU,EAAW,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,YAAY;IAEzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AAC5D,MAAM,MAAM,iBAAiB,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAA;AACzE,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,CAAA;AAEjF,qBAAa,WAAY,YAAW,YAAY,EAAE,OAAO;IAkC3B,IAAI,EAAE,MAAM;IAAQ,KAAK,EAAE,MAAM;IAAQ,GAAG,EAAE,MAAM;IAAQ,MAAM,EAAE,MAAM;IAhCpG,IAAW,KAAK,WAAiC;IACjD,IAAW,KAAK,CAAC,GAAG,QAAA,EAA+B;IACnD,IAAW,MAAM,WAAiC;IAClD,IAAW,MAAM,CAAC,GAAG,QAAA,EAA+B;WACtC,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW;WAgBhC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe;gBAYxB,IAAI,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,EAAQ,GAAG,EAAE,MAAM,EAAQ,MAAM,EAAE,MAAM;IAI7F,OAAO,IAAI,gBAAgB;IAI3B,QAAQ,IAAI,iBAAiB;IAI7B,MAAM,IAAI,YAAY;IAOtB,QAAQ;IAIR,WAAW;IAIX,MAAM,CAAC,CAAC,EAAE,eAAe;IAKzB,WAAW,CAAC,CAAC,EAAE,QAAQ;IAKvB,YAAY,CAAC,CAAC,EAAE,UAAU;CAYpC"}
@@ -0,0 +1,26 @@
1
+ import { IVec2, Vec2, Vec2Array, Vec2Like, Vec2String } from "../vectors/vec2";
2
+ import { IGeometryObject } from "./object";
3
+ export interface ICircle extends IVec2 {
4
+ radius: number;
5
+ }
6
+ export type CircleArray = [...Vec2Array, number];
7
+ export type CircleString = `${Vec2String}|${number}`;
8
+ export type CircleLike = ICircle | CircleArray | CircleString;
9
+ export declare class Circle implements ICircle, IGeometryObject {
10
+ radius: number;
11
+ get perimeter(): number;
12
+ get area(): number;
13
+ position: Vec2;
14
+ get x(): number;
15
+ set x(val: number);
16
+ get y(): number;
17
+ set y(val: number);
18
+ get w(): number;
19
+ set w(val: number);
20
+ static resolve(a: unknown): Circle;
21
+ static is(a: unknown): a is CircleLike;
22
+ constructor(position: Vec2Like, radius: number);
23
+ inside(a: CircleLike): boolean;
24
+ insidePoint(a: Vec2Like): boolean;
25
+ }
26
+ //# sourceMappingURL=circle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../source/geometry/circle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,OAAQ,SAAQ,KAAK;IAElC,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,EAAC,MAAM,CAAC,CAAA;AAC/C,MAAM,MAAM,YAAY,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAA;AACpD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AAE7D,qBAAa,MAAO,YAAW,OAAO,EAAE,eAAe;IA+CN,MAAM,EAAE,MAAM;IA7C3D,IAAW,SAAS,WAAoC;IACxD,IAAW,IAAI,WAA4C;IACpD,QAAQ,EAAE,IAAI,CAAA;IACrB,IAAW,CAAC,WAA0B;IACtC,IAAW,CAAC,CAAC,GAAG,QAAA,EAAwB;IACxC,IAAW,CAAC,WAA0B;IACtC,IAAW,CAAC,CAAC,GAAG,QAAA,EAAwB;IACxC,IAAW,CAAC,WAA0B;IACtC,IAAW,CAAC,CAAC,GAAG,QAAA,EAAwB;WAC1B,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;WAwB3B,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU;gBAY1B,QAAQ,EAAE,QAAQ,EAAQ,MAAM,EAAE,MAAM;IAIpD,MAAM,CAAC,CAAC,EAAE,UAAU;IAQpB,WAAW,CAAC,CAAC,EAAE,QAAQ;CAIjC"}
@@ -0,0 +1,5 @@
1
+ export interface IGeometryObject {
2
+ readonly area: number;
3
+ readonly perimeter: number;
4
+ }
5
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../source/geometry/object.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC7B"}
@@ -0,0 +1,31 @@
1
+ import { IVec2, Vec2, Vec2Array, Vec2Like, Vec2String } from "../vectors/vec2";
2
+ import { BoundingBox } from "./bbox";
3
+ import { ISquare, Square, SquareArray, SquareLike, SquareString } from "./square";
4
+ export interface IRectangle extends IVec2, ISquare {
5
+ }
6
+ export type RectangleArray = [...Vec2Array, ...SquareArray];
7
+ export type RectangleString = `${Vec2String}|${SquareString}`;
8
+ export type RectangleLike = IRectangle | RectangleArray | RectangleString;
9
+ export declare class Rectangle implements IRectangle {
10
+ position: Vec2;
11
+ size: Square;
12
+ get x(): number;
13
+ set x(val: number);
14
+ get y(): number;
15
+ set y(val: number);
16
+ get w(): number;
17
+ set w(val: number);
18
+ get width(): number;
19
+ set width(val: number);
20
+ get height(): number;
21
+ set height(val: number);
22
+ static resolve(a: unknown): Rectangle;
23
+ static is(a: unknown): a is RectangleLike;
24
+ constructor(pos: Vec2Like, size: SquareLike);
25
+ constructor(x: number, y: number, width: number, height: number);
26
+ toArray(w?: boolean): RectangleArray;
27
+ toString(w?: boolean): RectangleString;
28
+ toJSON(): IRectangle;
29
+ toBoundingBox(): BoundingBox;
30
+ }
31
+ //# sourceMappingURL=rectangle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectangle.d.ts","sourceRoot":"","sources":["../../../source/geometry/rectangle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEjF,MAAM,WAAW,UAAW,SAAQ,KAAK,EAAE,OAAO;CAGjD;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,SAAS,EAAC,GAAG,WAAW,CAAC,CAAA;AAC1D,MAAM,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAA;AAC7D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,GAAG,eAAe,CAAA;AAEzE,qBAAa,SAAU,YAAW,UAAU;IAEjC,QAAQ,EAAE,IAAI,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACnB,IAAW,CAAC,WAA0B;IACtC,IAAW,CAAC,CAAC,GAAG,QAAA,EAAwB;IACxC,IAAW,CAAC,WAA0B;IACtC,IAAW,CAAC,CAAC,GAAG,QAAA,EAAwB;IACxC,IAAW,CAAC,WAA0B;IACtC,IAAW,CAAC,CAAC,GAAG,QAAA,EAAwB;IACxC,IAAW,KAAK,WAA0B;IAC1C,IAAW,KAAK,CAAC,GAAG,QAAA,EAAwB;IAC5C,IAAW,MAAM,WAA2B;IAC5C,IAAW,MAAM,CAAC,GAAG,QAAA,EAAyB;WAChC,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;WAuB9B,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa;gBAY7B,GAAG,EAAE,QAAQ,EAAC,IAAI,EAAE,UAAU;gBAC9B,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM;IAa5D,OAAO,CAAC,CAAC,UAAQ,GAAG,cAAc;IAIlC,QAAQ,CAAC,CAAC,UAAQ,GAAG,eAAe;IAIpC,MAAM,IAAI,UAAU;IAIpB,aAAa;CAIvB"}
@@ -0,0 +1,27 @@
1
+ import { Vec2, Vec2Like } from "../vectors/vec2";
2
+ import { IGeometryObject } from "./object";
3
+ export interface ISquare {
4
+ width: number;
5
+ height: number;
6
+ }
7
+ export type SquareArray = [number, number];
8
+ export type SquareString = `${number}x${number}`;
9
+ export type SquareLike = ISquare | SquareArray | SquareString | number;
10
+ export type SquareArguments = [SquareLike] | [number, number];
11
+ export declare class Square implements ISquare, IGeometryObject {
12
+ width: number;
13
+ height: number;
14
+ get aspectRatio(): number;
15
+ get area(): number;
16
+ get perimeter(): number;
17
+ static resolve(a: unknown): Square;
18
+ static fromVector(a: Vec2Like): Square;
19
+ static is(a: unknown): a is SquareLike;
20
+ constructor(width: number, height: number);
21
+ toArray(): SquareArray;
22
+ toString(): SquareString;
23
+ toJSON(): ISquare;
24
+ clone(): Square;
25
+ toVector(): Vec2;
26
+ }
27
+ //# sourceMappingURL=square.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square.d.ts","sourceRoot":"","sources":["../../../source/geometry/square.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,OAAO;IAEpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AACzC,MAAM,MAAM,YAAY,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAChD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,CAAA;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AAE5D,qBAAa,MAAO,YAAW,OAAO,EAAE,eAAe;IAwCzB,KAAK,EAAE,MAAM;IAAQ,MAAM,EAAE,MAAM;IAtC7D,IAAW,WAAW,WAAiC;IACvD,IAAW,IAAI,WAAiC;IAChD,IAAW,SAAS,WAAwD;WAC9D,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;WAkB3B,UAAU,CAAC,CAAC,EAAE,QAAQ;WAKtB,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU;gBAYnB,KAAK,EAAE,MAAM,EAAQ,MAAM,EAAE,MAAM;IAItD,OAAO,IAAI,WAAW;IAItB,QAAQ,IAAI,YAAY;IAIxB,MAAM,IAAI,OAAO;IAOjB,KAAK;IAIL,QAAQ;CAIlB"}
@@ -0,0 +1,42 @@
1
+ import { Vec2 } from "../vectors/vec2";
2
+ import { Vec3 } from "../vectors/vec3";
3
+ import { IGeometryObject } from "./object";
4
+ export interface ITriangle extends IGeometryObject {
5
+ readonly a: number;
6
+ readonly b: number;
7
+ readonly c: number;
8
+ readonly alpha: number;
9
+ readonly beta: number;
10
+ readonly gamma: number;
11
+ readonly semiperimeter: number;
12
+ readonly height: number;
13
+ readonly base: number;
14
+ }
15
+ export declare abstract class ATriangle<P extends Vec2 | Vec3> implements ITriangle {
16
+ A: P;
17
+ B: P;
18
+ C: P;
19
+ abstract get a(): number;
20
+ abstract get b(): number;
21
+ abstract get c(): number;
22
+ constructor(A: P, B: P, C: P);
23
+ get alpha(): number;
24
+ get beta(): number;
25
+ get gamma(): number;
26
+ get perimeter(): number;
27
+ get semiperimeter(): number;
28
+ get area(): number;
29
+ get base(): number;
30
+ get height(): number;
31
+ }
32
+ export declare class Triangle2D extends ATriangle<Vec2> {
33
+ get a(): number;
34
+ get b(): number;
35
+ get c(): number;
36
+ }
37
+ export declare class Triangle3D extends ATriangle<Vec3> {
38
+ get a(): number;
39
+ get b(): number;
40
+ get c(): number;
41
+ }
42
+ //# sourceMappingURL=triangle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triangle.d.ts","sourceRoot":"","sources":["../../../source/geometry/triangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,SAAU,SAAQ,eAAe;IAE9C,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;IAElB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,CAAE,YAAW,SAAS;IAK7C,CAAC,EAAE,CAAC;IAAQ,CAAC,EAAE,CAAC;IAAQ,CAAC,EAAE,CAAC;IAHtD,aAAoB,CAAC,IAAI,MAAM,CAAA;IAC/B,aAAoB,CAAC,IAAI,MAAM,CAAA;IAC/B,aAAoB,CAAC,IAAI,MAAM,CAAA;gBACL,CAAC,EAAE,CAAC,EAAQ,CAAC,EAAE,CAAC,EAAQ,CAAC,EAAE,CAAC;IAItD,IAAW,KAAK,WAGf;IACD,IAAW,IAAI,WAGd;IACD,IAAW,KAAK,WAGf;IACD,IAAW,SAAS,WAGnB;IACD,IAAW,aAAa,WAGvB;IACD,IAAW,IAAI,WAGd;IACD,IAAW,IAAI,WAGd;IACD,IAAW,MAAM,WAGhB;CACJ;AAED,qBAAa,UAAW,SAAQ,SAAS,CAAC,IAAI,CAAC;IAE3C,IAAW,CAAC,WAGX;IACD,IAAW,CAAC,WAGX;IACD,IAAW,CAAC,WAGX;CACJ;AAED,qBAAa,UAAW,SAAQ,SAAS,CAAC,IAAI,CAAC;IAE3C,IAAW,CAAC,WAGX;IACD,IAAW,CAAC,WAGX;IACD,IAAW,CAAC,WAGX;CACJ"}
@@ -0,0 +1,22 @@
1
+ export * from "./algebra/function";
2
+ export * from "./algebra/linear";
3
+ export * from "./algebra/quad";
4
+ export * from "./common/error";
5
+ export * from "./common/sign";
6
+ export * from "./common/types";
7
+ export * from "./geometry/angle";
8
+ export * from "./geometry/bbox";
9
+ export * from "./geometry/circle";
10
+ export * from "./geometry/object";
11
+ export * from "./geometry/rectangle";
12
+ export * from "./geometry/square";
13
+ export * from "./geometry/triangle";
14
+ export * from "./matrices/mat3";
15
+ export * from "./matrices/mat4";
16
+ export * from "./vectors/vec2";
17
+ export * from "./vectors/vec3";
18
+ export * from "./quaternion";
19
+ export declare function log_hypot(a: number, b: number): number;
20
+ export declare function clamp<T extends number | bigint>(value: T, min: T, max: T): T;
21
+ export declare const EPSILON = 1e-16;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAE5B,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,UAY5C;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,GAAG,EAAE,CAAC,KAOtE;AAED,eAAO,MAAM,OAAO,QAAQ,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { Vec2Like } from "../vectors/vec2";
2
+ export interface IMat3 {
3
+ m00: number;
4
+ m01: number;
5
+ m02: number;
6
+ m10: number;
7
+ m11: number;
8
+ m12: number;
9
+ m20: number;
10
+ m21: number;
11
+ m22: number;
12
+ }
13
+ export type Mat3Array = [number, number, number, number, number, number, number, number, number];
14
+ export type Mat3NestedArray = [[number, number, number], [number, number, number], [number, number, number]];
15
+ export type Mat3String = `${number},${number},${number},${number},${number},${number},${number},${number},${number}`;
16
+ export type Mat3Like = IMat3 | Mat3Array | Mat3NestedArray | Mat3String | number;
17
+ export declare class Mat3 implements IMat3 {
18
+ protected _raw: Mat3Array;
19
+ get m00(): number;
20
+ set m00(val: number);
21
+ get m01(): number;
22
+ set m01(val: number);
23
+ get m02(): number;
24
+ set m02(val: number);
25
+ get m10(): number;
26
+ set m10(val: number);
27
+ get m11(): number;
28
+ set m11(val: number);
29
+ get m12(): number;
30
+ set m12(val: number);
31
+ get m20(): number;
32
+ set m20(val: number);
33
+ get m21(): number;
34
+ set m21(val: number);
35
+ get m22(): number;
36
+ set m22(val: number);
37
+ static resolve(a: unknown): Mat3;
38
+ static is(a: unknown): a is Mat3Like;
39
+ static projection(width: number, height: number): Mat3;
40
+ constructor(init?: Mat3Array);
41
+ toArray(): Mat3Array;
42
+ toNestetArray(): Mat3NestedArray;
43
+ toJSON(): IMat3;
44
+ toString(): Mat3String;
45
+ clone(): Mat3;
46
+ add(mat: Mat3Like): this;
47
+ subtract(mat: Mat3Like): this;
48
+ multiply(mat: Mat3Like): Mat3;
49
+ multiply(scalar: number): Mat3;
50
+ translate(x: number, y: number): Mat3;
51
+ translate(vec: Vec2Like): Mat3;
52
+ rotate(angle: number): Mat3;
53
+ scale(x: number, y: number): Mat3;
54
+ scale(vec: Vec2Like): Mat3;
55
+ determinant(): number;
56
+ inverse(): Mat3;
57
+ }
58
+ //# sourceMappingURL=mat3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mat3.d.ts","sourceRoot":"","sources":["../../../source/matrices/mat3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAuB,MAAM,iBAAiB,CAAA;AAE/D,MAAM,WAAW,KAAK;IAElB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACd;AACD,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AACxF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAAA;AACpG,MAAM,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAA;AACpH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,MAAM,CAAA;AAEhF,qBAAa,IAAK,YAAW,KAAK;IAE9B,SAAS,CAAC,IAAI,EAAE,SAAS,CAAA;IACzB,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;WACzB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;WAwCzB,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ;WAY7B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM;gBAQlC,IAAI,GAAE,SAA+B;IAIjD,OAAO,IAAI,SAAS;IAQpB,aAAa,IAAI,eAAe;IAQhC,MAAM,IAAI,KAAK;IAQf,QAAQ,IAAI,UAAU;IAItB,KAAK;IAQL,GAAG,CAAC,GAAG,EAAE,QAAQ;IAQjB,QAAQ,CAAC,GAAG,EAAE,QAAQ;IAQtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB9B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IACpC,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAU9B,MAAM,CAAC,KAAK,EAAE,MAAM;IAUpB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAChC,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAU1B,WAAW;IAMX,OAAO;CASjB"}
@@ -0,0 +1,84 @@
1
+ import { Vec3Like, Vec3 } from "../vectors/vec3";
2
+ export interface IMat4 {
3
+ m00: number;
4
+ m01: number;
5
+ m02: number;
6
+ m03: number;
7
+ m10: number;
8
+ m11: number;
9
+ m12: number;
10
+ m13: number;
11
+ m20: number;
12
+ m21: number;
13
+ m22: number;
14
+ m23: number;
15
+ m30: number;
16
+ m31: number;
17
+ m32: number;
18
+ m33: number;
19
+ }
20
+ export type Mat4Array = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
21
+ export type Mat4NestedArray = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]];
22
+ export type Mat4String = `${number},${number},${number},${number},${number},${number},${number},${number},${number},${number},${number},${number},${number},${number},${number},${number}`;
23
+ export type Mat4Like = IMat4 | Mat4Array | Mat4NestedArray | Mat4String | number;
24
+ export declare class Mat4 implements IMat4 {
25
+ protected _raw: Mat4Array;
26
+ get m00(): number;
27
+ set m00(val: number);
28
+ get m01(): number;
29
+ set m01(val: number);
30
+ get m02(): number;
31
+ set m02(val: number);
32
+ get m03(): number;
33
+ set m03(val: number);
34
+ get m10(): number;
35
+ set m10(val: number);
36
+ get m11(): number;
37
+ set m11(val: number);
38
+ get m12(): number;
39
+ set m12(val: number);
40
+ get m13(): number;
41
+ set m13(val: number);
42
+ get m20(): number;
43
+ set m20(val: number);
44
+ get m21(): number;
45
+ set m21(val: number);
46
+ get m22(): number;
47
+ set m22(val: number);
48
+ get m23(): number;
49
+ set m23(val: number);
50
+ get m30(): number;
51
+ set m30(val: number);
52
+ get m31(): number;
53
+ set m31(val: number);
54
+ get m32(): number;
55
+ set m32(val: number);
56
+ get m33(): number;
57
+ set m33(val: number);
58
+ static resolve(a: unknown): Mat4;
59
+ static is(a: unknown): a is Mat4Like;
60
+ static orthographic(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
61
+ static perspective(fov: number, aspect: number, near: number, far: number): Mat4;
62
+ constructor(init?: Mat4Array);
63
+ toArray(): Mat4Array;
64
+ toNestetArray(): Mat4NestedArray;
65
+ toJSON(): IMat4;
66
+ toString(): Mat4String;
67
+ clone(): Mat4;
68
+ add(mat: Mat4Like): Mat4;
69
+ subtract(mat: Mat4Like): Mat4;
70
+ multiply(mat: Mat4Like): Mat4;
71
+ multiply(scalar: number): Mat4;
72
+ multiply(vec: Vec3Like): Vec3;
73
+ translate(x: number, y: number, z: number): this;
74
+ translate(vec: Vec3Like): this;
75
+ rotateX(angle: number): Mat4;
76
+ rotateY(angle: number): Mat4;
77
+ rotateZ(angle: number): Mat4;
78
+ rotate(x: number, y: number, z: number): this;
79
+ rotate(vec: Vec3Like): this;
80
+ scale(x: number, y: number, z: number): this;
81
+ scale(vec: Vec3Like): this;
82
+ inverse(): Mat4;
83
+ }
84
+ //# sourceMappingURL=mat4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mat4.d.ts","sourceRoot":"","sources":["../../../source/matrices/mat4.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAA;AAG/D,MAAM,WAAW,KAAK;IAElB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACd;AACD,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AACzI,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,EAAC,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAAA;AACvJ,MAAM,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAA;AAC1L,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,MAAM,CAAA;AAEhF,qBAAa,IAAK,YAAW,KAAK;IAE9B,SAAS,CAAC,IAAI,EAAE,SAAS,CAAA;IACzB,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAuB;IACrC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAqB;IACvC,IAAW,GAAG,WAAwB;IACtC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAsB;IACxC,IAAW,GAAG,WAAwB;IACtC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAsB;IACxC,IAAW,GAAG,WAAwB;IACtC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAsB;IACxC,IAAW,GAAG,WAAwB;IACtC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAsB;IACxC,IAAW,GAAG,WAAwB;IACtC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAsB;IACxC,IAAW,GAAG,WAAwB;IACtC,IAAW,GAAG,CAAC,GAAG,QAAA,EAAsB;WAC1B,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI;WA2CzB,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ;WAY7B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,MAAM;WAW3F,WAAW,CAAC,GAAG,EAAE,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,MAAM;gBAW1D,IAAI,GAAE,SAA6C;IAI/D,OAAO,IAAI,SAAS;IASpB,aAAa,IAAI,eAAe;IAShC,MAAM,IAAI,KAAK;IASf,QAAQ,IAAI,UAAU;IAItB,KAAK;IASL,GAAG,CAAC,GAAG,EAAE,QAAQ;IAQjB,QAAQ,CAAC,GAAG,EAAE,QAAQ;IAQtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9B,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAoD7B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAC9C,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAW9B,OAAO,CAAC,KAAK,EAAE,MAAM;IAWrB,OAAO,CAAC,KAAK,EAAE,MAAM;IAWrB,OAAO,CAAC,KAAK,EAAE,MAAM;IAWrB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAC3C,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAM3B,KAAK,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAC1C,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAW1B,OAAO;CAYjB"}
@@ -0,0 +1,49 @@
1
+ import { Mat3, Mat4 } from "./index";
2
+ import { Vec3, Vec3Like } from "./vectors/vec3";
3
+ export interface IQuaternion {
4
+ w: number;
5
+ x: number;
6
+ y: number;
7
+ z: number;
8
+ }
9
+ export type QuaternionArray = [number, number, number, number];
10
+ export type QuaternionString = `${number} + ${number}i + ${number}j + ${number}k`;
11
+ export type QuaternionLike = IQuaternion | QuaternionArray | QuaternionString;
12
+ export declare class Quaternion {
13
+ w: number;
14
+ x: number;
15
+ y: number;
16
+ z: number;
17
+ static is(obj: unknown): obj is IQuaternion;
18
+ static resolve(a: unknown): Quaternion;
19
+ static fromAxisAngle(axis: Vec3Like, angle: number): Quaternion;
20
+ static fromEuler(x: number, y: number, z: number): Quaternion;
21
+ static fromEuler(vec: Vec3Like): Quaternion;
22
+ constructor(w?: number, x?: number, y?: number, z?: number);
23
+ toArray(): QuaternionArray;
24
+ toString(): QuaternionString;
25
+ toJSON(): IQuaternion;
26
+ clone(): Quaternion;
27
+ add(a: QuaternionLike): Quaternion;
28
+ offset(a: QuaternionLike): this;
29
+ subtract(a: QuaternionLike): Quaternion;
30
+ negative(): Quaternion;
31
+ length(sqrt?: boolean): number;
32
+ normalize(): Quaternion;
33
+ multiply(a: QuaternionLike): Quaternion;
34
+ multiplyVector(x: number, y: number, z: number): Vec3;
35
+ multiplyVector(vec: Vec3Like): Vec3;
36
+ scale(scalar: number): Quaternion;
37
+ dot(a: QuaternionLike): number;
38
+ inverse(): Quaternion;
39
+ divide(a: QuaternionLike): Quaternion;
40
+ conjugate(): Quaternion;
41
+ exp(): Quaternion;
42
+ log(): Quaternion;
43
+ toVector(): Vec3;
44
+ toAxisAngle(): Vec3;
45
+ toEuler(): Vec3;
46
+ toMat3(): Mat3;
47
+ toMat4(): Mat4;
48
+ }
49
+ //# sourceMappingURL=quaternion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quaternion.d.ts","sourceRoot":"","sources":["../../source/quaternion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,IAAI,EAAE,IAAI,EAAa,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,IAAI,EAAiB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9D,MAAM,WAAW,WAAW;IAExB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,CAAA;AAC3D,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,MAAM,GAAG,CAAA;AACjF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAA;AAE7E,qBAAa,UAAU;IA+DO,CAAC,EAAE,MAAM;IAAY,CAAC,EAAE,MAAM;IAAY,CAAC,EAAE,MAAM;IAAY,CAAC,EAAE,MAAM;WA7DpF,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW;WAYpC,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU;WAyB/B,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAC,KAAK,EAAE,MAAM;WAS1C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,UAAU;WACpD,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU;gBAcxB,CAAC,GAAE,MAAU,EAAQ,CAAC,GAAE,MAAU,EAAQ,CAAC,GAAE,MAAU,EAAQ,CAAC,GAAE,MAAU;IAI/F,OAAO,IAAI,eAAe;IAI1B,QAAQ,IAAI,gBAAgB;IAI5B,MAAM,IAAI,WAAW;IAMrB,KAAK;IAIL,GAAG,CAAC,CAAC,EAAE,cAAc;IAUrB,MAAM,CAAC,CAAC,EAAE,cAAc;IASxB,QAAQ,CAAC,CAAC,EAAE,cAAc;IAU1B,QAAQ;IAIR,MAAM,CAAC,IAAI,UAAO;IAKlB,SAAS;IAQT,QAAQ,CAAC,CAAC,EAAE,cAAc;IAU1B,cAAc,CAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IACnD,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAcnC,KAAK,CAAC,MAAM,EAAE,MAAM;IAIpB,GAAG,CAAC,CAAC,EAAE,cAAc;IAKrB,OAAO;IAQP,MAAM,CAAC,CAAC,EAAE,cAAc;IAaxB,SAAS;IAIT,GAAG;IAYH,GAAG;IASH,QAAQ;IAIR,WAAW;IASX,OAAO;IAYP,MAAM;IAQN,MAAM;CAShB"}
@@ -0,0 +1,55 @@
1
+ import { Square } from "../geometry/square";
2
+ export interface IVec2 {
3
+ x: number;
4
+ y: number;
5
+ w: number;
6
+ }
7
+ export type Vec2Array = [number, number] | [number, number, number];
8
+ export type Vec2String = `${number},${number}` | `${number},${number};${number}`;
9
+ export type Vec2Like = IVec2 | Vec2Array | Vec2String | number;
10
+ export type Vec2Arguments = [Vec2Like] | [number, number];
11
+ export declare class Vec2 implements IVec2 {
12
+ x: number;
13
+ y: number;
14
+ w: number;
15
+ static resolve(a: unknown): Vec2;
16
+ static resolveArgs(args: Vec2Arguments): Vec2;
17
+ static is(a: unknown): a is Vec2Like;
18
+ static fromPoints(a: Vec2Like, b: Vec2Like): Vec2;
19
+ static clamp(value: Vec2Like, min: Vec2Like, max: Vec2Like): Vec2;
20
+ constructor(x?: number, y?: number, w?: number);
21
+ toArray(w?: boolean): Vec2Array;
22
+ toJSON(): IVec2;
23
+ toString(w?: boolean): Vec2String;
24
+ toSquare(): Square;
25
+ clone(): Vec2;
26
+ setX(x: number): this;
27
+ setY(y: number): this;
28
+ setW(w: number): this;
29
+ set(x: number, y: number): this;
30
+ set(vec: Vec2Like): this;
31
+ add(x: number, y: number): Vec2;
32
+ add(vec: Vec2Like): Vec2;
33
+ offset(x: number, y: number): this;
34
+ offset(vec: Vec2Like): this;
35
+ subtract(x: number, y: number): Vec2;
36
+ subtract(vec: Vec2Like): Vec2;
37
+ multiply(scalar: number): Vec2;
38
+ naiveMultiply(x: number, y: number): Vec2;
39
+ naiveMultiply(vec: Vec2Like): Vec2;
40
+ divide(x: number, y: number): Vec2;
41
+ divide(scalar: number): Vec2;
42
+ divide(vec: Vec2Like): Vec2;
43
+ dot(x: number, y: number): number;
44
+ dot(vec: Vec2Like): number;
45
+ distance(x: number, y: number): number;
46
+ distance(vec: Vec2Like): number;
47
+ distanceSquare(x: number, y: number): number;
48
+ distanceSquare(vec: Vec2Like): number;
49
+ length(): number;
50
+ cartesianify(): Vec2;
51
+ polarify(): Vec2;
52
+ normalize(): Vec2;
53
+ invert(): Vec2;
54
+ }
55
+ //# sourceMappingURL=vec2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vec2.d.ts","sourceRoot":"","sources":["../../../source/vectors/vec2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { IVec2 } from "./vec2";
2
+ export interface IVec3 extends IVec2 {
3
+ z: number;
4
+ }
5
+ export type Vec3Array = [number, number, number] | [number, number, number, number];
6
+ export type Vec3String = `${number},${number},${number}` | `${number},${number},${number};${number}`;
7
+ export type Vec3Like = IVec3 | Vec3Array | Vec3String | number;
8
+ export type Vec3Arguments = [Vec3Like] | [number, number, number];
9
+ export declare class Vec3 implements IVec3 {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ w: number;
14
+ static resolve(a: unknown): Vec3;
15
+ static resolveArgs(args: Vec3Arguments): Vec3;
16
+ static is(a: unknown): a is Vec3Like;
17
+ static fromPoints(a: Vec3Like, b: Vec3Like): Vec3;
18
+ static clamp(value: Vec3Like, min: Vec3Like, max: Vec3Like): Vec3;
19
+ constructor(x?: number, y?: number, z?: number, w?: number);
20
+ toArray(w?: boolean): Vec3Array;
21
+ toJSON(): IVec3;
22
+ toString(w?: boolean): Vec3String;
23
+ clone(): Vec3;
24
+ setX(x: number): this;
25
+ setY(y: number): this;
26
+ setZ(z: number): this;
27
+ set(x: number, y: number, z: number): this;
28
+ set(vec: Vec3Like): this;
29
+ add(x: number, y: number, z: number): Vec3;
30
+ add(vec: Vec3Like): Vec3;
31
+ offset(x: number, y: number, z: number): this;
32
+ offset(vec: Vec3Like): this;
33
+ subtract(x: number, y: number, z: number): Vec3;
34
+ subtract(vec: Vec3Like): Vec3;
35
+ multiply(scalar: number): Vec3;
36
+ naiveMultiply(x: number, y: number, z: number): Vec3;
37
+ naiveMultiply(vec: Vec3Like): Vec3;
38
+ divide(x: number, y: number, z: number): Vec3;
39
+ divide(scalar: number): Vec3;
40
+ divide(vec: Vec3Like): Vec3;
41
+ dot(x: number, y: number, z: number): number;
42
+ dot(vec: Vec3Like): number;
43
+ cross(x: number, y: number, z: number): Vec3;
44
+ cross(vec: Vec3Like): Vec3;
45
+ distance(x: number, y: number, z: number): number;
46
+ distance(vec: Vec3Like): number;
47
+ distanceSquare(x: number, y: number, z: number): number;
48
+ distanceSquare(vec: Vec3Like): number;
49
+ length(): number;
50
+ normalize(): Vec3;
51
+ invert(): Vec3;
52
+ }
53
+ //# sourceMappingURL=vec3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vec3.d.ts","sourceRoot":"","sources":["../../../source/vectors/vec3.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@ntf/math",
3
+ "version": "1.0.0",
4
+ "description": "Another math library",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "main": "./dist/cjs/index.js",
9
+ "module": "./dist/esm/index.js",
10
+ "types": "./dist/types/index.d.ts",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/N1ghtTheF0x/ntf-.git"
14
+ },
15
+ "keywords": [
16
+ "esm",
17
+ "cjs",
18
+ "nodejs",
19
+ "browser"
20
+ ],
21
+ "author": "N1ghtTheF0x",
22
+ "license": "MIT",
23
+ "bugs": {
24
+ "url": "https://github.com/N1ghtTheF0x/ntf-/issues"
25
+ },
26
+ "homepage": "https://github.com/N1ghtTheF0x/ntf-#readme",
27
+ "devDependencies": {
28
+ "typescript": "latest",
29
+ "ts-node": "latest",
30
+ "express": "latest"
31
+ },
32
+ "scripts": {
33
+ "test": "ts-node --project tsconfig.test.json test.ts",
34
+ "build:cjs": "tsc --build tsconfig.cjs.json",
35
+ "build:esm": "tsc --build tsconfig.esm.json",
36
+ "build": "npm run build:cjs && npm run build:esm",
37
+ "fix-esm-imports": "node fix-esm-imports.mjs dist/esm",
38
+ "postbuild:esm": "npm run fix-esm-imports"
39
+ }
40
+ }