1.凸包、极点、极边基础概念

目录

1.凸包

2.调色问题

3.极性(Extrem)

[4.凸组合(Convex Combination)](#4.凸组合(Convex Combination))

5.问题转化(Strategy)​编辑

[6.In-Triangle test](#6.In-Triangle test)

7.To-Left-test

[8.极边(Extream Edges)](#8.极边(Extream Edges))


1.凸包

凸包就是上面蓝色皮筋围出来的范围

这些钉子可以转换到坐标轴中,横纵坐标表示颜色的比例

2.调色问题

上述问题可以进行一个抽象,抽象为一个color space

结论

  • 如果有1种颜料可以被2种颜料勾兑出来,它必然位于二者之间的那条连线上
  • 如果有1种颜料可以被3种颜料勾兑出来,它必然位于三角形内
  • 勾兑比例与距离成反比

3.极性(Extrem)

蓝色的为极点

极点上存在一条直线,使得所有的点落在它的一侧

4.凸组合(Convex Combination)

为什么最小值必须>=0 ?

因为这种颜色大不了不用,但也不可能是负的

5.问题转化(Strategy)

如果是极点那么久不可能在一个三角形的内部,所以采用排除法,剩下的就是极点

6.In-Triangle test

遍历所有可能的三角线组合,排除非极点

低效做法

7.To-Left-test

更加聪明的做法,如果一个点位于三条直线的left,那么它一定位于三角形内

实现(海伦公式)

只有s位于pq这条线段左侧才会取正。

8.极边(Extream Edges)

极边:所有的点落在同一侧,就是极边

算法实现

极边的算法效率高于极点的算法效率

相关推荐
纪元A梦3 小时前
贪心算法应用:化工反应器调度问题详解
算法·贪心算法
深圳市快瞳科技有限公司4 小时前
小场景大市场:猫狗识别算法在宠物智能设备中的应用
算法·计算机视觉·宠物
liulilittle4 小时前
OPENPPP2 —— IP标准校验和算法深度剖析:从原理到SSE2优化实现
网络·c++·网络协议·tcp/ip·算法·ip·通信
superlls6 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
田里的水稻7 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法
纪元A梦7 小时前
贪心算法应用:保险理赔调度问题详解
算法·贪心算法
Jayden_Ruan8 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法
点云SLAM9 小时前
C++ 常见面试题汇总
java·开发语言·c++·算法·面试·内存管理
叙白冲冲9 小时前
哈希算法以及面试答法
算法·面试·哈希算法
YuTaoShao10 小时前
【LeetCode 每日一题】1277. 统计全为 1 的正方形子矩阵
算法·leetcode·矩阵