Я работаю над определением отношений (пересечение границ / внутренних областей) между двумя трехмерными объектами (треугольными гранями) и наткнулся на Shapely , который мне интересно использовать вместо реализации моей собственной точки / сегмента / функции пересечения лучей и треугольников.
Однако я сталкиваюсь со следующей проблемой:
>>> from shapely.geometry import Polygon
>>> poly = Polygon([(0,1,1),(1,-1,1),(-1,-1,1)])
>>> poly2 = Polygon([(0,1,0),(1,-1,0),(-1,-1,0)])
>>> poly.intersects(poly2)
True
>>> poly.equals(poly2)
True
Проблема, с которой я, похоже, сталкиваюсь, состоит в том, что два многоугольника равны в своих двухмерных ортогональных проекциях (один и тот же треугольник), но в разных плоскостях (одна в Z = 1, другая в Z = 0), но Shapely говорит они равны и пересекаются.
Есть ли какая-то магия, которой мне не хватает, чтобы заставить думать в трех измерениях? Я гуглил, но каждый пример, который я видел до сих пор, только в двух измерениях.