cross
cross
计算两个三维向量的叉乘,得到一个同时垂直于这两个输入向量的新向量。
核心优势
它将一个核心的几何运算抽象化,让开发者能从“寻找垂直方向”的几何角度思考,而非实现复杂的数学公式。这极大地提升了节点图的可读性,并保持了声明式的数据流工作方式。
常见用途
动态计算几何法线
构建切线空间(TBN矩阵)
生成正交运动矢量(如相机平移)
程序化建模中的平面定向
如何调整
其行为完全由两个输入向量决定。交换输入向量的顺序会使输出向量的方向反向(遵循右手定则)。减小两个输入向量之间的夹角会缩短输出向量的长度,当输入向量平行时,输出向量长度为零。
代码示例
1// B = cross(N, T)
2const bitangent = cross( normalWorld, tangentWorld );