JPH10134198A - 空間探索方法およびその方法を用いたシステム - Google Patents

空間探索方法およびその方法を用いたシステム

Info

Publication number
JPH10134198A
JPH10134198A JP29229696A JP29229696A JPH10134198A JP H10134198 A JPH10134198 A JP H10134198A JP 29229696 A JP29229696 A JP 29229696A JP 29229696 A JP29229696 A JP 29229696A JP H10134198 A JPH10134198 A JP H10134198A
Authority
JP
Japan
Prior art keywords
view volume
cuboid
rectangular parallelepiped
clipping
target
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.)
Granted
Application number
JP29229696A
Other languages
English (en)
Other versions
JP2915363B2 (ja
Inventor
Kanehide Watanabe
兼秀 渡辺
Yutaka Kano
裕 加納
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.)
THREE D KK
Doryokuro Kakunenryo Kaihatsu Jigyodan
Power Reactor and Nuclear Fuel Development Corp
Original Assignee
THREE D KK
Doryokuro Kakunenryo Kaihatsu Jigyodan
Power Reactor and Nuclear Fuel Development 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 THREE D KK, Doryokuro Kakunenryo Kaihatsu Jigyodan, Power Reactor and Nuclear Fuel Development Corp filed Critical THREE D KK
Priority to JP29229696A priority Critical patent/JP2915363B2/ja
Publication of JPH10134198A publication Critical patent/JPH10134198A/ja
Application granted granted Critical
Publication of JP2915363B2 publication Critical patent/JP2915363B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 透視変換で三次元映像を表示するとき、オブ
ジェクトの座標変換にかかる時間が長い。 【解決手段】 視点で決まるビューボリューム2を、そ
れが内接する基準直方体で近似する。各オブジェクト
も、それが内接する対象直方体で近似する。対象直方体
の座標成分をキーとするk−dツリーを準備しておく。
基準直方体の座標成分を探索条件としてk−dツリーに
探索をかけ、ビューボリューム2に対する各オブジェク
トのクリッピングを行う。しかる後、選び出されたオブ
ジェクトのみに対して座標変換を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は空間探索方法およ
び空間探索システムに関する。この発明は特に、透視投
影などを用いる場合のように、ビューボリュームが直方
体ではない場合にそのビューボリュームに対する任意の
オブジェクトのクリッピングを行う方法およびシステム
に関する。
【0002】
【従来の技術】コンピュータグラフィックス(CG)の
世界では、クリッピングと呼ばれる処理が知られてい
る。例えば町の風景を遠くから眺めるとき、建物など多
くのオブジェクトが視野に入る。この風景を眺める者が
町に近づくに従い、視野に入るオブジェクトの数は減
る。視野空間はビューボリュームと呼ばれる。クリッピ
ングとは、各オブジェクトを可視部分、すなわちビュー
ボリュームに含まれる部分と不可視部分に分割した上で
後者を除去する処理をいう。この処理により、視点の位
置に応じた自然な映像を画面に表示することができる。
【0003】図1は従来一般的なビューボリュームの表
示手順を示す図で、図2はビューボリュームとオブジェ
クトの関係を示す図である。図1のごとく、まずビュー
ボリュームの特定(S2)とオブジェクトデータの読込
(S4)を行う。これらは独立した手続であり、いずれ
を先に行ってもよいし、並列に処理してもよい。ここで
はビューボリュームの特定(S2)を先に説明する。
【0004】図2のごとく、ビューボリューム2は、視
点Oの位置、視線ベクトルV、前方クリッピング面4の
位置、後方クリッピング面6の位置のほか、水平方向の
視野角、および垂直方向の視野角によって特定すること
ができる。ビューボリュームの特定は、オブジェクトを
入れるための容器を定めることに相当する。図2では、
三次元空間に存在するオブジェクトを二次元の画面に表
示するために、投影法として透視投影が用いられてい
る。その結果、ビューボリューム2が視点Oを頂点とす
る四角錘台となる。別の投影法として平行投影がある
が、平行投影はいわゆる3面図を作成する際などに有効
であっても、奥行き感の表現ができないため、視点に依
存する自然な映像の生成には向かない。
【0005】ビューボリューム2の特定とは別に、オブ
ジェクトデータの読込が行われる(S4)。読み込まれ
たデータについて座標変換が行われる(S6)。この変
換はもとのオブジェクトの座標を透視投影するための線
形射影変換である。透視変換の方法自体は既知であり、
例えば「画像と空間」(出口光一郎著、昭晃堂.ISBN-7
856-2125-7、5章)などに記載されている。座標変換の
時点では、いずれのオブジェクトがビューボリューム2
に含まれるか不明なため、システムが有するすべてのオ
ブジェクトに関するデータが座標変換の対象となる。図
2には座標変換後の2つのオブジェクト8、10の位置
が示されている。
【0006】つぎにクリッピングを行う(S8)。図2
の場合、ビューボリューム2から外れるオブジェクト8
が除去され、ビューボリューム2内部に存在するオブジ
ェクト10が残される。このクリッピングをすべてのオ
ブジェクトについて行い、ビューボリューム2内部に一
部または全部が含まれるオブジェクトにラスタライズ処
理を施す(S10)。ラスタライズはCGの世界ではレ
ンダリングとも呼ばれるもので、オブジェクトの表面に
必要なテクスチャ(模様)や色をつける作業である。こ
の結果、本来見えるべきオブジェクトが見えるべき位置
に適切な大きさで表示され、自然な映像が得られる。
【0007】
【発明が解決しようとする課題】しかしながら上述の方
法では、いったんすべてのオブジェクトに対する座標変
換を行うため、処理に長い時間を要した。最近はコンピ
ュータパワーが急激に伸びたとはいえ、例えば、ドライ
ビングシミュレーションやフライトシミュレーションな
ど、視点が頻繁かつ高速に変化する場合にもビューボリ
ューム内の三次元オブジェクトをリアルタイムに表示す
ることが要求される。CGに対する要請はコンピュータ
パワーの伸びを上回る状況にあり、処理時間が三次元C
Gのひとつのネックとなっている。
【0008】一方、多数の複雑なオブジェクトを取り扱
うために、メモリ容量も問題となる。例えば、前述のド
ライビングシミュレーションがある都市全体をカバーし
なければならない場合、オブジェクトは膨大な数にな
る。複雑な設備をもつ工場のウォークスルー映像を得る
場合も同様である。従来一般的な方法では、これらのオ
ブジェクトすべてに対してオンメモリで座標変換を行う
ため、ある程度大容量の三次元データに対する可視的シ
ミュレーションは諦めざるをえない状況であった。
【0009】本発明はこうした課題に鑑みてなされたも
のであり、その目的は、ビューボリュームに含まれる三
次元のオブジェクトを高速に探索することにある。また
本発明の別の目的は、そうした探索を少ないメモリ量で
実現することにある。
【0010】
【課題を解決するための手段】
(1)本発明の空間探索方法は、直方体ではないビュー
ボリュームに含まれるオブジェクトを三次元空間で探索
する方法であり、基準直方体を算出する第1工程と、対
象直方体をオブジェクトごとに算出する第2工程と、基
準直方体に対して各対象直方体のクリッピングを行う第
3工程とを含む。ここで「直方体ではないビューボリュ
ーム」として、上述の四角錘台の例があるがそれ以外の
形状でもよい。
【0011】この構成において、まず第1工程により基
準直方体が算出される。基準直方体はビューボリューム
が内接するような直方体であり、その3辺はx、y、z
軸に平行にとる。したがって、基準直方体の8個の頂点
のx、y、x座標の最大値および最小値(xsmax、x
min、ysmax、ysmin、zsmax、zsminと表記)
の6個の数値で基準直方体を記述することができる。
【0012】つづいて第2工程において、対象直方体が
算出される。対象直方体はオブジェクトが内接するよう
な直方体で、オブジェクトiは同様に6個の数値、xi
max、ximin、yimax、yimin、zimax、zimin
記述できる。最後に第3工程において、これら6個ずつ
の数値をもとに、基準直方体に対して各対象直方体のク
リッピングが行われる。クリッピングによってビューボ
リュームに含まれるとされるオブジェクトについては、
従来同様の座標変換を施して表示することができる。
【0013】この態様では、基準直方体および対象直方
体という概念を導入することにより、従来のようにクリ
ッピングのためにすべてのオブジェクトの座標変換を行
う必要がなくなる。基準直方体と対象直方体の算出自体
は極めて容易であり、計算量の大幅な低減が可能とな
る。クリッピングも単なる座標の比較で済むため、リア
ルタイム処理に好適である。
【0014】(2)本発明のある態様ではツリー、例え
ば6−dツリー(6 dimensional tree)が利用される。
6−dツリーは一般にk−dツリーと呼ばれるものにお
いてキーkが6の場合に相当する。k−dツリーはバイ
ナリサーチに利用される二分木に探索のキーをk個持た
せたツリーである。二次元領域の探索にk−dツリーを
利用する技術は知られているが、ここではこれを三次元
領域の探索に拡張して用いる。
【0015】本態様で利用する6−dツリーでは、各オ
ブジェクトに対応する各対象直方体がノードとなり、上
述のximax等の6個の数値が各ノードのキーとなる。
第3工程では、この6−dツリーに対し、基準直方体の
6個の数値xsmaxを探索の条件としてクリッピングが
行われる。
【0016】この態様によれば、予めツリーを作成して
準備しておくことにより、クリッピングの条件に合うオ
ブジェクトを非常に短時間で探索することができる。ま
た、ツリーの各ノードは6個の数値を記憶していればよ
いため、データ量も少ない。このため、一連の処理で必
要になるメモリ容量も小さくてよい。
【0017】(3)本発明のある態様では、まず第1工
程において基準直方体が前記ビューボリュームの外形に
より適合するよう基準直方体が複数の直方体に分割され
る。これらをそれぞれ「副基準直方体」と呼ぶことにす
る。ビューボリュームが四角錘台の場合、頂点に近い側
を小さな副基準直方体、遠い側を大きな副基準直方体で
近似することに相当する。しかる後、前記第3工程に
て、これら複数の副基準直方体に対して各対象直方体の
クリッピングが行われる。
【0018】この態様によれば、もとの基準直方体より
も副基準直方体の合計体積のほうが小さくなるため、探
索の無駄を減らすことができる。
【0019】(4)本発明のある態様では、前記第3工
程は、複数の副基準直方体のうち視点に近いものに対し
て先にクリッピングを行う。視点に近いオブジェクトほ
ど画面において重要度が高い場合が多い。本態様では、
そうしたオブジェクトを先に画面に表示し、比較的重要
度の低い遠くのオブジェクトの表示の優先度を下げるこ
とができる。リアルタイム性を確保するために、ある程
度遠くのオブジェクトについてはクリッピングを行わ
ず、表示しない構成とすることも可能となる。
【0020】(5)一方、本発明の空間探索システム
は、ビューボリュームを特定するためのパラメータを受
け付けるパラメータ受付部と、特定されたビューボリュ
ームが内接し、かつその3辺がそれぞれx、y、z軸に
平行な基準直方体を算出する基準直方体算出部と、オブ
ジェクトが内接し、かつその3辺がそれぞれx、y、z
軸に平行である対象直方体をオブジェクトごとに算出す
る対象直方体算出部と、基準直方体に対して各対象直方
体のクリッピングを行うクリッピング部とを含む。ここ
で「ビューボリュームを特定するためのパラメータ」は
上述の視点位置等である。この態様によれば、上記空間
探索方法の効果をシステムとして実現することができ
る。
【0021】(6)本発明のある態様では、このシステ
ムは、クリッピング結果に従い、ビューボリュームに含
まれるオブジェクトのみについて画面表示に必要な座標
変換処理を行う。このため、計算量の軽減、計算途上で
利用すべきメモリの容量低減が可能となる。
【0022】
【発明の実施の形態】本発明の好適な実施形態である空
間探索システムを適宜図面を参照しながら説明する。
【0023】[1]システム構成 図3は実施形態に係る空間探索システムの構成図であ
る。ここではスタンドアロンのワークステーション一台
を主たる構成とする。本発明では高速な空間探索が可能
となるため、通常のワークステーション程度でもリアル
タイムの探索と表示が可能になる。
【0024】同図のごとく、システムはワークステーシ
ョン20とそれに内蔵または外付けされる記憶部30か
らなる。記憶部30は、それぞれオブジェクトの6−d
ツリー、およびオブジェクトの座標データを記憶してい
る。
【0025】ワークステーション20は、ユーザから描
画すべき領域の指定を受け付けるパラメータ受付部22
をもつ。描画すべき領域はビューボリュームとして把握
される。このため、ユーザには視点位置などビューボリ
ュームを特定するためのパラメータの入力を指示する。
ビューボリュームを特定するためのパラメータは空間探
索部24に送られる。空間探索部24は、このパラメー
タをもとにクリッピングを行う。この際、記憶部30に
記憶されたオブジェクトデータを参照する。空間探索の
結果はラスタライズ部26に通知される。
【0026】ラスタライズ部26は、空間探索の結果を
もとに必要なオブジェクトに関するデータを記憶部30
から読み出し、既知のラスタライズ処理を行った後、画
面に表示する。
【0027】[2]6−dツリー 記憶部30には予め6−dツリーが準備される。このツ
リーの理解のために、1−dツリー、2−dツリー、6
−dツリーの順に説明する。なお、こうしたk−dツリ
ーを平面探索に利用する技術については、例えば、J.L.
Bentley著「Multidimensional binary search trees us
ed for associative searching. Communication of the
ACM 18.509-517 1975」や J.B.Rosenberg著「Geograph
ical data structures compared: A study of data str
uctures supporting region querys. IEEE Trans. on C
AD, Vol. CAD-4, No.1, 53-67, Jan.1985」に記述され
ている。本実施形態では、その技術を拡張して空間探索
に応用するものである。
【0028】(1)1−dツリー 1−dツリーはバイナリーツリー、すなわち二分木であ
る。図4に1−dツリーの例を示す。ここではa〜fで
表す6個のノードがあり、各ノードはひとつずつキー
(数値データ)をもっている。ルートはノードd、その
チャイルド(chdとも表記)はノードfとeである。ま
た、リーフ、すなわち木の末端のノードはノードb、
c、aである。このツリーの生成規則は以下のとおりで
ある。
【0029】規則1.任意のノードxについて、 K(x)≧K(ptree;root=left_chd(x)) 規則2.任意のノードxについて、 K(x)<K(ptree;root=right_chd(x)) ここでKはキー、K(i)はノードiのキーを示す。ま
た、ptree;root=left_chd(x)とptree;root=righ
t_chd(x)は、それぞれノードxの左側および右側の
チャイルドをルートとする部分木 ptree に含まれる任
意のノードを示す。
【0030】この1−dツリーにより、領域探索が可能
になる。例えば、 条件: K<3 という探索条件が与えられたとき、ノードfとノードb
が条件を満たすものとして選び出される。この際、まず
ルートのノードdが前記条件を満たすかどうかが判定さ
れる。ノードdのキーは3で前記条件の上限を超えるた
め、この時点でこのノードの右側のチャイルドをルート
とする部分木に含まれるノードに対するチェックが全く
不要になる。こうして、与えられた探索条件とキーの大
小関係から所望のノードを高速に見つけ出すことができ
る。
【0031】(2)2−dツリー 2−dツリーは2つのキーに対してそれぞれ条件が与え
られたとき、所望のノードを高速に見い出すことのでき
るツリーである。これら2つのキーは本来互いに無関係
であるため、それらをひとつのツリーに組み込む工夫が
必要である。
【0032】図5に2−dツリーの例を示す。ここでは
8個のノードa〜hがあり、各ノードはそれぞれ2つの
キーをもっている。ここでは便宜的に、上のキーを「0
番目のキー」、下を「1番目のキー」と名付ける。ま
た、ルートのノードdの深さ(Dとも表記)を0、二段
目のノードfおよびeの深さを1、以降、n段目の深さ
を(n−1)と定義し、 dpt=D mod k なる数、dptを定義する。kはキーの数で、ここでは
2であるため、dptは0、1の繰り返しになる。この
ツリーの生成規則は以下のとおりである。
【0033】規則1.任意のノードxのdpt番目のキ
ーK(x,dpt)について、 K(x,dpt)≧K(ptree;root=left_chd(x),dp
t) 規則2.任意のノードxのdpt番目のキーK(x,dp
t)について、 K(x,dpt)<K(ptree;root=right_chd(x),dp
t) この規則を図5で説明する。まず、ルートのノードdに
ついて、dpt=0と決まる。したがって、規則1、2
は以下のように書き換えることができる。
【0034】規則1.ノードdの0番目のキーである
「7」は、ノードdの左側のチャイルドであるノードf
をルートとする部分木のすべてのノードの0番目のキー
以上である。実際に、それらのノードのキーは「5」
「4」「3」であり、正しい。
【0035】規則2.ノードdの0番目のキーである
「7」は、ノードdの右側のチャイルドであるノードe
をルートとする部分木のすべてのノードの0番目のキー
よりも小さい。実際に、それらのノードのキーは「9」
「11」「8」「13」であり、正しい。
【0036】したがって、ノードdとそれ以下のすべて
のノードは、0番目のキーを根拠として関連づけられて
いる。
【0037】つづいて、例えばノードeを考える。ノー
ドeについてdpt=1であるため、規則1、2は以下
のように書き換えられる。
【0038】規則1.ノードeの1番目のキーである
「5」は、ノードeの左側のチャイルドであるノードc
をルートとする部分木のすべてのノードの1番目のキー
以上である。実際に、それらのノードのキーは「3」
「1」であり、正しい。
【0039】規則2.ノードeの1番目のキーである
「5」は、ノードeの右側のチャイルドであるノードa
をルートとする部分木のすべてのノードの1番目のキー
よりも小さい。実際に、そのノードのキーは「8」であ
り、正しい。
【0040】したがって、ノードeとそれ以下のすべて
のノードは、1番目のキーを根拠として関連づけられて
いる。以下同様に、dpt=0であるノードはそれ以下
の全ノードと0番目のキーで関連づけられ、dpt=1
であるノードはそれ以下の全ノードと1番目のキーで関
連づけられている。2−dツリーには2つのキーが含ま
れるものの、ノードを特定しさえすれば(1)の二分木
と把握することができる。
【0041】図6〜8は2−dツリーと二次元領域の関
係を示す図である。ここでは、0番目のキーをx軸、1
番目のキーをy軸にとっている。まず図6のごとく、ル
ートであるノードdにより、x=7で二分されている。
ノードd以下の全ノードは二分された領域のいずれかに
属する。
【0042】つづいて図7のごとく、ノードfとeによ
り、それらが属する領域がそれぞれy=7、5で二分さ
れている。図8ではノードb、c、aにより、各領域が
再びx=4、11、8で二分されている。以下、どのよ
うなキーをもつノードが新たに登録されても、それは図
6等に示す二次元領域のいずれかの領域にプロットされ
るため、必ず2−dツリーのいずれかのリーフとして接
続することができる。したがって、複数のノードのうち
いずれをルートに据えても、必ずすべてのノードをツリ
ーに入れることができる。
【0043】以上のごとく生成された2−dツリーによ
り、2つのキーに対する条件による領域探索が可能にな
る。例えば、 条件0:0番目のキー>7 条件1:1番目のキー>6 という2つの探索条件が与えられたとき、ノードaのみ
が条件を満たすものとして選び出される。この際、まず
ルートのノードdが条件0を満たすかどうかがチェック
される。ノードdの0番目のキー「7」は条件0の下限
に満たないため、この時点でノードdの左側のチャイル
ドであるノードf以下のノードが考慮が外れる。
【0044】一方、ノードeは条件0を満たすため、こ
のノードについて条件1がチェックされる。ノードeの
1番目のキー「5」は条件1の下限に満たないため、こ
の時点でノードeの左側のチャイルドであるノードc以
下のノードが考慮が外れる。以下、同様のチェックを繰
り返すことでノードの候補が効率的に絞り込まれてい
く。
【0045】(3)6−dツリー 2−dツリーでは、2つのキーに対する範囲設定を探索
条件とすることができた。その意味で、ノードをxy平
面上の所望の領域に含まれる点とみなして探索すること
が可能であった。キーを4個に拡張すれば、各ノードに
ついてxmin、xmax、ymin、ymaxを記述することがで
きるため、ノードをxy平面上の矩形領域として定義す
ることができる。
【0046】一方、6−dツリーは6個のキーをもつ。
本実施形態ではこれらのキーを前述の第iオブジェクト
に関するximax等に当てる。すなわち、0〜5番目の
キーを順にximin、yimin、zimin、ximax、yi
max、zimaxとする。ツリーの生成規則は2−dツリー
と同様であり、図示はしない。ただし、 dpt=D mod k のkが6である点で異なる。こうして生成されたツリー
に含まれる各ノードは、xyz空間内に体積をもつ領
域、すなわち直方体として定義することができる。生成
された6−dツリーに対する探索は後述する。
【0047】[3]システムの動作 図9は実施形態の空間探索システムの動作手順を示すフ
ローチャートである。同図において図1同等の工程につ
いては同じ符号を与える。システム動作の開始前に、オ
ブジェクトデータに関する6−Dツリーが予め図3の記
憶部30、オブジェクトデータ自体は記憶部30に格納
されているものとする。
【0048】図9において、まずシステムは図1同様ユ
ーザにビューボリュームの特定を促す(S2)。このた
めにユーザが入力する各種パラメータはパラメータ受付
部22で受け取られ、空間探索部24に送られる。これ
とは別に、記憶部30からオブジェクトデータが読み込
まれる(S4)。
【0049】つづいて空間探索部24にて、ビューボリ
ュームに関する基準直方体と各オブジェクトに関する対
象直方体の算出を行う(S20)。
【0050】図10は基準直方体、図11は対象直方体
をそれぞれ示す図である。図10のごとく、基準直方体
にはビューボリューム2がちょうど内接している。基準
直方体の6面のうち2面はビューボリューム2の前方ク
リッピング面および後方クリッピング面で決まり、残る
4面はそれら2面から自動的に決まる。一方、図11の
ごとく、対象直方体62にはオブジェクト60がちょう
ど内接する。対象直方体の各辺は基準直方体の対応各辺
に平行である。実際にはオブジェクト60はビューボリ
ューム2に比べて相当小さい場合が多いが、ここでは拡
大して描いている。なお、直方体を求めることはビュー
ボリュームに関するxsmin等、およびオブジェクトに
関するximin等を決めることに等しく、以降はこれら
の数値で処理がなされる。
【0051】つづいて、空間探索部24で基準直方体に
対する各対象直方体のクリッピングを行う(S22)。
クリッピングは6−dツリーに対する条件探索という形
で実施される。例えば、ある対象直方体全体が基準直方
体に完全に入る場合、探索の条件は、 条件0:0番目のキーximin≧xsmin 条件1:1番目のキーyimin≧ysmin 条件2:2番目のキーzimin≧zsmin 条件3:3番目のキーximax≦xsmax 条件4:4番目のキーyimax≦ysmax 条件5:5番目のキーzimax≦zsmax の6つとなる。なお、本来クリッピングとはひとつのオ
ブジェクトについても可視部分と不可視部分を分割する
ことをいうが、本実施形態は座標変換の前にクリッピン
グを行うことで計算量の削減を図るものであるから、こ
の時点で詳細なクリッピングを行うものではない。した
がって、ここでは少しでも可視部分が存在しうるオブジ
ェクトはすべて拾い上げる。例えばy方向およびz方向
は完全に基準直方体に入るが、x方向の一部がはみ出す
対象直方体は、条件0のみを、 条件0:0番目のキーximin<xsmin とするか、または条件3のみを、 条件3:3番目のキーximax>xsmax とすることで探索可能である。y方向またはz方向のみ
がはみ出す場合を考え併せれば、結局、条件0〜5のう
ち任意の1つを不参照にすることにより、一方向がはみ
出す場合も含めた探索が可能となる。同様に、二方向に
はみ出す場合も含めた探索は、 (条件0か3を不参照)×(条件1か4を不参照)+
(条件0か3を不参照)×(条件2か5を不参照)+
(条件1か4を不参照)×(条件2か5を不参照) で可能である。三方向にはみ出す場合も含めれば、 (条件0か3を不参照)×(条件1か4を不参照)×
(条件2か5を不参照) で探索できる。以上を総合し、逆に参照すべき条件の組
合せを考えれば、 (条件0か3)×(条件1か4)×(条件2か5) (式1) の8通りでよいことがわかる。以下、これら8通りの各
組合せについて2−dツリーのときと同様の過程を経て
基準直方体に含まれうる対象直方体を拾い出す。
【0052】なお、クリッピングにおいて注意すべき
は、基準直方体より長い辺をもつ対象直方体である。例
えば非常に高い建物は、場合によりz方向で基準直方体
の両側にはみ出す場合がある。そうした特殊なケースも
考慮するなら、条件2と条件5が、 条件2:2番目のキーzimin<zsmin 条件5:5番目のキーzimax>zsmax となる。これらが同時に成り立つことを条件6と名付け
れば、式1の(条件2か条件5)を(条件2か条件5か
条件6)と変更すればよい。x、y方向についても同様
である。以上で本実施形態のクリッピングは終了する。
【0053】つぎに、クリッピングによって選び出され
たオブジェクトのみについて座標変換を行う(S2
4)。クリッピング段階でオブジェクトは十分絞り込ま
れているため、座標変換の計算量は大幅に低減される。
座標変換後、詳細なクリッピングを行い、その結果をラ
スタライズ部26に通知する。ラスタライズ部26は描
画に必要なオブジェクトのみに関するデータを記憶部3
0から取り寄せ、ラスタライズを実行する(S10)。
しかる後、画面表示を行う。
【0054】以上が本システムの動作である。本システ
ムによれば、従来非常に長い時間を要した座標変換の計
算負荷を低減でき、リアルタイムの三次元描画システム
を実現することができる。また、予め6−dツリーを準
備することにより、必要なオブジェクトデータの特定も
高速化できる。さらに、計算過程が単純になるため、ワ
ークエリアとして確保すべきメモリも減らすことができ
る。
【0055】なお、本実施形態については以下のような
変形が可能である。
【0056】(1)図10のビューボリューム2と基準
直方体50の関係からわかるように、基準直方体50内
であってビューボリューム2外である空間は、本来探索
が不要である。一般に視野角が大きいほど無駄な探索が
増す。そこで、ビューボリューム2を複数の直方体、つ
まり副基準直方体で近似してもよい。図12は2つの副
基準直方体でビューボリュームを近似した様子を示す図
である。ここではビューボリューム2の頂点に近い側を
小さな副基準直方体70、遠い側を大きな副基準直方体
72で覆っている。この方法によれば、探索の合計回数
が増えるものの、無駄な探索を減らすことができる。し
たがって、ある程度視野角が大きい場合に副基準直方体
を導入するなど、状況やアプリケーションに応じてこの
方法を採用すればよい。
【0057】(2)副基準直方体を導入する場合、空間
探索を視点により近い副基準直方体から順に行ってもよ
い。図12の場合、まず小さいほうの副基準直方体70
に関するクリッピングを行い、その結果に応じて必要な
座標変換とラスタライズを行う。それと並行して大きい
ほうの副基準直方体72に対するクリッピングを行う。
この方法によれば、処理を並列化することができるた
め、リアルタイム処理に向く。また、視点に近いオブジ
ェクトを先に描画できるため、画像の重要部分を先に表
示する効果がある。
【0058】(3)本実施形態では、6−dツリーが記
憶部30に格納されているとした。しかし、6−dツリ
ーは探索の際に頻繁に参照されるため、予めメモりにロ
ードしておいてもよい。
【図面の簡単な説明】
【図1】 従来一般的なビューボリュームの表示手順を
示す図である。
【図2】 ビューボリュームとオブジェクトの関係を示
す図である。
【図3】 実施形態に係る空間探索システムの構成図で
ある。
【図4】 1−dツリーの例を示す図である。
【図5】 2−dツリーの例を示す図である。
【図6】 2−dツリーと二次元領域の関係を示す図で
ある。
【図7】 2−dツリーと二次元領域の関係を示す図で
ある。
【図8】 2−dツリーと二次元領域の関係を示す図で
ある。
【図9】 実施形態の空間探索システムの動作手順を示
すフローチャートである。
【図10】 基準直方体を示す図である。
【図11】 対象直方体を示す図である。
【図12】 2つの副基準直方体でビューボリュームを
近似した様子を示す図である。
【符号の説明】
2 ビューボリューム、4 前方クリッピング面、6
後方クリッピング面、20 ワークステーション、22
パラメータ受付部、24 空間探索部、26ラスタラ
イズ部、30 記憶部、50 基準直方体、60 オブ
ジェクト、62 対象直方体、70,72 副基準直方
体。
フロントページの続き (72)発明者 加納 裕 神奈川県横浜市西区平沼1丁目39番地3号 三石ヨコハマビル5F 株式会社スリー ディー内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 直方体ではないビューボリュームに含ま
    れる三次元のオブジェクトを探索する方法において、 前記ビューボリュームが内接し、かつその3辺がそれぞ
    れx、y、z軸に平行な基準直方体を算出する第1工程
    と、 オブジェクトが内接し、かつその3辺がそれぞれx、
    y、z軸に平行である対象直方体をオブジェクトごとに
    算出する第2工程と、 基準直方体に対して各対象直方体のクリッピングを行う
    第3工程と、 を含むことを特徴とする空間探索方法。
  2. 【請求項2】 請求項1に記載の方法において、 前記第3工程は、各対象直方体をノードとし、かつ各対
    象直方体の3軸方向の座標の最大値および最小値の合計
    6個の数値が各ノードのキーであるようなツリーに対
    し、基準直方体の3軸方向の座標の最大値および最小値
    の合計6個の数値を探索条件に用いてクリッピングを行
    うことを特徴とする空間探索方法。
  3. 【請求項3】 請求項1、2のいずれかに記載の方法に
    おいて、 前記第1工程は、基準直方体が前記ビューボリュームの
    外形に、より適合するよう基準直方体を複数の直方体に
    分割し、前記第3工程は、これら複数の直方体に対して
    各対象直方体のクリッピングを行うことを特徴とする空
    間探索方法。
  4. 【請求項4】 請求項3に記載の方法において、 前記第3工程は、前記複数の直方体のうち視点に近い直
    方体に関して先にクリッピングを行うことを特徴とする
    空間探索方法。
  5. 【請求項5】 直方体ではないビューボリュームに含ま
    れる三次元のオブジェクトを探索するシステムにおい
    て、 ビューボリュームを特定するためのパラメータを受け付
    けるパラメータ受付部と、 特定されたビューボリュームが内接し、かつその3辺が
    それぞれx、y、z軸に平行な基準直方体を算出する基
    準直方体算出部と、 オブジェクトが内接し、かつその3辺がそれぞれx、
    y、z軸に平行である対象直方体をオブジェクトごとに
    算出する対象直方体算出部と、 基準直方体に対して各対象直方体のクリッピングを行う
    クリッピング部と、 を含むことを特徴とする空間探索システム。
  6. 【請求項6】 請求項5に記載のシステムにおいて、そ
    のシステムは、 クリッピング結果に従い、ビューボリュームに含まれる
    オブジェクトのみについて画面表示に必要な座標変換処
    理を行うことを特徴とする空間探索システム。
