JavaScript Math (JavaScript 数学方法)组提供了丰富的数学函数和常量,涵盖三角函数、对数、指数、幂运算及基本的数学常量。这些方法在 After Effects 表达式中广泛应用于动画制作、动态效果和几何计算,极大地提升了表达式的灵活性和功能性。

Math.PI

圆周率。

圆的周长与直径的比值,常用于角度与弧度的转换。

返回值

常量,3.141592653589793。

应用:

用于角度与弧度转换、旋转计算,如创建 360 度旋转动画。

// 将角度转换为弧度
degrees = 180;
radians = degrees * (Math.PI / 180); // 返回 π
radians;

// 创建一个完整的旋转动画
rotation = time * (360 / (2 * Math.PI));
rotation;

// 动态调整旋转角度
angle = time * Math.PI;
angle;

Math.E

自然对数的底数。

数学中的自然常数,约等于 2.718,用于指数和对数计算。

返回值

常量(Number),2.718281828459045。

应用:

用于指数增长、对数缩放,如模拟自然增长或衰减过程。

// 计算e的平方,结果约为7.389
Math.E * Math.E; // 返回 7.38905609893065

// 创建指数增长效果
initialValue = 50;
rate = 0.3;
value = initialValue * Math.exp(rate * time);
value;

// 动态调整透明度
opacity = Math.exp(-time) * 100;
opacity;

Math.LOG2E

以 2 为底 e 的对数。

用于将自然对数转换为以 2 为底的对数。

返回值

常量(Number), 1.4426950408889634。

应用:

用于对数转换、比例调整,如将自然对数转换为二进制对数。

// 将自然对数转换为以2为底的对数
x = 8;
log2Value = Math.log(x) * Math.LOG2E; // 返回 3
log2Value;

// 用于计算二进制相关的动画效果
binaryStep = Math.floor(time * Math.LOG2E) % 2;
binaryStep;

// 动态调整缩放基于二进制对数
scaleFactor = Math.log(value) * Math.LOG2E * 10;
[scaleFactor, scaleFactor];

Math.LOG10E

以 10 为底 e 的对数。

用于将自然对数转换为以 10 为底的对数。

返回值

常量(Number), 0.4342944819032518。

应用:

用于对数转换、比例调整,如将自然对数转换为十进制对数。

// 将自然对数转换为以10为底的对数
x = Math.E;
log10e = Math.LOG10E;
log10Value = Math.log(x) * log10e; // 返回 1
log10Value;

// 用于动态调整文本大小
baseSize = 20;
scalingFactor = 10;
textSize = baseSize + Math.log(value + 1) * Math.LOG10E * scalingFactor;
textSize;

// 动态调整位置基于常用对数
positionOffset = Math.log10(time + 1) * 50;
[position[0] + positionOffset, position[1]];

Math.LN2

2 的自然对数。

常用于计算二进制对数。

返回值

常量(Number),0.6931471805599453。

应用:

用于对数计算、时间缩放,如基于对数的时间变化效果。

// 计算以2为底的对数
x = 8;
log2 = Math.log(x) / Math.LN2; // 返回 3
log2;

// 在动画中使用自然对数进行时间缩放
scaledTime = time / Math.LN2;
scaledTime;

// 动态调整旋转速度
rotationSpeed = Math.log(time + 1) / Math.LN2 * 30;
rotationSpeed;

Math.LN10

10 的自然对数。

用于将以10为底的对数转换为自然对数。

返回值

常量(Number), 2.302585092994046。

应用:

用于对数计算、时间缩放,如基于对数的时间变化效果。

// 将以10为底的对数转换为自然对数
x = 100;
naturalLog = Math.log10(x) * Math.LN10; // 返回 4.605170185988092
naturalLog;

// 用于调整颜色强度
colorIntensity = Math.log10(value + 1) * Math.LN10;
colorIntensity;

// 动态调整不透明度基于自然对数
opacity = Math.log10(time + 1) * Math.LN10 * 10;
opacity;

Math.SQRT2

2 的平方根。

返回值

常量(Number),1.4142135623730951。

应用:

常用于几何计算。如等比缩放等。

// 计算一个正方形的对角线长度
sideLength = 100;
diagonal = sideLength * Math.SQRT2; // 返回约141.4213562373095
diagonal;

// 用于创建等比缩放效果
scaleFactor = Math.SQRT2 * time * 10;
[scaleFactor, scaleFactor];

// 动态调整位置基于平方根
positionOffset = Math.SQRT2 * Math.sin(time) * 50;
[position[0] + positionOffset, position[1] + positionOffset];

Math.SQRT1_2

1/2 的平方根。

返回值

常量(Number),0.7071067811865476。

应用:

常用于单位向量计算。如创建斜向运动路径。

// 创建一个单位向量的分量
unitX = Math.SQRT1_2;
unitY = Math.SQRT1_2;
[unitX, unitY];

// 用于平滑旋转动画
initialRotation = 0;
smoothRotation = initialRotation + Math.SQRT1_2 * time * 100;
smoothRotation;

// 动态调整缩放基于单位向量
scaleFactor = Math.SQRT1_2 * Math.sin(time) * 100;
[scaleFactor, scaleFactor];

“点赞有美意,赞赏是鼓励”