JPH03168884A - ジオメトリツク・オブジエクトのインタラクシヨン判定処理方法 - Google Patents
ジオメトリツク・オブジエクトのインタラクシヨン判定処理方法Info
- Publication number
- JPH03168884A JPH03168884A JP2299991A JP29999190A JPH03168884A JP H03168884 A JPH03168884 A JP H03168884A JP 2299991 A JP2299991 A JP 2299991A JP 29999190 A JP29999190 A JP 29999190A JP H03168884 A JPH03168884 A JP H03168884A
- Authority
- JP
- Japan
- Prior art keywords
- subtree
- binary tree
- value
- data structure
- objects
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
- Image Generation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A.産業上の利用分野
本発明は、一般にはジオメトリック・オブジェクトのモ
デリングと表示の方法に関し、特にジオメ ト リ
ッ ク ● オ ブ ジ ェ ク ト
の 外 接 ボ ッ ク ス(boundlng
box)のオーバラップを効半的に判定するために外
接ボックスを前処理する方法に関する。
デリングと表示の方法に関し、特にジオメ ト リ
ッ ク ● オ ブ ジ ェ ク ト
の 外 接 ボ ッ ク ス(boundlng
box)のオーバラップを効半的に判定するために外
接ボックスを前処理する方法に関する。
この方法は、たとえば隠線消去やレイ●トレーシングの
手法に採用できる。・またこの方法では、特定のボック
スに接するかまたはオーバラフプするボックスをすべて
高速に識別できるように、ソーティング対象として一組
の多次元ボックスを任意に選択することができる。この
方法には、外接ボックスのオーバラップを゜r++定す
るときに、高速、高効率でサーチしやすいバイナリ・ツ
リー・データ●ストラクチャを構成するステップが含ま
れる。
手法に採用できる。・またこの方法では、特定のボック
スに接するかまたはオーバラフプするボックスをすべて
高速に識別できるように、ソーティング対象として一組
の多次元ボックスを任意に選択することができる。この
方法には、外接ボックスのオーバラップを゜r++定す
るときに、高速、高効率でサーチしやすいバイナリ・ツ
リー・データ●ストラクチャを構成するステップが含ま
れる。
B.従来の技術
隠線消去、マージなどの代表的なジオメトリック ●
アルゴリズムでは、 エッジ、 面、 ソ リ ッ ド
なとのジオメトリック・オブジェクトのインターセクシ
ョンを求める必要がある。しかしこのようなインターセ
クシaンの判定処理にはかなりのコストがかかる。そこ
で対象のオブジェクトを包含するために、モデラにより
、2次元(2−d)または3次元(3−d)の外接ボッ
クスを生成することが多い。外接ボックスは、オーバラ
ップの有無についてテストされる。しかしモデルが大き
くなると、これら外接ボックスの比較がアルゴリズムの
大半を占め、アルゴリズムの実行に非常に時間がかかる
。
アルゴリズムでは、 エッジ、 面、 ソ リ ッ ド
なとのジオメトリック・オブジェクトのインターセクシ
ョンを求める必要がある。しかしこのようなインターセ
クシaンの判定処理にはかなりのコストがかかる。そこ
で対象のオブジェクトを包含するために、モデラにより
、2次元(2−d)または3次元(3−d)の外接ボッ
クスを生成することが多い。外接ボックスは、オーバラ
ップの有無についてテストされる。しかしモデルが大き
くなると、これら外接ボックスの比較がアルゴリズムの
大半を占め、アルゴリズムの実行に非常に時間がかかる
。
このような背景から、外接ボックスのオーバラップを効
率的にil+定できるように、よってジオメトリソク●
オブジェクトのインターセクン日ソを判定するアルゴリ
ズムの効率が大幅に向上するように、外接ボックスを前
処理する効率のよい方法が求められている。
率的にil+定できるように、よってジオメトリソク●
オブジェクトのインターセクン日ソを判定するアルゴリ
ズムの効率が大幅に向上するように、外接ボックスを前
処理する効率のよい方法が求められている。
たとえば、エッジが約500ないし50.000の小規
模ないし中規模のサイズの一組のオブジェクトが、GD
P(ジオメトリック●デザイン●プロセッサ)と呼ばれ
る3Dソリッド●モデリング●プログラムによってモデ
ル化されたことがある。GDPについては、ジャーナル
記事“Solidmodeling for prod
uction deslgn″ R.N.folfe
et at.、IBM J. Res. Devel
op.、Vol.3 1No.3 5/87、pp.
277−295、およびジャーナル記事“A Geom
etrlc Modellng Systemfor
Automated Mechanlcal A
ssembly” M.A.Wesley e
t at.、 IBM J.Res. Deve
lop.、 Vol. 24 No.1、1 /
8 0%pp.e 4 − 7 4、に説明されてLx
る。第IA図は、コンピュータ●シャシーの一部をモデ
ル化するためにGDPを採用したときの出力を示す。図
の出力は隠線モードでの表現である。表現されたオブジ
ェクトは、多数のオブジェクト●エッジを含む。第IB
図は、第IA図にA, Bと示したエッジの図である
。水平●垂直のスクリーン座標を用いると、エッジAは
外接ボックスA′を持つが、この外接ボックスの幅は0
である。Bに件う外接ボックスは、外接ボックスA゜と
エッジ八の両方と交わる。隠線lrl去アルゴリズムは
、このような情報を用いて、Bの一部がエッジAに伴う
表面または面の下に隠れているかどうかを判定する。
模ないし中規模のサイズの一組のオブジェクトが、GD
P(ジオメトリック●デザイン●プロセッサ)と呼ばれ
る3Dソリッド●モデリング●プログラムによってモデ
ル化されたことがある。GDPについては、ジャーナル
記事“Solidmodeling for prod
uction deslgn″ R.N.folfe
et at.、IBM J. Res. Devel
op.、Vol.3 1No.3 5/87、pp.
277−295、およびジャーナル記事“A Geom
etrlc Modellng Systemfor
Automated Mechanlcal A
ssembly” M.A.Wesley e
t at.、 IBM J.Res. Deve
lop.、 Vol. 24 No.1、1 /
8 0%pp.e 4 − 7 4、に説明されてLx
る。第IA図は、コンピュータ●シャシーの一部をモデ
ル化するためにGDPを採用したときの出力を示す。図
の出力は隠線モードでの表現である。表現されたオブジ
ェクトは、多数のオブジェクト●エッジを含む。第IB
図は、第IA図にA, Bと示したエッジの図である
。水平●垂直のスクリーン座標を用いると、エッジAは
外接ボックスA′を持つが、この外接ボックスの幅は0
である。Bに件う外接ボックスは、外接ボックスA゜と
エッジ八の両方と交わる。隠線lrl去アルゴリズムは
、このような情報を用いて、Bの一部がエッジAに伴う
表面または面の下に隠れているかどうかを判定する。
モデル内のエッジの各ペアのオーバラップをテストする
ための隠線消去アルゴリズムでは、実行回数はO(n’
)になることが分かる(nはエブジ数)。これに代えて
、ソートされていない外接ボックスを用いて、エッジと
エツノの比較にかかる時間を少なくしようとすれば、隠
線消去アルゴリズムの効率が定数因子分向上するが、漸
近的計算ffi (asymptotlc compl
exity)は変わらない。ある改良された方法では、
第1図のモデルの各部、各面に、2−dおよび3−dの
外接ボックスが生成され、エッジには2−dの外接ボッ
クスが用いられた。その結果、ボックスの階層が5レベ
ルとなり、計算量はO(n”’ )に減少した。しか
しそれでも、モデルのサイズが大きくなると、隠線アル
ゴリズムでは、許容できないほど実行時間がかかること
がある。
ための隠線消去アルゴリズムでは、実行回数はO(n’
)になることが分かる(nはエブジ数)。これに代えて
、ソートされていない外接ボックスを用いて、エッジと
エツノの比較にかかる時間を少なくしようとすれば、隠
線消去アルゴリズムの効率が定数因子分向上するが、漸
近的計算ffi (asymptotlc compl
exity)は変わらない。ある改良された方法では、
第1図のモデルの各部、各面に、2−dおよび3−dの
外接ボックスが生成され、エッジには2−dの外接ボッ
クスが用いられた。その結果、ボックスの階層が5レベ
ルとなり、計算量はO(n”’ )に減少した。しか
しそれでも、モデルのサイズが大きくなると、隠線アル
ゴリズムでは、許容できないほど実行時間がかかること
がある。
文献には、2−dまたは3−dのボックスのインターセ
クシlンを求めるアルゴリズムがいくつか見られる。た
とえば“ComputationalGaoi+etr
F: An IntroductIon″by F,P
.Preparataand M.l. Shamos
, Sprlnger verlag ( 1 9
8 5 )で説明されているアルゴリズムがある。しか
しこのようなアルゴリズムを適用したものにはいくつか
欠点のあることが認められている。
クシlンを求めるアルゴリズムがいくつか見られる。た
とえば“ComputationalGaoi+etr
F: An IntroductIon″by F,P
.Preparataand M.l. Shamos
, Sprlnger verlag ( 1 9
8 5 )で説明されているアルゴリズムがある。しか
しこのようなアルゴリズムを適用したものにはいくつか
欠点のあることが認められている。
米国特許第4594873号明細書は、リンクされたデ
ータ●リストをソートする隠面プロセッサについて説明
している。ここでデータは、ある大きさのスキャン●ラ
イン●セグメント開始座標に従ってリストに押入される
という。その結果、ソートされたリストの配置は、1個
の変数の値を基にしたものになる。このほか、1個のパ
ラメータを基にしたソーティング方法も知られている。
ータ●リストをソートする隠面プロセッサについて説明
している。ここでデータは、ある大きさのスキャン●ラ
イン●セグメント開始座標に従ってリストに押入される
という。その結果、ソートされたリストの配置は、1個
の変数の値を基にしたものになる。このほか、1個のパ
ラメータを基にしたソーティング方法も知られている。
ただしこのような方法は、ボックスのすべての次元のイ
ンタラクシげンによってオーダが決定されるk次元(
k = d )ボックスのソーティングを実現するもの
ではない。したがって2−dボックスの場合、ボックス
のオーバラップは、ボックス上のレファレンス●ポイン
トによってのみ、たとえばボックスのコーナの位虞によ
ってのみ決定されるのが通常である。つまり従来の技術
には、あるレファレンス●ポイントによってオーダが決
定されるだけではなく、ボックスの幅と高さの関係など
、他の属性によっても決定されるような、k−dボック
スのンーティング方法が欠けているのである。
ンタラクシげンによってオーダが決定されるk次元(
k = d )ボックスのソーティングを実現するもの
ではない。したがって2−dボックスの場合、ボックス
のオーバラップは、ボックス上のレファレンス●ポイン
トによってのみ、たとえばボックスのコーナの位虞によ
ってのみ決定されるのが通常である。つまり従来の技術
には、あるレファレンス●ポイントによってオーダが決
定されるだけではなく、ボックスの幅と高さの関係など
、他の属性によっても決定されるような、k−dボック
スのンーティング方法が欠けているのである。
J,L. Bentleyは、ジャーナル記車“Mu
ltldlmenslonal binary sia
rch trees usedfor assocla
tlye searchlng″ Cosmunlca
tlonsof the ACM, Vol.1 8
(1 975) 、pp. 509−517、の中で
、多次元バイナリ●サーチ●ツリ−(k−dツリー)を
、連想サーチによって検索された情報を格納するデータ
構造として展開している。Hen t l eyが考案
したk−dツリー構造の適用例は、ターミナル指向情報
サーチ●システムと音声認識に関するものである。
ltldlmenslonal binary sia
rch trees usedfor assocla
tlye searchlng″ Cosmunlca
tlonsof the ACM, Vol.1 8
(1 975) 、pp. 509−517、の中で
、多次元バイナリ●サーチ●ツリ−(k−dツリー)を
、連想サーチによって検索された情報を格納するデータ
構造として展開している。Hen t l eyが考案
したk−dツリー構造の適用例は、ターミナル指向情報
サーチ●システムと音声認識に関するものである。
C.発明が解決しようとする課題
本発明の目的は、質問(query)に対する応答効率
を高めるために、ジオメトリ,ク●オブジェクトを空間
的にソートする方法を提供するすることにある。
を高めるために、ジオメトリ,ク●オブジェクトを空間
的にソートする方法を提供するすることにある。
本発明の目的には、多次元ツリー●データ構造を構成す
るジオメトリック・オブジェクトの処理方法を提供する
ことも含まれる, 本発明の目的には、高速かつ高効率でサーチしやすい多
次元ツリー●データ構造を構成するジオメトリック・オ
ブジェクトの表示に用いる方法を提供するすることも含
まれる。
るジオメトリック・オブジェクトの処理方法を提供する
ことも含まれる, 本発明の目的には、高速かつ高効率でサーチしやすい多
次元ツリー●データ構造を構成するジオメトリック・オ
ブジェクトの表示に用いる方法を提供するすることも含
まれる。
本発明の目的には、表示対象のジオメトリック・オブジ
ェクトから多次元ツリー●データ構造を構成し、隠線消
去アルゴリズムの計算量を抑える方法を提供することも
含まれる。
ェクトから多次元ツリー●データ構造を構成し、隠線消
去アルゴリズムの計算量を抑える方法を提供することも
含まれる。
D.課題を解決するための手段
上述の問題を解決し、本発明の目的を達成するのは、ジ
オメトリック・オブジェクトの外接ボックスに関連した
バイナリ・ツリー・データ構造を構成する方法である。
オメトリック・オブジェクトの外接ボックスに関連した
バイナリ・ツリー・データ構造を構成する方法である。
k次元の外接ボックスは、最小境界(bound)と最
大境界のペアをk個持ち、境界ペアは次元(dlmen
slon)にっきl組である。
大境界のペアをk個持ち、境界ペアは次元(dlmen
slon)にっきl組である。
外接ボックスの第1境界のすべての値についてメジアン
が求められる。次に、対応する境界がこのメジアンより
も小さい外漬ボックスは、それぞれ第1サブツリーに肚
かれ、対応する境界がこのメジアンより大きい外接ボッ
クスは、それぞれ第2サブツリーに置かれる。ルート・
ノードには; 第1サブツリーのすべての外接ボックス
のその次元の最大値と、第2サブツリーのすべての外接
ボックスのその次元の最小値が置かれる。第1サブツリ
ーと第2サブツリーとに割り当てられたボックスは、そ
の次元の第2境界を用いて同じように処理される。この
プロセスは、結果のサブツリーでも同じように、残りの
次元の境界について継続され、ツリーのリーフがソート
済み外接ボックスであるパイナリ●ツリ一〇データ構造
が生成されるまで繰り返される。
が求められる。次に、対応する境界がこのメジアンより
も小さい外漬ボックスは、それぞれ第1サブツリーに肚
かれ、対応する境界がこのメジアンより大きい外接ボッ
クスは、それぞれ第2サブツリーに置かれる。ルート・
ノードには; 第1サブツリーのすべての外接ボックス
のその次元の最大値と、第2サブツリーのすべての外接
ボックスのその次元の最小値が置かれる。第1サブツリ
ーと第2サブツリーとに割り当てられたボックスは、そ
の次元の第2境界を用いて同じように処理される。この
プロセスは、結果のサブツリーでも同じように、残りの
次元の境界について継続され、ツリーのリーフがソート
済み外接ボックスであるパイナリ●ツリ一〇データ構造
が生成されるまで繰り返される。
本発明は、質問に応答してバイナリ●ツリ一〇データ構
造をサーチすることにも関係する。たとえば質問ボック
スQへの応答として、Qとオーバラツプし得るすべての
ボックスのサーチは、Qの第1次元の境界を、ルートに
格納された第1サブツリーの最大値および第2サブツリ
ーの最小値と比較することからスタートする。比較によ
って、第1サブツリー 第2サブツリー またはその両
方に対してさらにサーチが必要かどうかが判定される。
造をサーチすることにも関係する。たとえば質問ボック
スQへの応答として、Qとオーバラツプし得るすべての
ボックスのサーチは、Qの第1次元の境界を、ルートに
格納された第1サブツリーの最大値および第2サブツリ
ーの最小値と比較することからスタートする。比較によ
って、第1サブツリー 第2サブツリー またはその両
方に対してさらにサーチが必要かどうかが判定される。
いずれのサブツリーも、同じ第1次元に対して分割され
ているので、これらのサーチは、ツリーのルートで行わ
れたサーチと同一の方法で継続する。サーチは、同じ方
法で次のツリーの2つのレベルにある次の次元に進み、
後続のレベルにあるすべての次元を通過し、必要に応じ
て第1次元から再開され、ツリーのリーフに達するまで
繰り返される。
ているので、これらのサーチは、ツリーのルートで行わ
れたサーチと同一の方法で継続する。サーチは、同じ方
法で次のツリーの2つのレベルにある次の次元に進み、
後続のレベルにあるすべての次元を通過し、必要に応じ
て第1次元から再開され、ツリーのリーフに達するまで
繰り返される。
本発明は、ジオメトリック・オブジェクトのインターセ
クシ8冫の判定に適用できる。たとえば、点、エッジ、
面、その他の、外接ボックスを伴いゃすいブロバティの
インターセクンaンの′rリ定などがある。本発明は、
VLSIデバイスのモデリングによって、異なるデバイ
ス領域間の電気特性を判定するときにも採用できる。本
発明はまた、たとえばエッジを面と比較して、オーバラ
ップが存在するかどうかを判定するときにも採用できる
。
クシ8冫の判定に適用できる。たとえば、点、エッジ、
面、その他の、外接ボックスを伴いゃすいブロバティの
インターセクンaンの′rリ定などがある。本発明は、
VLSIデバイスのモデリングによって、異なるデバイ
ス領域間の電気特性を判定するときにも採用できる。本
発明はまた、たとえばエッジを面と比較して、オーバラ
ップが存在するかどうかを判定するときにも採用できる
。
さらにまた、オブジェクトが、様々な許容差をt−Yつ
構造に形成されたとき、オブジェクトがオーバラツプす
るかどうかを判定するためにも、また、たとえばオブジ
ェクトの投影像がどのようなときにオーバラツプするか
、そしてオブジェクト自体と必ずしもオーバラツプしな
いのはどのようなときかを判定するためにも採用できる
。
構造に形成されたとき、オブジェクトがオーバラツプす
るかどうかを判定するためにも、また、たとえばオブジ
ェクトの投影像がどのようなときにオーバラツプするか
、そしてオブジェクト自体と必ずしもオーバラツプしな
いのはどのようなときかを判定するためにも採用できる
。
E.実施例
第2図は、本発明の実施に適したデータ処理シ ・ステ
ムiである。システム1は、リード/ライト●メモリ3
に両方向接続された中央処理装置( C PU)2を含
む。メモリ3は、本発明を実施するための命令を含めて
、CPU2によって実行される命令を格納するストレー
ジ●ロケーシーンを含むほか、CPU2によって生成さ
れたデータ構造および他のデータを格納するストレージ
●ロケーシ貨ンを含む。メモリ3はまた、ディスプレイ
4に接続されたストレージ●ロケーシ碕冫も備える。
ムiである。システム1は、リード/ライト●メモリ3
に両方向接続された中央処理装置( C PU)2を含
む。メモリ3は、本発明を実施するための命令を含めて
、CPU2によって実行される命令を格納するストレー
ジ●ロケーシーンを含むほか、CPU2によって生成さ
れたデータ構造および他のデータを格納するストレージ
●ロケーシ貨ンを含む。メモリ3はまた、ディスプレイ
4に接続されたストレージ●ロケーシ碕冫も備える。
ディスプレイ4は、メモリ3の関連するストレージ●ロ
ケーシ譚ンに格納されたジオメトリック・オブジェクト
の2次元表現を表示する。システム1には、キーボード
5など、ユーザがシステムlと対話するためのデータ●
エントリ●デバイスも含まれる。マス●ストレージ●デ
バイス(マス●ストア)6は、メモリ3に接続され、デ
ータと命令をオフラインで記憶する。代表的なマス●ス
トア8には、ウインチェスタ●ディスクなどの磁気スト
レージ媒体が含まれる。第2図に示した実施例に適した
システムの一例として、 IBM 5080グラフィ
クス●ディスプレイ●システムが接続されたIBM
3090などのメインフレーム上で動作する3−dソリ
ッド●モデリング●デザイン●システム(前述のGDP
など)がある。ここで注意したいが、本発明は、ある一
定のハードウェア環境やソフトウェア環境に限定される
ものではない。
ケーシ譚ンに格納されたジオメトリック・オブジェクト
の2次元表現を表示する。システム1には、キーボード
5など、ユーザがシステムlと対話するためのデータ●
エントリ●デバイスも含まれる。マス●ストレージ●デ
バイス(マス●ストア)6は、メモリ3に接続され、デ
ータと命令をオフラインで記憶する。代表的なマス●ス
トア8には、ウインチェスタ●ディスクなどの磁気スト
レージ媒体が含まれる。第2図に示した実施例に適した
システムの一例として、 IBM 5080グラフィ
クス●ディスプレイ●システムが接続されたIBM
3090などのメインフレーム上で動作する3−dソリ
ッド●モデリング●デザイン●システム(前述のGDP
など)がある。ここで注意したいが、本発明は、ある一
定のハードウェア環境やソフトウェア環境に限定される
ものではない。
ここで本発明の方法について、最初にk − dツリー
●データ構造とあわせて説明する。まずノリー●データ
構造の説明に最適な例として、第3図に示した比較的簡
単な一組のインクーパルを煮える。本発明の目的から、
インターバルは、所定の質問インターバルとオーバラッ
プするインターバルのサブセットを判定するのに必要な
ときに、解を効率的に決定できるように前処理される。
●データ構造とあわせて説明する。まずノリー●データ
構造の説明に最適な例として、第3図に示した比較的簡
単な一組のインクーパルを煮える。本発明の目的から、
インターバルは、所定の質問インターバルとオーバラッ
プするインターバルのサブセットを判定するのに必要な
ときに、解を効率的に決定できるように前処理される。
第3図に示すとわり、8個のライン●インターバルから
成るセットを考える(説明の便宜上、3本のライン上に
示した)。各インターバルの上にそれぞれのインターバ
ルの端点の値を示した。最終的なソート順序はローマ数
字で下に示した。第3図は、ソートされていないデータ
を本発明に与えた状態を示したものとみることができる
。第SA図に、第4図のツリーの表現に用いられるデー
タ構造を、第5B図に、本発明によってソートされたデ
ータを示す。第4図のパイナリ●ツリー●データ構造は
、インターバルから次のようにして構成される。まず、
各インターバルの左のすべての端点のメジアン(X)が
求められる。次に、Xの左から始まるすべてのインター
バルが、ツリー●ルート10aの左のサブツリー12に
、Xの右から始まるすべてのインターバルが、ルート1
0aの右のサブツリー14に置かれる。ルート10aに
置かれた値(10と5)は、それぞれ、左サブツリー1
2の値の最大値、右サブツリー14の値の最小値を表す
。左サブツリー12および右サブツリー14に割り当て
られたインターバルは、次の座標すなわちインターバル
の左の端点に対する右の端点を使用して同様に処理され
る。この方法で、左の端点のメジアンの判定と右の端点
のメジアンの判定を交互に行い、繰り返し適用すること
により、図のようなバイナリ●ツリーが生成される。こ
うして得られたソート済みデータ●アレイは、第5B図
に示したツリー10のリーフと等しくなり、第5A図の
内容は、すべてのサプノリーの最小値と最大値になる。
成るセットを考える(説明の便宜上、3本のライン上に
示した)。各インターバルの上にそれぞれのインターバ
ルの端点の値を示した。最終的なソート順序はローマ数
字で下に示した。第3図は、ソートされていないデータ
を本発明に与えた状態を示したものとみることができる
。第SA図に、第4図のツリーの表現に用いられるデー
タ構造を、第5B図に、本発明によってソートされたデ
ータを示す。第4図のパイナリ●ツリー●データ構造は
、インターバルから次のようにして構成される。まず、
各インターバルの左のすべての端点のメジアン(X)が
求められる。次に、Xの左から始まるすべてのインター
バルが、ツリー●ルート10aの左のサブツリー12に
、Xの右から始まるすべてのインターバルが、ルート1
0aの右のサブツリー14に置かれる。ルート10aに
置かれた値(10と5)は、それぞれ、左サブツリー1
2の値の最大値、右サブツリー14の値の最小値を表す
。左サブツリー12および右サブツリー14に割り当て
られたインターバルは、次の座標すなわちインターバル
の左の端点に対する右の端点を使用して同様に処理され
る。この方法で、左の端点のメジアンの判定と右の端点
のメジアンの判定を交互に行い、繰り返し適用すること
により、図のようなバイナリ●ツリーが生成される。こ
うして得られたソート済みデータ●アレイは、第5B図
に示したツリー10のリーフと等しくなり、第5A図の
内容は、すべてのサプノリーの最小値と最大値になる。
これによって簡単なバイナリ・ツリー・データ摺造が得
られる。質問に応答してデータ構造がサーチされるとき
、この構造から得られるメリットは大きい。
られる。質問に応答してデータ構造がサーチされるとき
、この構造から得られるメリットは大きい。
本発明は、質問(Q)インターバルに応答してパイナリ
●ツリー●データ構造10をサーチすることにも関係す
る。図の例では、Qインターバルは左端点の値が3.5
で、右端点の値が4.5である。Qインターバルに応答
して、Qインターバルの左端点の値(3.5)を左サブ
ツリーの最大値(10)と、Qインターバルの右端点の
値(4.6)を右サブツリーの最小値(5)とそれぞれ
比較することによって、Qインターバルにオーバラツプ
するすべてのインターバルが求められる。
●ツリー●データ構造10をサーチすることにも関係す
る。図の例では、Qインターバルは左端点の値が3.5
で、右端点の値が4.5である。Qインターバルに応答
して、Qインターバルの左端点の値(3.5)を左サブ
ツリーの最大値(10)と、Qインターバルの右端点の
値(4.6)を右サブツリーの最小値(5)とそれぞれ
比較することによって、Qインターバルにオーバラツプ
するすべてのインターバルが求められる。
先に述べたとおり、左サブツリーの最大値と右サブツリ
ーの最小値は、ルートlOaに前もって格納されている
。この比較により、左サブツリー12、右サブツリー1
4、または両方のサブツリーについてさらにサーチを実
行する必要があるかどうかを指定する情報が生成される
。
ーの最小値は、ルートlOaに前もって格納されている
。この比較により、左サブツリー12、右サブツリー1
4、または両方のサブツリーについてさらにサーチを実
行する必要があるかどうかを指定する情報が生成される
。
図の例では、Qインターバルの左端点は、左サブツリー
の最大値よりも小さい(3.5<10)が、Qインター
バルの右端点は、右サブツリーの最小値よりも大きくは
ない( 4. 5 < 5 )。その結果、右サブツ
リー14は否定され、サーチは、左サブツリーl2の7
ードに限定される。子ノード12aにわいては、Qイン
ターバルの左端点は、左サブツリーの最大値よりも小さ
い( 3. 5 < 4 )ことが分かり、Qインタ
ーバルの右端点は右サブツリーの最小値よりも大きい(
4. 5 > O )。その結果、サーチは、子ノ
ード12aに示したように、左サブツリー12bと右サ
ブツリー12Cの両方で継続される。子ノード12bで
は、Qイ/ターバルの左端点は左サブツリーの最大値よ
りも小さい(3.5>2)ことが分かるが、Qインター
バルの右端点は右サブツリーの最小値よりも大きい(4
.5>1)。その結果、サーチは、子ノード12bに示
したように、右サブツリーにおいて継続される。子ノー
ド12cでは、Qインターバルの左端点は左サブツリー
の最大値よりも小さい(3.5<10)ことが分かり、
Qイ/ターバルの右端点は右サブツリーの最小値よりも
大きい( 4. 5 > 3 )。その結果、サーチ
は、子ノード12cに示したように、左右両方のサブソ
リーで継続される。ツリー10のリーフでは残リ3回の
判定が行われ、Qインターバルにオーバラップするすべ
てのインターバル(IIX III,IV)の判定が行
われる。
の最大値よりも小さい(3.5<10)が、Qインター
バルの右端点は、右サブツリーの最小値よりも大きくは
ない( 4. 5 < 5 )。その結果、右サブツ
リー14は否定され、サーチは、左サブツリーl2の7
ードに限定される。子ノード12aにわいては、Qイン
ターバルの左端点は、左サブツリーの最大値よりも小さ
い( 3. 5 < 4 )ことが分かり、Qインタ
ーバルの右端点は右サブツリーの最小値よりも大きい(
4. 5 > O )。その結果、サーチは、子ノ
ード12aに示したように、左サブツリー12bと右サ
ブツリー12Cの両方で継続される。子ノード12bで
は、Qイ/ターバルの左端点は左サブツリーの最大値よ
りも小さい(3.5>2)ことが分かるが、Qインター
バルの右端点は右サブツリーの最小値よりも大きい(4
.5>1)。その結果、サーチは、子ノード12bに示
したように、右サブツリーにおいて継続される。子ノー
ド12cでは、Qインターバルの左端点は左サブツリー
の最大値よりも小さい(3.5<10)ことが分かり、
Qイ/ターバルの右端点は右サブツリーの最小値よりも
大きい( 4. 5 > 3 )。その結果、サーチ
は、子ノード12cに示したように、左右両方のサブソ
リーで継続される。ツリー10のリーフでは残リ3回の
判定が行われ、Qインターバルにオーバラップするすべ
てのインターバル(IIX III,IV)の判定が行
われる。
パイナリ●ツリー●データ構造が構成されるこの方法は
、各ノードに対する一組のインターバルの端点のメジア
ンを゛I’l1定する過程を伴う。これが最も効果的に
達成されるのは、クィック●ソートに似たメジアン発見
アルゴリズムを採用した場合であり、前処理ステップの
予測時間は、代表値で0(n log n)となる
。第6図に、本発明を用いた場合(ラインA)と用いな
い場合(ラインB)について隠線消去アルゴリズムを実
行した結果を、仮想CPU時間(秒)と処P1!エッジ
数で示した。本発明を採用することで、処理に要する時
間が大幅に短縮されているのが分かる。
、各ノードに対する一組のインターバルの端点のメジア
ンを゛I’l1定する過程を伴う。これが最も効果的に
達成されるのは、クィック●ソートに似たメジアン発見
アルゴリズムを採用した場合であり、前処理ステップの
予測時間は、代表値で0(n log n)となる
。第6図に、本発明を用いた場合(ラインA)と用いな
い場合(ラインB)について隠線消去アルゴリズムを実
行した結果を、仮想CPU時間(秒)と処P1!エッジ
数で示した。本発明を採用することで、処理に要する時
間が大幅に短縮されているのが分かる。
l次元リニア●インターバルに関する上述の内容は、第
1次元の境界について反復する前に、連続した境界の組
またはペアを順に考慮することによって、高位の次元に
簡単に拡大できる。したがって、2次元ボックスの場合
、バイナリ・ツリー・データ構造は、最初にボックスの
左右の座標を考慮し、次に上下の座標を順に考慮するこ
とによって構成される。これは、すべてのデータがソー
トされるまで繰り返される。この方法は、所用時間や実
行計算量のどちらも増加させずに高次元に容易に一般化
できる。
1次元の境界について反復する前に、連続した境界の組
またはペアを順に考慮することによって、高位の次元に
簡単に拡大できる。したがって、2次元ボックスの場合
、バイナリ・ツリー・データ構造は、最初にボックスの
左右の座標を考慮し、次に上下の座標を順に考慮するこ
とによって構成される。これは、すべてのデータがソー
トされるまで繰り返される。この方法は、所用時間や実
行計算量のどちらも増加させずに高次元に容易に一般化
できる。
たとえば、水平リニア●インターバルをンート/サーチ
する前記の例は、インターバルの左右の境界を表す2つ
の座標X1、X2で実現できる。
する前記の例は、インターバルの左右の境界を表す2つ
の座標X1、X2で実現できる。
2−d・ンオメトリック●オブンエク1・のソーティン
グは、ボックスの上下左右の境界を表す4つの座標XI
、X2、5’lN y2によって実現できる。
グは、ボックスの上下左右の境界を表す4つの座標XI
、X2、5’lN y2によって実現できる。
3−dジオメトリック●オブジェクi・のソーティング
は、ボックスの上下左右前後の境界を表す6つの座標×
1、×2、y1、y2、z1、z2によって実現できる
。これより高次元のオブジェクトでは、それに応じた数
の座標が必要になる。座標は、オブジェクトのコーナま
たは、リニア◆インターバルの場合にはオブジェクトの
端邪に対応ずる。ジオメトリック・オブジェクトやボッ
クスの数を2倍にすれば、バイナリ・ツリー・データI
M造のレベルが増す。たとえば50.000個の外接ボ
ノクスを表現するには、16レベルのツリーが必要であ
る(O(log250,000)。
は、ボックスの上下左右前後の境界を表す6つの座標×
1、×2、y1、y2、z1、z2によって実現できる
。これより高次元のオブジェクトでは、それに応じた数
の座標が必要になる。座標は、オブジェクトのコーナま
たは、リニア◆インターバルの場合にはオブジェクトの
端邪に対応ずる。ジオメトリック・オブジェクトやボッ
クスの数を2倍にすれば、バイナリ・ツリー・データI
M造のレベルが増す。たとえば50.000個の外接ボ
ノクスを表現するには、16レベルのツリーが必要であ
る(O(log250,000)。
第4図の例を引けば、2−dオブジェクトの場合、ノー
ド10aは、外接ボックスの左サイドに、ノード12a
s l4aは右サイドに、ノーt’l2b, 1
2 C) 1 4 b. 1 4 cは下側に関連
する。
ド10aは、外接ボックスの左サイドに、ノード12a
s l4aは右サイドに、ノーt’l2b, 1
2 C) 1 4 b. 1 4 cは下側に関連
する。
2−d外接ボックスの上側を表現するには、1レベル1
6個の子ノード(図示なし)を追加する必要がある。そ
のときバイナリ・ツリー・データ構造を構成するために
、孤立した外接ボックスによってツリーのリーフが表現
されるまで、境界がサイクルスルーされる。
6個の子ノード(図示なし)を追加する必要がある。そ
のときバイナリ・ツリー・データ構造を構成するために
、孤立した外接ボックスによってツリーのリーフが表現
されるまで、境界がサイクルスルーされる。
すなわち、この方法は、ジオメトリック・オブジェクト
のインタラクシF冫をすり定するため(こ、ジオメトリ
ック・オブジェクトの外接ボックスに関連するバイナリ
・ツリー・データ構造を横或するものである。構成プロ
セスは、外接ボックスのすべての左サイドのメジアン値
など、外接ボックスの第1境界または第1次元のすべて
の値についてメジアン値Xを求めることによって、ルー
ト・ノードからスタートする。次に、対応する境界がX
より小さい外接ボックスが、ツリー●ルートの左サブツ
リーなど、第1サブツリーに置かれる。
のインタラクシF冫をすり定するため(こ、ジオメトリ
ック・オブジェクトの外接ボックスに関連するバイナリ
・ツリー・データ構造を横或するものである。構成プロ
セスは、外接ボックスのすべての左サイドのメジアン値
など、外接ボックスの第1境界または第1次元のすべて
の値についてメジアン値Xを求めることによって、ルー
ト・ノードからスタートする。次に、対応する境界がX
より小さい外接ボックスが、ツリー●ルートの左サブツ
リーなど、第1サブツリーに置かれる。
対応する境界がXより大きい外接ボックスは、ツリ一一
ルートの右サブツリーなど、第2サブツリーに置かれる
。これら2つのサブツリーは、ツリーの第2レベルを成
す。ルート・ノードには、第1サブツリーの外接ボック
スからの第1次元の最大境界の最大値と、第2サブツリ
ーの外接ボックスからの第1次元の最小境界の最小値が
12Iかれる。第1サブツリーと第2サブツリーに害1
1り当てられたボックスは、第1次元の第2境界を川い
ることで同様に処理される。このプロセスは、得られた
サブツリーについても、他の次元の境界を用いることに
よって同様に継続される。全次元の境界を1回用いてソ
ートできる数よりも外接ボックスの数が多い場合は、得
られたサブツリーのソーティングは、第1次元の第1境
界に対して再開される。これは、ツリーのリーフがソー
ト済み外接ボックスとなるパイナリ●ツリー●デークL
i 令が生成されるまで繰り返される。
ルートの右サブツリーなど、第2サブツリーに置かれる
。これら2つのサブツリーは、ツリーの第2レベルを成
す。ルート・ノードには、第1サブツリーの外接ボック
スからの第1次元の最大境界の最大値と、第2サブツリ
ーの外接ボックスからの第1次元の最小境界の最小値が
12Iかれる。第1サブツリーと第2サブツリーに害1
1り当てられたボックスは、第1次元の第2境界を川い
ることで同様に処理される。このプロセスは、得られた
サブツリーについても、他の次元の境界を用いることに
よって同様に継続される。全次元の境界を1回用いてソ
ートできる数よりも外接ボックスの数が多い場合は、得
られたサブツリーのソーティングは、第1次元の第1境
界に対して再開される。これは、ツリーのリーフがソー
ト済み外接ボックスとなるパイナリ●ツリー●デークL
i 令が生成されるまで繰り返される。
本発明の方法は、先に挙げたBentleyのものとは
異なる一一ジャーナル記事“Multldlmensl
onalblnary Search trees
used for assoclatlves
earchlog’ ComIIunlcatl
ons of the ACM, Vol.1
8 (1975)。Bentleyの方法テハ、本発
明によってリーフに格納されるもの、すなわちソートさ
れたデータが、Bentleyのk−dツリー構造の各
7一ドに格納される。本発明では、バイナリ・ツリーの
各7ードに、左右のサブツリーのリミットが格納される
ので、質問インターバルまたは質問ボックスに応じたツ
リーのサーチ効率が大幅に向上する。その点、Bent
leyの方法は、本発明によるジオメトリック・オブジ
ェクトのソーティング/サーチ方法よりも効率が低いと
宮える。
異なる一一ジャーナル記事“Multldlmensl
onalblnary Search trees
used for assoclatlves
earchlog’ ComIIunlcatl
ons of the ACM, Vol.1
8 (1975)。Bentleyの方法テハ、本発
明によってリーフに格納されるもの、すなわちソートさ
れたデータが、Bentleyのk−dツリー構造の各
7一ドに格納される。本発明では、バイナリ・ツリーの
各7ードに、左右のサブツリーのリミットが格納される
ので、質問インターバルまたは質問ボックスに応じたツ
リーのサーチ効率が大幅に向上する。その点、Bent
leyの方法は、本発明によるジオメトリック・オブジ
ェクトのソーティング/サーチ方法よりも効率が低いと
宮える。
本発明はまた、質問に対応したパイナリ●ツリー●デー
タ構造のサーチにも関係する。たとえば質問ボックスQ
への応答として、Qとオーバラツプし得るすべてのボッ
クスのサーチが、Qの第1次元の最小境界を、ルートに
格納された第1サブツリーの最大値と、およびQの第1
次元の最大境界を、第2サブツリーの最小値と比較する
ことからスタートする。Qの最小境界が第1サブツリー
の最大値よりも小さい場合は、第1サブツリーに対して
さらにサーチが実行される。Qの最大境界が第2サブツ
リーの最小値よりも大きい場合は、第2サブツリーに対
してサーチがさらに実行される。このように、これらの
テストにより、第1サブツリー 第2サブツリー また
はその両方に対してさらにサーチが必要かどうかが判定
される。これらのサブツリーの各ノードでのサーチ●テ
ストは、ツリーのルートで行われたテストと同一である
。これらサブツリーが、第1次元の最大境界に対してソ
ートされたという事実があるにしても同一である。それ
は、これらのノードに格納された最小値と最大値が、そ
れらのソーティングに用いられた境界とは独立している
からである。
タ構造のサーチにも関係する。たとえば質問ボックスQ
への応答として、Qとオーバラツプし得るすべてのボッ
クスのサーチが、Qの第1次元の最小境界を、ルートに
格納された第1サブツリーの最大値と、およびQの第1
次元の最大境界を、第2サブツリーの最小値と比較する
ことからスタートする。Qの最小境界が第1サブツリー
の最大値よりも小さい場合は、第1サブツリーに対して
さらにサーチが実行される。Qの最大境界が第2サブツ
リーの最小値よりも大きい場合は、第2サブツリーに対
してサーチがさらに実行される。このように、これらの
テストにより、第1サブツリー 第2サブツリー また
はその両方に対してさらにサーチが必要かどうかが判定
される。これらのサブツリーの各ノードでのサーチ●テ
ストは、ツリーのルートで行われたテストと同一である
。これらサブツリーが、第1次元の最大境界に対してソ
ートされたという事実があるにしても同一である。それ
は、これらのノードに格納された最小値と最大値が、そ
れらのソーティングに用いられた境界とは独立している
からである。
最小/最大値は、境界によって区切られる次元にのみ依
存する。サーチは、同じ方法で、ツリーの第3、第4の
レベルにある第2次元で続けられる。
存する。サーチは、同じ方法で、ツリーの第3、第4の
レベルにある第2次元で続けられる。
それらが第2次元に対してソートされたからである。後
続するレベルにおけるサーチは、そのレベルでのソーテ
ィングを制御した次元に対して実行され、ツリーのリー
フに達するまで続けられる。
続するレベルにおけるサーチは、そのレベルでのソーテ
ィングを制御した次元に対して実行され、ツリーのリー
フに達するまで続けられる。
サーチによって識別された、フリーのリーフにおける外
接ボックスは、質問ボックスとオーバラツプする外接ボ
ックスである。
接ボックスは、質問ボックスとオーバラツプする外接ボ
ックスである。
本発明の方法は、添付の表に示したようなアルゴリズム
で実現できる。表のアルゴリズムは、ボックスをソート
したk−dツリーを構成するKDSortモジュールと
、ボックスのこのk−dツリーをサーチするKDSee
kモジュールの2つである。アルゴリズムは、特に、r
’¥’l’h小数点システムと併用したときに強力なも
のとなる。このアルゴリズムは既知のサイズのアレイを
用いることで、メモリ3内のアレイ空間の事前割り当て
を可能にする。さらに所要メモリ空間全体が大きくなる
ことはなく、ボックス座標に関係するオリジナル●デー
タの格納に必要な空間の約2倍未満である。アルゴリズ
ムは、隠線消去などを行う既存のプロセッサに、プログ
ラム●ロジックを大きく変更することなく容易に組み込
める。
で実現できる。表のアルゴリズムは、ボックスをソート
したk−dツリーを構成するKDSortモジュールと
、ボックスのこのk−dツリーをサーチするKDSee
kモジュールの2つである。アルゴリズムは、特に、r
’¥’l’h小数点システムと併用したときに強力なも
のとなる。このアルゴリズムは既知のサイズのアレイを
用いることで、メモリ3内のアレイ空間の事前割り当て
を可能にする。さらに所要メモリ空間全体が大きくなる
ことはなく、ボックス座標に関係するオリジナル●デー
タの格納に必要な空間の約2倍未満である。アルゴリズ
ムは、隠線消去などを行う既存のプロセッサに、プログ
ラム●ロジックを大きく変更することなく容易に組み込
める。
先にも述べたように、本発明による空間ソーティングは
、隠線消去以外のアプリケーションにも適用でき、複数
のオブジェクトのオーバラップを判定する他のアプリケ
ーシ日ンにも採用できる。
、隠線消去以外のアプリケーションにも適用でき、複数
のオブジェクトのオーバラップを判定する他のアプリケ
ーシ日ンにも採用できる。
他のアブリケーシeンとしては、ジオメトリック●マー
ジ●アルゴリズム、高品位レンダリング●アノレゴリズ
ム、インターフェアレンス●チェッカなどがある。
ジ●アルゴリズム、高品位レンダリング●アノレゴリズ
ム、インターフェアレンス●チェッカなどがある。
本発明については、その要諦と範囲から逸脱することな
く、種々の変形が可能である。一例として、上述のもの
とは逆の方法により、左サブツリーは、次のサブツリー
の最大リミットを格納するのに、右サブツリーは、低位
のリミットを格納するのに採用できる。
く、種々の変形が可能である。一例として、上述のもの
とは逆の方法により、左サブツリーは、次のサブツリー
の最大リミットを格納するのに、右サブツリーは、低位
のリミットを格納するのに採用できる。
F.発明の効果
本発明によれば、質問に対する応答効率を高めるために
、ジオメトリック・オブジェクトを空間的にソートする
方法がU4供される。
、ジオメトリック・オブジェクトを空間的にソートする
方法がU4供される。
【図面の簡単な説明】
第1A図は、隠線モードで表示されるソリッド●モデリ
ング●プログラムの出力図である。 第IB図は、第1A図の出力の一部であり、2つのエッ
ジに伴う外接ボックスを示す図である。 第2図は、本発明の実施に適したデータ処理システムの
ハードウェアを示す図である。 第3図は、あるライン」二の一組のインターバルとこれ
に伴う質問インターバルを示す図である。 第4図は、本発明に従って構成された、第3図のインタ
ーバルに対するツリー●データ構造の説明図である。 第5A図は、第3図と第4図の例に対応するツリー●デ
ータIl4造からの情報の説明図である。 第5B図は、第5A図に対応するソート●データからの
情報の説明図である。 第6図は、 本発明を用いた場合と用いない場合 の隠線消去アルプリ ズムのパフォーマ ン スを7バす 図である。
ング●プログラムの出力図である。 第IB図は、第1A図の出力の一部であり、2つのエッ
ジに伴う外接ボックスを示す図である。 第2図は、本発明の実施に適したデータ処理システムの
ハードウェアを示す図である。 第3図は、あるライン」二の一組のインターバルとこれ
に伴う質問インターバルを示す図である。 第4図は、本発明に従って構成された、第3図のインタ
ーバルに対するツリー●データ構造の説明図である。 第5A図は、第3図と第4図の例に対応するツリー●デ
ータIl4造からの情報の説明図である。 第5B図は、第5A図に対応するソート●データからの
情報の説明図である。 第6図は、 本発明を用いた場合と用いない場合 の隠線消去アルプリ ズムのパフォーマ ン スを7バす 図である。
Claims (12)
- (1)ジオメトリック・オブジェクトのインタラクショ
ンを判定する方法であって、該ジオメトリック・オブジ
ェクトの境界に関する情報を表すバイナリ・ツリー・デ
ータ構造を構成することによって、該オブジェクトをソ
ートする初期ステップを含む方法。 - (2)請求項(1)に記載の方法であって、オブジェク
トをソートするステップが、各ジオメトリック・オブジ
ェクトの境界の所与のペアについて、 上記オブジェクトの各次元の最小境界値のメジアン値を
求めるステップと、 最小境界値が上記メジアン値よりも小さいすべてのオブ
ジェクトを、バイナリ・ツリーの第1サブツリーに割り
当てるステップと、 最小境界値が上記メジアン値よりも大きいすべてのオブ
ジェクトを、上記バイナリ・ツリーの第2サブツリーに
割り当てるステップと、 上記第1サブツリーに割り当てられたすべての境界値の
最大値を表わす値を上記バイナリ・ツリーのルート・ノ
ードに格納するステップと、上記第2サブツリーに割り
当てられたすべての境界値の最小値を表わす値を上記バ
イナリ・ツリーのルート・ノードに格納するステップ、
によって実行される方法。 - (3)請求項(2)に記載の方法であって、メジアン値
を求めるステップ、第1と第2の割り当てステップ、お
よび第1と第2の格納ステップが、後続の境界について
複数回実行され、ツリーのリーフに達するまで繰り返さ
れる、方法。 - (4)請求項(3)に記載の方法であって、質問に関係
する境界にジオメトリック・オブジェクトがオーバラッ
プするかどうかを判定するために、バイナリ・ツリー・
データ構造をサーチするステップを含む方法。 - (5)請求項(4)に記載の方法であって、サーチ・ス
テップに、 質問の最小境界を、第1サブツリーの対応する最大境界
値と比較するステップと、 質問の最大境界を、第2サブツリーの対応する最小境界
値と比較するステップと、 上記第1および第2の比較ステップの結果として、 上記第1サブツリーのみ、上記第2サブツリーのみ、ま
たは該第1および第2のサブツリーの両方について、サ
ーチをさらに実行するかどうかを指定するステップ、 が含まれる方法。 - (6)請求項(5)に記載の方法であって、第1と第2
の比較ステップおよび指定ステップが、バイナリ・ツリ
ーの指定されたサブツリーについて、ツリーのリーフに
達するまで繰り返し実行される方法。 - (7)ジオメトリック・オブジェクトの外接ボックスの
オーバラップの判定効率を高めるために、該ボックスを
前処理する方法であって、 各外接ボックスに伴う次元の境界値のメジアン値を求め
ることによって、バイナリ・ツリー・データ構造を構成
するステップと、 対応する最小境界値が上記メジアン値よりも小さいすべ
ての外接ボックスを上記バイナリ・ツリー・データ構造
の第1サブツリーに割り当てるステップと、 対応する最小境界値が上記メジアン値よりも大きいすべ
ての外接ボックスを上記バイナリ・ツリー・データ構造
の第2サブツリーに割り当てるステップと、 上記第1サブツリーに割り当てられた外接ボックスの対
応するすべての値の最大値を表す値を上記バイナリ・ツ
リー・データ構造のルート・ノードに格納するステップ
と、 上記第2サブツリーに割り当てられた外接ボックスの対
応するすべての値の最小値を表す値を上記バイナリ・ツ
リー・データ構造のルート・ノードに格納するステップ
とを含む、方法。 - (8)請求項(7)に記載の方法であって、メジアン値
を求めるステップ、第1と第2の割り当てステップ、お
よび第1と第2の格納ステップが、バイナリ・ツリー・
データ構造の各サブツリーの各ノードについて実行され
る方法。 - (9)ジオメトリック・オブジェクトのオーバラップを
判定する方法であって、該ジオメトリック・オブジェク
トの境界に関する情報を表し、少なくとも第1と第2の
サブツリーを含むバイナリ・ツリー・データ構造を構成
することによって、該オブジェクトをソートするステッ
プと、質問に関連する境界に該ジオメトリック・オブジ
ェクトがオーバラップするかどうかを判定するために該
バイナリ・ツリー・データ構造をサーチするステップと
を含み、該サーチ・ステップが、 上記質問に関連する最小境界を、第1サブツリーの対応
する最大境界値と比較するステップと、上記質問に関連
する最大境界を、第2サブツリーの対応する最小境界値
と比較するステップと、上記第1および第2の比較ステ
ップの結果として、 上記第1サブツリーのみ、上記第2サブツリーのみ、ま
たは該第1および第2のサブツリーの両方について、サ
ーチをさらに実行するかどうかを指定するステップとを
含む、方法。 - (10)請求項(9)に記載の方法であって、第1と第
2の比較ステップおよび指定ステップが、バイナリ・ツ
リーの指定されたサブツリーについて、該バイナリ・ツ
リーのリーフに達するまで繰り返し実行される方法。 - (11)請求項(9)に記載の方法であって、ソーティ
ング・ステップが、各ジオメトリック・オブジェクトの
境界の所与のペアについて、上記オブジェクトの各次元
の最小境界値のメジアン値を求めるステップと、 対応する最小境界値が上記メジアン値よりも小さいすべ
てのオブジェクトを上記バイナリ・ツリーの第1サブツ
リーに割り当てるステップと、対応する最小境界値が上
記メジアン値よりも大きいすべてのオブジェクトを上記
バイナリ・ツリーの第2サブツリーに割り当てるステッ
プと、上記第1サブツリーに割り当てられたすべてのオ
ブジェクトの最大境界値を表す値を上記バイナリ・ツリ
ーのルート・ノードに格納するステップと、 上記第2サブツリーに割り当てられたすべてのオブジェ
クトの最小境界値を表す値を上記バイナリ・ツリーのル
ート・ノードに格納するステップ、によって実行される
方法。 - (12)請求項(11)に記載の方法であって、メジア
ン値を求めるステップ、第1と第2の割り当てステップ
、および第1と第2の格納ステップが、バイナリ・ツリ
ーの各サブツリーの各ノードについて実行される方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43362189A | 1989-11-08 | 1989-11-08 | |
| US433621 | 1989-11-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03168884A true JPH03168884A (ja) | 1991-07-22 |
Family
ID=23720867
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2299991A Pending JPH03168884A (ja) | 1989-11-08 | 1990-11-07 | ジオメトリツク・オブジエクトのインタラクシヨン判定処理方法 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP0436790A3 (ja) |
| JP (1) | JPH03168884A (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5613049A (en) * | 1994-10-26 | 1997-03-18 | The Boeing Company | Method for creating spatially balanced bounding volume hierarchies for use in a computer generated display of a complex structure |
| JP3034483B2 (ja) * | 1997-04-21 | 2000-04-17 | 核燃料サイクル開発機構 | オブジェクト探索方法およびその方法を用いた装置 |
| JP2937937B2 (ja) * | 1997-04-21 | 1999-08-23 | 核燃料サイクル開発機構 | 三次元オブジェクトデータ処理方法 |
| US20010013867A1 (en) * | 1998-04-27 | 2001-08-16 | Kenshiu Watanabe | Object search method and object search system |
| US8422731B2 (en) | 2008-09-10 | 2013-04-16 | Yahoo! Inc. | System, method, and apparatus for video fingerprinting |
-
1990
- 1990-10-30 EP EP19900120776 patent/EP0436790A3/en not_active Withdrawn
- 1990-11-07 JP JP2299991A patent/JPH03168884A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| EP0436790A3 (en) | 1992-12-30 |
| EP0436790A2 (en) | 1991-07-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Otair | Approximate k-nearest neighbour based spatial clustering using kd tree | |
| Davidson et al. | Work-efficient parallel GPU methods for single-source shortest paths | |
| Evangelou et al. | Fast radius search exploiting ray-tracing frameworks | |
| Blelloch et al. | Parallel write-efficient algorithms and data structures for computational geometry | |
| JPH05266212A (ja) | データプロセッサによってオブジェクトの作成を実行する方法及びグラフィックスディスプレイ装置 | |
| JP2004532453A (ja) | データ処理システムにおいてカテゴリ・データ・セットを順序付けするための連続最適化の使用 | |
| Ying et al. | An intrinsic algorithm for parallel poisson disk sampling on arbitrary surfaces | |
| WO2001008263A2 (en) | Method and apparatus for generating atomic parts of graphic representation through skeletonization for interactive visualization applications | |
| Cignoni et al. | Selective refinement queries for volume visualization of unstructured tetrahedral meshes | |
| CN116547716A (zh) | 包围体层次结构生成 | |
| Nagarajan et al. | Rt-dbscan: Accelerating dbscan using ray tracing hardware | |
| Robert et al. | Fast binary image processing using binary decision diagrams | |
| Edwards et al. | Approximating the generalized voronoi diagram of closely spaced objects | |
| US10529444B1 (en) | System that rapidly generates a solvent-excluded surface | |
| JPH03168884A (ja) | ジオメトリツク・オブジエクトのインタラクシヨン判定処理方法 | |
| CN108171785B (zh) | 用于光线跟踪的sah-kd树设计方法 | |
| Figueiredo et al. | A survey on collision detection techniques for virtual environments | |
| Goodrich et al. | Parallel algorithms in geometry | |
| Shekhar et al. | Efficient join-index-based spatial-join processing: A clustering approach | |
| Andreica et al. | Sequential and mapreduce-based algorithms for constructing an in-place multidimensional quad-tree index for answering fixed-radius nearest neighbor queries | |
| Lee et al. | The DR-tree: a main memory data structure for complex multi-dimensional objects | |
| Livnat | Accelerated Isosurface Extraction Approaches. | |
| US10877948B1 (en) | Method and computer program product for geospatial binning | |
| Lanzagorta et al. | Quantum rendering | |
| Liu | Computations of Delaunay and higher order triangulations, with applications to splines |