JP29229696A 1996-11-05 1996-11-05 空間探索システム Expired - Lifetime JP2915363B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29229696A JP2915363B2 (ja) 1996-11-05 1996-11-05 空間探索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29229696A JP2915363B2 (ja) 1996-11-05 1996-11-05 空間探索システム

Publications (2)

Publication Number Publication Date
JPH10134198A true JPH10134198A (ja) 1998-05-22
JP2915363B2 JP2915363B2 (ja) 1999-07-05

Family

ID=17779929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29229696A Expired - Lifetime JP2915363B2 (ja) 1996-11-05 1996-11-05 空間探索システム

Country Status (1)

Country Link
JP (1) JP2915363B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008102904A (ja) * 2006-07-26 2008-05-01 Nvidia Corp 加速された開始タイル探索
US8085264B1 (en) 2006-07-26 2011-12-27 Nvidia Corporation Tile output using multiple queue output buffering in a raster stage
US8872833B2 (en) 2003-09-15 2014-10-28 Nvidia Corporation Integrated circuit configuration system and method
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
US9070213B2 (en) 2006-07-26 2015-06-30 Nvidia Corporation Tile based precision rasterization in a graphics pipeline
US9117309B1 (en) 2005-12-19 2015-08-25 Nvidia Corporation Method and system for rendering polygons with a bounding box in a graphics processor unit
US9123173B2 (en) 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8872833B2 (en) 2003-09-15 2014-10-28 Nvidia Corporation Integrated circuit configuration system and method
US9123173B2 (en) 2005-12-15 2015-09-01 Nvidia Corporation Method for rasterizing non-rectangular tile groups in a raster stage of a graphics pipeline
US9117309B1 (en) 2005-12-19 2015-08-25 Nvidia Corporation Method and system for rendering polygons with a bounding box in a graphics processor unit
US8928676B2 (en) 2006-06-23 2015-01-06 Nvidia Corporation Method for parallel fine rasterization in a raster stage of a graphics pipeline
JP2008102904A (ja) * 2006-07-26 2008-05-01 Nvidia Corp 加速された開始タイル探索
JP4598031B2 (ja) * 2006-07-26 2010-12-15 エヌヴィディア コーポレイション 加速された開始タイル探索
US8085264B1 (en) 2006-07-26 2011-12-27 Nvidia Corporation Tile output using multiple queue output buffering in a raster stage
US9070213B2 (en) 2006-07-26 2015-06-30 Nvidia Corporation Tile based precision rasterization in a graphics pipeline
US8923385B2 (en) 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9171350B2 (en) 2010-10-28 2015-10-27 Nvidia Corporation Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing

