/ / Priesečník Python Shapely: rovnobežné roviny - python, geometria, mnohouholník, priesečník

Python Shapely križovatka: paralelné roviny - python, geometria, polygon, križovatka, tvarované

Pracujem na určovaní vzťahov (hraničné / vnútorné priesečníky) medzi dvoma 3D objektmi (trojuholníkové plochy) a narazením na urastený, ktoré ma zaujímajú namiesto toho, aby som implementoval svoje vlastné funkcie priesečníka bod / segment / lúč / trojuholník.

Mám však nasledujúci problém:

    >>> 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

Zdá sa mi, že problémom je, žedva polygóny sú si rovné vo svojich 2D ortogonálnych projekciách (rovnaký trojuholník), ale v rôznych rovinách (jedna "s Z = 1, druhá s Z = 0), ale podľa vzoru sa hovorí, že sú" rovnaké "a prechádzajú sa.

Chýba mi nejaká mágia, ktorá by mi umožňovala tvarovo premýšľať v 3 dimenziách? Bol som googling, ale každý príklad, ktorý som doteraz videl, je iba v dvoch dimenziách.

odpovede:

5 pre odpoveď č. 1

Podľa Tvarovo manuálne, uvádza, že pre súradnicovú rovinu z pre geometrické objekty platí:

Pri konštrukcii inštancií sa môže použiť tretia súradnicová hodnota z, ale nemá žiadny vplyv na geometrickú analýzu. Všetky operácie sa vykonávajú v rovine x-y.</ Strong>

Ak si vaše výpočty vyžadujú súradnicu zlietadlo, potom Shapely nemusí byť pre vás. Samozrejme by ste sa mohli pokúsiť získať body mnohouholníka ako zoznam a porovnať ich s ostatnými polygónmi. Ak však chcete mať Pythonovu geometrickú knižnicu, ktorá dokáže spracovať dimenziu z, niektoré nájdete tu.