JPH05120430A - 多角形と直線との交差判定・交点算出方式 - Google Patents

多角形と直線との交差判定・交点算出方式

Info

Publication number
JPH05120430A
JPH05120430A JP28344891A JP28344891A JPH05120430A JP H05120430 A JPH05120430 A JP H05120430A JP 28344891 A JP28344891 A JP 28344891A JP 28344891 A JP28344891 A JP 28344891A JP H05120430 A JPH05120430 A JP H05120430A
Authority
JP
Japan
Prior art keywords
intersection
polygon
virtual
straight line
lattice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP28344891A
Other languages
English (en)
Inventor
Junko Nakagawa
淳子 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP28344891A priority Critical patent/JPH05120430A/ja
Publication of JPH05120430A publication Critical patent/JPH05120430A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

(57)【要約】 【目的】処理時間を短くすることが可能な多角形と直線
との交差判定・交点算出方式を提供すること。 【構成】多角形データ記憶部1から多角形データを受
け、交差判定および交点算出を行う座標領域を仮想格子
で複数個に分割し、この仮想格子にそれぞれ格子番号を
与え、この格子番号ごとに該当の仮想格子内に位置する
多角形の頂点の番号を格納した仮想格子・頂点番号対応
表を仮想格子・頂点番号対応表作成部2が作成し、仮想
格子・頂点番号対応表記憶部3に記憶させ、多角形との
交差判定および交点算出を行う直線を規定する直線デー
タを入力して直線が通過する仮想格子の格子番号を仮想
格子検索部4が検索し、交差判定・交点算出部5がこの
仮想格子検索部4の検索した格子番号の仮想格子内に位
置する多角形の頂点を少なくとも一端とする多角形の辺
について直線との交差判定および交点算出をおこない交
差の有無および交点の座標値を出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は多角形と直線との交差判
定・交点算出方式に関し、特に複雑な形状で辺の数の多
い多角形あるいは多数の多角形の集合により辺の数の合
計が多くなる形状の図形を含む多角形と直線との交差判
定・交点算出方式に関する。
【0002】
【従来の技術】従来の多角形と直線との交差判定・交点
算出方式は、地図等に使われている等高線データから、
断面図を作成する場合などに適用されており、図2のブ
ロック図に示すように、交差判定および交点を算出する
すべての多角形の多角形番号とこの多角形を構成する各
辺の辺番号と各辺の辺の両端の頂点の番号および頂点の
座標値からなる多角形データを格納する多角形データ記
憶部11と、多角形との交差判定および交点算出を行う
直線を規定するデータと多角形データ記憶部11から入
力するデータとを受け交差判定および交点算出を行う交
差判定・交点算出部12とからなる。動作としては交差
判定・交点算出部12に、まず、多角形との交差判定お
よび交点算出を行う直線を規定するデータとして、直線
上の任意の2点の座標値を入力する。次に、多角形を構
成するすべての辺について、多角形データ記憶部11か
ら辺の両端の頂点の座標値を入力し、続いてすべての辺
について既に入力済みの直線との交差判定および交点算
出のための演算をおこない交差の有無および交点の座標
値を出力するようになっている。
【0003】
【発明が解決しようとする課題】上述した従来の多角形
と直線との交差判定・交点算出方式は、多角形を構成す
るすべての辺について直線との交差判定および交点算出
をおこなっているため、複雑な形状で辺の数の多い多角
形あるいは多数の多角形の集合により辺の数の合計が多
くなるものを対象にする場合、非常に多くの辺について
直線との交差判定および交点算出を行うことになり、処
理に時間がかかってしまうという問題点がある。
【0004】本発明の目的は、処理時間を短くすること
が可能な多角形と直線との交差判定・交点算出方式を提
供することにある。
【0005】
【課題を解決するための手段】本発明の多角形と直線と
の交差判定・交点算出方式は、交差判定および交点を算
出するすべての多角形の多角形番号と前記多角形を構成
する各辺の辺番号と前記各辺の辺の両端の頂点の番号お
よび頂点の座標値からなる多角形データを格納する多角
形データ記憶部と、直線を規定する直線データを入力し
て前記多角形との交差判定および交点算出をおこない交
差の有無および交点の座標値を出力する交差判定・交点
算出部とを含む多角形と直線との交差判定・交点算出方
式において、前記多角形データ記憶部から前記多角形デ
ータを受け前記多角形上の交差判定および交点算出を行
う座標領域を複数個に分割する仮想格子を設定しこの仮
想格子にそれぞれ格子番号を与えこの格子番号ごとに該
当の仮想格子内に位置する前記多角形の頂点の番号を格
納した仮想格子・頂点番号対応表を作成する仮想格子・
頂点番号対応表作成部と、前記仮想格子・頂点番号対応
表作成部の作成した仮想格子・頂点番号対応表を記憶す
る仮想格子・頂点番号対応表記憶部と、前記多角形との
交差判定および交点算出を行う直線を規定する直線デー
タを入力して前記直線が通過する前記仮想格子の格子番
号を検索する仮想格子検索部と、この仮想格子検索部の
検索した格子番号の仮想格子内に位置する多角形の頂点
を少なくとも一端とする多角形の辺について前記直線と
の交差判定および交点算出をおこない交差の有無および
交点の座標値を出力する前記交差判定・交点算出部とを
含む構成である。
【0006】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0007】図1は本発明の一実施例のブロック図であ
る。
【0008】多角形データ記憶部1は、交差判定および
交点算出を行うすべての多角形の多角形番号とその多角
形を構成する辺番号とその両端の頂点番号および頂点の
座標値を格納しており、仮想格子・頂点番号対応表作成
部2は、多角形データ記憶部1から多角形データを受
け、多角形上の交差判定および交点算出を行う座標領域
を複数個に分割する仮想格子を設定しこの仮想格子にそ
れぞれ格子番号を与えこの格子番号ごとに該当の仮想格
子内に位置する多角形の頂点の番号を格納した仮想格子
・頂点番号対応表を作成し、この仮想格子・頂点番号対
応表を仮想格子・頂点番号対応表記憶部3に記憶してお
く。仮想格子検索部4は、仮想格子・頂点番号対応表記
憶部3から仮想格子のデータを受け、多角形との交差判
定および交点算出を行う直線を規定する直線データを入
力して直線が通過する仮想格子の格子番号を検索する。
交差判定・交点算出部5は、仮想格子検索部の検索した
格子番号と、仮想格子・頂点番号対応表記憶部3に記憶
してある仮想格子・頂点番号対応表とから、仮想格子内
に位置する多角形の頂点を少なくとも一端とする多角形
の辺について直線との交差判定および交点算出をおこな
い交差の有無および交点の座標値を出力する。
【0009】図3は仮想格子・頂点番号対応表記憶部の
メモリパターンの一例を示す説明図である。
【0010】仮想格子の格子番号21ごとに該当の仮想
格子内に位置する多角形番号と多角形の頂点番号とから
なる仮想多角形データ22 を格納してある。
【0011】図4は仮想格子の原理を説明するための説
明図である。
【0012】仮想格子とは、多角形上の交差判定および
交点算出を行う座標領域31上に適当な間隔で格子線3
2を設定し、格子線32で囲まれた最小の領域ごとに格
子番号IJを設定したものであり、多角形上の交差判定
および交点算出を行う座標領域を格子番号ごとの小領域
に分割するための仮想的なものである。
【0013】この座標領域31上に線分ABを重ねた場
合、交差判定を行う必要のある領域は、図中の斜線で記
した領域のみでよく、さらに交差判定を行う相手である
等高線等を重ねて、交差判定を行う必要のある領域を求
めれば、真に交差判定および交点算出を必要とする領域
が定まる。
【0014】次に各部の機能についてさらに詳細に説明
する。
【0015】仮想格子・頂点番号対応表作成部2は、ま
ず、多角形上の交差判定および交点算出を行う座標領域
上に仮想格子を作成し格子番号を設定する。つぎに、仮
想格子・頂点番号対応表記憶部3に仮想格子・頂点番号
対応表を作成する。仮想格子・頂点番号対応表として、
仮想格子・頂点番号対応表記憶部3に仮想格子の格子番
号ごとに記憶領域を確保する。多角形Pの頂点番号Nの
頂点の座標値(XN,YN)が格子番号IJの仮想格子
内に位置するならば、仮想格子・頂点番号対応表の格子
番号IJの領域に多角形番号Pと頂点番号Nを格納す
る。多角形データ記憶部1に格納されている全多角形の
全頂点につき、仮想格子・頂点番号対応表記憶部3に仮
想格子・頂点番号対応表を設定する。
【0016】仮想格子検索部4は、多角形と交差判定お
よび交点算出を行う直線Lを規定するデータとして、た
とえば直線L上の任意の2点の座標値を入力し、仮想格
子・頂点番号対応表作成部2で作成した仮想格子のうち
直線Lが通過あるいは接触する仮想格子の格子番号を検
索し、交差判定・交点算出部5に出力する。
【0017】交差判定・交点算出部5は、多角形データ
記憶部1、仮想格子・頂点番号対応表記憶部3、多角形
との交差判定および交点算出を行う直線Lを規定するデ
ータとしてたとえば直線L上の任意の2点の座標値、お
よび仮想格子検索部4で検索された仮想格子の格子番号
を入力し、検索された全仮想格子について、その仮想格
子内に位置する全頂点を少なくとも一端とする多角形の
すべての辺と、直線Lとの交差判定および交点算出を行
う。
【0018】仮想格子検索部4で最初に格子番号IJの
仮想格子が検索されていたならば、仮想格子・頂点番号
対応表記憶部3から格子番号IJの領域を入力する。格
子番号IJの領域の最初に多角形番号Pと頂点番号Nと
が格納されていたならば、多角形データ記憶部1から、
多角形番号Pで頂点番号Nの頂点の座標値、およびその
頂点と組になって多角形Pを構成する辺となる頂点番号
M1,M2,………,MMのM点の頂点の座標値を入力
する。そして、入力した2点の座標値で規定される直線
Lと、2点(N,M1)および(N,M2)および……
…(N,MM)で定まる多角形PのM本の辺との交差判
定および交点算出を行う。
【0019】仮想格子・頂点番号対応表記憶部3の格子
番号IJの領域に格納されている全頂点につき、多角形
番号Pの頂点番号Nの頂点と同様に処理する。さらに、
仮想格子検索部4で検索された全仮想格子につき、格子
番号IJの仮想格子と同様に処理する。最後に、交差判
定・交点算出部5での処理結果として、多角形番号ごと
の直線Lとの交差の有無および交点の座標値を出力す
る。
【0020】次に、ある多角形データと直線Lとの交差
判定および交点算出をおこなった後に、同一の多角形デ
ータについて直線Lとは異なる直線L1との交差判定お
よび交点算出を行う場合について説明する。
【0021】直線L1との交差判定および交点算出を行
う場合、多角形データ記憶部1および仮想格子・頂点番
号対応表作成部2における処理は、直線Lとの交差判定
および交点算出を行う場合と同一であり、再度処理を行
う必要はなく、仮想格子・頂点番号対応表記憶部3に格
納される内容は同一でよい。
【0022】仮想格子検索部4および交差判定・交点算
出部5における処理は、直線Lを規定するデータの代わ
りに直線L1を規定するデータを使用して、直線Lとの
交差判定および交点算出を行う場合と同様に行う。最後
に、交差判定・交点算出部5での処理結果として、多角
形番号毎の直線L1との交差の有無および交点の座標値
を出力することとなる。
【0023】
【発明の効果】以上説明したように、本発明は、多角形
データ記憶部から多角形データを受け多角形上の交差判
定および交点算出を行う座標領域を複数個に分割する仮
想格子を設定し この仮想格子にそれぞれ格子番号を与
え、この格子番号ごとに該当の仮想格子内に位置する多
角形の頂点の番号を格納した仮想格子・頂点番号対応表
を仮想格子・頂点番号対応表作成部が作成し、この仮想
格子・頂点番号対応表を仮想格子・頂点番号対応表記憶
部が記憶し、多角形との交差判定および交点算出を行う
直線を規定する直線データを入力して直線が通過する仮
想格子の格子番号を仮想格子検索部が検索し、交差判定
・交点算出部がこの仮想格子検索部の検索した格子番号
の仮想格子内に位置する多角形の頂点を少なくとも一端
とする多角形の辺について直線との交差判定および交点
算出をおこない交差の有無および交点の座標値を出力す
ることにより、交差判定および交点算のための処理時間
を短くすることが可能となるという効果が有る。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】従来の多角形と直線との交差判定・交点算出方
式を示すブロック図である。
【図3】仮想格子・頂点番号対応表記憶部のメモリパタ
ーンの一例を示す説明図である。
【図4】仮想格子の原理を説明するための説明図であ
る。
【符号の説明】
1 多角形データ記憶部 2 仮想格子・頂点番号対応表作成部 3 仮想格子・頂点番号対応表記憶部 4 仮想格子検索部 5 交差判定・交点算出部 21 格子番号 22 仮想多角形データ 31 座標領域 32 格子線

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 交差判定および交点を算出するすべての
    多角形の多角形番号と前記多角形を構成する各辺の辺番
    号と前記各辺の辺の両端の頂点の番号および頂点の座標
    値からなる多角形データを格納する多角形データ記憶部
    と、直線を規定する直線データを入力して前記多角形と
    の交差判定および交点算出をおこない交差の有無および
    交点の座標値を出力する交差判定・交点算出部とを含む
    多角形と直線との交差判定・交点算出方式において、前
    記多角形データ記憶部から前記多角形データを受け前記
    多角形上の交差判定および交点算出を行う座標領域を複
    数個に分割する仮想格子を設定しこの仮想格子にそれぞ
    れ格子番号を与えこの格子番号ごとに該当の仮想格子内
    に位置する前記多角形の頂点の番号を格納した仮想格子
    ・頂点番号対応表を作成する仮想格子・頂点番号対応表
    作成部と、前記仮想格子・頂点番号対応表作成部の作成
    した仮想格子・頂点番号対応表を記憶する仮想格子・頂
    点番号対応表記憶部と、前記多角形との交差判定および
    交点算出を行う直線を規定する直線データを入力して前
    記直線が通過する前記仮想格子の格子番号を検索する仮
    想格子検索部と、この仮想格子検索部の検索した格子番
    号の仮想格子内に位置する多角形の頂点を少なくとも一
    端とする多角形の辺について前記直線との交差判定およ
    び交点算出をおこない交差の有無および交点の座標値を
    出力する前記交差判定・交点算出部とを含むことを特徴
    とする多角形と直線との交差判定・交点算出方式。
