atan2是C++的一个很实用的函数,可以用于极角排序。
atan2(y,x)的值即为坐标为(x,y)的点与原点的连线和x轴正方向的夹角的弧度制。
极角排序排完以后,点从x负半轴开始,逆时针转一圈。
在极角排序的使用方法:
int cmp(node x,node y){ if (atan2(x.y,x.x)!=atan2(y.y,y.x)) return atan2(x.y,x.x)<atan2(y.y,y.x); return x.x<y.x; }
atan2是C++的一个很实用的函数,可以用于极角排序。
atan2(y,x)的值即为坐标为(x,y)的点与原点的连线和x轴正方向的夹角的弧度制。
极角排序排完以后,点从x负半轴开始,逆时针转一圈。
在极角排序的使用方法:
int cmp(node x,node y){ if (atan2(x.y,x.x)!=atan2(y.y,y.x)) return atan2(x.y,x.x)<atan2(y.y,y.x); return x.x<y.x; }