Ho una grande serie di punti 3D che sono equidistanti su ciascun asse. Molti di questi punti vengono selezionati in base a determinati criteri e mi piacerebbe creare una geometria 3D per visualizzare meglio ciò che è rimasto.
Ho esaminato alcuni algoritmi per creare unmesh triangolare come Triangle di Delaunay o uno scafo convesso, ma sono preoccupato che alcuni punti esclusi possano rimanere intrappolati all'interno della geometria. Ad esempio, una sezione 2D potrebbe essere simile a:
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
Dove sono inclusi "1" e "0" sono esclusi. In questo caso sono preoccupato che l'algoritmo includa accidentalmente gli "0" nelle righe in basso perché hanno "1" che li fiancheggiano su entrambi i lati. Nota che gli "0" saranno sempre sul bordo, quindi non dobbiamo preoccuparci dei buchi nella geometria.
In seguito, dovrò essere in grado di ruotare la geometria e trovare la sua intersezione con un piano. Sono abbastanza sicuro di poter gestire la parte di rotazione e intersezione, ma tienilo a mente.
Potrei forzare il problema creando tuttoil triangolo è possibile per tutti i punti sulla superficie e quindi manualmente eliminando tutti i triangoli che contengono un punto escluso. Ma il set di dati può essere molto grande, quindi spero che ci sia una soluzione più elegante a questo.
risposte:
0 per risposta № 1Se ti interessano solo le geometrie chiuse e ognuna di esse si trova su un piano, hai bisogno di una mesh / triangualtion o semplicemente di un set di poligoni?
Convertire i dati di 0,1 in un'immagine binaria e l'esecuzione di un algoritmo di contorno su sarebbe molto semplice vedere OpenCV
0 per risposta № 2
Penso che stai cercando il Libreria Point Cloud.