4頂点座標のソートリベンジ

凸包の取得で解決した4点の座標の並び替えだが、挫折したままでは悔しかったので考え直してみた。

結果上手く出来た図と説明だ。

4つの頂点座標を任意の順にソートする

1.中点を算出する

以前失敗した絶対座標(0,0)ではなく、全ての頂点座標の中点を使うことで座標の分散位置(4辺なら4カ所)が明確になる。
中点は全ての頂点座標のxとyは全ての座標を加算して、頂点の数で割ることで算出できる。※
中点x = (頂点座標xの和)/(頂点の数)
中点y = (頂点座標yの和)/(頂点の数)

2.領域をNSに分割する

中点を基準にして予めN(上部)領域とS(下部)領域に領域を分ける。

3.EW座標を並べ替える

座標をNとSに分割することで単純にNW(東西)で並び替えることでソートが完了する。

これで凸包を使わずとも、自由に頂点座標を並べ替えることができる。

※1.の中点とは所謂多角形の重心であり、重心を求めることを最初に思いつけば挫折することは無かったはずだ。
こんなの基本だよと知っている人は思うだろう。 やはり基礎って大切だよねというお話。