Sto cercando di trovare tutti i punti con le coordinate intere che si trovano all'interno di un tetraedro (voglio in qualche modo essere in grado di scorrere attraverso di loro). Conosco le coordinate dei quattro punti (A, B, C, D) che definiscono il tetraedro.Trova tutti i punti con coordinate intere all'interno del tetraedro
Quello che sto facendo attualmente è trovare il riquadro di delimitazione del tetraedro (minimo e massimo x, y, z coordinate di A, B, C, D) e quindi fare un ciclo attraverso tutti i punti all'interno del rettangolo di selezione. Per ogni punto, calcolo le coordinate baricentriche (usando the equations from Wikipedia) e controlla se il punto si trova all'interno del tetraedro (se una qualsiasi delle coordinate baricentriche è negativa o maggiore di 1, il punto non è all'interno).
C'è un modo migliore per farlo? Attualmente c'è circa 1/6 di possibilità che il punto che sto testando (dal riquadro di delimitazione) risieda davvero nel tetraedro, quindi penso di fare troppi calcoli inutili.
Sto lavorando con una lista di tetraedri che ho generato triangolando un volume più grande (sto espandendo il volume e voglio interpolare i valori mancanti usando l'interpolazione tetraedrica). Non sto usando nessuna libreria esterna.
È inoltre possibile ridimensionare le equazioni del piano in modo che il valore di $ F $ sia zero sul piano e 1 sul vertice opposto. In questo modo tutti i punti validi hanno $ 0 <= F (x, y, z) <= 1 $ - il che significa che devi scartare più punti per ogni piano. –