Also Published As

Publication number Publication date
JP2915363B2 (ja) 1999-07-05

Similar Documents

Publication Publication Date Title
JP3034483B2 (ja) オブジェクト探索方法およびその方法を用いた装置
Elseberg et al. Efficient processing of large 3d point clouds
US8014568B2 (en) Method for computer-aided identification of the child octants of a parent octant, which are intersected by a beam, in an octree data structure by means of look-up tables
US7499053B2 (en) Real-time precision ray tracing
US5113490A (en) Method for forming a computer model from an intersection of a cutting surface with a bounded volume
US6392647B1 (en) System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US5945996A (en) System and method for rapidly generating an optimal mesh model of a 3D object or surface
US6266062B1 (en) Longest-edge refinement and derefinement system and method for automatic mesh generation
US6597359B1 (en) Hierarchical space subdivision hardware for ray tracing
De Floriani et al. A survey on data structures for level-of-detail models
Pan et al. Real-time collision detection and distance computation on point cloud sensor data
CN111127615A (zh) 一种三维模型的数据调度方法、装置及电子设备
JPH03176784A (ja) コンピュータ・グラフィックスにおけるポリゴン分解方法及びシステム
JP2915363B2 (ja) 空間探索システム
KR20180071928A (ko) 대표 광선 기반의 점유맵 업데이트 방법 및 시스템
JP2937937B2 (ja) 三次元オブジェクトデータ処理方法
US20230351696A1 (en) Data processing method and apparatus, device, computer-readable storage medium, and computer program product
Erikson et al. Simplification culling of static and dynamic scene graphs
JP7161154B2 (ja) 階層バウンディングボリューム生成方法、コンピュータプログラム及びコンピュータ装置
JPH1196400A (ja) 形状変換方法
CA2236195C (en) Object search method and object search system
Inkulu et al. Dynamic algorithms for visibility polygons in simple polygons
Aguilera et al. Out-of-core real-time haptic interaction on very large models
Müller Image generation by space sweep
JPH06231276A (ja) 3次元物体表示のためのポリゴン生成方法

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120416

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 15

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term