测量点到平面的距离,带符号:在法线所指一侧为正,另一侧为负。
示例:点 [0,5,0] 和法线为 [0,1,0] 的 XZ 平面 -> 5
点和平面
以模型单位表示的带符号距离
找出两个网格的表面相互穿过的每条线段,将一个网格的每个三角形与另一个的每个三角形测试。
示例:一个立方体网格和一个球体网格 -> 共同描出其相交曲线的线段
两个网格和容差
相交线段,顺序不定
找出两个网格的表面相互穿过的位置,并将各段连接成折线,曲线成环处闭合。
示例:一个立方体网格和一个球体网格 -> 两个表面相接处的闭合折线
两个网格和容差
以折线表示的相交曲线
找出两个网格的表面相互穿过的位置,每条曲线一个点列表。
闭合曲线在末尾重复其第一个点,使环显式化。 示例:一个立方体网格和一个球体网格 -> 描出两个表面相接处的点列表
两个网格和容差
每条相交曲线一个点列表
找出三角形所在的平面:其单位法线以及沿该法线距原点的距离。
法线遵循绕三角形各点的右手定则。没有面积的三角形(各点共线)没有平面,给出 undefined。 示例:[[0,0,0], [1,0,0], [0,1,0]] -> { normal: [0,0,1], d: 0 }
三角形以及面积视为零的容差
平面,退化三角形时为 undefined
找出两个三角形相互穿过的线段。
不接触、平行或位于同一平面的三角形给出 undefined。 示例:XY 平面内的一个三角形和横穿它竖立的一个三角形 -> 它们相交的线段
两个三角形和容差
相交线段,没有相交时为 undefined
基于普通三角形网格的几何运算:网格是三角形的列表,每个三角形由三个点组成。这里的方法计算三角形所在的平面、点到平面的距离,以及两个网格相互切割的位置,结果可以是线段、折线或点列表。它们不需要 CAD 内核,因此可以在任何三角化数据上运行。