Estoy tratando de encontrar todos los puntos con coordenadas enteras que se encuentran dentro de un tetraedro (quiero de alguna manera poder recorrerlos). Sé las coordenadas de los cuatro puntos (A, B, C, D) que definen el tetraedro.Encuentra todos los puntos con coordenadas enteras dentro del tetraedro
Lo que estoy haciendo actualmente es encontrar el cuadro delimitador del tetraedro (coordenadas mínimas y máximas x, y, z de A, B, C, D) y luego hacer un bucle a través de todos los puntos dentro del cuadro delimitador. Para cada punto, calculo las coordenadas baricéntricas (usando the equations from Wikipedia) y verifico si el punto está dentro del tetraedro (si alguna de las coordenadas baricéntricas es negativa o mayor que 1, el punto no está adentro).
¿Hay una mejor manera de hacerlo? Actualmente hay alrededor de 1/6 de posibilidades de que el punto que estoy probando (desde el recuadro delimitador) esté realmente dentro del tetraedro, así que creo que estoy haciendo demasiados cálculos innecesarios.
Estoy trabajando con una lista de tetraedros que generé triangulando un volumen mayor (estoy expandiendo el volumen y quiero interpolar los valores perdidos mediante la interpolación tetraédrica). No estoy usando ninguna biblioteca externa.
También puede escalar las ecuaciones de plano para que el valor de $ F $ sea cero en el plano y 1 en el vértice opuesto. De esta forma, todos los puntos válidos tienen $ 0 <= F (x, y, z) <= 1 $ - lo que significa que puedes descartar más puntos para cada avión. –