JP4372477B2 - 2分木を巡回する方法およびシステム - Google Patents
2分木を巡回する方法およびシステム Download PDFInfo
- Publication number
- JP4372477B2 JP4372477B2 JP2003281990A JP2003281990A JP4372477B2 JP 4372477 B2 JP4372477 B2 JP 4372477B2 JP 2003281990 A JP2003281990 A JP 2003281990A JP 2003281990 A JP2003281990 A JP 2003281990A JP 4372477 B2 JP4372477 B2 JP 4372477B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- binary tree
- code
- position code
- ray
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/957—Multidimensional
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Generation (AREA)
Description
図6に示すように、本発明による点の位置検出オペレーションは、領域[0,1]N上で定義される2分木の[0,1)Nに位置する所定の点を含むリーフセルを検出する。
領域の位置検出は、所定の領域を囲む最小セルまたは一組のセルを発見する。我々の方法は、長方形の、座標軸に位置合わせされた境界ボックスを完全に囲む単一の最小セルを発見する。
近傍セル探索は、指定された方向、例えば左、上端、および左上端で所定のセルに隣接するセルを発見する。いくつかの変形形態が存在する。これらの変形形態には、共通の頂点、端、もしくは面により近傍セルを発見するもの、所定のセルと同じサイズもしくは所定のセルより大きなサイズの近傍セルを発見するもの、または、所定のセルのすべてのリーフセルの近傍セルを発見するものが含まれる。
3次元2分木、すなわち8分木に記憶された3次元図形オブジェクトのレイトレーシングは、当該2分木を通過する光線に沿ったリーフセルの順序列を求めること、それぞれの空でないリーフセルが光線面(ray-surface)と交差しているかどうかを判定すること、および光線面の交差を処理することを必要とする。
Claims (24)
- メモリに記憶され、かつ、2分木と関連した特定用途向けデータの位置を検出するために、前記メモリに記憶された前記2分木を巡回する方法であって、前記2分木は、N次元空間の、セルの階層への空間分割を備え、それぞれのセルは、前記N次元空間を囲むルートセルから開始し、前記セルのN個の中間平面に沿って2N個の子セルに連続的に、かつ、条件付きで分割され、それぞれのセルは、前記特定用途向けデータを構成する関連した特性を有し、子セルが親セルから直接インデックス付けされ、該方法は、
位置コードの組を指定することと、
セルを指定することと、
前記セルの前記特性が終了条件を満たすかどうかを判定すること、そして、終了条件を満たさない場合には判定されるべき次のセルを直接インデックスするために、前記位置コードの組に対して算術オペレーションのみを適用することと、そうでなく、
終了条件を満たす場合には、前記セルを目的のセルとして特定することと、
前記目的のセルの前記特定用途向けデータを前記メモリから取り出すことと、
を備えた方法。 - 前記位置コードを指定するステップは、
前記N次元空間におけるN次元の点のN個の座標を求めることと、
結果を生成するために、それぞれの座標について、該座標の値に2k(ただしkは前記2分木の前記ルートセルのレベルである)を乗算することと、
前記対応する位置コードを指定するために、前記結果をバイナリ形式に変換することと
をさらに備えた請求項1に記載の方法。 - 前記位置コードの組のそれぞれは、前記N次元空間の点に対応する座標から求められ、前記セルは、前記2分木の前記ルートセルであり、前記終了条件は、前記セルがリーフセルである場合に満たされる、請求項1に記載の方法。
- 前記点を含むN次元長方形領域を最小頂点v0および最大頂点v1によって表すことと、
リーフセルに到達するか、または前記2分木の終了レベルに到達すると、前記終了条件を満たすことと
をさらに備え、
前記終了レベルは、前記N次元長方形領域を囲む最小セルを発見するための前記最小頂点v0および前記最大頂点v1の位置コードから求められる請求項3に記載の方法。 - 前記終了レベルを求めることは、
前記N次元空間のそれぞれの座標について、候補レベルを求めることと、
前記候補レベルのうちの最大のものに対して前記終了レベルを設定することと
を備え、
前記候補レベルを求めることは、
前記最小頂点の前記座標から対応する位置コードlcv0を求めることと、
前記最大頂点の前記座標から対応する位置コードlcv1を求めることと、
バイナリコードbc=(lcv0 XOR lcv1)を求めることと、
前記バイナリコードbcにおいてMSB(最上位ビット)である左側から最初の1のビットを求めることと、
前記最初の1のビットのすぐ左の0のビットのビット番号に前記候補レベルを設定することと
をさらに備えた請求項4に記載の方法。 - 前記位置コードは、所定のセルおよび該所定のセルからの方向に対する算術オペレーションによって求められ、前記終了条件は、前記方向における前記所定のセルの近傍のセルを発見するために、前記2分木において、リーフセルに到達したとき、あるいは終了レベルに到達したときに満たされる請求項1に記載の方法。
- 前記セルは、前記2分木の前記ルートセルである、請求項6に記載の方法。
- 前記セルは、前記所定のセルおよび前記近傍のセルの共通の先祖である、請求項6に記載の方法。
- 前記算術オペレーションは、
前記N次元空間のそれぞれの座標について、前記所定のセルに対応する位置コードlccellを求めることと、
前記N次元空間のぞれぞれの座標について、前記近傍のセルの最小頂点に対応する座標値が、前記セルの最大頂点に対応する座標値と等しい場合には、前記所定のセルのサイズを、前記対応する位置コードlccellに加算することと、
前記N次元空間のぞれぞれの座標について、前記近傍のセルの最大頂点に対応する座標値が、前記セルの最小頂点に対応する座標値と等しい場合には、前記対応する位置コードlccellからサイズを減算することと、
をさらに備えた請求項6に記載の方法。 - 前記サイズは、前記2分木の最小セルのサイズである、請求項9に記載の方法。
- 前記共通の先祖を求めることは、
前記N次元空間のそれぞれの座標について候補レベルを求めることと、
前記候補レベルのうちの最大のものに対して停止レベルを設定することと、
前記停止レベルに到達するまで、前記所定のセルから上方に向けて親のポインタに従うことにより、前記共通の先祖を求めることと
を備え、
前記候補レベルを求めることは、
前記座標について、前記所定のセルの位置コードlccellを求めることと、
前記座標について、前記近傍のセルの位置コードlcを求めることと、
バイナリコードbc=(lc XOR lccell)を求めることと、
そのビット番号が前記所定のセルのレベルである、bcにおけるビットbcellを求めることと、
bcにおいて、bcellの左に向かって最初の0のビットbcandidateを求めることと、
前記候補レベルを、bcandidateのビット番号として求めることと
を備えた請求項8に記載の方法。 - 前記N次元の点は、任意のセルのN個の位置コードを指定するための前記2分木の前記任意のセルの最小頂点である、請求項2に記載の方法。
- 光線が前記2分木で選択されたセルと交差する複数の点を指定するために、前記2分木を通して前記光線をトレースすることと、
それぞれの前記点について、位置コードの組を求めることと、
前記位置コードの組のそれぞれについて、リーフセルである前記対応する目的のセルを特定することと、
をさらに備えた請求項2に記載の方法。 - 前記選択されたセルは、前記2分木のボトム−アップ巡回のためのリーフセルである、請求項13に記載の方法。
- 前記目的のセルを特定することは、光線停止条件が満たされたときに終了する、請求項13に記載の方法。
- 前記目的のセルは、前記光線がトレースされる順序で特定される、請求項13に記載の方法。
- 前記セルは、前記2分木の前記ルートセルであり、位置コードの第1の組は、前記光線が前記2分木に入る入口点として求められ、次の位置コードの組のそれぞれは、前記光線が前記目的のセルから出て行く出口点から求められる、請求項13に記載の方法。
- 次の位置コードの組のそれぞれについて、前記セルは、前記目的のセルと、前記光線が前記目的のセルから出て行く前記出口点に隣接する近傍のセルとの共通の先祖である、請求項17に記載の方法。
- 前記次の位置コードの組は、前記2分木の前記選択されたセルの位置コードに対する第2の算術オペレーションによって求められる、請求項17に記載の方法。
- 前記次の位置コードの組を求める前記第2の算術オペレーションは、
その値が、前記目的のセルの前記最大頂点および前記最小頂点の前記対応する座標値と等しい前記出口点の座標の一部を求めることと、
前記一部におけるそれぞれの座標について、前記次の位置コードの組に対応する位置コードを求めることと、
前記光線および位置コードの前記一部に対して算術オペレーションを実行することによって、前記一部にない前記次の位置コードの組の前記位置コードを求めることと
を備え、
前記次の位置コードの組に対応する位置コードを求めることは、
前記目的のセルの対応する位置コードlccellを求めることと、
前記対応する位置コードを求めるために、lccellおよび前記光線の方向に対して算術オペレーションを実行することと
をさらに備えた請求項19に記載の方法。 - 前記光線の停止条件は、前記光線が、前記目的のセルに記憶された図形要素と交差したときに満たされる、請求項15に記載の方法。
- 前記光線の停止条件は、前記光線が、前記2分木から出ていくときに満たされる、請求項15に記載の方法。
- Nは、ゼロより大きな整数である、請求項1に記載の方法。
- メモリに記憶され、かつ、2分木と関連した特定用途向けデータの位置を検出するために、前記メモリに記憶された前記2分木を巡回するシステムであって、前記2分木は、N次元空間の、セルの階層への空間分割を備え、それぞれのセルは、前記N次元空間を囲むルートセルから開始し、前記セルのN個の中間平面に沿って2N個の子セルに連続的に、かつ、条件付きで分割され、それぞれのセルは、前記特定用途向けデータを構成する関連した特性を有し、子セルが、親セルから直接インデックス付けされ、該システムは、
位置コードの組を指定する手段と、
セルを指定する手段と、
前記セルの前記特性が終了条件を満たすかどうかを判定すること、そして、終了条件を満たさない場合は判定されるべき次のセルを直接インデックスするために、前記位置コードの組に対して算術オペレーションのみを適用する手段と、そうでなく、
終了条件を満たす場合は、前記セルを目的のセルとして特定する手段と、
前記目的のセルの前記特定用途向けデータを前記メモリから取り出す手段と、
を備えるシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/209,302 US6868420B2 (en) | 2002-07-31 | 2002-07-31 | Method for traversing quadtrees, octrees, and N-dimensional bi-trees |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004164596A JP2004164596A (ja) | 2004-06-10 |
JP4372477B2 true JP4372477B2 (ja) | 2009-11-25 |
Family
ID=31187018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003281990A Expired - Fee Related JP4372477B2 (ja) | 2002-07-31 | 2003-07-29 | 2分木を巡回する方法およびシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6868420B2 (ja) |
JP (1) | JP4372477B2 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7499053B2 (en) * | 2000-06-19 | 2009-03-03 | Mental Images Gmbh | Real-time precision ray tracing |
DE10239672B4 (de) * | 2002-08-26 | 2005-08-11 | Universität des Saarlandes | Verfahren und Vorrichtung zur Erzeugung einer zweidimensionalen Abbildung einer dreidimensionalen Struktur |
DE102004007835A1 (de) * | 2004-02-17 | 2005-09-15 | Universität des Saarlandes | Vorrichtung zur Darstellung von dynamischen komplexen Szenen |
CA2609283A1 (en) * | 2005-06-23 | 2007-01-04 | Mental Images Gmbh | Real-time precision ray tracing |
WO2007013572A1 (ja) | 2005-07-29 | 2007-02-01 | Shiseido Company, Ltd. | 毛髪はり・こし改善剤および毛髪用化粧料 |
US7692651B2 (en) * | 2005-09-22 | 2010-04-06 | Siemens Medical Solutions Usa, Inc. | Method and apparatus for providing efficient space leaping using a neighbor guided emptiness map in octree traversal for a fast ray casting algorithm |
US9557887B2 (en) | 2005-12-27 | 2017-01-31 | International Business Machines Corporation | Integrated multidimensional view of hierarchical objects |
US8190649B2 (en) * | 2006-04-25 | 2012-05-29 | Google Inc. | Ranking and clustering of geo-located objects |
US20080024489A1 (en) * | 2006-07-28 | 2008-01-31 | Robert Allen Shearer | Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements |
US20080088619A1 (en) * | 2006-10-17 | 2008-04-17 | Robert Allen Shearer | Branch Prediction for Acceleration Data Structure Traversal |
US7852336B2 (en) * | 2006-11-28 | 2010-12-14 | International Business Machines Corporation | Dynamic determination of optimal spatial index mapping to processor thread resources |
US8139060B2 (en) * | 2006-11-28 | 2012-03-20 | International Business Machines Corporation | Ray tracing image processing system |
US7912839B1 (en) * | 2007-05-31 | 2011-03-22 | At&T Intellectual Property Ii, L.P. | Method and apparatus for creating a non-uniform index structure for data |
US8289324B1 (en) * | 2007-12-17 | 2012-10-16 | Nvidia Corporation | System, method, and computer program product for spatial hierarchy traversal |
US8502819B1 (en) | 2007-12-17 | 2013-08-06 | Nvidia Corporation | System and method for performing ray tracing node traversal in image rendering |
KR101420237B1 (ko) * | 2008-02-25 | 2014-07-17 | 삼성전자주식회사 | 이웃 포인트의 탐색이 용이한 3d 영상 처리 방법 |
US8253730B1 (en) * | 2008-08-29 | 2012-08-28 | Adobe Systems Incorporated | System and method for construction of data structures for ray tracing using bounding hierarchies |
US8639725B1 (en) * | 2011-01-31 | 2014-01-28 | Google Inc. | Methods for efficiently querying multiple points in an indexed quadtree |
US8856184B1 (en) * | 2011-01-31 | 2014-10-07 | Google Inc. | Methods and systems for encoding the maximum resolution data level for a quadtree |
KR20120140104A (ko) * | 2011-06-20 | 2012-12-28 | 현대자동차주식회사 | 메모리의 데이터 저장 방법 |
US9275059B1 (en) * | 2011-11-07 | 2016-03-01 | Emc Corporation | Genome big data indexing |
KR20140089426A (ko) * | 2011-11-07 | 2014-07-14 | 톰슨 라이센싱 | 예측성 위치 디코딩 |
WO2013067674A1 (en) * | 2011-11-07 | 2013-05-16 | Thomson Licensing | Predictive position encoding |
TWI534760B (zh) * | 2011-11-28 | 2016-05-21 | 湯姆生特許公司 | 空間樹結構對輸入空間點編碼之方法及編碼器,以及空間樹結構位元流之解碼方法及解碼器 |
US8650220B2 (en) * | 2012-06-05 | 2014-02-11 | Google Inc. | System and method for storing and retrieving geospatial data |
DE102012105332A1 (de) * | 2012-06-19 | 2013-12-19 | Continental Teves Ag & Co. Ohg | Verfahren zur Darstellung einer Fahrzeugumgebung |
US9396249B1 (en) * | 2013-06-19 | 2016-07-19 | Amazon Technologies, Inc. | Methods and systems for encoding parent-child map tile relationships |
US20150006528A1 (en) * | 2013-06-28 | 2015-01-01 | Iac Search & Media, Inc. | Hierarchical data structure of documents |
CN109341707B (zh) * | 2018-12-03 | 2022-04-08 | 南开大学 | 未知环境下移动机器人三维地图构建方法 |
CN111475589B (zh) * | 2019-01-22 | 2023-05-12 | 阿里巴巴集团控股有限公司 | 图像数据的渲染方法及装置 |
CN113610982B (zh) * | 2021-08-10 | 2023-08-08 | 四川易方智慧科技有限公司 | 基于大规模模型场景的邻域查询方法 |
CN115906460B (zh) * | 2022-11-14 | 2023-10-13 | 北京市测绘设计研究院 | 编码方法、装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2080209A1 (en) | 1992-01-10 | 1993-07-11 | Eric Allen Brewer | Spatially organized computer display system |
US5937190A (en) * | 1994-04-12 | 1999-08-10 | Synopsys, Inc. | Architecture and methods for a hardware description language source level analysis and debugging system |
US6317690B1 (en) * | 1999-06-28 | 2001-11-13 | Min-Chung Gia | Path planning, terrain avoidance and situation awareness system for general aviation |
-
2002
- 2002-07-31 US US10/209,302 patent/US6868420B2/en not_active Expired - Lifetime
-
2003
- 2003-07-29 JP JP2003281990A patent/JP4372477B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004164596A (ja) | 2004-06-10 |
US6868420B2 (en) | 2005-03-15 |
US20040024779A1 (en) | 2004-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4372477B2 (ja) | 2分木を巡回する方法およびシステム | |
Frisken et al. | Simple and efficient traversal methods for quadtrees and octrees | |
Samet | Neighbor finding in images represented by octrees | |
MacDonald et al. | Heuristics for ray tracing using space subdivision | |
Lee et al. | Navigating through triangle meshes implemented as linear quadtrees | |
Chiang et al. | Dynamic algorithms in computational geometry | |
De Floriani et al. | Hierarchical triangulation for multiresolution surface description | |
US7002571B2 (en) | Grid-based loose octree for spatial partitioning | |
Cohen et al. | Proximity clouds—an acceleration technique for 3D grid traversal | |
US9396512B2 (en) | Fully parallel construction of k-d trees, octrees, and quadtrees in a graphics processing unit | |
US11704537B2 (en) | Octree-based convolutional neural network | |
US8773422B1 (en) | System, method, and computer program product for grouping linearly ordered primitives | |
EP3232341A1 (en) | Enhanced spatial index for point in polygon operations | |
Vörös | Low-cost implementation of distance maps for path planning using matrix quadtrees and octrees | |
Gargantini et al. | Ray tracing an octree: Numerical evaluation of the first intersection | |
Shaffer et al. | Generalized comparison of quadtree and bintree storage requirements | |
Kim et al. | Utilizing extended geocodes for handling massive three-dimensional point cloud data | |
Hu et al. | Parallel BVH construction using locally density clustering | |
Vörös | A strategy for repetitive neighbor finding in octree representations | |
Khamayseh et al. | Use of the spatial kD-tree in computational physics applications | |
KR20000007169A (ko) | 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법 | |
Uher et al. | Proposal of effective orthogonal and hexagonal hierarchical structures for disc queries | |
Payeur | A computational technique for free space localization in 3-D multiresolution probabilistic environment models | |
CN117058300B (zh) | 一种基于kd树加速光线与未裁剪曲面交点计算的方法 | |
Yin et al. | Incremental construction of generalized Voronoi diagrams on pointerless quadtrees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090820 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090901 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090902 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4372477 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130911 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |