JP2667949B2 - ピック事象の処理方法及び処理装置 - Google Patents

ピック事象の処理方法及び処理装置

Info

Publication number
JP2667949B2
JP2667949B2 JP5229597A JP22959793A JP2667949B2 JP 2667949 B2 JP2667949 B2 JP 2667949B2 JP 5229597 A JP5229597 A JP 5229597A JP 22959793 A JP22959793 A JP 22959793A JP 2667949 B2 JP2667949 B2 JP 2667949B2
Authority
JP
Japan
Prior art keywords
picking volume
picking
primitive
volume
edge
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 - Lifetime
Application number
JP5229597A
Other languages
English (en)
Other versions
JPH06215133A (ja
Inventor
ナラヤナスワミ チャンドラセッカー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06215133A publication Critical patent/JPH06215133A/ja
Application granted granted Critical
Publication of JP2667949B2 publication Critical patent/JP2667949B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、オブジェクトのピッキ
ングに係り、更に詳細に説明すれば、多次元のグラフィ
ックス適用業務(アプリケーション)において、オブジ
ェクトがピッキング・ボリュームと交差するか否かを決
定することに係る。
【0002】
【従来の技術】多次元の会話型グラフィックス適用業務
では、オブジェクト又は基本要素(プリミティブ:prim
itive ) がピッキング・ボリュームと交差するか否かを
検出することが必要である。これはピッキング問題とし
て公知である。ピッキング・ボリュームは、表示用のク
リッピング・ボリュームであることもあり、このクリッ
ピング・ボリューム内で一の基本要素を選択するための
別個の(通常は一層小さな)ボリュームであることもあ
る。ピッキング・ボリュームは、複数の面によって囲ま
れた立体であるのが普通である。従来は、通常のクリッ
ピング技術の1つを使用して、全ての基本要素をピッキ
ング・ボリュームでクリップすることにより、ピッキン
グ問題を解決していた。
【0003】
【発明が解決しようとする課題】一般に、これらのクリ
ッピング技術は、トリビアルな受諾/拒否テストを行う
ために、「コーヒン・スーザーランド(Cohen-Sutherla
nd)」の符号化技術を利用する。しかし、基本要素がピ
ッキング・ボリューム内に存在する場合のように、この
受諾/拒否テストが失敗すれば、これらのクリッピング
技術は、基本要素とピッキング・ボリュームとの交差点
を計算するという計算集中型のタスクを行わなければな
らない。
【0004】
【課題を解決するための手段】本発明は、3次元空間内
にある一の共面状(coplanar)オブジェクトが3次元の
一のピッキング・ボリュームと交差するか否かを処理す
るためのピック事象の処理方法に向けられている。この
方法は、(イ)前記オブジェクトを表示装置上に表示
し、(ロ)前記表示されたオブジェクトを含む一の面が
前記ピッキング・ボリュームの一の境界エッジと交差す
るか否かを決定し、(ハ)前記表示されたオブジェクト
を含む前記一の面が前記ピッキング・ボリュームの前記
一の境界エッジと交差するものと決定される場合、前記
ピッキング・ボリュームの前記一の境界エッジに沿った
一の点が当該境界エッジに垂直な一の面における前記オ
ブジェクトの投影と交差するか否かを決定し、(ニ)こ
の決定結果に応じて、前記表示されたオブジェクトが前
記ピッキング・ボリュームと交差するか否かの指示を表
示するステップを含んでいる。
【0005】本発明は、3次元空間内にある一の共面状
オブジェクトが3次元の一のピッキング・ボリュームと
交差するか否かを処理するためのピック事象の処理装置
にも向けられている。この処理装置は、前記オブジェク
トを記憶するためのメモリと、前記記憶されたオブジェ
クトを表示するための表示装置と、前記表示されたオブ
ジェクトを処理するためのプロセッサとを備え、前記プ
ロセッサは、(イ)前記表示されたオブジェクトを含む
一の面が前記ピッキング・ボリュームの一の境界エッジ
と交差するか否かを決定するための第1手段と、(ロ)
前記表示されたオブジェクトを含む前記一の面が前記ピ
ッキング・ボリュームの前記一の境界エッジと交差する
ものと決定される場合、前記ピッキング・ボリュームの
前記一の境界エッジに沿った一の点が当該境界エッジに
垂直な一の面における前記オブジェクトの投影と交差す
るか否かを決定するための第2手段と、(ハ)前記第2
手段の決定結果に応じて、前記表示されたオブジェクト
が前記ピッキング・ボリュームと交差するか否かの指示
を表示するための第3手段とを有している。
【0006】
【実施例】本発明は、既知のクリッピング技術を使用し
て一のオブジェクト又は基本要素と一のピッキング・ボ
リュームとの交差点を決定することなく、このオブジェ
クト又は基本要素がピッキング・ボリューム内に存在す
るか否かを検出することにより、一のピック事象を処理
することに向けられている。即ち、殆どの適用業務で
は、このオブジェクト又は基本要素がピックされている
ものとして処理するためには、このオブジェクト又は基
本要素がピッキング・ボリュームと交差するか否かを検
出することで十分であって、この交差の点を計算する必
要はないからである。この簡略化の結果、ハードウェア
が単純になり、コストが低下し、実行速度が速くなる。
【0007】図1には、本発明の好ましい実施例が利用
する典型的なホスト計算機100の構成が示されてい
る。ホスト計算機100は、主メモリ120に結合した
主プロセッサ110と、入力装置130と、出力装置1
40を含んでいる。主プロセッサ110は、1つ又は複
数のプロセッサを含むことがある。入力装置130は、
キーボード、マウス、タブレット等の入力装置であり、
出力装置140は、テキスト・モニタ、プロッタ等の出
力装置である。また、主プロセッサ110は、グラフィ
ックス・アダプタ200を通して、グラフィックス出力
装置としてのグラフィックス表示装置150に結合する
ことができる。
【0008】グラフィックス・アダプタ200は、バス
160を介して、主プロセッサ110からのグラフィッ
クスに関する命令を受け取ると、グラフィックス・アダ
プタ・メモリ230に結合したグラフィックス・アダプ
タ・プロセッサ220によりこれらの命令を実行して、
フレーム・バッファ240の内容を更新する。グラフィ
ック・プロセッサ220は、特定の型の基本要素をレン
ダリングするための、特別のレンダリング用ハードウェ
アを含むことがある。フレーム・バッファ240は、グ
ラフィックス表示装置150上に表示すべき全てのピク
セル用のデータを格納している。ランダム・アクセス・
メモリ型のディジタル・アナログ変換器(RAMDA
C)250は、フレーム・バッファ240に格納されて
いるディジタル・データをRGB信号に変換し、これを
グラフィックス表示装置150に提供して、主プロセッ
サ110からの所望のグラフィックス出力をレンダリン
グさせる。
【0009】図2には、ピック事象のようなグラフィッ
クス機能を遂行するためにホスト計算機100及びグラ
フィックス・アダプタ200が利用する、複数のコード
層が示されている。ピック事象とは、一のオブジェクト
について消去やカラー変更や移動等の機能を遂行するた
めに、一のピッキング・ボリュームを使用してこのオブ
ジェクトがピックされるような事象である。オペレーテ
ィング・システム300は、ホスト計算機100の主要
な制御を提供する。カーネル310は、オペレーティン
グ・システム300のために、ハードウェアに密着した
タスクを提供する。カーネル310は、ホスト計算機1
00のマイクロコード320と直接に通信する。マイク
ロコード320は、ホスト計算機100の主プロセッサ
110が実行する基本命令セットである。オペレーティ
ング・システム300には、グラフィックス適用業務3
30及び332が結合されている。グラフィックス適用
業務330及び332は、シリコン・グラフィック社の
「GL」、IBM社の「graPHIGS」、MITの
「REX」等のソフトウェア・パッケージを含むことが
ある。
【0010】グラフィックス適用業務330及び332
は、2次元又は3次元のグラフィックス処理を基本的な
機能とするものであって、グラフィックス適用業務用の
API(Application Program Interface )340及び
342にそれぞれ結合されている。APIは、グラフィ
ックス適用業務用の計算集中型タスクのうち多くのもの
を提供するとともに、かかるグラフィックス適用業務と
グラフィックス・アダプタ200の側により近いデバイ
ス・ドライバのような他のソフトウェアとの間のインタ
フェースを提供する。例えば、API340及び342
は、GAI(Graphics Application Interface)350
及び352とそれぞれ通信する。GAI350及び35
2の各々は、API340及び342の各々と、グラフ
ィックス・アダプタ200のデバイス・ドライバ370
との間のインタフェースを提供する。或る形態のグラフ
ィックス・システムでは、APIがGAIの機能をも遂
行する。
【0011】オペレーティング・システム300及びデ
バイス・ドライバ370は、一のグラフィックス適用業
務と、一のAPIと、一のGAIとを、単一のプロセス
と見なす。即ち、オペレーティング・システム300及
びデバイス・ドライバ370は、グラフィックス適用業
務330及び332と、API340及び342と、G
AI350及び352とを、プロセス360及び362
とそれぞれ見なすのである。プロセス360及び362
には、プロセスID(PID)がカーネル310によっ
てそれぞれ割り当てられるから、オペレーティング・シ
ステム300及びデバイス・ドライバ370は、PID
を使用してそれぞれのプロセスを識別することができ
る。プロセス360及び362は、例えば2つの別々の
ウィンドウ内で一のプログラムを同時に実行する場合の
ように、同一のコードを同時に使用することができる。
かかる同一のコードの何れかの実行を区別するために、
PIDを使用する。
【0012】デバイス・ドライバ370は、カーネル3
10の一の拡張部に相当する、一のグラフィックス・カ
ーネルである。このグラフィックス・カーネルは、グラ
フィックス・アダプタ200のマイクロコード(以下
「アダプタ・マイクロコード」と略記)380と直接に
通信する。多くのグラフィックス・システムでは、GA
I(GAI層が使用されていない場合はAPI)が、デ
バイス・ドライバ370に最初の要求命令を送出するこ
とにより、このGAI(又はAPI)からアダプタ・マ
イクロコード380への直接アクセスを要求することが
できる。
【0013】それに加えて、多くのグラフィックス・シ
ステムでは、デバイス・ドライバ370に最初の要求命
令を送出することより、アダプタ・マイクロコード38
0が、GAI(GAI層が使用されていない場合はAP
I)への直接アクセスを要求することができる。以下、
これらの両方のプロセスを、「直接メモリ・アクセス
(DMA)」と称する。一般に、DMAを使用するの
は、大量のデータを転送する場合である。DMAは、ホ
スト計算機100とグラフィックス・アダプタ200と
の間の高速データ伝送を提供するために、(デバイス・
ドライバ370がDMAを設定するための最初の要求を
除き)ディスプレイ・ドライバ370を経由する必要性
を排除する。ケースによっては、アダプタ・マイクロコ
ード380は、コンテクスト・スイッチングを利用する
ことにより、アダプタ・マイクロコード380が利用し
ている現在の属性を置き換えることを可能にする。コン
テクスト・スイッチングを利用するのは、アダプタ・マ
イクロコード380が現に使用しているものと異なる属
性を利用するようなグラフィックス適用業務からの一の
命令を、アダプタ・マイクロコード380が受け取るよ
うな場合である。一般に、コンテクスト・スイッチは、
このような属性変更を認識するデバイス・ドライバ37
0がこれを開始する。
【0014】ブロック300〜340は、利用している
グラフィックス・アダプタの型から独立しているのが普
通の、ソフトウェア・コード層である。これに対し、ブ
ロック350〜380は、利用しているグラフィックス
・アダプタの型に依存しているのが普通の、ソフトウェ
ア・コード層である。例えば、このグラフィックス適用
業務が、一の異なるグラフィックス・アダプタを使用す
るのであれば、一の新しいGAI、グラフィックス・カ
ーネル及びアダプタ・マイクロコードが必要となろう。
これに加えて、ブロック300〜370は、ホスト計算
機100上に常駐し、ホスト計算機100がこれを実行
する。他方、アダプタ・マイクロコード380は、グラ
フィックス・アダプタ200上に常駐し、グラフィック
ス・アダプタ200がこれを実行する。しかし、幾つか
のケースでは、グラフィックス・アダプタ200の初期
化中に、ホスト計算機100が、アダプタ・マイクロコ
ード380をグラフィックス・アダプタ200にロード
する。
【0015】通常のグラフィックス・システムにおい
て、ユーザは、グラフィックス適用業務に対し、一の2
次元又は3次元モデルから一のイメージを構築するよう
に命令する。先ず、ユーザは、光源の位置及び型を選択
する。次に、ユーザは、このグラフィックス適用業務に
対し、1組の定義済み(又はユーザ定義)オブジェクト
から所望のモデルを構築するように命令する。各オブジ
ェクトは、このオブジェクトを記述している1つ以上の
共面状の描画用(drawing )基本要素を含むことができ
る。例えば、多数の3角形のような1組の描画用基本要
素を使用して、一のオブジェクトの面を定義することが
できる。次に、ユーザは、そのモデルを目視するために
一のウィンドウ内に一の透視投影を提供することによ
り、所望のイメージを定義する。次に、このグラフィッ
クス適用業務は、このモデルからイメージのレンダリン
グを開始するために、このオブジェクトを記述する描画
用基本要素を、API、GAI及び(DMAが使用され
ていない場合は)デバイス・ドライバ370を通してア
ダプタ・マイクロコード380に送出する。次に、アダ
プタ・マイクロコード380は、このウィンドウ内で非
可視の描画用基本要素をクリッピングすることにより
(即ち、かかる描画用基本要素を使用しない)、このイ
メージをグラフィックス表示装置150上にレンダリン
グする。次に、アダプタ・マイクロコード380は、残
りの描画用基本要素の各々を、ユーザが提供する透視投
影からの複数の可視ピクセルに分解する。次いで、これ
らのピクセルを、(3次元モデルのときは深さバッファ
を使用しつつ)フレーム・バッファ240にロードす
る。このステップは、多数の描画用基本要素、変数及び
ピクセルが関係するという理由で、極めて計算集中的で
ある。フレーム・バッファ240内に格納され且つグラ
フィックス表示装置150上に表示される結果的なイメ
ージは、そのピクセルの抽出元に相当する描画用基本要
素又はオブジェクトのような、元の情報を担持していな
いのが普通である。この結果、ウィンドウ、ユーザの透
視投影、モデル、照明等が修正されるのであれば、この
イメージの部分的又は全体的な再レンダリングが必要と
なることがある。また、このことは、このウィンドウ内
で表示イメージをピックすべき場合に、困難な事態を惹
起することになる。即ち、典型的な3次元モデルでは、
ユーザのイメージが一のウィンドウ内に表示される多数
のオブジェクトを含んでいる場合、所望のオブジェクト
をピックするために、複雑且つ長時間のプロセスが必要
となることがあるからである。
【0016】好ましい実施例では、このピック技術を、
多くの位置(例えば、フレーム・バッファ240の近く
に存在するアダプタ・マイクロコード380)において
利用することができる。また、このアプローチは、比較
的高速で、しかも実現するのが極めて簡単である。それ
に加えて、このピック技術は、レンダリング前のイメー
ジが主メモリ110内に格納されるだけでなく、グラフ
ィックス・アダプタ200から戻されるレンダリング後
のイメージも主メモリ110内に格納されるような、グ
ラフィックス適用業務内においても適用することができ
る。このアプローチは、かなり遅いが、既存のグラフィ
ックス・アダプタ200上でこの技術を利用することを
可能にする。また、このピック技術は、グラフィックス
・アダプタ・プロセッサ220内でハードウェア的に実
現することができる。このアプローチは、特別のハード
ウェアを必要とすることが多いとは云え、極めて高速で
あるから、グラフィックス・アダプタ200が表示する
基本要素の速やかなピッキングを可能にする。この技術
を、ホスト計算機100又はグラフィックス・アダプタ
200内にある他の多くの位置で適用可能であること
は、当業者にとっては自明な事項に属する。
【0017】図3に示されているように、好ましいピッ
キング・ボリュームは、6個の境界面及び12個の境界
エッジによって境界付けられるのが普通である。しか
し、一のピッキング・ボリュームが、2以上の次元を有
していたり、一層多くの又は一層少ない境界面によって
境界付けられることもある。境界エッジ500は、この
ピッキング・ボリューム内に存在する2つの隣接する境
界面が交差するエッジの部分である。境界面510は、
このピッキング・ボリュームにとって通常の境界面の部
分である。複数の境界面は、3次元空間を、このピッキ
ング・ボリュームがその1つであるような27個の重複
しない領域に分割する。26個の他の領域は、外領域と
呼ばれる。このピッキング・ボリュームの8個の頂点
(即ち、3つの隣接する境界面が交差する点)は、一の
境界頂点520である。これらの境界面、境界エッジ及
び境界頂点は、このピッキング・ボリューム内に存在す
るものと見なされる。
【0018】一の基本要素は、1組の共面状頂点によっ
て指定されるのが普通である。この基本要素は、凸状
(convex)又は凹状(concave )の何れでもよく、穴を
含むこともある。図4には、ピッキング・ボリュームと
交差するような穴を有する、凹状の基本要素540が示
されている。かかるオブジェクトのピッキングについて
は、図9を参照して以下で詳述する。
【0019】図5には、一の非共面状オブジェクトが、
全体的に又は部分的にピッキング・ボリューム内に存在
するか否かを決定するための、本発明の方法の流れ図が
示されている。最初のステップ550では、このオブジ
ェクトを、(1組の頂点によって各々が定義される)複
数の共面状基本要素に細分化する。もし、このオブジェ
クトが共面状であれば、このオブジェクトを、図4に示
されているような単一の基本要素とすることができる。
ステップ560では、このオブジェクトから一の基本要
素を選択する。ステップ570では、この基本要素が全
体的に又は部分的にピッキング・ボリューム内に存在す
るか否かを決定する。このステップ570については、
図6及び図7を参照して以下で詳述する。もし、この基
本要素がピッキング・ボリューム内に存在しなければ、
ステップ580では、この基本要素が当該オブジェクト
の最後の基本要素であるか否かを決定する。そうでなけ
れば、ステップ560に戻って、次の基本要素を選択す
る。他方、そうであれば、このオブジェクトのどの基本
要素もピッキング・ボリューム内に存在していないか
ら、このオブジェクトを拒否する。もし、ステップ57
0で、このオブジェクトの1つの基本要素がピッキング
・ボリュームと交差することが分かれば、ステップ59
5で、このオブジェクトを受諾する。
【0020】図6及び図7には、1組の頂点により定義
された一の共面状オブジェクト又は基本要素が、全体的
に又は部分的にピッキング・ボリューム内に存在するか
否かを決定するための、本発明の方法の流れ図が示され
ている。最初のステップ600では、「コーヒン・スー
ザーランド」の技術に従って、この基本要素の各頂点ご
とに6ビット・コードを計算する。即ち、この基本要素
の各頂点が、ピッキング・ボリューム側にあるか、又は
ピッキング・ボリュームの各境界面の無限大側の何れか
にあるものとして、これを分類するということである。
このビット・コードの各ビットは、その値0又は1で以
て、この頂点が特定の面の内側又は外側に存在すること
を指定する。もし、一の頂点が、全部で6個ある境界面
のピッキング・ボリューム側にあれば、この頂点は、ピ
ッキング・ボリューム内にあり、ビット・コード000
000を有する。
【0021】図8には、27個の領域の各々ごとのビッ
ト・コードが示されている。ここで、ビット1は、Y方
向においてピッキング・ボリュームよりも上の点を示
し、ビット2は、Y方向においてピッキング・ボリュー
ムよりも下の点を示し、ビット3は、X方向においてピ
ッキング・ボリュームよりも右の点を示し、ビット4
は、X方向においてピッキング・ボリュームよりも左の
点を示し、ビット5は、Z方向においてピッキング・ボ
リュームよりも後の点を示し、ビット6は、Z方向にお
いてピッキング・ボリュームよりも前の点を示す。勿
論、別のビット・コード方式を利用することもできる。
【0022】もし、図6のステップ610で、この基本
要素の一の頂点のビット・コードが000000に等し
いことが分かれば、この頂点は、ピッキング・ボリュー
ム内に存在するから、この基本要素の少くとも1つの部
分は、ピッキング・ボリューム内に存在している。従っ
て、ステップ800で、この基本要素をトリビアルに受
諾し、ヒットとして処理する。さもなければ、ステップ
620に進んで、全ての頂点のビット・コードの論理積
(ANDコード)を計算する。もし、ステップ630
で、この論理積が1つの1(例えば、001000)だ
けを有することが分かれば、この基本要素は、全体とし
てピッキング・ボリュームの外側に存在しているから、
ステップ810で、この基本要素をトリビアルに拒否
し、そのように処理する。即ち、この基本要素の全ての
頂点がそれぞれ外領域にあれば、この基本要素はピッキ
ング・ボリュームと交差することができないのであり、
従ってこの基本要素はヒットとして処理されないのであ
る。
【0023】この基本要素をトリビアルに受諾/拒否す
ると、この基本要素がピッキング・ボリューム内に存在
するか否かを決定するための後続処理は、不要となる。
普通の適用業務では、殆どの基本要素についてそうであ
る。この後続処理中に特定の問題が起こるのは、どの頂
点もピッキング・ボリューム内に存在し得ないにも拘わ
らず、この基本要素の一部がピッキング・ボリューム内
に存在し得るような場合である。このケースを検出する
には、それぞれの頂点がピッキング・ボリューム内に存
在するか否かを検査するだけでは、不十分である。しか
し、後続処理を必要とする少数の基本要素について、か
かる処理が計算集中型のタスクになりうるとしても、本
発明を利用すれば、このようなタスクを効率的に処理す
ることができる。
【0024】もし、前述のステップの間に、この基本要
素がトリビアルに拒否又は受諾されなければ、この基本
要素の後続処理が必要となる。もし、この基本要素がピ
ッキング・ボリューム内に存在すれば、この基本要素の
一のエッジがピッキング・ボリュームと交差するか、又
はピッキング・ボリュームの一の境界エッジがこの基本
要素と交差しなければならない。このため、好ましい実
施例では、一度に1つの頂点ではなく、一度に1つのエ
ッジについて、処理を継続する。
【0025】この基本要素の一のエッジがピッキング・
ボリュームと交差するか否かを検出するには、先ず、そ
のような交差の可能性があるか否かを決定するのが効率
的である。例えば、このエッジの両方の頂点は、ピッキ
ング・ボリュームの外側にあるから、一の交差が起こり
得るのは、(この基本要素の一のエッジを定義する)隣
接する任意の2つの頂点のビット・コードが、少なくと
も2つの面において異なる場合だけである。それに加え
て、幾つかのケースでは、このエッジの2つの頂点のビ
ット・コードを調べるだけで、この基本要素がピッキン
グ・ボリュームと交差するか否かを決定することがで
き、従ってこの基本要素を受諾/拒否することができ
る。ステップ640では、この基本要素の各エッジごと
に2つの頂点のビット・コードの排他的論理和(XOR
コード)を計算する。ステップ650では、これらのビ
ット・コードの論理積(ANDコード)が000000
に等しく、且つこれらのビット・コードの排他的論理和
(XORコード)が110000、001100又は0
00011に等しいか否かを検査する。もし、両方が真
であれば、このエッジはピッキング・ボリュームと交差
するから、この基本要素はピッキング・ボリューム内に
存在するものとして受諾される。もし、ステップ660
で、これらのビット・コードの排他的論理和(XORコ
ード)がこれらの1より1つ少ない1(one one less o
nes )を含むことが分かれば(そして前述のステップで
決定されたように、どの頂点もピッキング・ボリューム
内に存在しないものとすると)、この基本要素は、ピッ
キング・ボリューム内に存在しないものとして拒否され
る。ステップ660は、効率化のためにステップ630
と組み合わせることができる。本明細書では、説明の便
宜上、ステップ630及び660が互いに別個のもので
あるとする。
【0026】本発明の好ましい実施例では、効率化のた
めに前述のトリビアルな受諾/拒否テスト及びエッジ交
差テストを使用する。しかし、前述のテストを実行しな
かったとしても、後述のプロセスを使用することができ
る。
【0027】一の基本要素がピッキング・ボリュームと
交差するか否かを最終的に決定することは比較的に困難
であるが、これは前述のプロセスと違って決定的であ
る。基本的には、一の境界エッジがこの基本要素と交差
するか否かを決定する。一の境界エッジがこの基本要素
と交差するための一の必要条件は、この境界エッジの2
つの頂点が、この基本要素を含んでいる面の互いに反対
の側にそれぞれ存在しなければならないということであ
る。一の境界エッジの頂点が一の面のどちらの側にある
かを決定するとともに、この境界エッジが一の基本要素
と交差するか否かを検査するために、この基本要素の面
から延びている一の面がピッキング・ボリュームと交差
するか否かを決定する。図7のステップ700では、こ
の基本要素の面の方程式(以下「面方程式」と表記)
を、この基本要素から選択された3つの非共線状(non-
collinear )頂点から次式のように決定する。 ax+by+cz+d=0 この基本要素の法線(normal)、即ち前式のa、b及び
cは、グラフィックス適用業務が既に計算済みであるこ
とが多いから、そのような場合には、これを容易に利用
することができる。これらのケースにおいて、dは、こ
の基本要素の任意の頂点の座標から決定することができ
る。
【0028】ステップ710では、8個の境界頂点の各
々ごとに、次式のP(x、y、z)の符号を評価する。 P(x、y、z)=ax+by+cz+d もし、ステップ720で、12個の境界エッジのうち任
意の境界エッジの2つの頂点の符号が互いに異なってい
ないことが分かれば、この基本要素はピッキング・ボリ
ュームと交差していないので、この基本要素を拒否す
る。他方、任意の境界エッジの2つの頂点の符号が互い
に異なっていることが分かれば、ステップ730に進
む。
【0029】もし、ステップ730で、この基本要素が
凸状であることが分かれば、ステップ735で、この基
本要素とピッキング・ボリュームの交差の計算を試みる
ことによって、この基本要素がピッキング・ボリューム
と交差するか否かをテストする。これは、オプションの
テストであって、利用されないこともある。他方、この
基本要素が凸状でないことが分かるか、又はステップ7
35のテストが必要なければ、ステップ740に進む。
【0030】もし、ステップ740で、一の境界エッジ
の2つの頂点がこの基本要素の互いに反対の側にそれぞ
れ存在し、しかもこの境界エッジ上の一の点がこの境界
エッジに垂直な面におけるこの基本要素の投影(projec
tion)内に含まれていることが分かれば、この基本要素
はピッキング・ボリュームと交差しているから、この基
本要素を受諾する。さもなければ、この基本要素を拒否
する。「投影テスト」と呼ばれるこのテストは、前述の
ステップ700〜720において、この基本要素の面が
ピッキング・ボリュームと交差することを決定する限
り、共面状の基本要素が、凹状又は凸状の何れであろう
と、穴を有するか否かに関係なく、真である。結果とし
て、これは非常に強力なテストであって、複雑な共面状
の基本要素を扱う場合に、特に有用である。即ち、かか
る複雑な共面状の基本要素がピッキング・ボリュームと
交差するか否かを決定するために、これを複数の単純な
基本要素に細分化する必要がないからである。それに加
えて、この基本要素とピッキング・ボリュームとの間の
実際の交差点を計算する必要もないから、ピッキングに
対する効率的アプローチを提供することができる。
【0031】図9には、図4に示すような穴を有する凹
状の基本要素について、この基本要素と交差するピッキ
ング・ボリュームの一の境界エッジを、どのようにして
検出するか、という1つの例が示されている。図9は、
境界エッジE1(この例では左上のエッジ)に垂直な一
のPproj面(この例ではx−y面)におけるこの基
本要素の投影を示している。この境界エッジは、Ppr
oj面内の一の点Oに投影する。問題の境界エッジは、
左の境界面P1と、上の境界面P2との交差である。エ
ッジE1及びE3は、Pproj面におけるこの境界面
の投影である。エッジE2及びE4は、Pproj面に
おけるこの境界面の投影である。エッジE1〜E4は、
この投影内に4つの領域R1〜R4を生成する。これら
の領域R1〜R4の各々は、エッジE1〜E4のうち2
つのエッジによって境界付けられる。この基本要素の投
影済みエッジは、点Oがこのエッジの上にあるか又は下
にあるかを決定することができるように、配向しなけれ
ばならない。代替的な実施例では、エッジ方程式に関し
て点Oを計算及び評価するとともに、幾つのエッジが点
Oより上にあるかを決定することにより、交差点の計算
を回避することができる。
【0032】もし、図9の点Oが、この基本要素の輪郭
線(contour )で奇数回囲まれるのであれば、点Oは、
Pproj面におけるこの基本要素の投影内に含まれる
ことになる。他方、点Oが偶数回囲まれるのであれば、
点Oは、この基本要素の外側に存在する。この基本要素
の一の輪郭線が点Oを囲むのは、この輪郭線のエッジが
エッジE1〜E4のうち任意の1つと奇数回交差する場
合である。他方、この輪郭線のエッジがエッジE1〜E
4のうち任意の1つと偶数回交差するのであれば、この
輪郭線は、点Oを囲まない。これらの条件は、計算済み
の6ビット・コード(前出)を使用して、検出すること
ができる。この基本要素の連続的な2つの頂点が同一の
領域内に存在するか又は隣接する領域内に存在する場合
は、如何なる交差点の計算も行う必要はない。頂点V1
及びV2は、このケースの例である。他方、連続的な頂
点が隣接しない領域内に存在する場合には、交差点の計
算を行うことが必要となる。頂点V3及びV4は、この
ようなケースの例である。エッジV3〜V4及びV5〜
V6は、交差点の計算が必要な理由を示している。エッ
ジBE1がこの基本要素と交差しないのは、Pproj
面におけるこの基本要素の投影内に点Oが含まれていな
いからである。
【0033】前述の方法を使用すると、穴の有無に拘わ
らず、凸状や凹状の多角形(polygon)を、本発明によ
って扱うことができる。
【0034】以下の表1〜表6には、本発明を使用して
一のオブジェクトが一のピッキング・ボリュームと交差
するか否かを決定するための、疑似コードが示されてい
る。詳述すると、表1の疑似コードは、各基本要素(コ
ード面)が複数の頂点を有するように、一のオブジェク
トを複数の基本要素に細分化することを含む、高レベル
の処理に向けられている。次に、各基本要素を順次にテ
ストして、任意の基本要素がピッキング・ボリューム内
に含まれているか否かを決定する。もし、任意の基本要
素がピッキング・ボリューム内に存在すれば、このオブ
ジェクトは、ピッキング・ボリューム内に存在するもの
と決定される。他方、どの基本要素もピッキング・ボリ
ュームと交差しなければ、このオブジェクトそれ自体
は、ピッキング・ボリュームと交差しない。
【0035】
【表1】 オブジェクト・テスト用の疑似コード: 「オブジェクト・テスト」: オブジェクトをM個の共面状基本要素に細分化して、各基本要素がN +1の頂点長さを持つ一の頂点リストを有するようにするとともに、 最初の頂点については、最後のエッジを扱うために最後の頂点の後に 2度目のリストを行う。: オブジェクト内の各基本要素(I=1〜M)ごとに: HIT=NO 及び MISS=NO をセット; I番目の基本要素について「基本要素テスト」を実行; もし、HIT=YESであれば、ヒット宣言に進行; 次の基本要素I: オブジェクト内のどの基本要素もヒットでないから、オブジェクトを ヒットでない、即ち、ピッキング・ボリュームと交差しないものと宣 言; プログラム終了; ヒット宣言: オブジェクトをヒットとして、即ち、ピッキング・ボリュームと交差する ものと宣言; プログラム終了;
【0036】表2には、共面状の基本要素がピッキング
・ボリューム内に存在するか否かを決定するための、疑
似コードが示されている。この共面状の基本要素がピッ
キング・ボリュームと交差するか否かを決定するため
に、幾つかのテストが順次に実行される。以下で「点交
差テスト」と称する「コーヒン・スーザーランド」のト
リビアルな受諾/拒否テスト(詳細については表3の説
明を参照)が、最初に実行される。
【0037】もし、この基本要素がトリビアルに受諾/
拒否されるのであれば、処理は、前述の「オブジェクト
・テスト」に戻る。2番目のテストでは、この基本要素
の任意のエッジがピッキング・ボリュームと交差するか
否かを決定する。この「エッジ交差テスト」について
は、表4を参照して以下で詳述する。「点交差テスト」
及び「エッジ交差テスト」は、単一のループに結合する
ことができる。本明細書では、説明の便宜上、これらの
テストを別々の手続きとして示している。もし、ヒット
/ミスがあれば、処理は、「オブジェクト・テスト」に
戻る。3番目のテストでは、この基本要素の面の一の投
影が任意の境界エッジと交差するか否を決定する。この
「境界エッジ・テスト」については、表5を参照して以
下で詳述する。
【0038】もし、このテストから、この基本要素がピ
ッキング・ボリュームと交差しないことが分かれば、処
理は、「オブジェクト・テスト」に戻る。もし、4番目
のテストで、この多角形が凸状であることが分かれば、
この多角形がピッキング・ボリュームと交差するか否か
を決定するために、この多角形とピッキング・ボリュー
ムとの実際の交差を計算する。この手続きを効率化する
には、これを「エッジ交差テスト」及び「点交差テス
ト」と組み合わせることができる。次に、処理は、「オ
ブジェクト・テスト」に戻る。もし、この基本要素の一
のエッジが少くとも2つの面と交差し且つこの基本要素
の面がピッキング・ボリュームと交差することが分かれ
ば、この基本要素は、ピッキング・ボリュームと交差す
ることがあり得る。5番目のテストでは、この多角形が
凸状でないことが分かっているか、又は凸状のテストが
要請されていない場合に、「投影テスト」(詳細につい
ては表6の説明を参照)が実行される。このテストが終
結すると、処理は、「オブジェクト・テスト」に戻る。
【0039】
【表2】 基本要素テスト用の疑似コード: 「基本要素テスト」: 「点交差テスト」を実行; もし、HIT=YES又はMISS=YESであれば 「オブジェクト・テスト」に戻る; 「エッジ交差テスト」を実行; もし、HIT=YES又はMISS=YESであれば 「オブジェクト・テスト」に戻る; 「境界エッジ・テスト」を実行; もし、MISS=YESであれば 「オブジェクト・テスト」に戻る; もし、多角形が凸状であることが分かっていれば ピッキング・ボリュームとの交差を計算 もし、交差すれば、HIT=YESをセット さもなければ、MISS=YESをセット; 「オブジェクト・テスト」に戻る; 「投影テスト」を実行; 「オブジェクト・テスト」に戻る;
【0040】表3には、「コーヒン・スーザーランド」
のトリビアルな受諾/拒否テストを実行するための疑似
コードが示されている。このテストは、公知のトリビア
ルな受諾/拒否テストの変形である。このテストは、オ
プションであるが、「エッジ交差テスト」を実行する場
合には、これが必要となることがある。
【0041】
【表3】 トリビアルな受諾/拒否テスト用の疑似コード: 「点交差テスト」: ANDコード=111111をセット; 基本要素内の各頂点(J=1〜N+1)ごとに: Vコード(J)=頂点用の6ビット・コードをセット; もし、Vコード(J)=000000であれば HIT=YESをセット 「基本要素テスト」に戻る; ANDコード=ANDコード AND Vコード(J)をセット; 次の頂点J; もし、ANDコードが1つの1を有するのであれば MISS=YESをセット; 「基本要素テスト」に戻る;
【0042】表4には、この基本要素の一のエッジが少
くとも2つの面と交差するか否かを決定するための、疑
似コードが示されている。それに加えて、このエッジが
2つの面の特定のセットと交差すれば(後出)、この基
本要素はピッキング・ボリュームと交差すると決定され
る。このテストはオプションであるが、この基本要素が
凸状であることが分かっていて、凸状の多角形に対する
テストを実行することになっていれば、これを実行する
のが好ましい。
【0043】
【表4】 エッジ交差テスト用の疑似コード: 「エッジ交差テスト」: MISS=YESをセット; 基本要素内の各エッジ(J=1〜N)ごとに: XORコード=Vコード(J) XOR Vコード(J+1)を セット; もし、(Vコード(J) AND Vコード(J+1)=000 000) であり、且つ(XORコード=(000011、 110000又は001100))であれば HIT=YES及びMISS=NOをセット 「基本要素テスト」に戻る; もし、XORコードが2以上の1を有するのであれば MISS=NOをセット; 次のエッジJ; 「基本要素テスト」に戻る;
【0044】表5には、基本要素の面が任意の境界エッ
ジと交差するか否かを決定するための、疑似コードが示
されている。これを決定するには、この基本要素の面方
程式を計算すればよい。しかし、グラフィックス適用業
務又は以前の処理を通してこの面の法線が既に与えられ
ていることがあるから、そのような場合には、この面方
程式の計算は簡単である。この面方程式を適用してこの
面を計算する場合に、任意の境界エッジの複数の頂点が
互いに異なる符号を有していれば、この基本要素がその
境界エッジと交差することがあり得るので、後続処理が
必要となる。このテストは、「点交差テスト」又は「エ
ッジ交差テスト」を必要としない。
【0045】
【表5】 境界エッジ・テスト用の疑似コード: 「境界エッジ・テスト」: 基本要素の面方程式を計算; P(x、y、z)=ax+by+cz+d ピッキング・ボリュームの各頂点ごとにP(x、y、z)を計算 もし、全ての頂点の符号が等しければ MISS=YESをセット 「基本要素テスト」に戻る; E(K)=Kをセット(符号が反対の頂点を持つエッジの数); 「基本要素テスト」に戻る;
【0046】表6には、潜在的に交差する任意の境界エ
ッジが、このエッジの法線に対する基本要素面の投影内
に一の頂点を有するか否かを決定するための、疑似コー
ドが示されている。もしそうであれば、この基本要素
は、ピッキング・ボリュームと交差する。このテストの
前には、「境界エッジ・テスト」を実行することが好ま
しい。しかし、このテストは、「点交差テスト」又は
「エッジ交差テスト」の実行を必要としない。
【0047】
【表6】 投影テスト用の疑似コード: 「投影テスト」: 各境界エッジE(J=1〜K)ごとに: もし、境界エッジE(J)の任意の頂点が、このエッジ E(J) に対し垂直な基本要素の面P(x、y、z)の投影内にあ れば、HIT=YESをセットし、「基本要素テスト」に 戻る; 次の境界エッジE(J);
【0048】
【発明の効果】以上説明したように、本発明によれば、
従来のクリッピング技術が必要としていた大量の数値計
算を排除することができるので、必要な制御論理を単純
化することが可能となり、ひいてはハードウェア・コス
ト及び実行時間を減少させることができる。
【図面の簡単な説明】
【図1】本発明の好ましい実施例が利用する典型的なホ
スト計算機の構成を示すブロック図である。
【図2】グラフィックス機能を実行するためにホスト計
算機及びグラフィックス・アダプタが利用する、複数の
コード層を示すブロック図である。
【図3】複数の面、複数のエッジ及び複数の頂点によっ
て境界付けられる、好ましいピッキング・ボリュームを
示す図である。
【図4】ピッキング・ボリュームと交差するような穴を
有する、凹状の基本要素を示す図である。
【図5】一のオブジェクトが全体的に又は部分的にピッ
キング・ボリューム内に存在するか否かを決定するため
の、本発明の方法を示す流れ図である。
【図6】一の共面状オブジェクト又は基本要素が全体的
に又は部分的にピッキング・ボリューム内に存在するか
否かを決定するための、本発明の方法を示す流れ図であ
る。
【図7】一の共面状オブジェクト又は基本要素が全体的
に又は部分的にピッキング・ボリューム内に存在するか
否かを決定するための、本発明の方法を示す流れ図であ
る。
【図8】ピッキング・ボリュームの27個の領域の各々
ごとのビット・コードを示す図である。
【図9】図4のオブジェクトを1つの境界エッジに垂直
な一の面に投影した例を示す図である。

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 3次元空間内にある一の共面状オブジェ
    クトが3次元のピッキング・ボリュームと交差するか否
    かを処理するためのピック事象の処理方法であって、 (イ)前記オブジェクトを表示装置上に表示するステッ
    プと、 (ロ)前記表示されたオブジェクトを含む一の面が前記
    ピッキング・ボリュームの一の境界エッジと交差するか
    否かを決定するステップと、 (ハ)前記表示されたオブジェクトを含む前記一の面が
    前記ピッキング・ボリュームの前記一の境界エッジと交
    差するものと決定される場合、前記ピッキング・ボリュ
    ームの前記一の境界エッジに沿った一の点が当該境界エ
    ッジに垂直な一の面における前記オブジェクトの投影と
    交差するか否かを決定するステップと、 (ニ)前記ステップ(ハ)の決定結果に応じて、前記表
    示されたオブジェクトが前記ピッキング・ボリュームと
    交差するか否かの指示を表示するステップとから成る、
    前記方法。
  2. 【請求項2】 前記一の境界エッジに沿った前記一の点
    が、前記一の境界エッジの一の境界頂点である、請求項
    1に記載の方法。
  3. 【請求項3】 前記ステップ(ロ)が、前記オブジェク
    トを含む前記一の面の面方程式を使用して前記ピッキン
    グ・ボリュームの少なくとも2つの頂点の符号を計算す
    ることを含んでいる、請求項2に記載の方法。
  4. 【請求項4】 3次元空間内にある一の共面状オブジェ
    クトが3次元のピッキング・ボリュームと交差するか否
    かを処理するためのピック事象の処理装置であって、 前記オブジェクトを記憶するためのメモリと、 前記記憶されたオブジェクトを表示するための表示装置
    と、 前記表示されたオブジェクトを処理するためのプロセッ
    サとを備え、 前記プロセッサが、 (イ)前記表示されたオブジェクトを含む一の面が前記
    ピッキング・ボリュームの一の境界エッジと交差するか
    否かを決定するための第1手段と、 (ロ)前記表示されたオブジェクトを含む前記一の面が
    前記ピッキング・ボリュームの前記一の境界エッジと交
    差するものと決定される場合、前記ピッキング・ボリュ
    ームの前記一の境界エッジに沿った一の点が当該境界エ
    ッジに垂直な一の面における前記オブジェクトの投影と
    交差するか否かを決定するための第2手段と、 (ハ)前記第2手段の決定結果に応じて、前記表示され
    たオブジェクトが前記ピッキング・ボリュームと交差す
    るか否かの指示を表示するための第3手段とを有する、
    前記処理装置。
  5. 【請求項5】 前記一の境界エッジに沿った前記一の点
    が、前記一の境界エッジの一の境界頂点である、請求項
    4に記載の処理装置。
  6. 【請求項6】 前記第1手段が、前記表示されたオブジ
    ェクトを含む前記一の面の面方程式を使用して前記ピッ
    キング・ボリュームの少なくとも2つの境界頂点の符号
    を計算する手段を含んでいる、請求項5に記載の処理装
    置。
JP5229597A 1992-10-30 1993-08-24 ピック事象の処理方法及び処理装置 Expired - Lifetime JP2667949B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7/968,718 1992-10-30
US07/968,718 US5563990A (en) 1992-10-30 1992-10-30 Method and apparatus for processing a pick event
US07/968,718 1992-10-30

Publications (2)

Publication Number Publication Date
JPH06215133A JPH06215133A (ja) 1994-08-05
JP2667949B2 true JP2667949B2 (ja) 1997-10-27

Family

ID=25514664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5229597A Expired - Lifetime JP2667949B2 (ja) 1992-10-30 1993-08-24 ピック事象の処理方法及び処理装置

Country Status (3)

Country Link
US (1) US5563990A (ja)
EP (1) EP0595146A3 (ja)
JP (1) JP2667949B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040396A (ja) * 1996-07-19 1998-02-13 Nec Shizuoka Ltd クリッピング回路
EP1804183B1 (en) * 2005-12-30 2017-06-21 Dassault Systèmes Process for selecting objects in a PLM database and apparatus implementing this process
EP1804184B1 (en) * 2005-12-30 2017-06-28 Dassault Systèmes Process for selecting an object in a PLM database and apparatus implementing this process
EP1804187B1 (en) * 2005-12-30 2020-09-09 Dassault Systèmes Process for displaying objects in a PLM database and apparatus implementing this process

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3816726A (en) * 1972-10-16 1974-06-11 Evans & Sutherland Computer Co Computer graphics clipping system for polygons
EP0156052B1 (en) * 1984-03-23 1989-12-20 International Business Machines Corporation An interactive discharge system
GB8411579D0 (en) * 1984-05-05 1984-06-13 Ibm Graphic display systems
US4941111A (en) * 1986-04-18 1990-07-10 Advanced Micro Devices, Inc. Video picking and clipping method and apparatus
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US5249264A (en) * 1988-11-14 1993-09-28 International Business Machines Corporation Image display method and apparatus
US5003497A (en) * 1988-12-15 1991-03-26 Sun Micosystems Inc Method for three-dimensional clip checking for computer graphics
US4982345A (en) * 1989-01-23 1991-01-01 International Business Machines Corporation Interactive computer graphics display system processing method for identifying an operator selected displayed object
US5051737A (en) * 1989-02-23 1991-09-24 Silicon Graphics, Inc. Efficient graphics process for clipping polygons
JPH06309425A (ja) * 1990-10-12 1994-11-04 Internatl Business Mach Corp <Ibm> グラフィックディスプレイ装置及び方法
JP2558984B2 (ja) * 1991-03-12 1996-11-27 松下電器産業株式会社 3次元情報会話システム

Also Published As

Publication number Publication date
JPH06215133A (ja) 1994-08-05
EP0595146A3 (en) 1994-07-06
US5563990A (en) 1996-10-08
EP0595146A2 (en) 1994-05-04

Similar Documents

Publication Publication Date Title
JP3030206B2 (ja) グラフィック多角形をクリップ領域にクリップする方法および装置
US4888712A (en) Guardband clipping method and apparatus for 3-D graphics display system
JP3840014B2 (ja) グラフィックス表示システムの走査変換実施装置
US6118452A (en) Fragment visibility pretest system and methodology for improved performance of a graphics system
US5734806A (en) Method and apparatus for determining graphical object visibility
US7292242B1 (en) Clipping with addition of vertices to existing primitives
US6483519B1 (en) Processing graphic objects for fast rasterised rendering
US6069633A (en) Sprite engine
US4928247A (en) Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
US5579454A (en) Three dimensional graphics processing with pre-sorting of surface portions
EP0698265B1 (en) Display compositing system
EP0329771B1 (en) High performance graphics workstation and method of operating therefor
US5251322A (en) Method of operating a computer graphics system including asynchronously traversing its nodes
US5926182A (en) Efficient rendering utilizing user defined shields and windows
JPH09326043A (ja) 画素フラグメントの結合システムおよび方法
JPH0877365A (ja) 多重プロセッサ・グラフィカル作業負荷分配を管理するための方法および装置
US5003497A (en) Method for three-dimensional clip checking for computer graphics
US5546524A (en) Method and apparatus for interlocking graphical objects
US6177944B1 (en) Two phase rendering for computer graphics
JP2713329B2 (ja) 長方形間の相互位置関係を判定する方法及び装置
JPH07109629B2 (ja) 多角形の識別方法、多角形を識別するシステム
JP2667949B2 (ja) ピック事象の処理方法及び処理装置
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
JPH0714029A (ja) 線描画装置及び方法
US5649078A (en) Efficient two-pass rasterization scheme utilizing visibility information

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050615

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: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050628

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8