自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

翻译 旋转卡壳——多边形间并踵点对(定义)

多边形间并踵点对有向切线一个有向切线就如同其名字所阐述的。 有向切线在区分平行切线同向与反向时候是十分必要的。 进一步假设多边形是顺时针序的(当顶点顺序排布时候是顺时针的)并且多边形的切线当多边形在线的右侧时候是正向的。 相反的, 当多边形在切线的左侧时多边形能够按照逆时针序给出。 虽然只是约定, 但制定一些标准, 来避免混淆结构与结果是必要的。 并且采用这个约定绝不会影响结果并且带来任何限制

2008-12-20 01:33:00 3232

翻译 旋转卡壳——凸多边形间对踵点对(定义)

凸多边形间对踵点对有向切线一个有向切线就如同其名字所阐述的。 有向切线在区分平行切线同向与反向时候是十分必要的。 进一步假设多边形是顺时针序的(当顶点顺序排布时候是顺时针的)并且多边形的切线当多边形在线的右侧时候是正向的。 相反的, 当多边形在切线的左侧时多边形能够按照逆时针序给出。 虽然只是约定, 但制定一些标准, 来避免混淆结构与结果是必要的。 并且采用这个约定绝不会影响结果并且带来任何限

2008-12-20 01:28:00 3566

翻译 旋转卡壳——对踵点对(定义)

对踵点对切线给定一个凸多边形 P, 切线 l 是一条与 P 相交并且 P 的内部在 l 的一侧的线。 这个概念与正交切线相似。 对踵点对如果两个点 p 和 q (属于 P) 在两条平行切线上, 那么他们就形成了一个对踵点对。 两条不同的平行切线总是确定了至少一对的对踵点对。 根据线与多边形的相交方式, 呈现出三种情况: “点-点”对踵点对 “点-边”对踵点对 “边-边”对踵

2008-12-20 01:24:00 5167 1

翻译 旋转卡壳——最薄横截带

最薄横截带考虑下述设备放置问题:一个“消费群体群”的集合是以个体呈现为平面上凸多边形的一个家庭 F 给出的。 我们的目标是找到一个“设备”, 一条平面上的直线, 使得线到消费者的最大距离最小。 最后一点需要澄清。 直线与任何一个多边形的距离都是指多边形上一点到线的正交距离的最小值。 因此,每个多边形到线的距离是唯一的。 现在, 给定家庭中各个呈多边形的成员和平面上的一条直线, 每个多边形都有一个到

2008-12-20 01:18:00 2270 2

翻译 旋转卡壳——凸多边形矢量和

凸多边形矢量和给定平面上两个凸多边形 P 和 Q , P 和 Q 的矢量和, 记为 P + Q 定义如下: P + Q = { p + q } 所有的分别属于 P 和 Q 的 p 和 q 。多边形矢量和在 motion planning 中也称为 Minkowski 总数。 考虑上述的定义, 许多问题可以通过询问集合 P + Q 的组成, 他拥有的性质等等。 下属结果帮助我们描述多边形矢量和。

2008-12-20 01:09:00 1855

翻译 旋转卡壳——临界切线

临界切线两个凸多边形间的临界切线(一般被叫做CS线)是使得两个多边形分居线不同侧的切线。 换句话说, 他们分隔了多边形。CS线可以应用于motion planning, visibility 和 range fitting。 下图是关于两个多边形和他们的两条临界切线。   这里要注意的一点是假设数据是以标准形式给出的, CS线只会在两个顶点处与两个多边形相交。 因此, 一条CS线由

2008-12-20 01:03:00 1936

翻译 旋转卡壳——凸多边形交

  凸多边形交给定两个多边形, 我们第一个需要讨论的问题应该是:“他们相交吗?”。 Chazelle 和 Dobkin 1980年在他们的一篇叫做“Detection is easier than computation”的论文中发表了一个对数时间级的算法(论文的名字很贴切)。 对于多边形的交, 许多算法能计算出交集。 有趣的是一个结论(由Guibas提出)证明了多边形交点和和他们之间的桥是一

2008-12-20 00:47:00 2704

翻译 旋转卡壳——找公切线

找公切线公切线是同时与多边形相切的简单直线, 并且两个多边形都位于线的同一侧。 换句话说, 一条公切线是一条与两个多边形都相切的线。 一个例子如下图所示: 两个不相交的凸多边形和一条他们的公切线事实上, 公切线可以通过多边形间的一些确定桥的点对来确立。 因此, 给定两个不相交的多边形, 就存在两个多边形间两条公切线, 并且当多边形相交时, 还有可能存在与顶点数一样多的公切线。 用来计算

2008-12-20 00:34:00 2087

翻译 旋转卡壳——合并凸包

