2016-04-07 4 views
0

Я думаю, что есть некоторые тесты, отсутствующие в https://hal.inria.fr/inria-00072100/documentкопланарный треугольник пересечения Оливье Девийе, Филипп Guigue

Этот документ описывает пересечение 2 triangels в 3D-пространстве. Есть 2 теста: один для пересечения треугольников и один для копланарных треугольников.

Рисунок 9 показывает все необходимые тесты для планарных triangels, если p1 в области R11:

Тест I: [r2, p2, q1], проверьте q1 в R11?

Если нет: Тест IIa: [r2, p1, q1], проверьте q1 в R12?

Если нет: Тест IIIa: [p1, p2, q1], проверьте q1 в R13?

Если да: пересечение r2p2 с p1q1. Но в этом случае дальнейших проверок нет. r1 не проверен! r1 может быть в R11, R12 или R13. Если r1 находится в области R13, вам нужно пересечь r2p2 с p1r1. И в итоге вам нужно сделать некоторые пересечения q1r1 с p2q2 или q2r2.

Имейте Devillers и Guigue забыл эти тесты ??

ответ

0

ОК, я нашел ответ. Этот алгоритм просто проверяет, пересекаются ли два треугольника. Результат - это не новый многоугольник, треугольник или вершина, результат - только истина или ложь. Как только алгоритм обнаружил пересечение, он перестает искать дальнейшие перекрестки. Вот почему r1 больше не проверяется в этом частном случае.

0

Эта программа действительно сбивает с толку.

Если треугольники копланарны, то он проверяется в 2D-пространстве, пересекаются ли треугольники.

Если они не являются копланарными, то они не только проверяются в 3D-пространстве, но и подсчитываются точки пересечения.