极角排序学习

本文探讨了凸多边形的概念,强调其特性是任意边延长后其他顶点均位于同侧。凸多边形的内角不包含优角,并且连接任意两点的线段位于多边形内部或边界上。学习内容可能涉及极角排序在处理此类几何问题中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习题:黑猫


    凸多边形是一个内部为凸集的简单多边形。凸多边形(Convex Polygon)指如果把一个多边形的所有边中,任意一条边向两方无限延长成为一直线时,其他各边都在此直线的同旁,那么这个多边形就叫做凸多边形,其内角应该全不是优角,任意两个顶点间的线段位于多边形的内部或边上。

    凹多边形(Concave Polygon)指如果把一个多边形的所有边中,有一条边向两方无限延长成为一直线时,其他各边不都在此直线的同旁,那么这个多边形就叫做凹多边形,其内角中至少有一个优角。
    极角排序:在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标,这样建立的坐标系叫做极坐标系。通常情况下,M的极径坐标单位为1(长度单位),极角坐标单位为rad(或°)。
    极角排序做了一些题目了,虽然都是简单题但是还是有一些体会的。
    何为极角排序?其实你可以这样想象,就是平面上的点和原点连城一条线段,然后用一条在平面上为0度的直线逆时针旋转一直转到360度也就是一圈,这样一个接一个碰到的点就是极角排序的顺序
    比如HDU3532,这道题就是以其中某一个点为原点建立直角坐标系,然后处理其他点到这个点的直线的角度,然后按角度排序(也就是所谓的极角排序),要使得两条直线的夹角最小,肯定是取角度排序后相邻的两条直线拉。为什么叫极角呢?我个人的理解是因为原点不固定,如果原点固定的话其实可以理解为高中学到的与x轴的角度(这样叫也高达上一点吧 hhhh)。
    还有HDU6127,这道题其实是直接按斜率排序的,但还是用函数atan处理的一下(因为x = 0的情况斜率处理不了),这样你就可以这样子想象,它首先是一条与y轴重合的直线直线直线,然后逆时针去旋转,因为不存在两点的连线过直线,所以按极角排序后,每次访问一个点实际上可以想象这个点就是一条与y轴重合的直线逆时针旋转碰到的第一个点,然后每次访问排好序的下一个点就可以想象这个直线在逆时针转动。
    关于atan和atan2两个函数,都是求反正切的函数
    atan( (y2-y1)/(x2-x1) )
    atan2( y2-y1, x2-x1 )
    注意参数不一样、
    atan的范围是[-90, 90] atan2[-180, 180],两者都可以计算x2 - x1 = 0的情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值