矢量数学函数是对数组进行运算的全局方法,将其视为数学矢量。与内置 JavaScript 方法(例如 Math.sin)不同,这些方法不与 Math 前缀一起使用。除非另有说明,否则矢量数学方法对维度的要求是宽松的并返回属于最大输入数组对象的维度的值,用零填充缺失的元素。例如,表达式 add([10, 20], [1, 2, 3]) 返回 [11, 22, 3]。
add(vec1, vec2)
返回类型:数组。
参数类型:vec1 和 vec2 是数组。
添加两个矢量。
sub(vec1, vec2)
返回类型:数组。
参数类型:vec1 和 vec2 是数组。
减去两个矢量。
mul(vec, amount)
返回类型:数组。
参数类型:vec 是数组,amount 是数值。
将矢量的每个元素与数量相乘。
div(vec, amount)
返回类型:数组。
参数类型:vec 是数组,amount 是数值。
用矢量的每个元素除以数量。
clamp(value, limit1, limit2)
返回类型:数值或数组。
参数类型:value、limit1 和 limit2 是数值或数组。
value 的每个组件的值都限定为介于 limit1 和 limit2 相应值的值之间。
dot(vec1, vec2)
返回类型:数值。
参数类型:vec1 和 vec2 是数组。
返回矢量参数的点(内)积。
cross(vec1, vec2)
返回类型:数组 [2 或 3]。
参数类型:vec1 和 vec2 是数组 [2 或 3]。
返回 vec1 和 vec2 的矢量叉积。有关更多信息,请参阅数学参考或 JavaScript 指南。
normalize(vec)
返回类型:数组。
参数类型:vec 是数组。
标准化矢量以使其长度为 1.0。使用 normalize 方法是执行运算 div(vec, length(vec)) 的简便方法。
length(vec)
返回类型:数值。
参数类型:vec 是数组。
返回矢量 vec. 的长度
length(point1, point2)
返回类型:数值。
参数类型:point1 和 point2 是数组。
返回两点之间的距离。point2 参数是可选的。例如,length(point1, point2) 与 length(sub(point1, point2)) 一样。
例如,将此表达式添加到摄像机的焦距属性中,从而将焦平面锁定到摄像机的目标点,以便目标点对准焦点:
length(position, pointOfInterest)
lookAt(fromPoint, atPoint)
返回类型:数组 [3]。
参数类型:fromPoint 和 atPoint 是数组 [3]。
参数 fromPoint 是您要定向的图层的世界空间中的位置。参数 atPoint 是您要将图层指向的世界空间中的点。返回值可用作“方向”属性的表达式,使图层点的 z 轴指向 atPoint。此方法对摄像机和光照特别有用。如果您对摄像机使用此表达式,请关闭自动方向。例如,聚光灯的方向属性的以下表达式会将光点指向同一合成中的 1 号图层的锚点:lookAt(position, thisComp.layer(1).position)
明狮交流群
明狮交流群