簡體   English   中英

形狀相交:平行平面

[英]Shapely intersection: parallel planes

我正在努力確定兩個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說他們是平等和相交。

是否有一些魔法我缺少在三個維度上進行塑造思考? 我一直在谷歌搜索,但到目前為止我看到的每個例子只是兩個方面。

根據Shapely手冊 ,它指出幾何對象的z坐標平面如下:

在構造實例時可以使用第三個z坐標值, 但對幾何分析沒有影響。 所有操作都在xy平面中執行。

如果您的計算需要z坐標平面,那么Shapely可能不適合您。 當然,您可以嘗試將多邊形的點作為列表並將其與其他多邊形進行比較。 但是,如果您想要一個可以處理z維度的Python幾何庫,可以在這里找到一些。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM