Pensando l'unica opzione se quickhull non è abbastanza buono è cudahull se si desidera soluzioni esatte. Anche se, anche in questo caso, otterrai solo un aumento massimo di 40x (sembra).
Suppongo che gli scafi convessi di ognuno di essi abbiano almeno 10 vertici (se è molto inferiore, non c'è molto che si possa fare). Se non ti dispiace soluzioni "abbastanza vicine". Potresti creare una versione di quickhull che limiti il numero di vertici per poligono. Il numero di vertici a cui si limita il calcolo consentirà anche il calcolo dell'errore massimo, se necessario.
Il fatto è che quando il numero di vertici sullo scafo convesso si avvicina all'infinito, si finisce con una sfera. Ciò significa che a causa del modo in cui lo scafo veloce funziona, ogni vertice aggiuntivo che aggiungi allo scafo convesso ha meno effetto * di quelli precedenti.
* A seconda di come quickhull è codificato, questo può essere vero solo in senso generale. Realizzare ciò in pratica richiederebbe la modifica dell'algoritmo di ricognizione di Quickhull, così mentre il "prossimo vertice" è sempre calcolato (eccetto che dopo l'ultimo vertice è stato aggiunto, o nessun punto rimane per quella sezione), i vertici vengono effettivamente aggiunti allo scafo convesso in l'ordine che massimizza l'aumento del volume dei poliedri (probabilmente per ordine di distanza maggiore o minore). Avrai dei costi di performance per tenere traccia dell'ordine per aggiungere i vertici, ma finché il rapporto tra punti scafo convessi in sospeso e punti in sospeso è abbastanza alto, dovrebbe valerne la pena. Per quanto riguarda l'errore, l'opzione migliore è probabilmente quella di arrestare l'algoritmo quando viene raggiunto lo scafo convesso effettivo, oppure l'aumento massimo del volume diventa minore di una certa frazione del volume totale corrente. Se le prestazioni sono più importanti, limita semplicemente il numero di punti scafo convessi per poligono.
Si potrebbe anche osservare i vari algoritmi approssimativi di scafo convesso, ma il metodo descritto sopra dovrebbe funzionare bene per l'approssimazione volume/centroide con la capacità di determinare l'errore.
grazie ma ho bisogno del baricentro del poliedro solido! –