/ / Vytvorte nepravidelnú 3D geometriu z oblaku bodov - algoritmu, 3D, geometrie, výpočtovej geometrie

Vytvorte nepravidelnú 3D geometriu z oblaku bodov - algoritmus, 3d, geometria, výpočtová geometria

Mám veľkú množinu 3D bodov, ktoré sú rovnako rozložené v každej osi. Mnohé z týchto bodov sú vyradené na základe niektorých kritérií a ja by som chcel vytvoriť 3D geometriu, ktorá by pomohla vizualizovať to, čo zostalo.

Pozrel som sa na niektoré algoritmy vytvoriťtrojuholníkové siete ako Delaunay Triangulation alebo konvexný trup, ale ja som sa obával, že niektoré vylúčené body by sa mohli zachytiť v geometrii. Napríklad 2D rez môže vyzerať takto:

0 0 0 1 1 0 0
0 0 1 1 1 1 0
0 1 1 1 1 1 1
1 1 0 1 0 1 1
0 1 0 0 0 1 0

Kde sú zahrnuté "1" a "0" sú vylúčené. V tomto prípade som sa obával, že algoritmus náhodne zahrnie "0" s na dolné riadky, pretože majú "1" s hranicami na oboch stranách. Všimnite si, že "0" bude vždy na okraji, takže nemusíme sa starať o diery v geometrii.

Potom budem musieť byť schopný otočiť geometriu a nájsť jej priesečník s rovinou. Som si istý, že dokážem zvládnuť rotáciu a križovatku, ale majte to na pamäti.

Mohol by som hrubou silou spôsobiť každýtrojuholník pre všetky body na povrchu a potom manuálne vyradenie všetkých trojuholníkov, ktoré obsahujú vylúčený bod. Súbor údajov však môže byť veľmi veľký, takže dúfam, že je to elegantnejšie riešenie.

odpovede:

0 pre odpoveď č. 1

Ak máte záujem len o uzavreté geometrie a každý z nich je v rovine, potrebujete sieťovinu / trojuholník alebo jednoducho sadu polygónov?

Konverzia údajov 0,1 na binárny obraz a zapnutie algoritmu obrysu by bolo veľmi jednoduché OpenCV


0 pre odpoveď č. 2

Myslím, že hľadáte Point Cloud Library.