JPH04268679A - 多角柱の隠線消去処理方法 - Google Patents

多角柱の隠線消去処理方法

Info

Publication number
JPH04268679A
JPH04268679A JP3048780A JP4878091A JPH04268679A JP H04268679 A JPH04268679 A JP H04268679A JP 3048780 A JP3048780 A JP 3048780A JP 4878091 A JP4878091 A JP 4878091A JP H04268679 A JPH04268679 A JP H04268679A
Authority
JP
Japan
Prior art keywords
polygon
line
polygonal
hidden line
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.)
Pending
Application number
JP3048780A
Other languages
English (en)
Inventor
Tomomi Fukuda
智美 福田
Osamu Hori
修 堀
Akio Okazaki
彰夫 岡崎
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3048780A priority Critical patent/JPH04268679A/ja
Publication of JPH04268679A publication Critical patent/JPH04268679A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の多角柱データに
ついて任意視点からの鳥瞰図を表示する際の隠線消去処
理方法に関するものである。
【0002】
【従来の技術】例えば、地理情報の管理システムには、
地図を電子化しただけの2次元データから建屋の高さな
どの情報を取り入れた3次元データへ移行する傾向があ
り、これにともない3次元データをわかり易くユーザに
理解させるために3次元コンピュータ・グラフッイクス
(CG)が注目されている。
【0003】そして、このようなCGでは、建物などの
3次元構造物をわかり易く表示するためワイヤーフレー
ム表示による鳥瞰図表示が多く採用されている。
【0004】ところで、ワイヤーフレーム表示では、隠
線消去を行う場合と行わない場合があるが、密集した建
物群のように対象が混み入っているような場合は隠線消
去を行わないと表示内容が著しく見ずらいものとなる。
【0005】そこで、従来、建物などの鳥瞰図表示には
、以下述べるような隠線消去処理が考えられている。
【0006】(1)多角柱を視平面上に投影した後,視
平面上で多角柱の稜線の交点計算を行い、後方にある稜
線を消去することにより隠線消去を行う。
【0007】(2)深度バッファ(奥行値を書き込むた
めの画像メモリ)を用いて、多角柱を構成する各面の辺
上の点の奥行値を順次比較しながら各辺の可視部分を決
定していく。
【0008】ところが、このような隠線消去処理は、い
ずれも多角柱単体を対象とした処理には効果的であるが
、大量の多角柱を同時に取り扱う場合には、次のような
欠点がある。
【0009】(1)の処理方法においては、多角柱の数
が増えることで稜線数が増えると、稜線同志の干渉を調
べるための計算時間が膨大となるなど処理に多大の時間
がかかってしまう。一方、(2)の処理方法においては
,深度バッファ用のメモリを必要とするため、ハード的
に大掛かりとなってコスト的に高価となり、また、アン
チエリアシングのための処理を必要とする。
【0010】
【発明が解決しようとする課題】このように従来の隠線
消去処理方法にあっては、大量の多角柱を隠線消去の対
象とすると,稜線同志の交点計算の候補稜線数を最少に
なるように工夫しないと処理に多大の時間がかかってし
まう。一方、深度バッファ用のメモリが必要とし、アン
チエリアシングを施さなければならない。などの問題点
があった。
【0011】本発明は、上記事情に鑑みてなされたもの
で、3次元空間上に自由に配置された大量の多角柱に対
する隠線消去処理を高速に、しかも低コストで実現する
ことができる隠線消去処理方法を提供することを目的と
する。
【0012】
【課題を解決するための手段】本発明は、複数の多角柱
データについて任意視点からの鳥瞰図を表示する際の隠
線消去処理方法であって、各多角柱の底面の多角形の凹
凸状を判定するとともに、あらかじめ指定された視点に
したがってすべての多角柱に対して視平面上へ座標変換
を行い、さらに、すべての多角柱について面の可視、不
可視を判定し、不可視面と不可視面の境界稜線である自
己陰線を除去するとともに、すべての凹多角柱について
単体で隠線消去を行った後に、多角柱全体で隠線消去を
行うようにしている。
【0013】
【作用】この結果、本発明によれば、3次元空間上に自
由に配置された大量の多角柱データに対し段階的な処理
を行うことにより、稜線どうしの干渉を調べる際の処理
対象となる稜線の候補数を減少させることができ、しか
も最も処理時間の要する稜線どうしの交点計算について
も、空間分割に基づく線情報管理構造を用いて視平面上
の稜線を管理することで、交点計算の候補稜線数を大幅
に減少させることができることで、隠線消去のための処
理を高速で行うことができる。また、画像メモリを用い
ることがないので、コスト的にも有利にできるとともに
、エリアシングの問題を生じることなく隠線消去処理を
実現できる。
【0014】
【実施例】以下、本発明の一実施例を図面に従い説明す
る。
【0015】図1は同実施例の概略構成を示すものであ
る。図において、1は処理プロセッサで、この処理プロ
セッサ1は、システムバス1aを通してシステム全体の
制御を行うようにしている。この場合、システムバス1
aには、主記憶装置2、ディスクコントローラ3、メモ
リコントローラ5、CRTコントローラ7、マウスイン
タフェース9を接続している。
【0016】主記憶装置2は、ディスクコントローラ3
を介してディスク4より読み出される所望の多角柱デー
タをロードするものである。そして、この状態から、処
理プロセッサ1によるアクセスにより、あらかじめ定め
られた手順にしたがって与えられた視点からの多角柱デ
ータに対する隠線消去処理が実行されるようになってい
る。
【0017】メモリコントローラ5は、多角柱データに
対する隠線消去処理の結果を画像メモリ6に描画するた
めのものである。そして、この画像メモリ6の内容は、
処理プロセッサ1の命令によりCRTコントローラ7を
介してCRT8に表示するようにしている。
【0018】マウスインタフェース9は、多角柱データ
の隠線消去処理に際してマウス10の操作による検索表
示すべき多角柱データの指示、鳥瞰図作成における視点
の指示などの入力データを処理プロセサ1に与えるよう
にしている。
【0019】次に、都市データベースに基づいた建屋鳥
瞰図表示を例にとり隠線消去処理を説明する.まず、図
2に示すように町丁目インデックス地図に対して建屋鳥
瞰図表示を行う選択矩形領域Aを指定し、都市データベ
ース中の検索すべき多角柱データを指示する。
【0020】次いで、図3(a)(b)に示すようにマ
ウス10を用いて視点の方向と高さを指示する。この場
合の視点の平面上における位置は、選択矩形領域Aから
求められる重心の位置と平面上に射影した視点を結ぶ直
線上で、領域Aの境界線が交わる点の重心からの距離の
定数倍の位置に設定している。
【0021】この状態で、選択矩形領域Aに対応してデ
ィスク4より読み出された多角柱データは、稜線を中心
として隣接する形状要素が関連づけられてデータ構造化
され、主記憶装置2にロードされる。
【0022】図4は、主記憶装置2にロードされたデー
タ構造を示している。この場合のデータ構造は、すべて
の多角柱0〜nを登録する建屋テーブル11に対して、
面の法線ベクトルを登録する面テーブル12、頂点座標
が記憶された頂点テーブル13、稜線の始点、終点座標
が記憶された稜線テーブル14が用意され、稜線の可視
部分を登録しておくための分割稜線テーブル15、16
が稜線テーブル14からポインティングされた形で動的
に作成されるようになっている。
【0023】これにより、稜線同志の交点計算を行うの
に候補のデータを取りだし易くしている。つまり、多角
柱データは、稜線を中心として隣接する形状要素を関連
ずけてデータ構造化され、隣接する稜線の接続情報とそ
の稜線を含む面を各稜線ごとに登録することにより,任
意の稜線について面との包含関係、他の稜線との干渉な
どを調べる際に接続情報をアクセスしやすくなっている
【0024】次に、このような主記憶装置2にロードさ
れたデータ構造に基づく隠線消去処理が以下述べる手順
で実行される。図5は、処理プロセッサ1で実行される
処理の手順フローを示している。
【0025】この場合、まず、多角柱の凹凸を判定して
建屋テーブル11に登録する。この場合、多角柱の凹凸
の判定は底面の多角形について隣合う稜線の外積を計算
し、符号の異なるものがあれば凹多角形、符号の異なる
ものがなければ凸多角形と判定する(ステップA1)。
【0026】次に、あらかじめ指定された視点にしたが
って、すべての多角柱に対して3次元アフィン変換を行
う。つまり、視点の位置がz正方向の軸上に存在するよ
うに座標変換を行うことになる(ステップA2)。
【0027】そして、すべての建屋の多角柱について面
の可視、不可視を判定し面テーブル12に登録する(ス
テップA3)。この場合、可視、不可視の判定は、視点
の方向をz正方向としているので、面の法線ベクトルの
z成分が正である面を可視面、負である面を不可視面と
している。また、すべての稜線について、それを含む2
枚の面がともに不可視面ならば自己隠線と判断して稜線
テーブルから除くようにしている(ステップA4)。
【0028】次いで、すべての凹多角柱について単体で
隠線消去を行う(ステップA5)。この場合、稜線テー
ブル14に登録されている稜線に対して、その多角柱の
可視面との包含関係を調べる。そして、可視面の中に稜
線が完全に含まれた場合には、面と稜線の前後関係を調
べ、稜線が後方にあるならば隠線として稜線テーブル1
4から取り除く。また、隠線消去の対象としている稜線
と、その稜線以外の稜線との交点計算を行い、対象とし
ている稜線のベクトルの向きから交点計算をした稜線と
境界となる面との不可視数を計算する(例えば、山口著
『コンピュータディスプレイによる図形処理工学』昭和
58年1月20日日刊工業新聞社  p.246)。こ
こで、可視面と可視面との境界である稜線とのみ交点が
あり、しかも、その交点における隠線消去の対象として
いる稜線上のz値が可視面と可視面の境界の稜線上のz
値より視点に対して後方にある場合には、対象の稜線を
不可視である。また、可視面と可視面の境界の稜線との
交点を除いて交点列をソーティングし、面への出入りフ
ラグにより不可視数をインクリメントさせ、不可視数が
最小値になるところを可視部分とし、稜線テーブル14
に登録する。
【0029】次に、多角柱全体について隠線消去を行う
(ステップA6)。この場合、多角柱のすべての可視面
の外接長方形の対角線をブロックごとに管理し、稜線テ
ーブル14上の稜線について可視面との包含関係を調べ
る。ここで、可視面の中に稜線が完全に含まれた場合に
は、面と稜線の前後関係を調べ、稜線が後方にあるなら
ば隠線として稜線テーブルから取り除くようになる。本
実施例のような都市の場合には、建屋が均等に込み入っ
ているので、線情報管理方法としてブロックごとに稜線
を管理している。ここで、稜線テーブル14に登録され
ている稜線については、稜線どうしの干渉を調べる際の
候補となる稜線数を減少させるため、図6に示すように
稜線を複数のブロックBに分割して管理する。この場合
、複数のブロックBにまたがっている稜線については、
それぞれのブロックBごとに登録する。また、この時の
ブロックBの数は、表示させる建屋の数に依存していて
処理時間が最小になる大きさに設定する。このような処
理は、ブロックB内の他の多角柱の稜線どうしですべて
実行する。
【0030】そして、稜線テーブル14上の稜線につい
て、すべての可視面との包含関係を調べ、前後関係を調
べる(ステップA7)。ここでも、可視面の外接長方形
の対角線をブロックごとにデータ管理することにより比
較回数を減らすようにしている。この処理は、分割され
る前の稜線が、可視面に包含されていなかったものが、
可視部分に分割された結果として可視面に包含されるこ
とにになり、しかも可視面の後方にある場合があるため
に行われるのである。図7は、このような処理を行う前
の稜線データの状態を示している。この場合、図中C、
Dが処理対象となる稜線データを示している。
【0031】しかして、このような隠線消去処理の結果
は、メモリコントローラ5により画像メモリ6に描画さ
れ、その後、この画像メモリ6の内容は、処理プロセッ
サ1の命令によりCRTコントローラ7を介してCRT
8に送られ、図8に示すような建物の鳥瞰図として表示
されるようになる。
【0032】なお、本発明は上記実施例にのみ限定され
ず、要旨を変更しない範囲で適宜変形して実施できる。 例えば、凹多角柱について単体で隠線消去を行うのに、
頂点数が多い場合には、その可視面や稜線をブロックご
とに管理し、稜線の可視面に対する包含関係や稜線どう
しの干渉を調べて隠線部分を処理する方法も考えられる
。また、多角柱が散在しているような場合には、線情報
管理方法として動的管理の可能なBD木を用いるように
してもよい。
【0033】
【発明の効果】本発明は,本発明によれば、互いに干渉
することなく3次元空間上に自由に配置された大量の多
角柱データに対し段階的な処理を行うことによって、稜
線どうしの干渉を調べる際の処理対象となる稜線の候補
数を減少させることができ、しかも、最も処理時間の要
する稜線どうしの交点計算についても、空間分割に基づ
く線情報管理構造を用いて視平面上の稜線を管理するこ
とで、交点計算の候補稜線数を大幅に減少させることが
できることから、鳥瞰図表示の際の隠線消去処理を高速
で実行することができる。また、画像メモリを用いるこ
とがないので、コスト的にも有利にできるとともに、エ
リアシングの問題を生じることなく隠線消去処理を実現
できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す概略的構成図。
【図2】町丁目インデックス表示の一例を示す図。
【図3】マウスを用いての視点の指示を説明するための
図。
【図4】主記憶装置に展開されるデータ構造を説明する
ための図。
【図5】本発明の一実施例の動作を説明するためのフロ
ーチャート。
【図6】稜線をブロック毎に分割管理する方法を説明す
るための図。
【図7】隠線消去処理の途中の一態様を説明するための
図。
【図8】隠線消去処理の結果を示す図。
【符号の説明】
1…処理プロセッサ、1a…システムバス、2…主記憶
装置、3…ディスクコントローラ、4…ディスク、5…
メモリコントローラ、6…画像メモリ、7…CRTコン
トローラ、8…CRT、9…マウスインタフェース、1
0…マウス、11…建屋テーブル、12…面テーブル、
13…頂点テーブル、14…稜線テーブル、15、16
…分割稜線テーブル。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  複数の多角柱データについて任意視点
    からの鳥瞰図を表示する際の隠線消去処理方法において
    、各多角柱の底面の多角形の凹凸を判定するとともに、
    あらかじめ指定された視点にしたがってすべての多角柱
    に対して視平面上へ座標変換を行い、さらにすべての多
    角柱について面の可視、不可視を判定し、不可視面と不
    可視面の境界稜線である自己隠線を除去するとともに、
    すべての凹多角柱について単体で隠線消去を行った後、
    多角柱全体で隠線消去を行うことを特徴とする多角柱の
    隠線消去処理方法。
