@lijuhong1981/jsmath 1.0.8 → 1.0.10

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/index.js CHANGED
@@ -22,9 +22,10 @@ import convertToLatitudeRange from "./src/convertToLatitudeRange.js";
22
22
  import convertToLongitudeRange from "./src/convertToLongitudeRange.js";
23
23
  import isBetween from "./src/isBetween.js";
24
24
  import lerp from "./src/lerp.js";
25
- import percentInRange from "./src/percentInRange.js";
26
- import randomInteger from "./src/randomInteger.js";
25
+ import scalarInRange from "./src/scalarInRange.js";
26
+ import normalize from "./src/normalize.js";
27
27
  import randomNumber from "./src/randomNumber.js";
28
+ import randomInteger from "./src/randomInteger.js";
28
29
  import Range from "./src/Range.js";
29
30
 
30
31
  export {
@@ -50,8 +51,9 @@ export {
50
51
  convertToLongitudeRange,
51
52
  isBetween,
52
53
  lerp,
53
- percentInRange,
54
- randomInteger,
54
+ scalarInRange,
55
+ normalize,
55
56
  randomNumber,
57
+ randomInteger,
56
58
  Range,
57
59
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lijuhong1981/jsmath",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -8,8 +8,16 @@
8
8
  "scripts": {
9
9
  "test": "echo \"Error: no test specified\" && exit 1"
10
10
  },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/lijuhong1981/jsmath.git"
14
+ },
11
15
  "author": "lijuhong1981",
12
16
  "license": "ISC",
17
+ "bugs": {
18
+ "url": "https://github.com/lijuhong1981/jsmath/issues"
19
+ },
20
+ "homepage": "https://github.com/lijuhong1981/jsmath#readme",
13
21
  "dependencies": {
14
22
  "@lijuhong1981/jscheck": "^1.0.1"
15
23
  }
package/src/lerp.js CHANGED
@@ -2,20 +2,20 @@ import Check from "@lijuhong1981/jscheck";
2
2
  import clamp from "./clamp.js";
3
3
 
4
4
  /**
5
- * 在两个数值间线性插值
6
- * @param {Number} strat 开始数值
5
+ * 在两个数值之间线性插值
6
+ * @param {Number} start 开始数值
7
7
  * @param {Number} end 结束数值
8
- * @param {Number} percent 插值百分比,needClamp为true时约束在[0,1]区间内,为false时可超出[0,1]区间
8
+ * @param {Number} scalar 插值标量,needClamp为true时约束在[0,1]区间内,为false时可超出[0,1]区间
9
9
  * @param {Boolean} needClamp 是否需要约束插值,默认true
10
10
  * @returns {Number} 插值结果
11
11
  */
12
- function lerp(strat, end, percent, needClamp = true) {
13
- Check.typeOf.number('strat', strat);
12
+ function lerp(start, end, scalar, needClamp = true) {
13
+ Check.typeOf.number('start', start);
14
14
  Check.typeOf.number('end', end);
15
- Check.typeOf.number('percent', percent);
15
+ Check.typeOf.number('scalar', scalar);
16
16
  if (needClamp)
17
- percent = clamp(percent, 0, 1);
18
- return strat + (end - strat) * percent;
17
+ scalar = clamp(scalar, 0, 1);
18
+ return start + (end - start) * scalar;
19
19
  };
20
20
 
21
21
  export default lerp;
@@ -0,0 +1,15 @@
1
+ import scalarInRange from "./scalarInRange.js";
2
+
3
+ /**
4
+ * 计算一个数值在两个数值范围内的线性插值标准量
5
+ * 结果范围为[0, 1]区间
6
+ * @param {Number} value 需要计算的数值
7
+ * @param {Number} rangeMinimum 较小数
8
+ * @param {Number} rangeMaximum 较大数
9
+ * @returns {Number} 插值标量
10
+ */
11
+ function normalize(value, rangeMinimum, rangeMaximum) {
12
+ return scalarInRange(value, rangeMinimum, rangeMaximum, true);
13
+ };
14
+
15
+ export default normalize;
@@ -2,21 +2,21 @@ import Check from "@lijuhong1981/jscheck";
2
2
  import clamp from "./clamp.js";
3
3
 
4
4
  /**
5
- * 计算一个数值在两个数值范围内的线性插值百分比
5
+ * 计算一个数值在两个数值范围内的线性插值标量
6
6
  * @param {Number} value 需要计算的数值
7
7
  * @param {Number} rangeMinimum 较小数
8
8
  * @param {Number} rangeMaximum 较大数
9
9
  * @param {Boolean} needClamp 是否需要约束至0到1之间,默认false
10
- * @returns {Number} 百分比
10
+ * @returns {Number} 插值标量
11
11
  */
12
- function percentInRange(value, rangeMinimum, rangeMaximum, needClamp = false) {
12
+ function scalarInRange(value, rangeMinimum, rangeMaximum, needClamp = false) {
13
13
  Check.typeOf.number('value', value);
14
14
  Check.typeOf.number('rangeMinimum', rangeMinimum);
15
15
  Check.typeOf.number('rangeMaximum', rangeMaximum);
16
- let percent = (value - rangeMinimum) / (rangeMaximum - rangeMinimum);
16
+ let scalar = (value - rangeMinimum) / (rangeMaximum - rangeMinimum);
17
17
  if (needClamp)
18
- percent = clamp(percent, 0, 1);
19
- return percent;
18
+ scalar = clamp(scalar, 0, 1);
19
+ return scalar;
20
20
  };
21
21
 
22
- export default percentInRange;
22
+ export default scalarInRange;