Вот один из способов решения вашей проблемы.Вычислить объем тетраэдра Td = (a, b, c, d) и Te = (a, b, c, e).Если объем Td или Te равен нулю, то одна конечная точка сегмента de лежит на плоскости, содержащей треугольник (a, b, c).Если объемы Td и Te имеют один и тот же знак, то де лежит строго в одну сторону, и пересечения нет.Если Td и Te имеют противоположные знаки, то de пересекает плоскость, содержащую (a, b, c).
Оттуда есть несколько стратегий.Одним из них является вычисление точки р, где де пересекает эту плоскость.Затем спроецируйте вниз в 2D и решите задачу точка-треугольник в 2D.
Другой способ - вычислить объемы тетраэдров (a, b, d, e), (b, c, d, е) и (с, а, д, е).Тогда только если все три имеют один и тот же знак, де пересекает треугольник (a, b, c).
Как вычислить объем тетраэдра из его угловых координат по всей сети, а также в Вычислительная геометрия в C .