擅长:python、mysql、java
<pre class="lang-cs prettyprint-override"><code>//Begin by sorting your list by y values using List.sort()
polyMatList.sort( (pnt_a, pnt_b) => pnt_b.y - pnt_a.y ); // points 0 & 1 will by definition be your top points and points 2, 3 will be definition be your bottom points.
// now your top 2 points may be out of order since we only sorted by y in the previous step
Point tempPoint;
if(polyMatList[0].x > polyMatList[1].x)
{
tempPoint = polyMatList[0];
polyMatList[0] = polyMatList[1];
polyMatList[1] = tempPoint ;
}
// same goes for your bottom two points
if(polyMatList[2].x > polyMatList[3].x)
{
tempPoint = polyMatList[2];
polyMatList[2] = polyMatList[3];
polyMatList[3] = tempPoint ;
}
//now your list will be ordered tl, tr, bl, br
</code></pre>