一种凸包的改进算法设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

p2【】 o[【 ; 【 0 】 :d t】 】 j0 p2【】 o[【 ; 【 l 】 =d t】 】 j 1 }
③ 由 p, P, 以构 成一个 四边 形 ,位 于该 四 oP, P可
边形 内 的点 集 都 不 是 构 成 凸包 的顶 点 , 除 掉 。 删 判 定 某 一 点 是 否 位 于 该 四边 形 内 的方 法 :判 断 该 点 与 四 条 线 段 的关 系 是 否 :其 中 两 条 线 段 的下 方 以及 两 条线 段 的 上 方 。符 合 这 个 条件 的 , 于 四边 形 内 , 位 不 符合 的 , 于 四边 形 外 ; 位 判 断一 点 P是 否 位 于 线 段 或 直 线 上 方 ( 方 ) 方 下 的 法 是 . 先 根 据 该 线 段 的 两 点 , 造 直 线 方 程 , 方 程 首 构 该 为 (— 。 (:x) (— (2Y)将 P点 的 x坐 标 值 P x x) x一 = y Y) y一 1, / /

种 凸包 的改进算 法设计与 实现
李 光军 , 郑 军 红 , 张 光 忠
( 汉 体 育学 院体 育 工 程 与 信 息 技 术 系 , 汉 4 0 7 ) 武 武 3 0 9

要 : 出一 种 求 解 多边 形 凸 包的 改进 算 法 ,该 算 法 采 取 构 造 一 个 四 边 形 并 删 除 其 内部 的 点集 , 给 从 而达 到 减 少扫 描 次 数 、 高运 算 速 度 的 目的 。该 算 法 的 时 问 复 杂度 为 O( o n , 有 实现 提 r g)具 a 简单 . 比 Gr a 扫描 算 法性 能 更好 的特 点 。 实验 结  ̄ & q , 进 后 算 法 进 一 步提 高 了运 且 a m h - l改
①in 3 h np x Y, 2 2 2 3 3 3( f = , e l 川 )p( ,) ,) 不在一条 直 t xy , x y P 线上1 就组成凸包的顶点 e e ) l( 。 s ̄
}Baidu Nhomakorabea
② 求 出具 有最小 Y坐标 的最右 点 p,具 有1 4 y o ,
坐标 的 最 左 点 p, 有 最 小 x坐 标 的 最 上 点 P, 有 最 2 具 。 具 小 X坐标 的最 下点 P; ,
在 该 四边 形 中 间 的点 集 一 定 不 是 凸包 的顶 点 。于 是 可 以删 除 该 四边 形 内 的顶 点 , 由此 可 删 除 大 量 无 关 的点
凸 包 问题 是计 算 几 何 的 基本 问 题 之 一 ,在 计 算 机
图形学 、 图像处理 、 模式识别 以及 C D、A 等领域有 A C M 着广泛的应用。而计算任意简单多边形的凸包又是其中 很有用的一个方面 . 目前已有不少凸包算法 。DTL e e 在
收 稿 日期 : 0 0 4 2 2 1 —0 — 1 修 稿 日期 :0 0 5 2 2 1 —0 — 1
2 算 法 描 述
输入 : 面上 n个 点 的坐标 p x,。p( , ) …, 平 l ) 2 2 2 ( y , x Y,
作 者 简介 : 光 军 ( 9 2 , , 北钟 祥人 , 士研 究 生 , 究 方 向 为 体 育信 息技 术 、 据 挖 掘 李 1 7 一) 男 湖 博 研 数
中 , 有 时 间复 杂 度 为 线 性 O n的 , 其 算 法 实 现 较 复 既 () 但

杂. 也有 经典 的时间复杂度 为 O n g) , (l n ̄ 其算法 实现 o
较 简 单 在 运 动 员 射 击 训 练 中 , 经 常用 到 凸包 来 判 断 也 运 动 员 的射 击 稳 定性 本 文 提 出 了一 种 改 进 的 G aa rhm 扫 描 算 法 求 解 点 集 凸 包 的算 法 . 算 法 具 有 G a a 扫 该 rhm 描 算 法 实 现 简 单 的优 点 . 大 大减 少 了 点集 的 判 断 , 又 提 高 了运 算 速 度 。
算性 能 。 果 更好 。 效 关 键 词 :凸 包 ;算 法 ; aa 扫描 Gr m h
0 引

排序 和求 解 凸包 这 两 个 阶段 。 两个 阶段 的 时 间复 杂 度 这 都 是 On g) 如 果 能够 大大 减 少 点集 的 数量 n 就可 迅 ( on l , 速地 提 高算 法 的效 率 , 文就 是基 于这个 思想 求 解 。 本 本文 减 少 点 集数 量 的方法 是 : 先求 出最 右 、 左 、 首 最 最 上 、 下 四点 , 据 凸包 的 性 质 , 四 点 一 定 是 凸 包 最 根 这 的 四个 顶 点 . 后 由这 四点 可 以构 造 一 个 四边 形 , 含 然 包
@ 现 计 机 21o6 代 算 00

p( ,| 。 y o l I x ) 输 出: 凸包 的 顶点 。

i! i f = && (oj0= d tⅡ 】&& (oj 1 dt] ] a d t】 】= 0【 O) f【 i d tl l o i1 ) [[ > [[ )
ji =;
1 8 提 出了 个 简 单 多边 形 凸包 的 线 性 算 法Ⅲ 汪 嘉 9 3年 ; 业 和 刘 鼎 元 在 18 9 9年 也 提 出 了 一 个 简 单 多 边 形 凸 包 的线 性 算 法[ 孔 宪 庶 和 蔡 洪 学 在 Ga a 扫 描 算 法 和 2 1 . rhm
双动线检测方法 的基础上 .提 出了简单多边形 凸包的


图 1 构造 四边形删除内部 点集 , 改进算法性能
1 基 本 思 想
在 G aa 扫 描算 法 中 . 先 要 求 出 凸包 的最 右 顶 r m h 首 点 , 后 以 最 右 顶 点 为 基 点 , 极 角 顺 序 依 次 判 断 其 他 然 按 顶 点 是 否 为 凸 包 的 顶 点 。该 算 法 最 耗 时 的 地 方 是 快 速
双 动 线 检 测 算 法 [ 毛 定 山等 提 出 了 简 单 多 边 形 凸 包 的 3 1 .
集 合 . 而 为 凸包 的构 造 减 少 时 间 , 图 1 示 。 从 如 所
JL
快速算法 . 该算法先求 出子 凸包 , 再求 凸包[ 以及 刘新 4 1 ,
与刘任 任提 出了求 解凸包 的分治算法I 5 J 。在 以上算 法
相关文档
最新文档