計算幾何学-i-health.u.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
計算幾何学-i-health.u

計算幾何学 Computational Geometry 第七章 多角形の三角形分割 Polygon Triangulation 美術館問題(art gallery problem) 必要なカメラ台数? 単純多角形(simple polygon) 互いに交差しない閉じた多辺連続チェインで囲まれた領域 平面を2つの互いに素な領域に分割する(有界な内部領域+非有界な外部領域) 有界領域内に穴がない 対角線と三角形分割 対角線(diagonal)   単純多角形の内部を通って2頂点を結ぶ開線分 三角形分割(triangulation)   交差しない対角線の極大集合(?)によって多角形を三角形に分割すること 問題 三角形分割は常に存在する? 一意に決まらない→何通りまでできる? 一個の三角形に一台のカメラを設置すれば監視できる→多角形に何個の三角形が含まれる? 定理1 どんな単純多角形も三角形分割が可能である n個の頂点を有する単純多角形の任意の三角形分割にはちょうどn-2個の三角形がある 考察 n-2台のカメラで監視できる→多すぎる 対角線上に設置→半分になる(n/2) 頂点上に設置→もっと良さそう(n/3) 3-彩色(3-coloring) 単純多角形の各頂点に白、灰、黒のいずれかの色を割り当てる。但し、隣接の2頂点は必ず異なる色をづける どの三角形も白?灰?黒の頂点を1つずつ持つ 何れの色にカメラを配置すれば、多角形全体の監視が可能 高々?n/3?台のカメラが十分 最悪の例 頂点に配置されたカメラの監視範囲は接続している三角形に限らない→改善の余地? n/3台のカメラより少ない台数で任意の多角形を監視する可能性? 答え?No 定理2(美術館定理) n個の頂点を有する単純多角形に対して、多角形内の任意の点が少なくとも一台のカメラから見えるようにするのに、 ?n/3?台のカメラが必要になることがあり、またその台数で常に十分である n/3台は必要なカメラ台数の上限 言い換えれば、 n/3台以上を必要とする可能性はない。 n/3台以下で監視できる時もある 三角形分割のプロセス 単純多角形を分割するための戦略として 単純多角形(simple polygon) 単調多角形(monotone polygon) 三角形(triangle) 単調多角形 y単調多角形の特徴 y軸と垂直な直線に対して、多角形と交差する部分の線分が連結である 最も上の頂点から最も下の頂点まで、左側又は右側の境界の多辺連続チェインをたどる時、常に下向きか水平方向しかない 5種類の頂点 5種類頂点の定義 □=出発点(start vertex)   ①左右隣接2頂点が全て下にある ②内角<π ■=最終点(end vertex)   ①左右隣接2頂点が全て上にある ②内角<π ●=普通の点(regular vertex)   ①左右隣接2頂点が1つずつ上?下にある ▲=分離点(split vertex)   ①左右隣接2頂点が全て下にある ②内角>π ▼=統合点(merge vertex)   ①左右隣接2頂点が全て上にある ②内角>π 単純多角形→単調多角形 変曲点(turn vertex)   多角形の境界をたどる時、向きが変化する頂点   出発点、最終点、分離点、統合点 y単調に分割→変曲点の除去 方法→対角線を加える y単調多角形 分離点も統合点も持たない多角形 分離点と統合点を除去することができれば、y単調な部分に分割できる 分離点と統合点の除去 分離点から上に向かう対角線を引く 統合点から下に向かう対角線を引く 対角線の引き方? 平面走査法 基本的な考え方 v1,v2, … , vn  反時計回り順に並べた頂点 e1,e2, … , en  辺集合、 ei = vivi+1、en = vnv1 イベント点: 多角形の頂点 目標:  各分離点からその上にある頂点へ対角線を引く 各統合点からその下にある頂点へ対角線を引く アルゴリズム MakeMonotone(P) 入力:時計回り順にリストで蓄えられた単純多角形P 出力:Dに蓄えられたPの単調な部分多角形への分割 y座標値をキーとして、ヒープHを構成する。 y座標値が同様な2点について、 x座標値が小さい方は優先 2分探索木Tを初期化 while H ? empty do H から順番に vi を取り出す      viの種類に応じて処理を行う 出発点の処理 HandleStartVertex(vi) eiをTに挿入し、helper(ei)をviとする 出発点v5においてe5をTに挿入する 最終点の処理 HandleEndVertex(vi) if he

文档评论(0)

cynthia_h + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档