社区讨论

关于极角排序

灌水区参与者 2已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@lo7jv7lb
此快照首次捕获于
2023/10/27 03:00
2 年前
此快照最后确认于
2023/10/27 03:00
2 年前
查看原帖
CPP
struct point
{
    double x,y;
};

double cross(double x1,double y1,double x2,double y2)//计算叉积 
{
    return (x1*y2-x2*y1);
}

double compare(point k,point a,point b)
{
    return cross((a.x-k.x),(a.y-k.y),(b.x-k.x),(b.y-k.y));
}

bool cmp(point a,point b) //叉积大于零是顺时针,否则是逆时针 
{
    point c;//选定的极坐标系的原点
    c.x = 0;
    c.y = 0;
    if(compare(c,a,b)==0)
        return a.x<b.x;
    else return compare(c,a,b)>0;
}

回复

9 条回复,欢迎继续交流。

正在加载回复...