测量两个向量之间的夹角,以度为单位,始终在 0 到 180 之间。
不考虑转动方向;需要时使用 signedAngleBetween。
示例:[1,0,0] 和 [0,1,0] -> 90
两个向量
以度为单位的角度
测量从第一个 2D 向量到第二个的带符号夹角,以度为单位,从 -180 到 180.
只使用每个向量的前两个分量;正角度为逆时针转动。 示例:[1,0] 到 [0,1] -> 90,[0,1] 到 [1,0] -> -90
两个 2D 向量
以度为单位的带符号角度
测量从第一个向量到第二个向量绕参考方向转动的角度,以度为单位,从 0 到 360。
当参考向量指向你时,转动为逆时针。 示例:[1,0,0] 到 [0,0,-1] 绕 [0,1,0] -> 90
两个向量和作为旋转轴的参考方向
0 到 360 度的角度
测量从第一个向量到第二个向量绕参考方向转动的角度,以度为单位,从 0 到 360。
当参考向量指向你时,转动为逆时针:顺时针转动 30 度读作 330。 示例:[1,0,0] 到 [0,0,-1] 绕 [0,1,0] -> 90
两个向量和作为旋转轴的参考方向
0 到 360 度的角度
计算两个 3D 向量的叉积:一个与两者都垂直的向量。
其方向遵循右手定则,其长度是两个向量所张成的平行四边形的面积。 示例:[1,0,0] x [0,1,0] -> [0,0,1]
两个 3D 向量
同时垂直于两者的向量
将向量的每个分量除以一个数。
示例:[10,20,30] / 2 -> [5,10,15]
向量和作为除数的数值
相除后的向量
用向量的最后一个值减去第一个值,对于已排序的列表这就是它的范围。
示例:[1,3,5,9] -> 8
向量
最后一个值减去第一个值
计算两个向量的点积:对应分量乘积之和。
对于相互垂直的向量它为 0,对于单位向量它是两者夹角的余弦。 示例:[1,2,3] 和 [4,5,6] -> 32
两个向量
点积
将向量的每个分量乘以一个数。
示例:[2,3,4] x 5 -> [10,15,20]
向量和作为乘数的数值
缩放后的向量
翻转每个分量的符号,使向量指向相反方向。
示例:[5,-3,2] -> [-5,3,-2]
要反转的向量
取反后的向量
将 3D 向量缩放到长度 1,同时保持其方向。
短于 1e-8 的向量没有可保持的方向,因此结果为 undefined。 示例:[3,4,0] -> [0.6,0.8,0]
要归一化的 3D 向量
单位向量,输入长度为零时为 undefined
找出从起点沿某方向给定距离处的点。
方向按原样使用,因此长度为 2 的方向会走两倍的距离。 示例:起点 [0,0,0],方向 [1,0,0],距离 5 -> [5,0,0]
起点、方向和距离
射线上的点
逐分量用第一个向量减去第二个向量。
示例:[10,20,30] - [1,2,3] -> [9,18,27]
被减向量和要减去的向量
各项之差组成的向量
计算 3D 向量长度的平方,在只需比较长度时可避免开平方根。
示例:[3,4,0] -> 25
3D 向量
长度的平方
由 x、y 和 z 值构建 3D 向量。
示例:x=1, y=2, z=3 -> [1,2,3]
三个值
向量 [x, y, z]
列出从 0 到 max(不含)的整数。
示例:max=5 -> [0,1,2,3,4]
范围的终点,不包含在结果中
从 0 到 max - 1 的数值
列出从 min 到 max 以 step 为步长的数值;当某一步恰好落在 max 上时包含它。
示例:min=0, max=10, step=2 -> [0,2,4,6,8,10]
起点、终点和步长
区间内的数值
列出从 min 到 max 按缓动曲线分布的 nrItems 个数值,使它们向一端或两端聚集。
打开 intervals 时,结果包含相邻数值之间的间隔而不是数值本身。
示例:min=0, max=100, nrItems=5, ease='easeInQuad' -> [0, 6.25, 25, 56.25, 100]
起点、终点、项数、缓动方式以及是否返回间隔
缓动后的数值,或它们之间的间隔
列出从 min 到 max 均匀分布的 nrItems 个数值,两端都包含。
示例:min=0, max=10, nrItems=5 -> [0, 2.5, 5, 7.5, 10]
起点、终点和项数
等间距的数值
将数字字符串列表转成数值。
不是数字的字符串变成 NaN。 示例:['1', '2.5', '3'] -> [1, 2.5, 3]
要解析的字符串
数值
计算两个向量之间距离的平方,在只需比较距离时可避免开平方根。
示例:[0,0,0] 到 [3,4,0] -> 25
两个向量
距离的平方
计算两个向量之间的直线距离。
示例:[0,0,0] 到 [3,4,0] -> 5
两个向量
以模型单位表示的距离
按分数线性混合两个向量。
fraction 是 first 所占的份额:1 给出 first,0 给出 second,0.5 给出中点。
示例:[0,0,0] 和 [10,10,10],取 0.5 -> [5,5,5]
两个向量和第一个向量所占的比例
混合后的向量
从列表中移除每个重复的向量,保留各自的第一次出现。
当每个分量的差都小于 tolerance 时,两个向量算作相同。
示例:[[1,2,3], [4,5,6], [1,2,3], [7,8,9]] -> [[1,2,3], [4,5,6], [7,8,9]]
要过滤的向量和容差
去除重复后的向量,保持原有顺序
当一个向量与紧邻其前的向量重复时将其移除;距离更远的相同向量则保留。
打开 checkFirstAndLast 时,与第一个重复的最后一个向量也会被丢弃,这能干净地闭合一圈点。相互之间在 tolerance 以内的分量算作相等。
示例:[[1,2], [1,2], [3,4], [1,2]] -> [[1,2], [3,4], [1,2]]
要过滤的向量、是否比较首尾两项,以及容差
去除连续重复后的向量
将一列向量逐分量相加为一个向量。
结果的分量数与第一个向量相同。 示例:[[1,2,3], [4,5,6], [7,8,9]] -> [12,15,18]
要相加的向量
各项之和组成的向量
逐分量相加两个向量。
示例:[1,2,3] + [4,5,6] -> [5,7,9]
要相加的两个向量
各项之和组成的向量
判断布尔值列表中的每个值是否都为 true。
示例:[true, true, true] -> true,[true, false, true] -> false
要检查的布尔值
当没有任何一项为 false 时为 true
逐分量判断两个向量在容差内是否相同。
长度不同的向量永远不相同。 示例:[1,2,3] 和 [1.0001,2.0001,3.0001],容差 0.001 -> true
两个向量和容差
当每一项的差都小于容差时为 true
标记向量的哪些分量是有限数。
示例:[1, 2, Infinity, 3] -> [true, true, false, true]
要检查的向量
每一项一个布尔值,为有限数时为 true
判断向量是否没有长度,即每个分量都恰好为 0。
示例:[0,0,0] -> true,[0,0,0.001] -> false
要检查的向量
当长度为 0 时为 true
基于普通数值数组的向量数学。向量是一个数值数组;在 3D 中它是
[x, y, z],Y 指向上方,与点的形式相同,因此两者可以互相传给对方的方法。每个方法都返回新数组或数值,从不更改其输入。角度以度为单位。