JP28344891A 1991-10-30 1991-10-30 多角形と直線との交差判定・交点算出方式 Pending JPH05120430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28344891A JPH05120430A (ja) 1991-10-30 1991-10-30 多角形と直線との交差判定・交点算出方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28344891A JPH05120430A (ja) 1991-10-30 1991-10-30 多角形と直線との交差判定・交点算出方式

Publications (1)

Publication Number Publication Date
JPH05120430A true JPH05120430A (ja) 1993-05-18

Family

ID=17665680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28344891A Pending JPH05120430A (ja) 1991-10-30 1991-10-30 多角形と直線との交差判定・交点算出方式

Country Status (1)

Country Link
JP (1) JPH05120430A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1134406A (ja) * 1997-02-28 1999-02-09 Adobe Syst Inc ベクトルマップ平坦化及びトラッピング

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1134406A (ja) * 1997-02-28 1999-02-09 Adobe Syst Inc ベクトルマップ平坦化及びトラッピング
JP4624502B2 (ja) * 1997-02-28 2011-02-02 アドビ システムズ, インコーポレイテッド ベクトルマップ平坦化及びトラッピング

Similar Documents

Publication Publication Date Title
US5113490A (en) Method for forming a computer model from an intersection of a cutting surface with a bounded volume
CA2110143A1 (en) Method and system for producing mesh representations of objects
CN112837328A (zh) 一种二维多边形图元的矩形视窗剪裁绘图方法
JPH08153214A (ja) 3次元直交格子データの生成方法
JPH05120430A (ja) 多角形と直線との交差判定・交点算出方式
JP3337608B2 (ja) 解析シミュレーション装置
JP2000250403A (ja) 道路形状図形デフォルメ方法、装置、前記方法を記録した記憶媒体
JP2596698B2 (ja) 等高線の生成方法
Sandgren et al. Part layout optimization using a quadtree representation
JPH0778254A (ja) 図形閉領域抽出方法
JP2004348708A (ja) 地図情報システム用ポリゴン生成方法及びその装置
JP3626896B2 (ja) データ変換方法およびデータ変換プログラムを記録した記録媒体
JPH06259507A (ja) 図形分割装置
US20010013867A1 (en) Object search method and object search system
JPH05108694A (ja) 有限要素の自動生成方法
JP3324589B2 (ja) 等高線の描画方法とこの方法を用いた描画システム及び描画方法を記録した記録媒体
JPH07220118A (ja) 地形表示装置
JPS63249269A (ja) 図形処理に於ける多角形領域のピツク方法
JPS63178372A (ja) 多面体形状作成装置
JPH0668259A (ja) 直近点検索方式
JP4066103B2 (ja) 図形クリッピング装置および図形クリッピング方法
JPH036785A (ja) クリッピング回路
JPH03290771A (ja) クリッピング方式
JPH10255078A (ja) 数値形状データにおける任意点の形状内外判定方法および判定装置
JPS61194574A (ja) 交点探索装置