Como posso obter um gráfico "mais fino" para o meu sistema de coordenadas?

Seguindo comesta, Eu tenho várias coordenadas e as desenho em uma imagem de bitmap como um sistema de coordenadas. Agora, eu gostaria de me livrar de todo o ruído e filtrar as coordenadas para fornecer um caminho "mais claro" ou "mais limpo" e "menos" ou "melhores" dados para trabalhar. Para explicar mais, precisarei expor minhasimpressionante pintura habilidades da seguinte maneira:

Atual:

Desejado:

Aviso prévio:

Vou precisar excluir coordenadas

Talvez eu precise adicionar coordenadas

Talvez eu precise ignorar o vizinho mais curto em alguns casos

A única coisa que consigo pensar é em usar um algoritmo de caminho mais curto, comoUMA* eDijkstra. E preencha dados em algum tipo de estrutura de dados para conter vizinhos e custos para cada nó e, em seguida, para executar o algoritmo. Não quero iniciar algo que possa estar errado ou desperdiçar. Eu adoraria ver um pseudo-código, se possível, emcomo eu poderia resolver esse problema?

P.S Atualmente, estou no Wpf C #, mas estou aberto a usar C # ou C ++ para qualquer tarefa. obrigado

questionAnswers(3)

yourAnswerToTheQuestion