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.