算法 {多边形,退化多边形,凸多边形,凹多边形}

算法 {多边形,退化多边形,凸多边形,凹多边形}

@MARK_1

多边形

定义

#多边形#: 周长上的边均为直线段, 封闭的/不能有空心 的二维图形;
. 圆/圆角矩形 不是多边形, 因为其边包含有圆弧;
. 封闭的直线段: 说明相邻两条直线段 相交于一点, 故边数等于点数;

#N-多边形#: 边数和点数 为N的多边形;
. 任意多边形 一定是N-多边形;

性质

@MARK_0;
任意多边形P 其位于直线L的同一侧, 等价于, P的各个顶点 位于L的同一侧;
换句话说, 多边形P 他的凸包C 一定满足: C的所有顶点 就是P的顶点;

算法

半平面交

多边形的核

应用

@LINK: https://editor.csdn.net/md/?not_checkout=1&articleId=138045889;
给定斜率, 找到一个直线, 使得 多边形都位于该直线的同一侧; (@LINK: @MARK_0这性质, 即等价于 多边形的各个顶点 都位于直线的同一侧);

退化多边形

定义

符合多边形的定义, 但他很畸形, 比如符合以下任意条件:
+: 面积为0 (即为一个点/线段);
+: 有重点(即有长度为0的边);
+: 存在内角为0/180(比如对于线段a-c他中间还有一个点b 此时b的内角为180; 正规多边形 其内角一定是(0,180));

凸多边形

定义

#凸多边形#
多边形A, 对其任意一条边延长形成直线B后 A的所有顶点: 要么在B上 要么都位于B的同一侧; 则A为凸多边形;

相关定义

#正多边形#
所有边长相等 && 所有点相同 的多边形;
. 两个条件缺一不可; 比如长方形是所有点相同 但不是所有边相同(正方形才是); 比如菱形 是所有边相同 但不是所有点相同;

性质

@DELI;

1: 凸多边形的外角和 360 360 360;
2: N-凸多边形的内角和为 180 ∗ N − 360 180*N - 360 180N360; (每个角加上其外角 等于 180 180 180);

凹多边形不满足这两个性质;

算法

求面积

对于凸多边形ABCDE (逆时针/顺时针的次序), 连接线段AC| AD, 此时该凸多边形被拆分为ABC| ACD| ADE 若干个三角形, 然后通过叉积求三角形面积 累积起来;

应用

凹多边形

定义

#凹多边形#
不是凸的多边形, 就是凹多边形;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值