向量叉积
平面向量中,给定两个向量 $(x_0,y_0),(x_1,y_1)$,向量叉积定义为 $x_0y_1-y_0x_1$,如果这个值为负数,那么从第一个向量旋转到第二个向量是顺时针,反之则是逆时针,如果两个向量共线,则叉积为 $0$,注意这里旋转的角度是两个向量的夹角。
极角排序
选定一个点作为极点,一条射线作为极轴,可以用角度和到极点的长度唯一的表示改平面内一个点。$x$ 轴负半轴上的点的角度定义为 $\pi$。
所谓极角排序,就是先按角度排序,然后按照
$\text{atan2(x,y)}$ 函数
$\text{atan2(x,y)}$ 函数返回向量 $(x,y)$ 与 $x$ 轴正半轴的夹角,注意这个角有正有负,所以这个函数的值域应该为 $(-\pi,\pi]$,这个函数的值域也说明,与 $x$ 轴正半轴方向相反的向量的角度被认为是 $\pi$。
所以我们可以直接把