同一箇所に頂点がないと全ての頂点を利用して
ポリゴンが描けない欠け、が発生するのです。
TriangleListにしてるのもその為です
stripにするとさらに複雑になってしまいます。

面積が最小というのも実際はyもそれぞれ違うからです。
他に考えられるのは今選んでいるのが、三角形のどこか
判定して他の全ての頂点との距離を測ってから
同一ではないならその順番で上記の判定するなんですが
物凄く判定に時間かかります。