Tengo una malla, caras , aristas y vértices , y tengo una lista de contornos de niveles predefinidos.
¿Qué algoritmo puedo usar para construir contornos de la manera más eficiente?
Una gráfica del contorno se muestra arriba. Las líneas con el mismo color tienen el mismo valor .
computational-geometry
visualization
Graviton
fuente
fuente
Respuestas:
Se puede hacer mediante un bucle sobre cada elemento y luego para cada elemento un bucle sobre los bordes. Luego, para cada borde, determine la coordenada para un contorno dado si cruza el borde, es decir, verifique si el contorno toma un valor en el intervalo abarcado por los valores de los vértices. Si el contorno cruza dos bordes, dibuje una línea entre las coordenadas entre los puntos de cruce detectados en los bordes.
Hacer esto para todos los elementos creará los contornos. También es una opción para refinar a una malla más fina a través de la interpolación en cada triángulo y luego usar una triangulación delaunay de la malla refinada y luego aplicar la rutina como se describe anteriormente para lograr una resolución suficientemente fina.
fuente