Как я могу программно обнаружить, касаются ли два треугольника друг друга, учитывая их вершины на 2D координатной плоскости? Это включает касающиеся точки или края, а также если один треугольник полностью в другом.
Использовать линию пересечения линии
Также рассмотрите возможность того, что какая-то вершина может касаться одной из сторон другого треугольника.
http://www.blackpawn.com/texts/pointinpoly/default.html
function SameSide(p1,p2, a,b)
cp1 = CrossProduct(b-a, p1-a)
cp2 = CrossProduct(b-a, p2-a)
if DotProduct(cp1, cp2) >= 0 then return true
else return false
function PointInTriangle(p, a,b,c)
if SameSide(p,a, b,c) and SameSide(p,b, a,c)
and SameSide(p,c, a,b) then return true
else return false
Или посмотрите эту ссылку и прокрутите вниз