计算几何——凸包

1.1 应用场景

有多个手机信号发射器,求解一个最小区域,要求所有的发射器都包含在这个最小区域中,并且任意两台发射器之间的交流包含于在这个区域内。

将所有的发射器看做为点,任意两个点之间的连线都包含于一个平面S

1.2 问题定义

一个平面的子集S是凸的,当且仅当S中的任意两个点之间的连线都包含于S中。点集P的凸包是所有包含P的凸集中的最小的一个。凸包是唯一的。

1.3 算法分析

将所有的点按照横坐标进行排列(升序),P={p1,p2,……,pn},求解一个点集Lup,这个点集中的点就是凸包上边缘的点,沿着点集连线,就可以得到凸包的上半部分,按照类似算法,可以求出Llower

p1p2加入到Lup中,对于剩下的点集,即p3,……,pn

for i <- 3 to n:

Lup.append(pi)

While ( Lup中至少包含三个点,并且最后的三个点没有形成向右转)

Lup中删去这三个点中的中间那个点;

Llower同理求解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值