JP3048780A 1991-02-22 1991-02-22 多角柱の隠線消去処理方法 Pending JPH04268679A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3048780A JPH04268679A (ja) 1991-02-22 1991-02-22 多角柱の隠線消去処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3048780A JPH04268679A (ja) 1991-02-22 1991-02-22 多角柱の隠線消去処理方法

Publications (1)

Publication Number Publication Date
JPH04268679A true JPH04268679A (ja) 1992-09-24

Family

ID=12812766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3048780A Pending JPH04268679A (ja) 1991-02-22 1991-02-22 多角柱の隠線消去処理方法

Country Status (1)

Country Link
JP (1) JPH04268679A (ja)

Similar Documents

Publication Publication Date Title
JP3390463B2 (ja) 3次元グラフィックスにおけるシャドウ・テスト方法
US4958305A (en) Polygon edge clipping
US8223145B2 (en) Method and system for 3D object positioning in 3D virtual environments
JP2002529871A (ja) 3次元コンピュータ生成画像のシェーディング
EP0314288A2 (en) Improvements in computer graphics generation and display
JP2008234473A (ja) 画像処理装置及びその制御方法
JP2002529868A (ja) 3次元コンピュータ生成画像のシェーディング
JPH11259678A (ja) 画像表示装置及びそれによる画像表示方法
CN101154293B (zh) 图像处理方法和图像处理装置
US6897863B2 (en) System and method for hidden object removal
EP1544799B1 (en) Method for drawing object having rough model and detailed model
US20020075276A1 (en) Rendering a silhouette edge
JPH04268593A (ja) 建屋属性情報表示装置および建屋属性情報表示方法
KR100256472B1 (ko) 사용자가 정의한 룸 및 윈도우를 이용하는 효율적인 렌더링
JPH04268679A (ja) 多角柱の隠線消去処理方法
JP2001148028A (ja) 図形表示装置及びその方法
US6628281B1 (en) Method and system for computing the intersection of a bounding volume and screen-aligned plane
JPS60198690A (ja) 高速図形処理方式
JP2731485B2 (ja) 自動作図における隠線処理方法
EP0408232B1 (en) Spatial augmentation of vertices for level of detail transition
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JPH06295343A (ja) 図形処理装置
JPH08212385A (ja) Cgデータ作成装置とcgアニメーション編集装置
JPH0679214B2 (ja) セグメント管理装置
JPH04116780A (ja) 凹多角形の凸化分割装置