Classificar lista de pontos em polígono

Eu tenho um conjunto de pontos. Esse conjunto de pontos define um polígono (não convexo), mas não é ordenado.

Como não está ordenado, não posso simplesmente desenhar de um ponto a outro para desenhar sua borda. Como posso classificá-lo de uma maneira que eu possa percorrer esta lista de pontos e desenhar um polígono?

Minha primeira idéia foi usar um casco convexo, mas meus polígonos são, na maioria das vezes, côncavos.

questionAnswers(3)

yourAnswerToTheQuestion