JP3275920B2 - 科学的図形表示方法 - Google Patents

科学的図形表示方法

Info

Publication number
JP3275920B2
JP3275920B2 JP03635192A JP3635192A JP3275920B2 JP 3275920 B2 JP3275920 B2 JP 3275920B2 JP 03635192 A JP03635192 A JP 03635192A JP 3635192 A JP3635192 A JP 3635192A JP 3275920 B2 JP3275920 B2 JP 3275920B2
Authority
JP
Japan
Prior art keywords
value
cutting plane
image
result
elements
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
JP03635192A
Other languages
English (en)
Other versions
JPH0620012A (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 JPH0620012A publication Critical patent/JPH0620012A/ja
Application granted granted Critical
Publication of JP3275920B2 publication Critical patent/JP3275920B2/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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、科学的図形表示システ
ムに関し、より具体的には、有限要素解析または定差解
析の結果を3次元で図形表示するためのシステムに関す
る。
【0002】
【従来の技術及び発明が解決しようとする課題】有限要
素法及び定差法は、3次元機械部品の応力解析または熱
解析、固体物体の周囲または内部での流体流れ解析など
の分野で使用されている。これらの解析技法は、対象と
する物体または領域を、全体として当該の物体を形成す
る多面体(要素と呼ばれる)の集まりとしてモデル化す
る。解析中または解析後、すべての多面体のコーナ(ノ
ードまたは頂点と呼ばれる)で結果が生成する。ノード
での結果の例は、応力、温度、流体速度成分及び流体圧
力である。複雑なモデルでは、多面体の数が数百または
数千に達することもある。ノードの数は、容易に数千に
なる。問題は、3次元空間内にあるこれらのノードで生
成した結果をどのようにして効率的にかつ対話式に図形
表示し解釈するかということである。
【0003】1つの図形表示技法は、モデルとユーザが
定義する平面とを交差させ、結果を交差平面上でカラー
・コード化グロー(Gouraud)陰影付き多角形と
して示すものである。(グロー陰影付けとは、ある多角
形のコーナにカラーが与えられている場合、その多角形
の内部を、コーナにあるカラーの線形結合であるカラー
で塗りつぶす技法である。)通常、平面は対話式に直線
経路に沿って平行移動され、平面上で変化する結果が示
される。
【0004】別の有用な技法は、ある解析変数の一定の
値を表す、モデル内のすべての点を描くことである。一
般に、これはモデル内部で1つの曲面またはいくつかの
非接続曲面を生ずる。これらの曲面は、等表面または等
高面と呼ばれる。また、1つの解析変数が別の変数の単
一の等高面上でどのように変化するかを研究したい場合
がある。これらの等高面の使い方は、以下の状況の下で
理解することができる。ある設計応力レベルにある1つ
の金属部品内のすべての点を考える。この等高面は、部
品を様々な領域に分割する。これらの領域のいくつか
は、設計応力レベルより下にあり、他の領域はそれより
上にある。このとき、等高面は、どの領域を設計し直さ
なければならないかに関する視覚的ヒントを設計者に与
える。さらに、等高面の発展を観察(可能な等高値を辿
っていって等高面の変形を観察)すれば、問題(特に流
体流れの問題)の解を理解するためのヒントがさらに得
られる。
【0005】この種の科学的図形表示システムにおける
別の問題は、所与の1組の多面体の外面だけをどのよう
に取り出すかということである。この情報を取り出すに
は2つの方法がある。第1に、陰影付きモデルを示すた
めに、外面を透明に描き、内部の他のすべての面は描か
ずに済ますことができる。第2に、そのモデルの外側だ
けの結果を見たい場合、グロー陰影付きの外面だけを描
けばよい。モデル内部の面のすべての結果は隠れるの
で、表示の際に考慮する必要がない。
【0006】
【課題を解決するための手段】本発明は、その様々な態
様において、その頂点で解析結果(たとえば温度または
圧力)が定義される多面体または他の要素からなるモデ
ルを表示するための3次元科学的図形表示システムに関
する。モデルは、ある切断平面内で表示され、または所
与の結果が指定された値をとる等高面として表示され
る。切断平面または等高面とモデルを形成する多面体と
の交差によって形成される交差表面を構成する多角形が
生成され、多角形プロセッサに渡されて、ラスタ・スキ
ャン装置上で描出され表示される。面の位置をその法線
に沿って変えることによって、または等高面に対して結
果がとる値を変えることによって、一連の交差表面が生
成され表示される。
【0007】本発明の1つの態様によれば、要素が切断
平面または等高面と交差するかどうかの試験は、これら
の要素を、切断平面の法線に沿った各要素の位置、また
はその要素の頂点での結果の値に基づいてゾーンに事前
分類し、あるゾーン内部の要素だけを切断平面または等
高面と交差するかどうか試験することによって、スピー
ドアップされる。本発明の切断平面による態様では、ま
ず元のモデル座標を、切断平面法線がZ軸に平行となる
変換されたXYZ座標に変換することによって、ゾーン
を定義することが好ましい。次に、各要素を、その頂点
のZ成分に基づいて、1つまたは複数のゾーンと関連づ
ける。
【0008】ゾーンを定義し、モデルの諸要素をゾーン
に割り当てる様々な方法が考えられている。1つの方法
は、各モデルが切断平面の法線に沿った位置の、または
所与の結果の値の、所定の範囲を包含するように、ゾー
ンのサイズをモデルとは独立に定義するものである。た
だし、ゾーン・サイズは図形表示されるモデルに基づく
ことが好ましい。したがって、本発明の切断平面による
態様では、各ゾーンを、(切断平面法線に平行な変換座
標系で)そのモデルの任意の要素の最大Zエクステント
に等しいZエクステントをもつように定義する。次いで
要素頂点の最大Z座標と最小Z座標の平均などの適当な
頂点統計に基づいて、各要素を単一のゾーンに割り当て
る。同様に、本発明の等高面による態様では、各ゾーン
を、そのモデルの任意の要素上での結果の最大範囲に等
しい結果変数の範囲をもつように定義する。次いで、そ
の要素の頂点における結果の値に基づいて、各要素をあ
るゾーンに割り当てる。
【0009】このようなゾーン定義割当てシステムのお
かげで、切断平面または等高面と交差する要素の探索
を、現ゾーン(切断平面位置または結果変数の現在値を
包含するゾーン)と2つの隣接するゾーンに限ることが
可能である。実際のモデルは多数の要素層を含む可能性
があるので、交差探索を実質的に3つの要素層に限るこ
とができると、探索過程の効率が大きく増大する。ゾー
ンに編成されたデータ構造の使用によって、この効率は
さらに向上する。このような場合、現ゾーン及び2つの
隣接ゾーン内の要素だけを調べ、それら要素のゾーン割
当てを確認するときでもモデルの残りの要素には注意を
払わなくてよい。
【0010】本発明の別の態様によれば、複数の要素が
共有する辺に関する交差計算は、辺の大域リストを維持
し、モデルの任意の要素について辺と切断平面または等
高面との交点が計算された辺にフラグを付けることによ
って、最小になる。要素の切断平面または等高面と交差
する可能性のある各辺を試験し、交点が計算されていな
いことをそのフラグが示す辺だけをさらに処理する。こ
れによっても交差手順の効率が大きく増大する。という
のは、辺は一般に複数の要素によって共有され、そうし
なければ各要素ごとに冗長的に処理されるからである。
この方法は、要素アレイ内の各エントリが、大域辺アレ
イ内のエントリを指すポインタを含む、データ構造の使
用によって容易になり、これによって、いくつかの要素
エントリが、交差計算を含めて同じ辺データを共用でき
るようになる。
【0011】本発明のさらに別の態様によれば、モデル
の所与の面を共有する要素をカウントし、単一の要素だ
けと関連する面に外面としてフラグを付けることによっ
て、モデルの外面を構成する要素の外面を、代替動作モ
ードで表示できるように識別する。
【0012】本発明のさらに別の態様は、交点を接続し
て交差多角形を形成すること、ならびに第1の結果によ
って定義される等高面上に第2の結果を図形表示するこ
とに関する。より具体的には、以下で説明する。
【0013】
【実施例】
1.概要 前記のように、本発明は2つの主要な態様を含む。第1
の態様では、切断平面をモデルと交差させて、表示すべ
き交差面を生成する。第2の態様では、表示される曲面
は、モデルを貫通し、所与の結果が一定となる等高面で
ある。これらの2つの態様の実施は全般的に全く類似し
ているので、2つの態様を一括して論じ、違いがある場
合だけ特記する。
【0014】ここで検討するモデルの辺の端点は、「ノ
ード」、「頂点」などと呼ばれる。本明細書では、これ
らの2つの用語は同義である。ただし、「要素」という
用語は、「多面体」より広い意味をもつ。要素は、多角
形などの平面実体でもよい。3次元空間内で任意の方向
を向いているこのような2次元要素は、タービンの羽根
(そのシャフトは多面体によってモデル化される)など
の構造物をモデル化するのに有用である。この場合、主
な質問は、モデル化されている2次元要素の表面に沿っ
て結果がどのように変化するかということである。本明
細書で検討する要素は一般に多面体であるが、ゾーン別
に分類し交差する辺をフラグ付けするという概念は、3
次元空間内で任意の方向を向いている多角形などの2次
元要素にも適用できることは明らかである。
【0015】a.切断平面態様 本発明の1つの態様は、平面(切断平面と呼ばれ、法線
によって指定される)を取り、それを切断平面の法線に
平行な直線に沿って物体を貫通して掃引する。すなわ
ち、図1及び図2で、多面体11、12、13を含むモ
デル10を、切断平面法線15と平行な掃引経路16に
沿って移動する切断平面14と交差させる。次に切断平
面14上の補間された結果を、グロー陰影付き多角形と
して表示する。(上で述べたように、グロー陰影付き多
角形とは、その多角形の内部を、内部の任意の点のカラ
ーがその頂点のカラーの線形結合となるようなカラーで
塗りつぶした多角形である。)掃引経路16上の任意の
点で、切断平面14上でのモデル10の断面が得られ
る。モデル10は多面体からなるので、切断平面14上
で生成される断面は多角形である。したがって、図3
で、切断平面14は、モデル10を構成する多面体11
−13と交差し、切断平面内にそれぞれ多角形31、3
2、33を形成する。
【0016】次に、図形表示すべき結果の値を、切断平
面14内の各多角形頂点と関連づける。図3に示すよう
に、切断平面14上の多角形31−33の頂点は、多角
形11−13の辺を切断平面と交差させることによって
得られる。切断平面14内の多角形頂点に関連する結果
の値は、多角形の頂点を作った多面体の辺のノードで得
られる結果を補間することによって得られる。
【0017】したがって、図4に示すように、多面体1
3の辺AB(図3)と切断平面14との交差は、点Qか
らなる。解析結果は、任意の頂点間で線形になると仮定
されているので、交点Qに関する結果Rは、端点A及び
Bでの結果R1及びR2から、標準的技法である線形補
間法によって算出する。各交点Qに関する結果Rをカラ
ー・コード化すると、切断平面14上で各頂点にカラー
値をもつ多角形31−33が得られる。次に、これらの
多角形を、当技術分野で周知のやり方でグロー陰影付き
多角形として描出する。モデル10全体を貫通して切断
平面14を掃引し、陰影付き多角形カラーを観察するこ
とによって、結果を図形表示し解釈することができる。
図1−4に示した切断平面14は、多面体11−13の
面と平行であるが、これは必要条件ではなく、一般に切
断平面は任意の方向に向くことができる。
【0018】b.等高面態様 本発明の他の態様は、すでに述べたように、所与の結果
が一定となる等高面とモデルを形成する多面体との交差
を決定するものである。図5に、結果が所与の値をとる
点の連続体を表す理想的な等高面51と、モデル(図示
せず)の多面体50との交差を示す。図5に示すよう
に、等高面51と多面体50の交差52は、一般に曲線
線分からなる閉じた曲線52である。考慮中のモデルで
は、結果は多面体50の頂点でだけ定義されるので、理
想的な交差52は、等高面51と交差する多面体50の
辺上に頂点をもつ閉じたポリライン53で近似される。
多面体の辺に沿った各交点の位置は、図3及び図4に示
した切断平面の場合と同様に、補間によって算出する。
したがって、図5で端点A及びBをもつ多面体の辺を考
えると、結果の値が点AでR1、点BでR2である場
合、線分AB上の交点Qの位置は、等高面上の結果の値
Rが与えられているものとして、簡単な補間法によって
計算される。一般に、閉じたポリライン53は平面形状
ではないので、三角形分割され、すなわち図に示した三
角形T1及びT2のようないくつかの三角形に分割さ
れ、これらの三角形は陰影付けのために多角形プロセッ
サに供給される。
【0019】多くの場合、等高面の軌跡は、等高面上で
の任意の特定の結果の変動に関係なく、それ自体質問の
対象となる。(等高面を定義する結果は、もちろんその
等高面上で一定である。)その他の場合、質問の対象
は、第1の結果によって定義された表面上での第2の結
果の挙動、たとえば、一定圧力の表面上で温度がどのよ
うに変化するか、または逆に一定温度の表面上で圧力が
どのように変化するかである。これは、希望するとき、
本発明のシステムにおいて、交点(たとえば図5の点
Q)の座標だけでなく、等高面を定義する結果以外の選
択された結果の値をも評価することによって達成され
る。この結果は、切断平面態様の場合と同様に、多角形
を定義する頂点データに含まれ、したがって、生成され
た多角形が、第1の結果によって定義された表面上での
第2の結果の値を示すグロー陰影付けによって表示でき
るようになる。
【0020】2.装置 図6に、本発明を実行するために使用される装置をシス
テム・レベルで示す。図6に示すように、このシステム
60は、参照番号61で一括して示すメイン・プロセッ
サ及びメモリ(「ホスト/ワークステーション」)を含
む。その中に、図形表示プログラムまたはコード62、
及びコード62に作用するデータ構造63が存在する。
プログラム62は、ディスク記憶装置などの適当な2次
記憶装置64からの、モデルの幾何データ及びモデルの
頂点に関する結果のデータ、ならびにキーボードやダイ
アル(別個には図示せず)などの入力装置65からのユ
ーザ入力を受け取る。プログラム62は、2次記憶装置
からデータ64を取り出し、以下で説明する方式で、そ
れをプログラムが直接使用できるデータ構造63に変換
する。プログラム62によって生成された多角形データ
は、GRAPHIGS(IBM社の商標)インターフェ
ースなどの適当なプログラミング・インターフェースを
介して線またはバス67上に出力される。
【0021】多角形データは、座標、及び平面交差の頂
点カラーからなる。等高面態様の場合、多角形データ
は、等高面の座標と、第1の結果によって定義される表
面内で図形表示される第2の結果(もしあれば)の値か
らなる。このデータは、線67を介して当技術分野で周
知の適当なタイプの多角形プロセッサ68に供給され
る。多角形プロセッサ68は、インターフェース66か
ら供給された高水準の多角形データを、像の連続する線
を走査するCRTディスプレイなどのラスタ・ディスプ
レイ69上で表示できるタイプの画素データに変換す
る。多角形プロセッサ68は、陰影付け及び隠線除去ま
たは隠面除去用の適当なグラフィクス・ハードウェアま
たはマイクロコードを含む。
【0022】3.初期データ a.形式 図7及び図8は、解析データを記憶装置64に最初に記
憶するために使用されるデータ・ファイルの形式を示
す。このデータは、ノード/頂点データ70(図7)及
び多面体/要素データ80(図8)からなる。まず図7
を参照すると、ノード/頂点データ・ファイル70の先
頭に、ノードの総数を示す第1のヘッダ部分71、及び
各ノードに関する結果(応力、温度などの量)の数を示
す第2のヘッダ部分72がある。これらのヘッダ部分の
後に、大域ノード・エントリ(モデルの各ノードごとに
ただ1つのエントリがあるという意味で「大域」)があ
る。これらの大域ノード・エントリのうちの最初のエン
トリを図7に詳細に示す。各ノード・エントリは、固有
の大域ノード番号(73)、ノードのx、y、zモデル
座標(74)、及び図のエントリ中の結果1(75)と
結果2(76)などそのノードに関連する結果からな
る。
【0023】ここで図8を参照すると、多面体/要素デ
ータ・ファイル80は、要素の総数を示すヘッダ部分8
1をもつ。このヘッダ部分の後に、モデルの各多面体/
要素ごとに1つずつエントリがある。これらのエントリ
のうちの最初のエントリを図8に詳細に示す。各多面体
/要素エントリは、固有の要素番号(82)、要素タイ
プ(83)、及び特定の要素に対して局所順序付け法
(下記参照)で指定された、この要素を構成するノード
の大域ノード番号(73)のリスト84を示すフィール
ドを含む。
【0024】本明細書で開示するデータ構造では、要素
「タイプ」は、単に「六面体」などある要素の特定の名
称に反映される面の数ではなく、平面、直線状の辺、頂
点の数と接続関係によって決定される、トポロジカルな
要素タイプである。したがって、立方体などあるタイプ
の六面体は四辺形の面をもつが、2つの四面体を結合す
ることによって形成される別のタイプの六面体は三角形
の面をもつことがある。これらの六面体は、それぞれ別
々の要素タイプを表し、本明細で使用するデータ構造で
は別々のタイプ識別を受け取る。
【0025】b.トポロジ上の仮定 ここで図9−図13を参照すると、データ・ファイル7
0及び80は、各要素に関連する面、辺及び頂点のある
順序付けがそれらのデータ・ファイル内で指定されてい
るものと仮定されている。このような局所順序付けのお
かげで、頂点同士の接続関係を決定するために頂点の実
際の座標を調べる必要なしに、頂点のリストから視察に
よって面及び辺を生成することができる。したがって、
図9に示した六面体を考えると、その六面体を特徴づけ
る大域ノード番号のリスト(84)が図9に示した順序
で配列されている場合、それ以上調べずとも、頂点2及
び6が辺(この例では辺10)を定義すること、あるい
は頂点1、4、8、5(または辺4、9、8、12)が
面(この例では面4)を定義することがわかる。このト
ポロジ情報は、下記の表1−表5(それぞれ図9−図1
3に対応する)にも表の形で示されている。(表1−表
5は面及びノードの連結は示さないが、これは図9−図
13に示すように局所順序付け方法の一部分である。)
図9−図13及び表1−表5では5つの要素タイプが示
されているが、希望するなら、この図形表示システムで
他のトポロジ要素タイプをも定義できることは明らかで
ある。
【0026】 表1 六面体のトポロジ情報 局所辺を共有 局所面を構成する 局所辺 する局所面 局所面 辺の数 局所辺 −−− −−−−−− −−− −−− −−−−−−− 1 1,5 1 4 1,5, 9,10 2 2,5 2 4 2,6,10,11 3 3,5 3 4 3,7,11,12 4 4,5 4 4 4,8, 9,12 5 1,6 5 4 1,2, 3, 4 6 2,6 6 4 5,6, 7, 8 7 3,6 8 4,6 9 1,4 10 1,2 11 2,3 12 3,4
【0027】 表2 五面体のトポロジ情報 局所辺を共有 辺の 局所面を構成する 局所辺 する局所面 局所面 局所数 局所辺 −−− −−−−−− −−− −−− −−−−−−− 1 1,5 1 4 1,4,7,8 2 2,5 2 4 2,5,8,9 3 3,5 3 4 3,6,7,9 4 1,4 4 3 4,5,6 5 2,4 5 3 1,2,3 6 3,4 7 1,3 8 1,2 9 2,3
【0028】 表3 四面体のトポロジ情報 局所辺を共有 局所面を構成する 局所辺 する局所面 局所面 辺の数 局所辺 −−− −−−−−− −−− −−− −−−−−−− 1 1,4 1 3 1,4,5 2 2,4 2 3 2,5,6 3 3,4 3 3 3,4,6 4 1,3 4 3 1,2,3 5 1,2 6 2,3
【0029】 表4 四辺形のトポロジ情報 局所辺を共有 局所面を構成する 局所辺 する局所面 局所面 辺の数 局所辺 −−− −−−−−− −−− −−− −−−−−−− 1 1 1 4 1,2,3,4 2 1 3 1 4 1
【0030】 表5 三角形のトポロジ情報 局所辺を共有 局所面を構成する 局所辺 する局所面 局所面 辺の数 局所辺 −−− −−−−−− −−− −−− −−−−−−− 1 1 1 3 1,2,3 2 1 3 1
【0031】このモデルで行ったもう1つの仮定は、下
記の目的のために、モデルの各内面が2つの多面体に共
通であり、それ以上の多面体に共通ではないことであ
る。すなわち、図14で、多面体141及び142は、
共通面140をもつように示されている。他方、一般
に、1つの辺は3つ以上の多面体によって共有され得
る。すなわち、図15では、辺150は、3つの多面体
151、152、153によって共有されている。この
ような、多面体と辺の多数対1の関係は、以下で明らか
になるように、交差計算には重要である。
【0032】4.作業用データ構造 2次記憶装置64に含まれるデータ・ファイル70及び
80は、メイン・メモリ内にある作業用データ構造に変
換され、これらの作業用データ構造をプログラム62
(図6)が使用して所望の断面または等高面を生成す
る。図16−図18に、それぞれ要素アレイ(「要素構
造アレイ」)160、辺アレイ(「辺構造アレイ」)1
70、及びノード・アレイ(「ノード構造」)180を
示す。
【0033】要素アレイ160(図16)は、モデルの
各要素(多面体または多角形)ごとに1つのエントリを
含む。各エントリは、トポロジ要素タイプ(六面体、四
面体等)を示す第1部分161、及び辺アレイ170
(図17)または190(図19)内のその要素の辺を
識別するエントリを指すポインタのリスト162を含
む。リスト162内の辺は、図9−図13及び表1−表
5に示した局所順序付け方式で配列されており、したが
って後述のように視察によって面を所与の辺で識別する
ことができる。
【0034】1つの可能な辺アレイ170を図17に示
す。この図で、辺アレイ170は、モデルの各大域辺ご
とに1つのエントリを含む。(「大域辺」とは、モデル
の特定の多面体ではなくモデル全体に関して定義された
辺を意味する。大域辺は、図15に示すように、一般
に、いくつかの多面体の局所辺になり得る。)各辺エン
トリは、ノードのリスト173を、より具体的にはノー
ド・アレイ180内のエントリを指す1対のポインタを
含む。各辺エントリは、その辺と切断平面または等高面
との交差が評価されたかどうかを示す交差フラグ17
1、及び交点が決定された場合にはその交点の座標17
2をも含む。交差フラグ171を使用すると、同じ大域
辺に関する別の多面体についての交点172が以前に生
成されたかどうかを示すので、交差計算がスピードアッ
プされる。
【0035】図18を参照すると、ノード・アレイ18
0は、モデルの各大域ノードごとに1つのエントリを含
む。辺アレイ170の場合と同様に、所与の大域ノード
は、2つ以上の多面体の局所ノードとなり得る。ノード
・アレイ180内の各エントリは、特定のノードのx、
y、z座標181と、そのノードに関する計算された結
果182(もしあれば)を含む。各エントリは、辺アレ
イ170内の、そのノードを共有する辺を指すポインタ
のリスト183をも含む。
【0036】好ましい辺アレイ190を図19に示す。
図19に示すように、好ましい辺アレイ190は、辺ア
レイ170(図17)の場合と同様に、モデルの各大域
辺ごとに1つのエントリを含む。辺アレイ190内の各
エントリは、ノード・アレイ180内の、その辺を共有
するノードを指す1対のポインタ191、要素アレイ1
60内の、その辺を共有する要素を指すポインタのリス
ト192、辺アレイ170の交差フラグ171と類似の
交差フラグ193、及び交点リスト200(図20)内
の適当なエントリを指す交差ポインタ194を含む。図
20を参照すると、交差リスト200は、リスト・ヘッ
ダ205と、その後に続く、切断平面または等高面と交
差するモデルのそれぞれの辺に対応するリンク201を
含む、リンク付きリストを含む。各リンク201は、辺
アレイ190(図19)内の対応するエントリを指す辺
ポインタ202、交点(もしあれば)の座標及び結果
(203)、及びリスト内の次のリンク201を指す順
方向ポインタを含む。通常通り、零ポインタ(図20で
は図示せず)はリストの終りを示す。
【0037】このように交差ポインタ194を使用する
と、必要メモリを減らすことができる。というのは、交
差ポインタは、実際の座標よりずっと小さいメモリ空間
しか必要としないからであり、モデル内の辺のごく一部
分だけが問題の切断平面または等高面と交差するからで
ある。以下では、辺アレイ170よりも辺アレイ190
が使用されると仮定する。ただし、一般に、その代りに
辺アレイ170を、交差ポインタではなくその絶対交差
値とともに使用することもできる。
【0038】アレイ160、190、180は、操作開
始時に記憶装置64内のファイル70及び80に含まれ
る初期要素及び頂点データから作成される。交差リスト
200は、特定の切断平面または等高面に関して交差計
算が実行されるときに作成される。
【0039】ゾーン・アレイ(「ゾーン構造アレイ」)
210と呼ばれる別のアレイを図21に示す。ゾーン・
アレイ210は、下記のように、切断平面法線または等
高面変数が選択され、モデルの各要素がゾーンに割り当
てられたときに作成される。ゾーン・アレイ210は、
定義された各ゾーンごとに1つのエントリを含む。各エ
ントリは、リスト・ヘッダ215、及びそのゾーンに割
り当てられた各要素に対応するリンク212からなるリ
ンク付きリストを含む。各ゾーン用のリスト・ヘッダ2
15は、図21に示すように、隣接する記憶位置に含ま
れ、したがって、ゾーン番号をインデックスとして使用
することによって特定のリストにアクセスすることがで
きる。各リンク212は、要素アレイ160(図16)
内の対応する要素を指す要素ポインタ213、及び連鎖
内の次のリンクを指す順方向ポインタ214を含む。交
差リスト200(図20)の場合と同様に、零ポインタ
(図21には図示せず)はアレイ210内の特定のリス
トの終りを示す。
【0040】5.操作の一般的シーケンス a.切断平面態様 図22は、モデルを切断平面内で図形表示するための一
般的シーケンスの流れ図を示す。図形表示すべき各モデ
ルごとに(220)、作業用データ構造160、19
0、180が、2次記憶装置64内にあるデータ・ファ
イル70及び80から作成される(221)。モデルを
表示する場合(222)、プログラム62(図6)はま
ず適当なユーザ入力を待つ(223)。このようなユー
ザ入力には、モデルの縮尺変更、または3つの座標軸の
うちの1つでの回転(224)、切断平面法線の選択、
または特定の切断平面のその法線に沿っての移動が含ま
れる。特定の切断平面法線を選択すると、モデルのノー
ド座標が変換され、下記のように要素がゾーンに割り当
てられる(225)。たとえば、ダイアルの回転によっ
て特定の切断平面をその法線に沿って移動させると(2
26及び227)、プログラム62は、切断平面とモデ
ルの間の交差を処理し(228)、多角形データを多角
形プロセッサ68(図6)に供給して結果を表示させる
(229)。
【0041】b.等高面態様 次に図23を参照すると、モデルを等高面に沿って図形
表示するための手順は、全般的にモデルを切断平面内で
表示するための手順と類似している。したがって、図2
3の各段階は、全般的に図22に示した段階と類似して
いるが、2つの手順の間には大きな違いがいくつかあ
る。第1に、等高面態様では、新しい切断平面法線では
なく表示すべき新しい結果の選択に応答して(座標変換
なしで)ゾーンが作成される(235a−235b)。
第2に、新しい交差面は、ダイアルの回転に基づく新し
い等高値の定義に応答して作成される(237−23
8)。
【0042】6.作業用データ構造の作成 図24に、2次記憶装置64から最初に提供されるデー
タ・ファイル70及び80からデータ構造160、19
0、180を作成するための手順をさらに詳しく示す。
ここで下記のコード・リスト1を参照すると、データ・
ファイル70内の各ノード・エントリごとに、座標及び
結果が、ノード・アレイ180(最初、ノード・アレイ
は空である)内で作成されたエントリの対応する位置1
81及び182にロードされ、そのエントリ用のノード
を共有する辺のリスト183が空にセットされる(24
1−242)。次に、プログラムは、要素ファイル80
(243)から各エントリを読み出し、それに対応して
辺アレイ170または190及び要素アレイ160を修
正する(244)。これは、下記のコード・リスト2及
び3により具体的に記述されている。
【0043】 コード・リスト1 FOR データ・ファイル内の各ノード DO ノード座標及びノードでの結果を読み取る; これを「ノード構造アレイ」にロードする; 「ノード構造アレイ」内の「ノードを共有する辺のリスト」を空にセットする ; END FOR データ・ファイル内の各ノード
【0044】 コード・リスト2 FOR データ・ファイル内の各要素 DO データ・ファイルからすべての大域ノード識別子を読み取る; FOR 各局所辺 DO 局所辺、ノードA及びノードBに関する大域ノード識別子を得る; IF<ノードA及びノードBをもつ大域辺が存在する>THEN 「要素構造アレイ」内の「辺のリスト」を指す大域辺ポインタを追加する; ELSE 「辺構造アレイ」内で新しい大域辺エントリを作成し、ノードA及びB用のポイ ンタを「ノードのリスト」に入れる;「ノード構造アレイ」内のノードA及びB 用のエントリに進む;ノードA及びB用の「ノードを共有する辺のリスト」を指 す新しい大域辺ポインタを追加する; ENDIF END FOR 各局所辺 END FOR データ・ファイル内の各要素
【0045】 コード・リスト3<ノードA及びノードBをもつ大域辺が存在する>試験機能: 「ノード構造アレイ」内のノードAエントリに進む; IF<「ノードを共有する辺のリスト」が空である>THEN 大域辺は存在しない; リターン(偽); ELSE FOR 「ノードを共有する辺のリスト」内の各辺 DO 「辺構造アレイ」からこの辺に関する「ノードのリスト」、たとえばノー ドX 及びノードYを得る; IF<ノードBとノードXが同じである>THEN ノードA及びノードBをもつ大域辺が存在する;現在の辺は「辺構造アレイ」内 の位置を指す; リターン(真); ELSE IF<ノードBとノードYが同じである>THEN ノードA及びノードBをもつ大域辺が存在する;現在の辺は「辺構造アレイ」内 の位置を指す; リターン(真); ENDIF ENDIF END FOR 「辺共有ノードのリスト」内の各辺 大域辺は存在しない; リターン(偽); ENDIF
【0046】7.ゾーンの定義及び割当て a.切断平面態様 1.一般的概要 次にモデルと切断平面との交差を決定するために使用さ
れるゾーン分割技法について説明する。この図形表示プ
ロセスの意図は、切断平面と、多面体から構成されるモ
デルとの交差を見つけることである。潜在的に切断平面
と交差する可能性のある多面体だけを迅速に選択できる
ようにするために、多面体を、ゾーンに分類する。一般
に、ほとんどの多面体は切断平面と交差しないので、モ
デル内のすべての多面体について交差を試みることは無
駄である。
【0047】図26は、法線252をもつ切断平面25
1と交差するモデル250に応用した、この技法の一例
を示す。(図25では切断平面251はモデル250か
ら隔置されているが、切断平面251は後で法線252
の方向にその切断平面がモデルと交差する位置まで移動
されると仮定する)。分類及びゾーン分割を行うため
に、モデル250のノードの座標を、切断平面法線方向
252が新しいZ方向253と平行になるように変換す
る。この座標変換によって、モデル250は、図25に
示すように、Z最小値(Zmin)及びZ最大値(Zm
ax)を境界とする。次に、Z方向を、Z最小値とZ最
大値の間のゾーンに分割する。ゾーンの長さは、多面体
のZエクステントの最大値になるようにする。図25に
示した特定の例では、モデル250の最大Zエクステン
トは、多面体254のZエクステントである。座標空間
をゾーンに分割した後、モデル250の各多面体を、そ
の頂点のZ値に従って、たとえばセントロイドのZ座標
に従って、ゾーンの1つに割り当てる。
【0048】多面体の頂点の変換されたZ座標に基づい
て多面体をゾーンに割り当てることによって、切断平面
251の特定の位置について、現在のZゾーン内、及び
両側のそれぞれ1つの隣接ゾーン内の多面体を試験する
ことで十分である。したがって、大きなモデルでは、試
験すべき多面体の数がかなり減少する。このようなゾー
ンへの多面体の割当ては、たとえ切断平面自体をその元
の位置に対して平行移動する場合でも、所与の切断平面
法線についてただ1度だけ実行する。
【0049】2.好ましい実施態様 図26に、モデル座標を変換し、図22に示されたゾー
ンを作成する段階225をさらに詳しく示す。切断平面
法線が与えられているものとして(260)、プログラ
ム62はまず、元のモデル座標x、y、z(図27)か
ら、Z軸が切断平面法線271(図27)と平行になっ
た変換された座標X、Y、Z(図28)に変換するため
の変換行列を計算する(261)。(小文字のx、y、
zは元のモデル座標を意味し、大文字のX、Y、Zは変
換された座標を意味する。)変換行列T(この行列の要
素は図29に示す)の計算は、解析幾何の簡単な演習問
題であるので、ここでは説明しない。変換行列Tにおい
て、a1は切断平面法線271のxz座標平面上への射
影272とz軸(図27)の間の角度であり、a2は切
断平面法線とxz平面の間の角度である。
【0050】変換行列T(図29)の計算後(26
1)、モデルのノード座標を変換し、モデルのZ限界を
得る(262)。これは、下記のコード・リスト4によ
り具体的に記述されている。
【0051】 コード・リスト4 すべてのノードの変換とモデルのZ限界の獲得 FOR データ・ファイル内の各ノード DO データ・ファイルからノード座標を読み取る; この座標に変換を適用する; 変換された座標を「ノード構造アレイ」内に記憶する; IF<第1ノード>THEN Zmax=Zmin=ノードのZ座標; ELSE IF<ZmaxがノードのZ座標より小さい>THEN Zmax=ノードのZ座標; ENDIF IF<ZminがノードのZ座標より大きい>THEN Zmin=ノードのZ座標; ENDIF ENDIF END FOR データ・ファイル内の各ノード
【0052】上記のリストに詳しく記述するように、2
次記憶装置64内に維持されているノード・データ・フ
ァイル70内の各ノード・エントリのx、y、z座標を
読み取り、図29に示した変換行列を使って変換し、ノ
ード・アレイ180(図18)内の対応するエントリの
領域181に記憶する。この変換には、ノード・アレイ
180に記憶されているノード・データではなく、デー
タ・ファイル70に記憶されている元のノード・データ
を使用する。というのは、ノード・アレイに記憶されて
いるノード座標は以前に変換されている場合があり、変
換を繰り返すと変換されたデータの精度が悪くなる可能
性があるからである。変換されたノード座標がノード・
アレイ180内にロードされるとき、変換されたZ座標
の最大値Zmaxならびに変換されたZ座標の最小値Z
minのランニング・アカウントが維持される。この手
順の終了時には、モデル全体に対するZ限界値Zmax
及びZminが得られることになる。
【0053】この段階の後で(262)、図30に示す
ように、このモデルを含むXYZ座標空間をゾーンに区
分する(263)。これは、下記のコード・リスト5に
より具体的に記述されている。
【0054】 コード・リスト5 ゾーンの作成 FOR 「要素構造アレイ」内の各要素 DO 要素内のノードを得る; ノード中をループする;Z座標を比較し、要素に関するデルタZを得る; IF<第1要素>THEN max_element_deltaZ=deltaZ; ELSE IF<max_element_deltaZがdeltaZより小さい >THEN max_element_deltaZ=deltaZ; ENDIF ENDIF END FOR 「要素構造アレイ」内の各要素 number_of_zones =((Zmax−Zmin)/max_element_deltaZ)+1; FOR 「要素構造アレイ」内の各要素 DO 要素内のノードを得る; ノード中をループし、Z重心(ZCG)を計算する; ZCGに基づいて、要素を「ゾーン構造アレイ」内の適当な位置にある「要素の リスト」に追加する;END FOR 「要素構造アレイ」内の各要素
【0055】上記のリストに示すように、要素アレイ1
60(図16)を走査して、各要素の頂点でのZエクス
テント(デルタZ)を決定する。その結果、モデル30
8(図30)内の任意の要素に関する最大Zエクステン
ト(max_element_deltaZ)が得られ
る。次に、図30に示すように、XYZ座標空間をゾー
ン301−307に区分する。各ゾーン301−307
は、恐らく最後のゾーン307を除き、モデル308の
任意の要素の以前に決定された最大Zエクステント(m
ax_element_deltaZ)に等しいZエク
ステントをXYZ座標空間内に有する。最後のゾーン3
07は、最大要素エクステント(max_elemen
t_deltaZ)より小さいZエクステントをもつこ
とがある。というのは、モデルのZエクステント(Zm
ax−Zmin)が最大要素エクステントの整数倍でな
いことがあるからである。ゾーン301−307は、X
YZ座標空間内で連続し、隣接する1対のゾーンはZ軸
と垂直な平面によって分離される。ゾーン301−30
7は、図30では、ZmaxからZminに向かって降
順に番号を付けてあるが、これはもちろん全く任意であ
り、希望するならこれらのゾーンにZminから昇順に
番号を付けることもできる。
【0056】なおコード・リスト5を参照すると、ゾー
ン301−307をこのようにしてXYZ座標空間内で
定義した後、要素アレイ160(図16)を再び走査し
て、その要素のZ重心(ZCG)を決定する。便宜上、
ある特定の要素のZCGは、その要素の最小Z座標と最
大Z座標から簡単に誘導でき、すべてのノードについて
平均を取る必要はないものとする。要素のZCGに基づ
いて、各要素を、ゾーン・アレイ210(図21)の当
該の位置で要素のリストに追加する。これは、別のリン
ク212を当該のゾーンのリンクの現連結の終り(もし
あれば)に追加することによって実行され、新しいリン
クは要素アレイ160内の該当する要素を指す要素ポイ
ンタ213、及び零を指す順方向ポインタ214を含
む。というのは、この新しいリンクは連鎖内の最後のリ
ンク212だからである。
【0057】図26に示し、コード・リスト4及び5に
詳しく記述した変換及びゾーン作成段階は、切断平面法
線が変化したときだけ実行される。既存の切断平面30
9(図30)をZ軸に沿って平行移動しても、切断平面
法線は同じままなので、追加の変換またはゾーン割当て
は不要である。
【0058】b.等高面態様 1.一般的概要 等高面に基づいてモデルを図形表示するために使用され
るゾーン分割手順は、言うまでもなくゾーンが定義さ
れ、(変換された)z座標ではなく頂点での結果の値に
基づいて各要素がゾーンに割り当てられることを除き、
切断手順と類似している。1つの可能なゾーン分割及び
分類方式を、図31及び図32に示す。この手順では、
まずモデルを形成するすべての多面体を調べて、MAX
(Rmax−Rmin)を決定する。ここで、Rmax
及びRminは、1つの多面体内の最大及び最小の解析
変数の結果である。モデル全体のMAX(Rmax−R
min)値は、このとき各ゾーンに関するスパンとして
使用できる。たとえば、図31では、モデル全体の解析
変数の値の範囲は0−32であり、MAX(Rmax−
Rmin)が5の場合、ゾーンは図に示すように7つの
ゾーンをもつように定義できる。
【0059】次に、RmaxとRminの平均(または
その他の、要素頂点における結果の適当な統計)を使っ
て、各多面体を当該のゾーンと関連づける。上記の切断
平面態様の場合と同様に、各多面体はただ1つのゾーン
と関連づけられる。すなわち、図31で、多面体311
モデルは、頂点Aで最大結果値18、頂点Bで最小結果
値14をもつ。これらの最大結果値と最小結果値の平均
は16なので、多面体311は値15と20の間の結果
を含むゾーン4に割り当てられる。
【0060】本発明の切断平面態様でも使用できるゾー
ン割当ての代替方式を、図33に示す。この場合、等高
面を定義する解析変数または結果の範囲は、この例では
0と100の間であり、モデルの特定の要素の解析結果
の変動に関係なく、等しいエクステントをもつ複数のゾ
ーンに区分される。この場合は、10個のゾーンが定義
され、ゾーンiは10(i−1)から10iまで延び
る。モデルの各要素は、ただ1つのゾーンに割り当てら
れるのではなく、その任意の頂点での結果の値が含まれ
る範囲のすべてのゾーンに割り当てられる。すなわち、
図33に示すように、等高面を定義する結果は、多面体
331の頂点上で35と60の間、多面体332の頂点
上で21と23の間の値をとる。したがって、多面体3
31はゾーン4−7のそれぞれに割り当てられ、多面体
332はゾーン3にだけ割り当てられる。この方式で
は、平均の頂点値に基づいて1つの要素を1つのゾーン
にだけ割り当てる方式とは違って、交差する可能性のあ
る多角形を探すために現在のゾーンだけを探索すればよ
い。
【0061】2.好ましい実施態様 等高面を得るための前処理手順は、座標空間が個々の結
果変数に基づいて区分され、したがって座標変換は不要
なことを除き、一般に切断平面に関する手順と類似して
いる。下記の図34及びコード・リスト6はモデルの限
界を得るための段階235a(図23)をより具体的に
記述している。
【0062】 コード・リスト6 モデルに関する結果の限界の獲得 FOR データ・ファイル内の各ノード DO データ・ファイルから結果の値を読み取る; 結果を「ノード構造アレイ」内に記憶する; IF<第1ノード>THEN Rmax=Rmin=結果の値; ELSE IF<Rmaxがノードの結果の値より小さい>THEN Rmax=ノードの結果の値; ENDIF IF<Rminがノードの結果の値より大きい>THEN Rmin=ノードの結果の値; ENDIF ENDIF END FOR データ・ファイル内の各ノード
【0063】上記のリストに示すように、2次記憶装置
内に維持されたノード・データ・ファイル70(図7)
内の各ノードごとに、等高面を生成するために使用され
る結果の値(75−76)をデータ・ファイルから読み
取り、ノード・アレイ180(図18)内の対応するエ
ントリの結果の領域182に記憶する。これが実行され
ているとき、このモデルについてこれまでに得られた最
大結果値Rmax及び最小結果値Rminのランニング
・アカウントが維持される。この手順の終了時には、モ
デル全体に対する結果の限界Rmax及びRminが得
られることになる。
【0064】段階235aに続くゾーン作成(図23)
の段階235bは、下記のコード・リスト7により具体
的に記述されている。
【0065】 コード・リスト7 ゾーンの作成 FOR 「要素構造アレイ」内の各要素 DO ノードでの結果を得、deltaRを計算する; IF<第1要素>THEN max_deltaR=deltaR; ELSE IF<max_deltaRがdeltaRより小さい>THEN max_deltaR=deltaR; ENDIF ENDIF END FOR 「要素構造アレイ」内の各辺 number_of_zones =((Rmax−Rmin)/max_deltaR)+1; FOR 「要素構造アレイ」内の各要素 DO 要素内のノードを得る; ノード中をループし、結果の重心(RCG)を計算する; RCGに基づいて、要素を「ゾーン構造アレイ」内の適当な位置で「要素のリス ト」に追加する;END FOR 「要素構造アレイ」内の各要素
【0066】上記のリストに詳しく記述した手順は、切
断平面に関するコード・リスト5に詳しく記述した対応
する手順に類似している。アレイのすべての要素に関す
る最大結果変動値(max_deltaR)が得られ、
結果の空間(したがって、座標空間)がゾーン341−
345に分割されるが(図34)、恐らく最後のゾーン
345を除き、各ゾーン内での選択された結果の変動が
max_deltaRになるように分割される。切断平
面態様の場合と同様に、等高面ゾーンは、Rmaxから
順に定義される。ただし、明らかに、希望するなら、こ
れらのゾーンをRminから順に定義することもでき
る。切断平面態様の場合と同様に、モデルの要素(図3
4には図示せず)は、リンク212をゾーン・アレイ2
10(図21)の当該の連鎖の終りに追加することによ
って、ゾーンに割り当てられる。
【0067】モデルに関する結果の限界を得る前処理段
階(235a)、及びコード・リスト6及び7に記述し
たゾーン作成の前処理段階(235b)は、等高面のベ
ースとして選択された個々の結果変数について1度だけ
実行すればよい。これらの前処理段階は、結果変数の値
が変化した場合でも、選択された変数(たとえば、圧力
と区別された温度)が同じままである限り、再実行する
必要はない。
【0068】8.交差の手順 a.切断平面態様 1.交点の決定 平面とモデルの交差を処理する段階228(図22)を
実行する手順を、図35により詳細に示す。前述のよう
に、xyzモデル座標から変換されたXYZ座標に変換
した後、Zの方向は切断平面法線と平行になっている。
切断平面をその法線と平行な方向に移動して、モデルと
の適当な交差を生成する。
【0069】切断平面とモデルの交差を処理するため、
ZminとZmaxの間で切断平面位置が与えられてい
るものとすると(350)、プログラム62(図6)は
まず、切断平面がどのゾーン(Zone)に属するかを
決定する。これはそのZ位置によって示される(35
1)。この決定が行われた後は、プログラム62は(Z
one−1)、Zone及び(Zone+1)内の要素
だけを処理する。というのは、それらの要素だけが、切
断平面と交差する可能性のある要素だからである。たと
えば、図30で、モデル308と交差する切断平面30
9がゾーン305内にある場合、試験される要素は、ゾ
ーン304、305、306に割り当てられた要素だけ
である。これら3つのゾーンだけに属している要素の選
択は、ゾーン・アレイ210(図21)の当該のエント
リを走査し、これらのエントリ内に含まれるリストが指
す要素を処理することによって行う。
【0070】選択された3つのゾーンの各要素は、図3
5の段階352に示すように処理される。まず、要素の
各辺を試験して、切断平面309(図30)と交差する
可能性を調べる。交差があった場合、その結果得られた
多角形が下記のようにして組み立てられ、この多角形と
その頂点のカラーが図形プロセッサ68(図6)に渡さ
れ、頂点に指定されたカラーをもつグロー陰影付き多角
形が表示される。
【0071】下記のコード・リスト8は、選択された3
つのゾーン304−306のうちの1つのゾーンの要素
と切断平面309(図30)の交差の手順をより具体的
に記述している。
【0072】 コード・リスト8 (Zone−1),Zone,(Zone+1)内の要素と平面の交差 FOR 要素内の各辺 DO IF<「辺構造アレイ」内でこの辺に関するalready_inter sected_flagがセットされていない>THEN IF<辺のZ座標が平面のZ位置と交差する>THEN 辺と平面を交差させる; 辺を「現Z平面位置に関する交差する辺のリスト」に追加する; 辺のノードでの現在の結果値を得、線形補間して交点での結果値を得る; 補間された結果をRGBカラー値に変換する; 交差座標及びカラー値を記憶する; この辺に関するalready_intersected_flagをセットす る; ENDIF ENDIF END FOR 要素内の各辺
【0073】上記のリストに記述するように、要素の各
辺について、辺アレイ190(図19)の対応するエン
トリの交差フラグ193を調べて、そのフラグがセット
されているかどうかを決定する。セットされたフラグ
は、モデルの別の要素に関して辺の交差が以前に計算さ
れていることを示す。交差フラグがセットされている場
合、プログラムは直ちに次の辺に進む。セットされてい
ない場合、辺の頂点のZ座標を調べて、それらのZ座標
が切断平面を跨ぐかどうかを決定する。この決定は、辺
アレイ(図19)内のその辺に関するエントリ内のノー
ドのリスト191が指すノードのZ座標を調べることに
よって行う。これらのノードのZ座標が切断平面を跨が
ない場合は、現在の辺は切断平面と交差しないので、プ
ログラムは次の辺に進む。跨ぐ場合、その辺と切断平面
の交点を決定する。
【0074】交点は、上で述べたように線形補間によっ
て算出する。この補間法を図36に示す。図で、辺36
0は端点P1及びP2をもつ。図36に示すように、辺
360は、Z座標がZpである切断平面361と交差す
る。座標及び結果がP1でX1、Y1、Z1及びR1で
あり、P2でX2、Y2、Z2及びR2であると仮定す
ると、交点Iでの補間された座標及び結果XI、YI、
ZI及びRIは、下記の方程式によって与えられる: t=(Zp−Z1)/(Z2−Z1) (8.1) XI=X1+t(X2−X1) (8.2) YI=Y1+t(Y2−Y1) (8.3) ZI=Zp (8.4) RI=R1+t(R2−R1) (8.5)
【0075】なおコード・リスト8を参照すると、この
ようにして(8.1〜8.4)辺360と切断平面36
1の交点Iの座標を決定した後、辺360が交差する辺
のリスト200(図20)に追加される。これは、辺ア
レイ190(図19)内の辺360に関するエントリを
指す辺ポインタ202を有するリスト200にリンク2
01を追加することによって行われ、座標及びカラーが
部分203に記憶される。新しく追加されたリンク20
1は連鎖の最後なので、そのリンクのリスト・ポインタ
204は空白を指すようにセットされる。辺360がリ
スト200に追加された後、辺360のノードP1及び
P2に関する結果R1及びR2が得られ、交点Iでの結
果RIが線形補間(8.5)によって得られる。この補
間された結果は、RGBカラー値に変換され、交差座標
XI、YI、ZIとともに、新しく追加されたリンク2
01の部分203に記憶される。最後に、辺アレイ19
0(図19)内の辺360に関する交差フラグ193が
セットされ、この辺と切断平面361の交差がすでに決
定されており、モデルのその他の要素について再計算す
る必要がないことを示す。
【0076】切断平面または等高面との交差の可能性を
調べるために選択されたゾーン内のすべての要素のすべ
ての辺を試験する方法の代替法として、ゾーン分割手順
中に特定の要素について決定された最小値及び最大値
(Zmin、Zmax)を保存して、後で交差手順中に
使用することができる。すなわち、特定の要素に関する
Zmin及びZmaxが現Z値を跨がない場合、その要
素は切断平面と交差しなかったとして簡単に拒絶され
る。各要素に関するZmin、Zmaxは、要素アレイ
160(図16)に、また好ましくはゾーン・アレイ2
10内の適当なリストの対応するリンク212に記憶す
ることができる。
【0077】2.交点の接続 所与の多面体について、辺と切断平面が交差すると、図
36に辺360について示すように、切断平面上に点が
発生する。(多面体と切断平面の交差によって形成され
た)特定の交差多角形を構成する交点が決定された後、
残りの作業はこれらの点を接続して多面体を作成するこ
とである。すなわち、図37で、多面体370は、切断
平面371と交差し、多面体の辺P、Q、R、S上にそ
れぞれ頂点A、B、C、Dを作る。この接続方式では、
これらの頂点を取り、それらを適当に接続して、切断平
面内で多角形372を作成する。この接続方式では、こ
れらの頂点を適切な順序で接続しなければならない。た
とえば、点AとCならびにBとDを接続してはならな
い。本発明で使用する接続方式は、基本的に、以下の通
りである。多面体の同じ面に属する2つの点は、接続す
る。すなわち、多面体の同じ面の一部分である辺によっ
て生成された2つの点は、接続する。図37に示した例
では、点AとBは、面Uの一部分である辺PとQの交差
によって生成され、したがって接続しなければならな
い。
【0078】閉じた多角形をつくるのに使用される手順
を図37を参照して説明する。任意の交点、たとえば点
Aから出発する。(点Aは辺Pによって生成されている
ので)辺Pを含む面、たとえばUを取り上げる。別の点
を生成した面Uの一部分である辺を探す。ここでは、そ
れは、点Bを生成した辺Qである。点AとBを接続す
る。次に、辺Qの第2の面を取り上げる。これは面Vで
ある。出発面Uに達するまで上記の手順を繰り返す。こ
の手順によって、多角形を非常に迅速に作成することが
できる。この手順では、各辺は同じ多面体のちょうど2
つの面によって共有されると仮定されていることに留意
されたい。
【0079】多面体の辺と切断平面の交差によって作ら
れる交点同士を接続するための上記手順は、下記のコー
ド・リスト9により詳しく記述されている。
【0080】コード・リスト9要素内での交差多角形の
作成(接続方式)要素の辺中をループし、1つの交差さ
れた辺、たとえばEを得る;(これが多角形の出発点に
なる)座標、及び図形プロセッサに送られる多角形デー
タ内の第1の点に関する結果を表すRGBカラーを得
る;この辺を共有する局所面、たとえばF1及びF2を
得る。starting_face=F1;curre
nt_face=F1;current_inters
ected_edge=E;FOR current_
face内の各辺 DOIF 辺がcurrent_i
ntersected_edgeと同じでないDOIF
<intersection_flagがセットされて
いる>THEN記憶された交差座標及びRGBカラーを
得る;この点を多角形点のリストに追加する;curr
ent_intersected_edge=edg
e;この辺を共有する要素面、たとえばF3及びF4を
得る;IF<current_faceがF3と同じで
ある>THENcurrent_face=F4;EL
SEcurrent_face=F3;ENDIFIF
<current_faceがstarting_fa
ceと同じである>THEN 多角形の作成を
終了した;頂点カラー付きの多角形を図形プロセッサに
送る;FORループから出る;ENDIFENDIFE
NDIFEND FOR current_face内
の各辺
【0081】上記のコード・リストに示すように、多角
形の点のリストは、交点同士が接続されたとき作成され
る。交点がすべてリストに追加されたとき、頂点座標、
ならびに頂点結果を表す頂点カラーが、多角形プロセッ
サ68(図6)に送られる。本明細書ですでに記したよ
うに、データ・ファイル、及びデータ・ファイルから生
成されたデータ構造内で仮定されている頂点及び辺の局
所順序付け配列により、座標データを調べる必要なく、
視察によって多面体の所与の面を決定することができ
る。
【0082】多角形プロセッサ68に渡された頂点デー
タは、変換された座標X、Y、Zを含むが、これはモデ
ルが変換されたZ軸に沿って表示されることを必ずしも
意味しない。この態様ならびに等高面態様では、モデル
をその元のサイズ及び方向で、またはユーザ入力に応答
して回転及び縮尺変更して表示するための、適当なパラ
メータが多角形プロセッサ68に渡される。
【0083】上記の説明では、モデルを形成する多面体
及びその他の要素が凸形であると仮定した。しかし、一
般的に、本発明は、凹形要素を含むモデルを図形表示す
るのにも使用できる。凹形要素の使用から生ずる厄介な
問題は、このような要素と特定の切断平面の交差が、互
いに素ないくつかの多角形、あるいは共通の辺または頂
点を共有するいくつかの多角形を生ずる可能性があるこ
とである。前記の接続方式を、各要素ごとに交点の数を
記録し、どの交点が使用されていないかをフラグ付けす
ることによって、このようなケースで使用できるように
適合させることができる。交差多角形を形成するために
すべての交点が使用されてしまった場合、その要素につ
いての接続手順は完了する。そうでない場合、接続手順
が再び開始され、残っている未使用の点の1つを出発点
として選択して、1つまたは複数の交差多角形を形成す
るために識別された交点がすべて使用しつくされるまで
続行する。
【0084】b.等高面態様等高面を作成する段階23
8(図23)の実行手順を、図38により具体的に示
す。この手順は、結果値によって定義される等高面が関
係する点を除き、切断平面態様(図35)の対応する手
順と類似している。図38で、モデル(380)の最小
値(Rmin)と最大値(Rmax)(図34)の間の
等高値が与えられているものとすると、プログラム62
(図6)はまず、その等高値が属するゾーン(Zon
e)を決定する(381)。この決定の後、プログラム
は進んで、(Zone−1)、Zone及び(Zone
+1)内の要素だけを処理する。というのは、これらの
要素だけが、等高面と交差し得るからである(38
2)。これらのゾーン内の各要素ごとに、プログラム
は、等高面による交差の可能性を調べるために要素辺を
試験する。交差がある場合、プログラムはその要素内で
等高面に対する三角形近似を行い、形成された三角形を
図形プロセッサ68に渡して陰影を付ける。コード・リ
スト10(これは切断平面態様用のコード・リスト8に
類似している)はこの手順を詳しく記述している。
【0085】コード・リスト10(Zone−1),Z
one,(Zone+1)内の要素と等高面の交差FO
R 要素内の各辺 DOIF<「辺構造アレイ」内のこ
の辺に関するalready_inter secte
d_flagがセットされていない>THENIF<辺
の両ノードでの結果が現在の等高値を跨ぐ>THEN補
間して交点を得る;辺を「現在の等高値に関する交差す
る辺のリスト」に追加する;交差座標を記憶する;この
辺に関するalready_intersected_
flagをセットする; ENDIFENDIFE
ND FOR 要素内の各辺
【0086】コード・リスト10には示されていない
が、各交差について得られ、交差リスト200(図2
0)の点に記憶されたデータは、その点の座標だけでな
く、選択された結果のカラー値をも含むことができる。
【0087】切断平面態様の場合と同様に、切断平面ま
たは等高面との交差の可能性を調べるために選択された
ゾーン内のすべての要素のすべての辺を試験する代り
に、ゾーン分割手順中に個々の要素について決定された
最小値及び最大値(この場合Rmin、Rmax)を、
後で交差手順中に使用するために保存することができ
る。したがって、個々の要素についてのRmin及びR
maxが現在のR値を跨がない場合、その要素は等高面
と交差しなかったとして簡単に拒絶される。各要素につ
いてのRmin、Rmaxは、要素アレイ160(図1
6)に、また好ましくはゾーン・アレイ210内の適当
なリストの対応するリンク212に記憶することができ
る。
【0088】図39は、閉じたポリライン391を形成
する等高面(図示せず)による多面体390の交差を示
す。ポリライン391の頂点A、B、C、D、Eは、そ
れぞれ所与の値の等高面に関する多面体390の辺P、
Q、R、S、Tの補間された交点である。等高面と多面
体390の交差の輪郭の近似は、多面体390の単一の
面に属する2つの点を次々に接続することによって得ら
れる。所与の例では、Aが出発点であるとして、線分A
B、BC、CD、DE及びEAがポリライン391を形
成する。このポリライン391は一般に平面ではなく、
多角形プロセッサに供給するために三角形分割される、
すなわち1つまたは複数の三角形(図40)に分割され
る。下記のように、これらの三角形は共通の頂点として
出発頂点Aを共有し、ポリライン391を形成する頂点
同士の接続と同時に生成されることが好ましい。
【0089】図41は、等高面態様の接続方式を示す。
これは、図37に示した切断平面態様の対応する方式と
類似している。この手順は、任意の補間点、たとえば点
Aから出発する。(点Aは辺Pによって生成されるの
で)辺Pを含む面、たとえばUを取り出す。面Uの一部
分であり別の点を生成した辺を探す。この場合、それ
は、点Bを生成した辺Qである。点AとBを接続する。
次に、辺Qの第2の面を取り出す。これは面Vである。
出発面Uに達するまで上記の手順を繰り返す。これらの
点が接続されるとき、三角形分割(図40)を同時に実
行することができる。この接続手順は、下記のコード・
リスト11に詳しく記述されている。
【0090】コード・リスト11要素内部での三角形分
割された等高面の作成(接続方式)要素の辺中をループ
し、1つの交差された辺、たとえばEを得る;(これが
出発点になる)この辺を共有する局所面、たとえばF1
及びF2を得る。starting_face=F1;
current_face=F1;current_i
ntersected_edge=E;number_
of_points=1;FOR current_f
ace内の各辺 DOIF<辺がcurrent_in
tersected_edgeと同じでない>DOIF
<intersection_flagがセットされて
いる>THEN記憶された交差座標を得る;この点を三
角形内の点のリストに追加する;number_of_
points=number_of_points+
1;IF<number_of_pointsが3であ
る>THEN三角形を得る;三角形を図形プロセッサに
送る;第3の点を第2の点にコピーする;number
_of_points=2;第1の点はすべての三角形
で同じであることに注意する;ENDIFcurren
t intersected edge=edge;こ
の辺を共有する要素の面、たとえばF3及びF4を得
る;IF<current_faceがF3と同じであ
る>THENcurrent_face=F4;ELS
Ecurrent_face=F3;ENDIFIF<
current_faceがstarting_fac
eと同じである>THEN終了した;FORループから
出る;ENDIFENDIFENDIFEND FOR
current_face内の各辺
【0091】コード・リスト11は、第3点及び後続の
各交点について実行される、三角形分割手順に関係する
追加の段階を除き、コード・リスト9と類似している。
等高要素との交差は、上記の切断平面態様の場合と同様
に処理できる。
【0092】9.外面の決定上述したように、モデルに
ついての外面のリストを維持することによって、モデル
を透明に描き、モデルの外面上に結果だけをグロー陰影
付きで示すことができる。外面は、その面を共有する多
面体がただ1つである多面体の面として定義される。モ
デルの内部では、少なくとも2つの多面体が各面を共有
できることに留意されたい(図42)。このことを利用
して、各モデルの前処理段階として外面同士を切り離す
ことができる。
【0093】図43及び図44は、前処理段階221
(図22)または231(図23)中に作成される2つ
の追加のデータ構造を示す。まず図43を参照すると、
大域面アレイ430は、モデルの各大域面ごとに1つの
エントリを含む。(「大域」とは、たとえ同じ大域面が
複数の多面体の局所面であっても、アレイの各面ごとに
1つのエントリしかないことを意味する。)大域面アレ
イ430内の各エントリは、トポロジ面タイプ(たとえ
ば、面が三角形、四辺形等)を示す部分431、後述す
る大域ノード・アレイ内のノードを指すポインタのリス
ト432、その面を共有する多面体の数の標識433、
及びその面への法線ベクトルのx、y、z成分434を
含む。図44を参照すると、大域ノード・アレイ440
はノード・アレイ180とは別物であり、モデルの各ノ
ードごとに1つのエントリを含む。アレイ440内の各
ノード・エントリは、ノード座標(441)、そのノー
ドを共有する面の数(442)、そのノードを共有する
面に対応する面アレイ430内のエントリを指すポイン
タのリスト443、頂点法線フラグ444、及び頂点法
線フラグ444がセットされている場合に存在する頂点
法線ベクトル445を含む。
【0094】ノード・アレイ440は、ノード・データ
・ファイル70(図7)から比較的簡単に作成される。
最初、面の数(442)は0にセットされ、面のリスト
443は空である。また、頂点法線フラグ444はリセ
ットされている。大域面アレイ430は、下記のコード
・リスト12に詳しく記述する手順を使用して要素デー
タ・ファイル80(図8)から作成される。
【0095】コード・リスト12FOR 各多面体 D
OFOR 多面体の各局所面 DOIF<固有の大域面
識別が存在する>THEN大域面識別を得る。この大域
面を共有する要素の数に1を追加する。ELSE固有の
大域面識別を作成し、大域面アレイに追加する。法線が
多面体の外側を指すような面法線を計算する(任意の多
面体面を形成するノードの局所順序はわかっていること
を思い出されたい);法線を「面構造アレイ」に記憶す
る;面内の各ノードについて、大域面識別を各ノードの
大域面リストに追加する。 ENDIFEND FO
R 多面体の各局所面END FOR 各多面体FOR
「面構造アレイ」内の各面 DOIF<面を共有する
多面体の数が1に等しい>THENこれは外面である;
FOR この外面内の各ノード DOノード・アレイに
行く;IF<頂点法線フラグがセットされていない>T
HENLOOPこのノードを共有する面のリスト中を;
このリスト内の各面に関する「面構造アレイ」に進む;
この面が外面である場合、面法線を実行中のnode_
normal_vectorカウントに追加する;EN
D LOOPnode_normal_vectorカ
ウントを平均する;node_normal_vect
orを正規化し、それを「ノード構造アレイ」に記憶す
る; 頂点法線フラグをセットする;ENDIF
END FOR この外面内の各ノードこの面上の大域
ノードをouter_face_polygon_fi
leに書き込む;この大域ノード及びその頂点法線をv
ertex_normal_fileに書き込む; E
NDIFEND FOR「面構造アレイ」内の各面
【0096】ある面のエントリが面アレイ430に追加
されたとき、多面体(433)の数は1にセットされ
る。同じ面が後でモデルの別の多面体の局所面であると
識別された場合、多面体の数が2に増分され、この面が
モデルの内面であることを示す。この手順の終了時に、
フィールド433によって示されるように、これらの外
面は、面アレイ430を走査してただ1つの多面体によ
って共有される面を決定することによって識別される。
【0097】ある外面によって共有される各頂点は、外
向き法線ベクトルがその頂点を共有する外面の法線ベク
トル(434)の平均として定義できる、モデルの表面
上にある外側頂点である。この外向き法線ベクトルは、
ノード・アレイ440(図44)内の対応するエントリ
の領域445に記憶され、頂点法線フラグ444がセッ
トされて、頂点法線が計算されたことを示す。
【0098】ノード・アレイ440に記憶された法線ベ
クトルは、多角形プロセッサ68がモデルの外面の照明
及び陰影付けのために使用する。モデルの各外面は、通
常通り、その頂点法線に従ってグロー陰影付き多角形と
して表示される。
【0099】コード・リスト12で使用される<固有の
大域面識別が存在する>試験機能は、下記のコード・リ
スト13中で定義される。
【0100】コード・リスト13<固有の大域面識別が
存在する>試験機能試験される局所面の(大域)ノード
を得る局所面のノード#1に接続された大域面のリスト
を得るFOR リスト内の各大域面 DO大域面ノード
と局所面ノードを比較するIF<ノードが同じである>
THEN固有の大域面識別が存在する試験機能から出る
ELSEFORループ内で続行するEND IF<ノー
ドが同じである>END FOR リスト内の各大域面
固有の大域面識別は存在しないEND試験機能
【0101】特定の図形表示システムを示し説明した
が、本明細書に記述したシステムの各種の変形は当業者
には明らかである。すなわち、すでに述べたように、モ
デルの多面体またはその他の要素は凸形であると仮定し
たが、凹形要素も使用できる。頭記の特許請求の範囲に
含まれる、図示し説明したシステム以外の変形も、当業
者には明らかであろう。
【図面の簡単な説明】
【図1】切断平面と交差する多面体からなるモデルの透
視図である。
【図2】切断平面に沿って見た、図1に示したモデルの
図である。
【図3】切断平面とモデルの交差によって形成された多
角形を示す、図1に示したモデルの別の図である。
【図4】図1−図3に示した切断平面によって形成され
る交点を示す図である。
【図5】等高面とモデルの多面体の交差を示す図であ
る。
【図6】本発明を実施するために使用できる図形システ
ムの概略図である。
【図7】本発明で使用する初期ノード・データの形式を
示す図である。
【図8】本発明で使用する初期要素データの形式を示す
図である。
【図9】六面体の面、辺及び頂点を局所的に順序付ける
ために使用する方式を示す図である。
【図10】五面体を局所的に順序付ける方式を示す図で
ある。
【図11】四面体を局所的に順序付ける方式を示す図で
ある。
【図12】四辺形を局所的に順序付ける方式を示す図で
ある。
【図13】三角形を局所的に順序付ける方式を示す図で
ある。
【図14】共通の面を共有する1対の多面体を示す図で
ある。
【図15】共通の辺を共有するいくつかの多面体を示す
図である。
【図16】本発明で使用するデータ構造の要素アレイを
示す図である。
【図17】本発明で使用する1つのタイプの辺アレイを
示す図である。
【図18】本発明で使用するノード・アレイを示す図で
ある。
【図19】本発明で使用する別のタイプの辺アレイを示
す図である。
【図20】図19の辺アレイと一緒に使用される交点リ
ストを示す図である。
【図21】本発明で使用するゾーン・アレイを示す図で
ある。
【図22】モデルと切断平面を交差させるために使用さ
れる本発明の態様の高水準流れ図である。
【図23】等高面とモデルの多面体を交差させるために
使用される本発明の態様の高水準流れ図である。
【図24】図22及び図23に示した流れ図のデータ構
造を作成する段階をより詳細に示す流れ図である。
【図25】本発明の切断平面態様でモデルのゾーンへの
分割を示す図である。
【図26】本発明の切断平面態様でモデル座標を変換
し、ゾーンを作成する手順の流れ図である。
【図27】切断平面法線のx、y、zモデル座標に対す
る向きを定義する透視図である。
【図28】切断平面に対する法線がZ軸に平行である変
換された座標系の透視図である。
【図29】図27に示した元のモデル座標から変換され
た座標を得るために使用される変換行列の図である。
【図30】本発明の切断平面態様でゾーンの割当てを示
す図である。
【図31】本発明の等高面態様で多面体とゾーンを関連
づける1つの方式を示す図である。
【図32】図31に示した方式に従って割り当てられた
ゾーンをさらに処理するための選択を示す図である。
【図33】本発明の等高面態様で多面体とゾーンを関連
づける代替方式を示す図である。
【図34】本発明の等高面態様でゾーンの定義を示す図
である。
【図35】本発明の切断平面態様で平面とモデルの交差
を処理する全段階の流れ図である。
【図36】本発明の切断平面態様で補間手順を示す図で
ある。
【図37】本発明の切断平面態様で交点同士を接続する
方式を示す図である。
【図38】本発明の等高面態様で等高面とモデルの交差
を処理する段階の流れ図である。
【図39】等高面と多面体の交差から生ずる交点を示す
図である。
【図40】図39に示した交差によって作成された図形
の三角形分割を示す図である。
【図41】図39及び図40の交点同士を接続する方式
を示す図である。
【図42】多面体の外面、ならびにモデルの別の多面体
が共有する内面を示す図である。
【図43】図42に示したモデルの外面を決定するため
に使用するデータ構造の面アレイを示す図である。
【図44】図41に示したモデルの外面を決定するため
に使用されるノード・アレイを示す図である。
フロントページの続き (72)発明者 ゴーパーラン・ラーマヌジャム アメリカ合衆国12401、ニューヨーク州 キングストン、バーチ・ストリート 45 番地 15号イー (56)参考文献 特開 昭62−229379(JP,A) 特開 平2−257376(JP,A)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】プロセッサと、記憶手段と、表示装置とを
    含み、 隣接する3以上の頂点により多面体立体構造または多角
    形平面構造として形成され、前記3以上の頂点の各々が
    3次元空間内の座標値と結果の値を有している要素を複
    数構成してなる3次元モデルと、ユーザ・オペレーショ
    ンに応答して定義された切断平面とが交差したときの断
    面のイメージを表示するためのイメージの処理方法であ
    って、 (a)法線方向を有する切断平面が定義されたことに応
    答して、 (a1)前記3次元モデルを前記切断平面とほぼ平行な
    複数の面で区切る複数のゾーンであって前記3次元モデ
    ルの任意の前記要素の前記法線方向の最大エクステント
    以上の前記法線方向のエクステントを有するゾーンを定
    義し、 (a2)前記複数の要素を、各要素の少なくとも1つの
    頂点の座標値を用いて、各ゾーンに割り当て、 (a3)前記切断平面が交差するゾーンに隣接しないゾ
    ーンに割り当てられた要素を除外した複数の要素に対
    し、前記切断平面と交差するか否かの試験を行い、 (a4)前記切断平面と交差する要素の少なくとも1つ
    の頂点の座標値と結果の値を用いて、断面のイメージを
    生成し、 (b)前記切断平面が、その法線に沿って移動されたこ
    とに応答して、 (b1)移動後の切断平面で、前記段階(a3)と前記
    段階(a4)を行うイメージの処理方法。
  2. 【請求項2】前記(a4)断面のイメージを生成する段
    階は、 前記切断平面と交差する要素の交差する辺の両端の頂点
    の座標値、結果の値を線形補間し、前記辺と前記切断平
    面との交点の座標及び、結果の値を求め、前記交点の座
    標と結果の値を用いて陰影付けをすることにより、断面
    のイメージを生成することを特徴とする請求項1に記載
    のイメージの処理方法。
  3. 【請求項3】前記要素は、前記システム内において要素
    構造体アレイとして管理されており、前記要素構造体ア
    レイは、前記要素を構成する複数の辺を定義する辺構造
    体アレイにアクセスする情報を有しており、前記辺構造
    体アレイは、各辺の両端の頂点を定義するノード構造ア
    レイにアクセスする情報を有しており、前記ノード構造
    体アレイは、各頂点の座標と結果の値を管理しているこ
    とを特徴とする請求項1または2に記載のイメージの処
    理方法。
  4. 【請求項4】プロセッサと、記憶手段と、表示装置とを
    含み、 隣接する3以上の頂点により多面体立体構造または多角
    形平面構造として形成され、前記3以上の頂点の各々が
    3次元空間内の座標値と第1及び第2の結果の値を有し
    ている要素を複数構成して成る3次元モデルと、ユーザ
    によって決定されたことにより、前記第1の結果の値が
    前記3次元モデル内で特定の値になる曲面とが交差した
    ときの断面のイメージを表示するためのイメージの処理
    方法であって、 (a)前記特定の値が決定されたことに応答して、 (a1)前記3次元モデルの任意の前記要素上での第1
    の結果の値の最大範囲以上の範囲を有する、前記第1の
    結果の値に関する複数のゾーンを定義し、 (a2)前記複数の要素を、各要素の少なくとも1つの
    頂点の第1の結果の値を用いて、各ゾーンに割り当て、 (a3)前記決定された特定の値との所定の格差がある
    ゾーンに割り当てられた要素を除外した複数の要素に対
    し、前記曲面と交差するか否かの試験を行い、 (a4)前記曲面と交差する要素の少なくとも1つの頂
    点の座標値と第2の結果の値を用いて、断面のイメージ
    を生成し、 (b)前記曲面を定義する特定の値が変更されたことに
    応答して、 (b1)変更された値によって定義された曲面で、前記
    段階(a3)と前記段階(a4)を行うイメージの処理
    方法。
  5. 【請求項5】前記段階(a4)は、 前記曲面と交差する要素の交差する辺の両端の頂点の座
    標値、第2の結果の値を線形補間し、前記辺と前記曲面
    との交点の座標及び、第2の結果の値を求め、前記交点
    の座標と第2の結果の値を用いて陰影付けすることによ
    り、断面のイメージを生成することを特徴とする請求項
    4に記載のイメージの処理方法。
  6. 【請求項6】プロセッサと、記憶手段と、表示装置とを
    含み、 隣接する3以上の頂点により多面体立体構造または多角
    形平面構造として形成され、前記3以上の頂点の各々が
    3次元空間内の座標値と結果の値を有している要素を複
    数構成して成る3次元モデルと、ユーザ・オペレーショ
    ンに応答して定義された切断平面とが交差したときの断
    面のイメージを表示するシステムであって、 (a)前記3次元モデルを前記切断平面とほぼ平行な複
    数の面で区切る複数のゾーンであって前記3次元モデル
    の任意の前記要素の前記法線方向の最大エクステント以
    上の前記法線方向のエクステントを有するゾーンを定義
    する手段と、 (b)前記複数の要素を、各要素の少なくとも1つの頂
    点の座標値を用いて、各ゾーンに割り当てる手段と、 (c)前記切断平面が交差するゾーンに隣接しないゾー
    ンに割り当てられた要素を除外した複数の要素に対し、
    前記切断平面と交差するか否かの試験を行う手段と、 (d)前記切断平面と交差する要素の少なくとも1つの
    頂点の座標値と結果の値を用いて、断面のイメージを生
    成する手段と、 (e)法線方向を有する切断平面が定義されたことに応
    答して、前記(a)複数のゾーンを定義する手段、前記
    (b)各ゾーンを割り当てる手段、前記(c)試験を行
    う手段、及び前記(d)断面のイメージを生成する手段
    をアクティブ化させる手段と、 (f)前記切断平面が、その法線に沿って移動されたこ
    とに応答して、該移動された切断平面を対象に前記
    (c)移動を行う手段、及び前記(d)断面のイメージ
    を生成する手段をアクティブ化させる手段と、 を含むシステム。
  7. 【請求項7】前記要素は要素構造体アレイとして管理さ
    れており、前期要素構造体アレイは、前記要素を構成す
    る複数の辺を定義する辺構造体アレイにアクセスする情
    報を有しており、前記辺構造体アレイは、各辺の両端の
    頂点を定義するノード構造アレイにアクセスする情報を
    有しており、前記ノード構造体アレイは、各頂点の座標
    と結果の値を管理しており、 前記段階(d)段名のイメージを生成する手段は、 前記切断平面と交差する要素の交差する辺の両端の頂点
    の座標値、結果の値を線形補間し、前記辺と前記切断平
    面との交点の座標及び、結果の値を求め、前記交点の座
    標と結果の値を用いて陰影付けをすることにより、断面
    のイメージを生成することを特徴とする請求項6に記載
    のシステム。
  8. 【請求項8】プロセッサと、記憶手段と、表示装置とを
    含み、 隣接する3以上の頂点により多面体立体構造または多角
    形平面構造として形成され、前記3以上の頂点の各々が
    3次元空間内の座標値と第1及び第2の結果の値を有し
    ている要素を複数構成して成る3次元モデルと、ユーザ
    によって決定されたことにより、前記第1の結果の値が
    前記3次元モデル内で特定の値になる曲面とが交差した
    ときの断面のイメージを表示するシステムであって、 (a)前記3次元モデルの任意の前記要素上での第1の
    結果の値の最大範囲以上の範囲を有する、前記第1の結
    果の値に関する複数のゾーンを定義する手段と、 (b)前記複数の要素を、各要素の少なくとも1つの頂
    点の第1の結果の値を用いて、各ゾーンに割り当てる手
    段と、 (c)前記決定された特定の値との所定の格差があるゾ
    ーンに割り当てられた要素を除外した複数の要素に対
    し、前記曲面と交差するか否かの試験を行う手段と、 (d)前記曲面と交差する要素の少なくとも1つの頂点
    の座標値と第2の結果の値を用いて、断面のイメージを
    生成する手段と、 (e)前記特定の値が決定されたことに応答して、前記
    (a)ゾーンを定義する手段、前記(b)各ゾーンを割
    り当てる手段、前記(c)試験を行う手段及び、前記
    (d)断面のイメージを生成する手段をアクティブ化す
    る手段と、 (f)前記曲面を定義する特定の値が変更されたことに
    応答して、変更された値によって定義された曲面で、前
    記(c)試験を行う手段及び、前記(d)断面のイメー
    ジを生成する手段をアクティブ化する手段と、を含むシ
    ステム。
JP03635192A 1991-02-25 1992-02-24 科学的図形表示方法 Expired - Lifetime JP3275920B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66046791A 1991-02-25 1991-02-25
US660467 1991-02-25

Publications (2)

Publication Number Publication Date
JPH0620012A JPH0620012A (ja) 1994-01-28
JP3275920B2 true JP3275920B2 (ja) 2002-04-22

Family

ID=24649655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03635192A Expired - Lifetime JP3275920B2 (ja) 1991-02-25 1992-02-24 科学的図形表示方法

Country Status (4)

Country Link
US (1) US5454068A (ja)
EP (1) EP0501716A3 (ja)
JP (1) JP3275920B2 (ja)
CA (1) CA2060975C (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590248A (en) * 1992-01-02 1996-12-31 General Electric Company Method for reducing the complexity of a polygonal mesh
GB9316214D0 (en) * 1993-08-05 1993-09-22 Philips Electronics Uk Ltd Image processing
US5825656A (en) * 1994-05-19 1998-10-20 Reliable Power Meters, Inc. Apparatus and method for power disturbance analysis by display of power quality information
US5838938A (en) * 1995-02-15 1998-11-17 Sony Electronics, Inc. Multimedia user interface employing components of color to indicate the values of variables
US5801711A (en) * 1995-08-08 1998-09-01 Hewlett Packard Company Polyline and triangle strip data management techniques for enhancing performance of computer graphics system
DE19603774A1 (de) * 1996-02-02 1997-08-07 Kontron Elektronik Verfahren zur Ermittlung von dreidimensionalen Objekt-Eigenschaften
JP3926866B2 (ja) * 1996-05-10 2007-06-06 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、及び描画システム
DE19637463A1 (de) * 1996-09-13 1998-03-26 Gsf Forschungszentrum Umwelt Verfahren zur Anzeige von geometrischen Objektoberflächen
US6313840B1 (en) * 1997-04-18 2001-11-06 Adobe Systems Incorporated Smooth shading of objects on display devices
US6232984B1 (en) * 1997-05-22 2001-05-15 Lucent Technologies, Inc. Data visualization system
US6021215A (en) * 1997-10-10 2000-02-01 Lucent Technologies, Inc. Dynamic data visualization
US6516092B1 (en) * 1998-05-29 2003-02-04 Cognex Corporation Robust sub-model shape-finder
WO2000046755A1 (en) * 1999-02-02 2000-08-10 Tplg Technologies Limited Geometric data manipulation
US6633290B1 (en) 2000-05-18 2003-10-14 Cyra Technologies, Inc. Apparatus and method for forming 2D views of a structure from 3D point data
GB2372188B (en) * 2001-02-08 2005-07-13 Imagination Tech Ltd Volume clipping in computer 3-D Graphics
US7716024B2 (en) 2002-04-29 2010-05-11 Geodigm Corporation Method and apparatus for electronically generating a color dental occlusion map within electronic model images
US20030220778A1 (en) * 2002-04-29 2003-11-27 Hultgren Bruce Willard Method and apparatus for electronically simulating jaw function within electronic model images
US7301538B2 (en) * 2003-08-18 2007-11-27 Fovia, Inc. Method and system for adaptive direct volume rendering
US7286214B2 (en) * 2003-08-25 2007-10-23 University Of South Florida Method and program product for determining a radiance field in an optical environment
US7259763B2 (en) * 2003-11-13 2007-08-21 International Business Machines Corporation Embedded analytics in information visualization
US7824346B2 (en) * 2004-03-11 2010-11-02 Geodigm Corporation Determining condyle displacement utilizing electronic models of dental impressions having a common coordinate system
US7702492B2 (en) * 2004-03-11 2010-04-20 Geodigm Corporation System and method for generating an electronic model for a dental impression having a common coordinate system
GB2465298B (en) 2004-09-24 2010-06-30 Vision Rt Ltd Image processing system for use with a patient positioning device
JP4804257B2 (ja) * 2006-07-28 2011-11-02 富士通株式会社 組合せ断面図生成方法、その装置及びプログラム
US8169434B2 (en) * 2008-09-29 2012-05-01 Microsoft Corporation Octree construction on graphics processing units
US8935129B1 (en) * 2010-06-04 2015-01-13 Bentley Systems, Incorporated System and method for simplifying a graph'S topology and persevering the graph'S semantics
US9836874B2 (en) 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport
US9607414B2 (en) * 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US9767122B2 (en) 2015-01-27 2017-09-19 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889107A (en) * 1972-10-16 1975-06-10 Evans & Sutherland Computer Co System of polygon sorting by dissection
NL8300872A (nl) * 1983-03-10 1984-10-01 Philips Nv Multiprocessor-rekenmachinesysteem voor het tot een gekleurde afbeelding verwerken van in een hierarchische datastruktuur gedefinieerde objekt-elementen.
DE3401060A1 (de) * 1984-01-13 1986-01-23 Dr. Johannes Heidenhain Gmbh, 8225 Traunreut Verfahren zum grafischen darstellen eines gebildes
EP0187738A1 (fr) * 1984-06-29 1986-07-23 MIRONOFF, Nicolas Circuit electrique pour machine d'usinage par electro-erosion
US4685070A (en) * 1984-08-03 1987-08-04 Texas Instruments Incorporated System and method for displaying, and interactively excavating and examining a three dimensional volume
JPH0769971B2 (ja) * 1984-11-20 1995-07-31 松下電器産業株式会社 3次元図形処理方法
CA1250064A (en) * 1985-03-29 1989-02-14 Kenichi Anjyo Method for constructing three-dimensional polyhedron model
FR2586838B1 (fr) * 1985-08-30 1989-07-28 Labo Electronique Physique Processeur d'elimination de faces cachees pour la synthese d'images a trois dimensions
JPS62229379A (ja) * 1986-03-29 1987-10-08 Toshiba Corp 画像表示装置
JPH0812705B2 (ja) * 1986-09-29 1996-02-07 株式会社東芝 画像処理装置
US4855934A (en) * 1986-10-03 1989-08-08 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4821210A (en) * 1987-04-02 1989-04-11 General Electric Co. Fast display of three-dimensional images
US4888712A (en) * 1987-11-04 1989-12-19 Schlumberger Systems, Inc. Guardband clipping method and apparatus for 3-D graphics display system
US4958305A (en) * 1987-11-04 1990-09-18 General Electric Company Polygon edge clipping
US4897805A (en) * 1988-05-17 1990-01-30 Prime Computer, Inc. Method and apparatus for performing polygon fills in graphical applications
US5067101A (en) * 1988-11-29 1991-11-19 Mitsubishi Denki Kabushiki Kaisha Topography simulation method
DE3888188D1 (de) * 1988-12-06 1994-04-07 Heidenhain Gmbh Dr Johannes Verfahren zur Simulation der Bearbeitung eines Werkstückes und Darstellung desselben, sowie Vorrichtung zur Durchführung des Verfahrens.
JPH02173878A (ja) * 1988-12-27 1990-07-05 Toshiba Corp 3次元断面表示装置
US5113490A (en) * 1989-06-19 1992-05-12 Silicon Graphics, Inc. Method for forming a computer model from an intersection of a cutting surface with a bounded volume
JPH0792840B2 (ja) * 1989-10-13 1995-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン 画像生成方法及び装置
US5150457A (en) * 1990-05-02 1992-09-22 International Business Machines Corporation Enhanced visualization using translucent contour surfaces
US5201035A (en) * 1990-07-09 1993-04-06 The United States Of America As Represented By The Secretary Of The Air Force Dynamic algorithm selection for volume rendering, isocontour and body extraction within a multiple-instruction, multiple-data multiprocessor

Also Published As

Publication number Publication date
CA2060975C (en) 1998-11-10
US5454068A (en) 1995-09-26
CA2060975A1 (en) 1992-08-26
EP0501716A3 (en) 1994-11-17
EP0501716A2 (en) 1992-09-02
JPH0620012A (ja) 1994-01-28

Similar Documents

Publication Publication Date Title
JP3275920B2 (ja) 科学的図形表示方法
Boyse et al. GMSolid: Interactive modeling for design and analysis of solids
JP2625621B2 (ja) オブジェクトを作成する方法
EP1804187B1 (en) Process for displaying objects in a PLM database and apparatus implementing this process
US5861891A (en) Method, system, and computer program for visually approximating scattered data
JPH04229380A (ja) 数値データ視覚化方法および装置
JPH0792840B2 (ja) 画像生成方法及び装置
JPH05266216A (ja) ボリュームレンダリングを行う方法及び装置
US20100194766A1 (en) Apparatus, method, and program for structuring visualization object data; and apparatus, method, and program for visualizing visualization object data
JPH0727579B2 (ja) グラフィクス処理装置及び方法並びにピクセル・メモリ装置
EP2241988B1 (en) Method, program and product edition system for visualizing objects displayed on a computer screen
KR100861161B1 (ko) 3차원 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 3차원 표시 장치, 및 3차원 표시 방법
US5537520A (en) Method and system for displaying a three dimensional object
JP3611583B2 (ja) 特徴線の抽出を伴う三次元イメージ情報の処理装置
Lucas A scientific visualization renderer
Subburaj et al. Voxel-based thickness analysis of intricate objects
US5559935A (en) Method and apparatus for generating isosurfaces
US7050053B2 (en) Geometric folding for cone-tree data compression
US5926183A (en) Efficient rendering utilizing user defined rooms and windows
JP2003323461A (ja) Cadデータ作成装置および情報加工方法
JP3332511B2 (ja) 画像データ処理方法及び装置及びグラフィックシステム
Kameyama et al. A direct 3-D shape modeling system
JP3777989B2 (ja) 立体形状データ変換装置及び立体形状データ変換方法
JPH06215133A (ja) データ処理装置および方法
CN110033520A (zh) 三维场景的可见性函数

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20110208

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120208

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 11

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20130208

Year of fee payment: 11

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370