我正在确定两个 3D 对象(三角形面)之间的关系(边界/内部交叉点),并偶然发现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
我似乎遇到的问题是这两个多边形在它们的 2D 正交投影(相同的三角形)中是相等的,但是在不同的平面上(一个在 Z = 1,另一个在 Z = 0),但 Shapely 说他们是相等和相交。
是否有一些我缺少的魔法可以在 3 维中进行匀称的思考?我一直在谷歌搜索,但到目前为止我看到的每个例子都只是二维的。