合并凸包考虑如下问题: 给定两个凸多边形, 包含他们并的最小凸多边形是怎样的? 答案即合并凸包后得到的凸多边形。 合并凸包可以通过一个低效的方式实现: 给定两个多边形的所有顶点, 计算这些点对应的凸包。 更高效的方法是存在的, 他依赖于多边形间的 桥 的查找。 下图描述了这个概念: 两个不相交的凸多边形。 合并后的凸包包含两个多边形中的凸包链(途中蓝色粗实线), 通过多边形间的桥进行连接(途中

2008-12-20 00:05:00 4602 2

翻译 旋转卡壳——四边形剖分

四边形剖分虽然三角剖分是一个更常用的结构, 但最近四边形剖分在某些特定条件下显得更适用, 比如 scattered data interpolation 以及 finite element method 等。 一个四边形剖分实际上是一个点集的四边形分割。 一些与三角剖分本质上的区别(除了特别明显的)应该引起注意: 首先, 不是所有的点集都存在四边形剖分。 事实上, 只有偶数点集才有。 对于

2008-11-16 22:55:00 3067 1

翻译 旋转卡壳——洋葱三角剖分

洋葱三角剖分给定一个平面上的点集, 目标是构造一个点集的三角剖分。 从Lennes 1911年二次时间复杂度的源算法到Chazelle 1991线性时间复杂度的算法, 前人已经做了许多关于提高三角剖分算法效率的研究。 这里的焦点是关于一种特殊的三角剖分, 一种基于对点集进行“剥洋葱皮”操作。 考虑平面上一个有 n 个点的集合 S 。 计算 S 的凸包, 并且设 S 为在凸包内的点集。 然后计

2008-11-16 22:48:00 3068 1

翻译 旋转卡壳——螺旋三角剖分

螺旋三角剖分点集的螺旋三角剖分是基于集合螺旋凸包的三角剖分图。 凸螺旋线可以通过如下方法构造: 从一个特定的端点开始(比如给定方向上的最小点), 这里取有最小 x 坐标的点。 通过那个点构造一条铅垂线。 按照一个给定的方向旋转线(总保持顺时针或者是逆时针方向), 直到线“击” 出另一个顶点。 将两个点用一条线段连接。 重复步骤3和步骤4, 但是总忽略已经击出的点。

2008-11-16 22:33:00 2488 1

翻译 旋转卡壳——凸多边形最小周长外接矩形

凸多边形最小周长外接矩形这个问题和最小面积外接矩形相似。 我们的目标是找到一个最小盒子(就周长而言)外接多边形 P 。 有趣的是通常情况下最小面积的和最小周长的外接矩形是重合的。 有人不禁想问这是不是总成立的。 下面的例子回答了这个问题: 多边形(灰色的)及其最小面积外接矩形(左边的)和最小周长外接矩形(右边的)。  现在, 给定一个方向, 我们可以算出 P 的端点, 以此来确定一

2008-10-30 22:43:00 8854

翻译 旋转卡壳——凸多边形最小面积外接矩形

凸多边形最小面积外接矩形给定一个凸多边形 P , 面积最小的能装下 P (就外围而言)的矩形是怎样的呢? 从技术上说, 给定一个方向, 能计算出 P 的端点并且构由此造出外接矩形。 但是我们需要测试每个情形来获得每个矩形来计算最小面积吗? 谢天谢地, 我们不必那么干。 对于多边形 P 的一个外接矩形存在一条边与原多边形的边共线。 上述结论有力地限制了矩形的可能范围。 我们不仅不必去检测所有可能

2008-10-30 22:36:00 9011 1

翻译 旋转卡壳——凸多边形间最小距离

凸多边形间最小距离给定两个非连接(比如不相交)的凸多边形 P 和 Q, 目标是找到拥有最小距离的点对 (p,q) (p 属于 P 且 q 属于 Q)。 事实上, 多边形非连接十分重要, 因为我们所说的多边形包含其内部。 如果多边形相交, 那么最小距离就变得没有意义了。 然而, 这个问题的另一个版本, 凸多边形顶点对间最小距离对于相交和非相交的情况都有解存在。 回到我们的主问题: 直观的, 确定最小

2008-10-29 22:58:00 7239 1

翻译 旋转卡壳——凸多边形的宽度

    凸多边形的宽度定义为平行切线间的最小距离。 这个定义从宽度这个词中已经略有体现。 虽然凸多边形的切线有不同的方向, 并且每个方向上的宽度(通常)是不同的。 但幸运的是, 不是每个方向上都必须被检测。     我们假设存在一个线段 [a,b], 以及两条通过 a 和 b 的平行线。 通过绕着这两个点旋转这两条线, 使他们之间的距离递增或递减。 特别的, 总存在一个 特定旋转方向 使得两条线之

2008-10-29 19:54:00 4293

翻译 旋转卡壳——凸多边形直径

凸多边形直径我们将一个多边形上任意两点间的距离的最大值定义为多边形的直径。 确定这个直径的点对数可能多于一对。 事实上, 对于拥有 n 个顶点的多边形, 就可能有 n 对“直径点对”存在。  一个多边形直径的简单例子如左图所示。 直径点对在图中显示为被平行线穿过的黑点 (红色的一对平行线). 直径用浅蓝色高亮显示。显然, 确定一个凸多边形 P 直径的点对不可能在多边形 P 内部。 故搜索应该在

2008-10-29 19:25:00 5160

翻译 旋转卡壳——目录页

一些历史:1978年, M.I. Shamoss Ph.D. 的论文"Computational Geometry"标志着计算机科学的这一领域的诞生。 当时他发表成果的是一个寻找凸多边形直径的一个非常简单的算法, 即根据多边形的一对点距离的最大值来确定。 后来直径演化为由一对对踵点对来确定。 Shamos提出了一个简单的 O(n) 时间的算法来确定一个凸 n 角形的对踵点对。 因为他们最多只有

2008-10-29 19:12:00 7625 2

翻译 旋转卡壳——翻译说明文档

     前一段时间看了一位国外大牛的网站,是关于旋转卡壳技术的,内容很不错,就尝试着翻译一下。     关于旋转卡壳技术,最早是在刘汝佳、黄亮的《算法艺术与信息学竞赛》上看到的,是计算几何相关的技术,开始觉得很神奇,因为其对于凸多边形的问题给出了很好的解决方案,于是上网查了一下,就发现了这份资料。     通过个人的学习研究,我发现其可以用于解决大量的多边形的问题,而非仅仅局限于原来了解

2008-10-29 13:03:00 3826 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除