Измеряет, как далеко точка от плоскости, со знаком: положительное на стороне, куда указывает нормаль, отрицательное на другой.
Пример: точка [0,5,0] и плоскость XZ с нормалью [0,1,0] -> 5
Точка и плоскость
Расстояние со знаком в единицах модели
Находит каждый отрезок, где поверхности двух мешей прорезают друг друга, проверяя каждый треугольник одного против каждого треугольника другого.
Пример: меш куба и меш сферы -> отрезки, которые вместе обводят кривую их пересечения
Два меша и допуск
Сегменты пересечения, в произвольном порядке
Находит, где поверхности двух мешей прорезают друг друга, и соединяет части в полилинии, замкнутые там, где кривая образует петлю.
Пример: меш куба и меш сферы -> замкнутые полилинии там, где две поверхности сходятся
Два меша и допуск
Кривые пересечения как полилинии
Находит, где поверхности двух мешей прорезают друг друга, как один список точек на кривую.
Замкнутая кривая повторяет свою первую точку в конце, чтобы петля была явной. Пример: меш куба и меш сферы -> списки точек, обводящие место, где две поверхности сходятся
Два меша и допуск
По одному списку точек на каждую кривую пересечения
Находит плоскость, в которой лежит треугольник: ее единичную нормаль и расстояние от начала координат вдоль этой нормали.
Нормаль следует правилу правой руки при обходе точек треугольника. Треугольник без площади, точки которого на одной прямой, не имеет плоскости и дает undefined. Пример: [[0,0,0], [1,0,0], [0,1,0]] -> { normal: [0,0,1], d: 0 }
Треугольник и допуск, ниже которого его площадь считается нулевой
Плоскость или undefined для вырожденного треугольника
Находит отрезок, где два треугольника прорезают друг друга.
Треугольники, которые не касаются, параллельны или лежат в одной плоскости, дают undefined. Пример: треугольник в плоскости XY и стоящий поперек него -> отрезок, где они пересекаются
Два треугольника и допуск
Сегмент пересечения или undefined, если его нет
Геометрия на простых треугольных мешах: меш - это список треугольников, каждый из трех точек. Методы здесь вычисляют плоскость треугольника, расстояние от точки до плоскости и то, где два меша прорезают друг друга, в виде сегментов, полилиний или списков точек. Им не нужно CAD-ядро, поэтому они работают на любых триангулированных данных.