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; }
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。