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];“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.