Eu tenho uma malha, faces , arestas e vértices , e tenho uma lista de contornos predefinidos de conjunto de níveis.
Que algoritmo posso usar para construir contornos da maneira mais eficiente?
Uma plotagem do contorno é mostrada acima. Linhas com a mesma cor têm o mesmo valor .
computational-geometry
visualization
Graviton
fonte
fonte
Respostas:
Isso pode ser feito por um loop sobre cada elemento e, em seguida, para cada elemento, um loop pelas bordas. Em seguida, para cada aresta, determine a coordenada de um determinado contorno se ele cruzar a aresta, ou seja, verifique se o contorno assume um valor no intervalo medido pelos valores dos vértices. Se o contorno cruzar duas arestas, desenhe uma linha entre as coordenadas entre os pontos de cruzamento detectados nas arestas.
Fazer isso para todos os elementos criará os contornos. Também é uma opção para refinar uma malha mais fina por meio de interpolação em cada triângulo e, em seguida, usar triangulações delaunay da malha refinada e aplicar a rotina conforme descrito acima para obter uma resolução suficientemente fina.
fonte