Ho un tetraedro e un poliedro p . t è vincolato in modo tale da condividere sempre tutti i suoi vertici con p . Voglio determinare se t sta dentro p .
Vorrei aggiungere un dettaglio al problema nel caso in cui possa contribuire alla soluzione: è un tetraedro di Delaunay e le facce di p sono triangolari e sono fortemente delaunay sia rispetto ai vertici di p . Un tetraedro è Delaunay se la circumsfera dei suoi vertici non contiene altri vertici al suo interno. Una faccia è fortemente delaunay se esiste una circumsfera contenente vertici di quella faccia sulla sua superficie ma nessun altro vertice su o all'interno di essa.
Le figure seguenti mostrano lo stesso problema nello spazio :
Il poligono originale :
Triangolazione di Delaunay dei vertici di :
Risultato del test interno / esterno sui triangoli (i triangoli ombreggiati sono all'interno di e il resto è all'esterno ):
Risultato desiderato (potatura dei triangoli esterni ) :
Il mio problema originale è nello spazio 3D, quindi i triangoli nelle figure sopra si traducono in tetraedri e il poligono p si traduce in un poliedro arbitrario p . Ho capito alcune formulazioni di questo problema:
Formulazione 1
Le uniche parti di che possono essere al di fuori di p sono i suoi bordi e le facce triangolari ma in generale può esistere una p che ha i bordi di tutte le t esterne sulla sua superficie, quindi in alternativa, questo problema può anche essere formulato per verificare se un tetraedro t esiste una faccia che si trova all'esterno p ?
Formulazione 2
Ho un'altra possibile prospettiva verso questo problema, ma manca qualsiasi idea formale:
Geometricamente, se è fuori allora sarà sempre attaccare sulla esterno superficie di p . Quindi se possiamo calcolare i contorni (informalmente, il confine esterno) C V e C V p in modo tale che V = V t ∪ V p e V t , V p siano insiemi di vertici rispettivamente in t , p , quindi C ssettrova all'internop.
Mi piacerebbe sapere:
- Come posso risolvere la Formulazione 1 o la Formulazione 2 ?
- Oppure, c'è un approccio completamente diverso per risolvere questo?
Sulla base di quanto sopra, il mio problema principale ora sembra essere (suggerire se dovrebbe essere posto come una domanda separata):
esiste qualche algoritmo numericamente solido per il problema del punto nel poligono ?