JPH02103687A - 3次元図形処理方法及びその装置 - Google Patents
3次元図形処理方法及びその装置Info
- Publication number
- JPH02103687A JPH02103687A JP63256352A JP25635288A JPH02103687A JP H02103687 A JPH02103687 A JP H02103687A JP 63256352 A JP63256352 A JP 63256352A JP 25635288 A JP25635288 A JP 25635288A JP H02103687 A JPH02103687 A JP H02103687A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shape
- dimensional
- triangle
- processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/02—Simulators for teaching or training purposes for teaching control of vehicles or other craft
- G09B9/08—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
- G09B9/30—Simulation of view from aircraft
- G09B9/301—Simulation of view from aircraft by computer-processed or -generated image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Numerical Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は3次元の中身の詰まっている図形、すなわちソ
リッド図形を生成・演算・表示する3次元図形処理方法
及びそれを具現化する装置に関する。
リッド図形を生成・演算・表示する3次元図形処理方法
及びそれを具現化する装置に関する。
従来の技術
ソリッドモデリング技術においては、例えば、第2図(
a)に示すようなソリッド形状20を表現するために、
種々の形状表現方法く形状モデル)が提案されてきてい
る。その中でも現在の主流であり中核をなすのが、B−
Rep法(Boundary Representat
ion )である。
a)に示すようなソリッド形状20を表現するために、
種々の形状表現方法く形状モデル)が提案されてきてい
る。その中でも現在の主流であり中核をなすのが、B−
Rep法(Boundary Representat
ion )である。
B−Rep法は第2図(b)に示すように、形状20を
、それを囲む面21すべて、面21をそれを囲む辺22
すべで、辺22をその両端の点く頂点)23で規定する
ことにより表現する方法である。
、それを囲む面21すべて、面21をそれを囲む辺22
すべで、辺22をその両端の点く頂点)23で規定する
ことにより表現する方法である。
そして、従来のB−Rep法では形状の表面を表現する
面は隣接する面と辺を共有する多角形21で構成されて
いた。また、そのデータ構造は、第3図に示すように、
面、辺、頂点のデータで構成されている。
面は隣接する面と辺を共有する多角形21で構成されて
いた。また、そのデータ構造は、第3図に示すように、
面、辺、頂点のデータで構成されている。
発明が解決しようとする課題
しかしながら、前述したような多角形21をベースとす
るB−Rep法では、第3図に示すように、データ構造
が可変長の非常に複雑なものとなる。
るB−Rep法では、第3図に示すように、データ構造
が可変長の非常に複雑なものとなる。
また、形状演算、マス・プロパティ計算、隠線・隠面処
理などのソリッドモデル本来の機能において、任意の多
角形の演算をベースとするため処理が非常に複雑になり
実用性のある信頼性が得られに<(、処理スピードも遅
いといった問題点があった。
理などのソリッドモデル本来の機能において、任意の多
角形の演算をベースとするため処理が非常に複雑になり
実用性のある信頼性が得られに<(、処理スピードも遅
いといった問題点があった。
本発明は上記従来例の問題点を解消し、ソリッド図形を
高い信頼性を持って効率的かつ実用的に処理する方法及
び装置を提供するものである。
高い信頼性を持って効率的かつ実用的に処理する方法及
び装置を提供するものである。
課題を解決するための手段
上記問題点を解決するために本発明では、ソリッド図形
を表現するに当たって、「辺を共有しないことがある3
角形によるB−Rep表現法」というデータ構造(第2
図(d)参照)を考案した。
を表現するに当たって、「辺を共有しないことがある3
角形によるB−Rep表現法」というデータ構造(第2
図(d)参照)を考案した。
ここで、「辺を共有しないことがある」とは辺を共有し
てもしなくてもよいという意味で用いており、「辺を共
有しない3角形」と「辺を共有する3角形」の集合体に
よりソリッド図形を表現するものである。因みに、従来
例では必ず辺を共有しなくてはならなかった(第2図(
c)参照)。
てもしなくてもよいという意味で用いており、「辺を共
有しない3角形」と「辺を共有する3角形」の集合体に
よりソリッド図形を表現するものである。因みに、従来
例では必ず辺を共有しなくてはならなかった(第2図(
c)参照)。
作 用
上記のような「辺を共有しないことがある3角形B−R
ep法」を用いることにより、第5図に示すようにデー
タ構造が固定長の非常に単純なものとなり、3角形のフ
ェイスデータとその頂点データのみでよく、辺のデータ
が不要となる。また、これにより処理も非常に単純とな
り高い信頼性が得られ、処理スピードも高速になる。
ep法」を用いることにより、第5図に示すようにデー
タ構造が固定長の非常に単純なものとなり、3角形のフ
ェイスデータとその頂点データのみでよく、辺のデータ
が不要となる。また、これにより処理も非常に単純とな
り高い信頼性が得られ、処理スピードも高速になる。
第2図(c)に示すように、従来例の多角形ローRep
をただ単純に3角形B−Rep (辺を共有する3角形
によるB−Rep法)とする方法も考えられるが、この
方法ではデータ構造及び図形処理演算は単純になるが、
データ量(3角形の数)は非常に増える。結果として、
処理スピードも遅(なる。
をただ単純に3角形B−Rep (辺を共有する3角形
によるB−Rep法)とする方法も考えられるが、この
方法ではデータ構造及び図形処理演算は単純になるが、
データ量(3角形の数)は非常に増える。結果として、
処理スピードも遅(なる。
すなわち、「辺を共有しないことがある3角形B−Re
p法」は、3角形をベースとした処理の持つ単純性とい
う利点を生かしつつ、データ量も圧縮できる形状表現方
法である。
p法」は、3角形をベースとした処理の持つ単純性とい
う利点を生かしつつ、データ量も圧縮できる形状表現方
法である。
実施例
本発明のシステムについて詳細に説明する。まず、第1
の実施例について第1図を用いて説明する。
の実施例について第1図を用いて説明する。
一般の3次元物体は立方体・直方体・円柱・円錐・球な
どの3次元基本形状(以下、プリミティブと呼ぶ)の集
合演算及び形状演算により表現することができる。した
がって、このプリミティブにより3次元形状の定義を行
いこのデータを記憶装置11に記憶する。そして、図形
処理演算装置10によりプリミティブデータからソリッ
ド形状データを生成する。
どの3次元基本形状(以下、プリミティブと呼ぶ)の集
合演算及び形状演算により表現することができる。した
がって、このプリミティブにより3次元形状の定義を行
いこのデータを記憶装置11に記憶する。そして、図形
処理演算装置10によりプリミティブデータからソリッ
ド形状データを生成する。
本発明では、ソリッド形状のデータ構造には前述したよ
うに「辺を共有しないことがある3角形B−Rep法」
という新しい形状表現方法を採用した。
うに「辺を共有しないことがある3角形B−Rep法」
という新しい形状表現方法を採用した。
プリミティブデータからソリッド形状データを生成する
に当たっては、適当な方法を用いてプリミティブの表面
を3角形分割する。例えば、第4図のようである。第4
図は立方体と円柱の3角形分割例である。そして、この
3角形分割によって生成された3角形フエイスデータと
その頂点の座標を表す頂点データは、それぞれ3角形デ
ータ記憶装r!113および頂点データ記憶装置14に
保存される。
に当たっては、適当な方法を用いてプリミティブの表面
を3角形分割する。例えば、第4図のようである。第4
図は立方体と円柱の3角形分割例である。そして、この
3角形分割によって生成された3角形フエイスデータと
その頂点の座標を表す頂点データは、それぞれ3角形デ
ータ記憶装r!113および頂点データ記憶装置14に
保存される。
そして、これらの3角形フエイスデータおよび頂点デー
タを基にして、図形処理演算装置10により、形状演算
、マス・プロパティ計算、隠面・隠線処理等のソリッド
演算機能が実行される。
タを基にして、図形処理演算装置10により、形状演算
、マス・プロパティ計算、隠面・隠線処理等のソリッド
演算機能が実行される。
隠面・隠線処理された結果としての稜線データは稜線デ
ータ記憶装置15に記憶される。
ータ記憶装置15に記憶される。
また、この実施例では通信インターフェイス12を通じ
て、上記の全てのデータが外部コンピュータや外部機器
と送受信可能である。
て、上記の全てのデータが外部コンピュータや外部機器
と送受信可能である。
ここでは、形状定義をプリミティブを用いて行うとした
が、他の方法でももちろんよい。例えば、2次元断面形
状を基にして、これをスィーブ(掃引)あるいは回転す
ることによりソリッド形状データすなわち3角形B−R
epデータを生成することもできる。
が、他の方法でももちろんよい。例えば、2次元断面形
状を基にして、これをスィーブ(掃引)あるいは回転す
ることによりソリッド形状データすなわち3角形B−R
epデータを生成することもできる。
次に、本発明の根幹をなす「辺を共有しないことがある
3角形B−Rep法」について図面により詳細に説明す
る。
3角形B−Rep法」について図面により詳細に説明す
る。
この表現方法は第2図(d)に示すように形状の表面を
「辺を共有しない3角形」と「辺を共有する3角形」の
集合体により表現するものである。
「辺を共有しない3角形」と「辺を共有する3角形」の
集合体により表現するものである。
これにより、この方法は3角形をベースとした処理の持
つ単純性及び高速性とデータ量増大の回避という相反す
るものを両立させている (第2図(c)と第2図(d)を比較参照)。
つ単純性及び高速性とデータ量増大の回避という相反す
るものを両立させている (第2図(c)と第2図(d)を比較参照)。
このデータ構造は第5図に示すように、ヘッダー、3角
形フエイスデータ、頂点データから構成される。従来の
B−Rep法に比べて、その構造は非常に単純なものと
なっている。すなわち、固定長の一次元リスト構造とな
り、辺データがいらないのが特徴である。
形フエイスデータ、頂点データから構成される。従来の
B−Rep法に比べて、その構造は非常に単純なものと
なっている。すなわち、固定長の一次元リスト構造とな
り、辺データがいらないのが特徴である。
ヘッダ一部には最初と最後の3角形フエイスデータを示
すポインタが入っている。3角形フエイスデータをコン
トロールする部分である。
すポインタが入っている。3角形フエイスデータをコン
トロールする部分である。
3角形フェイスデータ部は、双方向ポインタを持つ固定
長の1次元リスト構造である。その構成は、双方向ポイ
ンタ、頂点データへのポインタ(v’+ v’+ v”
) 、頂点で隣接する3角形へのポインタ(tl、 t
2. t3. t4. ts、 t6 ) 、法線ベク
トル(ni ny、nz)、色データC1属性データa
から構成される(第6図参照)。法線ベクトルの向きは
形状の外側が正である。隣接する3角形がない場合はt
I(i −is・・、6 )にnul Iが入る。例え
ば、第7図の例ではjlとt3がnullとなる。
長の1次元リスト構造である。その構成は、双方向ポイ
ンタ、頂点データへのポインタ(v’+ v’+ v”
) 、頂点で隣接する3角形へのポインタ(tl、 t
2. t3. t4. ts、 t6 ) 、法線ベク
トル(ni ny、nz)、色データC1属性データa
から構成される(第6図参照)。法線ベクトルの向きは
形状の外側が正である。隣接する3角形がない場合はt
I(i −is・・、6 )にnul Iが入る。例え
ば、第7図の例ではjlとt3がnullとなる。
頂点データは、頂点のX座標、Y座標、Z座標から構成
される装 次に、形状演算について説明する。まず、形状積につい
て説明する。形状積は演算を行おうとする2つの形状の
表面を構成する3角形相互の位置関係を判定し、交わる
のであればその3角形を細分割することにより求めるこ
とができる。
される装 次に、形状演算について説明する。まず、形状積につい
て説明する。形状積は演算を行おうとする2つの形状の
表面を構成する3角形相互の位置関係を判定し、交わる
のであればその3角形を細分割することにより求めるこ
とができる。
形状積の処理を第8図のフローチャートを用いて詳しく
説明する。ここでは形状Aと形状Bの形状積をとる場合
を考える。形状Aを構成する3角形フエイスデータをt
^i(i −0,1,・・・)、形状Bを構成する3角
形フエイスデータをtBj(j −0゜l、・・・)と
それぞれする。
説明する。ここでは形状Aと形状Bの形状積をとる場合
を考える。形状Aを構成する3角形フエイスデータをt
^i(i −0,1,・・・)、形状Bを構成する3角
形フエイスデータをtBj(j −0゜l、・・・)と
それぞれする。
まず、f=0と初期設定する(ステップ80)。
次に、3角形フエイスデータjAiを3角形データ記憶
装置13から順次読み込む(ステップ81)。
装置13から順次読み込む(ステップ81)。
そして、このそれぞれのjAiについて、j=0と初期
設定しくステップ83)、3角形フエイスデータtBj
を3角形データ記憶装置13から順次読み込む(ステッ
プ84)。
設定しくステップ83)、3角形フエイスデータtBj
を3角形データ記憶装置13から順次読み込む(ステッ
プ84)。
次に、jAiとtBjの位置関係をチエツクし、交わる
かどうかを判定する(ステップ86)。交わるのであれ
ば、jAiとjBjを細分割する(ステップ87)。
かどうかを判定する(ステップ86)。交わるのであれ
ば、jAiとjBjを細分割する(ステップ87)。
第9図に示すように、この分割パターンは2つのケース
がある。一つは両者の交線95が3角形の2辺と交わる
場合(第9図(a))、もう一つは3角形の1辺及び頂
点と交わる場合である(第9図(b))。このように本
発明の方法ではたった2つの場合分けによる処理ですむ
。
がある。一つは両者の交線95が3角形の2辺と交わる
場合(第9図(a))、もう一つは3角形の1辺及び頂
点と交わる場合である(第9図(b))。このように本
発明の方法ではたった2つの場合分けによる処理ですむ
。
以上のステップ80から87までの処理をすべての3角
形の組合せについて行う。
形の組合せについて行う。
次に、それぞれの形状の内部にある3角形を消去する(
ステップ88)。そして、形状Aと形状Bの交線上の頂
点すなわち共通頂点を求める(ステップ89)。次に、
この共通頂点において隣接する3角形のトポロジー(3
角形の隣接関係)を再生成する(ステップ90)。
ステップ88)。そして、形状Aと形状Bの交線上の頂
点すなわち共通頂点を求める(ステップ89)。次に、
この共通頂点において隣接する3角形のトポロジー(3
角形の隣接関係)を再生成する(ステップ90)。
上記のような3角形の細分割を繰り返すと第10図(a
)に示すように不必要に細かく分割されてしまう。そこ
で、再合成できる3角形があれば、すなわち隣合う3角
形の辺が一直線となる場合は第1O図(b)のように再
合成することができる(ステップ91)。このような再
合成も「辺を共有しない」はうが「辺を共有する」場合
に比べて3角形が疎に結合しているので処理が単純かつ
高速になる。この処理により3角形のデータ量を減少さ
せることが出来る。以上が形状積の処理フローである。
)に示すように不必要に細かく分割されてしまう。そこ
で、再合成できる3角形があれば、すなわち隣合う3角
形の辺が一直線となる場合は第1O図(b)のように再
合成することができる(ステップ91)。このような再
合成も「辺を共有しない」はうが「辺を共有する」場合
に比べて3角形が疎に結合しているので処理が単純かつ
高速になる。この処理により3角形のデータ量を減少さ
せることが出来る。以上が形状積の処理フローである。
次に、形状積について説明する。形状積は形状積の場合
とまったく同一である。唯−異なるのはステップ88の
処理がそれぞれの形状の外部にある3角形を消去すると
いうことである。
とまったく同一である。唯−異なるのはステップ88の
処理がそれぞれの形状の外部にある3角形を消去すると
いうことである。
次に、形状差について説明する。形状Aから形状Bを引
(場合を考える。この場合は、前処理として形状Bの3
角形フエイスデータの表裏をひっ(り返す。そして、形
状積をとればよい。
(場合を考える。この場合は、前処理として形状Bの3
角形フエイスデータの表裏をひっ(り返す。そして、形
状積をとればよい。
次に、マス・プロパティ計算(体積・重心・慣性モーメ
ントなど)について説明する。マス・プロパティを計算
するには、その形状を表現している3角形データから3
次元ランレングスデータを求め、このデータからマス・
プロパティ計算を行う。ここでは、ランレングスデータ
の方向をY軸方向とする。処理の詳細を第11図(a)
、(b)のフローチャートを用いて説明する。
ントなど)について説明する。マス・プロパティを計算
するには、その形状を表現している3角形データから3
次元ランレングスデータを求め、このデータからマス・
プロパティ計算を行う。ここでは、ランレングスデータ
の方向をY軸方向とする。処理の詳細を第11図(a)
、(b)のフローチャートを用いて説明する。
まず、1==0と初期設定する(ステップ100)。
次に、3角形フエイスデータtiを3角形データ記憶装
ff13から順次読み込む(ステップ101)。
ff13から順次読み込む(ステップ101)。
そして、この3角形が占めるX座標およびZ座標の範囲
(xs+in、 zmin) −(xmax、 xma
x)を求める(ステップ103)、次に、 z=zmi
n、 x=xminと初期設定する(ステップ104.
105>。
(xs+in、 zmin) −(xmax、 xma
x)を求める(ステップ103)、次に、 z=zmi
n、 x=xminと初期設定する(ステップ104.
105>。
そして、Y軸に平行な直線(X、Z)と3角形tiとの
交点のY座標yを求める(ステップ106)。
交点のY座標yを求める(ステップ106)。
この時、交点が存在しないのであればステップ114へ
飛ぶ(ステップ107)。次に、yとメモリ11上にす
でに存在するランレングスデータの始点yIJおよび終
点y2jと比較し、ylj<y<y2j(ランレングス
データj上)であればステップ109へ、y2j< y
< ylj+l (ランレングスデータjとランレング
スデータj+1の間)であればステップ110へ飛ぶ(
ステップ108)。
飛ぶ(ステップ107)。次に、yとメモリ11上にす
でに存在するランレングスデータの始点yIJおよび終
点y2jと比較し、ylj<y<y2j(ランレングス
データj上)であればステップ109へ、y2j< y
< ylj+l (ランレングスデータjとランレング
スデータj+1の間)であればステップ110へ飛ぶ(
ステップ108)。
ステップ109では3角形フエイスデータtIの法線ベ
クトルのY座標nyiの符号をチエツクしマイナスであ
ればステップ111へ、プラスであればステップ112
へ飛ぶ。
クトルのY座標nyiの符号をチエツクしマイナスであ
ればステップ111へ、プラスであればステップ112
へ飛ぶ。
ステップ111ではランレングスデータの7ラグfj
の値をチエツクして1であればケース■へ。
の値をチエツクして1であればケース■へ。
2であればケース■へ、そして、3であればケース■へ
飛ぶ。ここで、このフラグfjはlのときランレングス
データjの始点のみが確定、2のとき終点のみが確定、
3のとき始点・終点共に確定していることを示す。未定
の場合は隣合うランレングスデータの値が仮の値として
入っている。
飛ぶ。ここで、このフラグfjはlのときランレングス
データjの始点のみが確定、2のとき終点のみが確定、
3のとき始点・終点共に確定していることを示す。未定
の場合は隣合うランレングスデータの値が仮の値として
入っている。
ステップ112では、ステップ111と同様にランレン
グスデータのフラグfjの値をチエツクして1であれば
ケース■へ、2であればケース■へ、そして、3であれ
ばケース■へ飛ぶ。
グスデータのフラグfjの値をチエツクして1であれば
ケース■へ、2であればケース■へ、そして、3であれ
ばケース■へ飛ぶ。
ステップ110では、ステップ109と同様にnyiの
符号をチエツクしマイナスであればケース■へ、プラス
であればケース■へ飛ぶ。
符号をチエツクしマイナスであればケース■へ、プラス
であればケース■へ飛ぶ。
ケース■から■およびステップ113ではそれぞれのケ
ースに応じて、ランレングスデータを修正・追加してい
る。このようなランレングスデータはメモリ11に記憶
される。
ースに応じて、ランレングスデータを修正・追加してい
る。このようなランレングスデータはメモリ11に記憶
される。
以上のステップ106からステップ113までの処理を
xmin≦X≦xa+ax、 zmin≦2≦z wa
xを満たす全てのスキャニングライン(X、Z)に関し
て行う。
xmin≦X≦xa+ax、 zmin≦2≦z wa
xを満たす全てのスキャニングライン(X、Z)に関し
て行う。
以上のステップ101からステップ118までの処理を
全ての3角形フエイスデータtiに関して行う。これに
より、3角形フエイスデータから3次元ランレングスデ
ータが生成される。
全ての3角形フエイスデータtiに関して行う。これに
より、3角形フエイスデータから3次元ランレングスデ
ータが生成される。
3次元ランレングスデータからマス・プロパティを求め
る方法は特開昭62−1075号公報に詳しく説明され
ているので省略する。
る方法は特開昭62−1075号公報に詳しく説明され
ているので省略する。
次に、隠線処理について説明する。この処理は、まず3
次元形状を表現している3角形から稜線を求め、この稜
線データと3角形データとの奥行き判定により行う。
次元形状を表現している3角形から稜線を求め、この稜
線データと3角形データとの奥行き判定により行う。
3角形データから稜線データを求める処理を第12図の
フローチャートを用いて詳しく説明する。
フローチャートを用いて詳しく説明する。
まず、i=Oと初期設定する(ステップ120)。
そして、3角形フエイスデータをl (i −0,1゜
・・・)を3角形データ記憶装置13がら順次読み込む
(ステップ121)。視線方向から見たいの法線を求め
(ステップ123)、視線方向から見て表か裏かを判定
する(ステップ124)。裏であれば次の3角形を読み
込む。次に、jiに隣接する3角形tkを読み込む(ス
テップ125)。
・・・)を3角形データ記憶装置13がら順次読み込む
(ステップ121)。視線方向から見たいの法線を求め
(ステップ123)、視線方向から見て表か裏かを判定
する(ステップ124)。裏であれば次の3角形を読み
込む。次に、jiに隣接する3角形tkを読み込む(ス
テップ125)。
jkは第13図(a)に示すように最多で6個ある。そ
して、jk の法線ベクトルを求める(ステップ126
)。ti とjkの法線ベクトルが一致するかどうかを
判定することにより稜線が生成するかどうかを判定し、
生成しなければ次の3角形を読み込む(ステップ127
)。稜線が生成するのであれば稜線v1、V2を求め稜
線データ記憶装置15へ=8憶する(ステップ128)
。このときのパターンは第13図(b)、(c)、(d
)に示すように3種ある。そして、このときの始点■1
をVOとして記憶する(ステップ129)。次に、頂点
V2を基準として稜線が生成する3角形のベア(tj#
tk)を求める(ステップ130)。
して、jk の法線ベクトルを求める(ステップ126
)。ti とjkの法線ベクトルが一致するかどうかを
判定することにより稜線が生成するかどうかを判定し、
生成しなければ次の3角形を読み込む(ステップ127
)。稜線が生成するのであれば稜線v1、V2を求め稜
線データ記憶装置15へ=8憶する(ステップ128)
。このときのパターンは第13図(b)、(c)、(d
)に示すように3種ある。そして、このときの始点■1
をVOとして記憶する(ステップ129)。次に、頂点
V2を基準として稜線が生成する3角形のベア(tj#
tk)を求める(ステップ130)。
そして、稜線VIV2を求め稜線データ記憶装置15へ
記憶する(ステップ131)。
記憶する(ステップ131)。
以上のステップ130とステップ131の処理を始点V
Oに戻るまで繰り返す。そして、以上のステップ121
からステップ133までの処理をすべての3角形フエイ
スデータti に関して行う。
Oに戻るまで繰り返す。そして、以上のステップ121
からステップ133までの処理をすべての3角形フエイ
スデータti に関して行う。
これにより、すべての稜線データが稜線データ記憶装置
15に生成される。
15に生成される。
次に、稜線データと3角形データとの奥行き判定をし稜
線データが3角形データに隠される部分を消去する処理
(隠線消去)を第14図(a)、(b)のフローチャー
トを用いて詳しく説明する。
線データが3角形データに隠される部分を消去する処理
(隠線消去)を第14図(a)、(b)のフローチャー
トを用いて詳しく説明する。
まず、稜線データVIV2を稜線データ記憶装置15か
ら読み込む(ステップ140)。そして、3角形フエイ
スデータtを3角形データ記憶装置13から順次読み込
む(ステップ142)。次に、視線方向(ここでは、Z
軸方向)から見て、稜線データVIV2と3角形フエイ
スデータtが交わる占 P (px、py、pz)、Q (qx、qy、q
z)IR(rx、ry、rz)、S (sx、sy、
sz)+ml 、 m2 を求める(ステップ144、第15図参照)。こコテ、
P、Qll線VIVZ上、R,Sは3角形ノ辺上の点で
ある。PとR,QとSがそれぞれ対応している。また、
ml 、m2は、Vl=0.V2=1としたときのP、
Qそれぞれの稜IVIV2上の一次元座標値である。
ら読み込む(ステップ140)。そして、3角形フエイ
スデータtを3角形データ記憶装置13から順次読み込
む(ステップ142)。次に、視線方向(ここでは、Z
軸方向)から見て、稜線データVIV2と3角形フエイ
スデータtが交わる占 P (px、py、pz)、Q (qx、qy、q
z)IR(rx、ry、rz)、S (sx、sy、
sz)+ml 、 m2 を求める(ステップ144、第15図参照)。こコテ、
P、Qll線VIVZ上、R,Sは3角形ノ辺上の点で
ある。PとR,QとSがそれぞれ対応している。また、
ml 、m2は、Vl=0.V2=1としたときのP、
Qそれぞれの稜IVIV2上の一次元座標値である。
次に、視線方向くZ軸方向)から見て、稜IVIV2と
3角形tが交わるかどうかをチエツクする。
3角形tが交わるかどうかをチエツクする。
交わらなければ(l≦ml Or m2≦0のとき
)次の3角形を読み込み、交われば次のステップへ行く
(ステップ145)。そして、ml ≦0のときステッ
プ147へ、Q<ml<lのときステップ167へ移る
(ステップ146)。ステップ147ではOくm2く1
のときステップ148へ、1≦m2のときステップ15
8へ移る。ステップ148では、第16図に示すように
Pが稜IJI V +、V2上から離れるので P ’ (px、py、pz)=Vl (vtx、
v+y、 vtx)とし、R)l:Pに応じてR
′に修正する。
)次の3角形を読み込み、交われば次のステップへ行く
(ステップ145)。そして、ml ≦0のときステッ
プ147へ、Q<ml<lのときステップ167へ移る
(ステップ146)。ステップ147ではOくm2く1
のときステップ148へ、1≦m2のときステップ15
8へ移る。ステップ148では、第16図に示すように
Pが稜IJI V +、V2上から離れるので P ’ (px、py、pz)=Vl (vtx、
v+y、 vtx)とし、R)l:Pに応じてR
′に修正する。
次に、pz≧rzであればステップ150へ、そうでな
ければステップ154へ移る(ステップ149)、ステ
ップ150では、qz≧szであれば稜IVI、’V2
がまったく3角形により隠されないので次の3角形を読
み込む処理(ステップ142)へ、そうでなければステ
ップ151へ移る。そして、稜線VIV2と3角形tと
の交点Gを求める(ステップ151)。次に、 VI’=Q、V2’=V2 とし、稜線データ記憶装置15上の稜線VIV2を、V
2=G と修正する(ステップ152)。そして、稜線データ記
憶装置15へ稜線V 、 l V 21を記憶(挿入)
し、次の3角形を読み込む処理(ステップ142)へ移
る(ステップ153)。
ければステップ154へ移る(ステップ149)、ステ
ップ150では、qz≧szであれば稜IVI、’V2
がまったく3角形により隠されないので次の3角形を読
み込む処理(ステップ142)へ、そうでなければステ
ップ151へ移る。そして、稜線VIV2と3角形tと
の交点Gを求める(ステップ151)。次に、 VI’=Q、V2’=V2 とし、稜線データ記憶装置15上の稜線VIV2を、V
2=G と修正する(ステップ152)。そして、稜線データ記
憶装置15へ稜線V 、 l V 21を記憶(挿入)
し、次の3角形を読み込む処理(ステップ142)へ移
る(ステップ153)。
また、ステップ154では、qz≧SZであればステッ
プ155へ、そうでなければステップ157へ移る。そ
して、ステップ155では稜線v1v2と3角形tとの
交点Gを求める。そして、稜線データ記憶装置15上の
稜線VIV2を、VI=G と修正する(ステップ156)。ステップ157では、
稜線データ記憶装置15上の稜線VIV2を、VI=Q と修正する。そして、次の3角形を読み込む処理(ステ
ップ142)へ移る。
プ155へ、そうでなければステップ157へ移る。そ
して、ステップ155では稜線v1v2と3角形tとの
交点Gを求める。そして、稜線データ記憶装置15上の
稜線VIV2を、VI=G と修正する(ステップ156)。ステップ157では、
稜線データ記憶装置15上の稜線VIV2を、VI=Q と修正する。そして、次の3角形を読み込む処理(ステ
ップ142)へ移る。
以上のステップ148からステップ157の処理は視線
方向くZ軸方向)から見ると、第17図(a)のケース
である。
方向くZ軸方向)から見ると、第17図(a)のケース
である。
同様に、ステップ158からステップ166の処理は第
17図(b)のケース、ステップ168からステップ1
78の処理は第17図(C)のケース、ステップ179
からステップ188の処理は第171ffl(d)のケ
ースである。
17図(b)のケース、ステップ168からステップ1
78の処理は第17図(C)のケース、ステップ179
からステップ188の処理は第171ffl(d)のケ
ースである。
このそれぞれのケースでは、ステップ148からステッ
プ157(第17図(a)のケース〉で説明したのと同
様に、それぞれのケースに応じて稜線データ記憶装置1
5上の稜線データVIV2を修正・消去、あるいは稜線
V 、l V 21を挿入している。
プ157(第17図(a)のケース〉で説明したのと同
様に、それぞれのケースに応じて稜線データ記憶装置1
5上の稜線データVIV2を修正・消去、あるいは稜線
V 、l V 21を挿入している。
次に、本発明の第2の実施例について第18図を用いて
詳しく説明する。この第2の実施例は第1の実施例にお
いて表示装置が付加した形になっている。すなわち、第
1の実施例では、3角形フエイスデータの生成、形状演
算、マス・プロパティ計算、隠面・隠線処理等のソリッ
ド機能が実行される。
詳しく説明する。この第2の実施例は第1の実施例にお
いて表示装置が付加した形になっている。すなわち、第
1の実施例では、3角形フエイスデータの生成、形状演
算、マス・プロパティ計算、隠面・隠線処理等のソリッ
ド機能が実行される。
そして、隠面・隠線処理された結果としての稜線データ
を表示するには、通信インターフェイス12を介して、
グラフィックデイスプレィ装置と接続して用いなければ
ならない。そこで、第2の実施例では表示装置を付加し
表示機能を持たせた。これにより、3次元図形処理装置
としてより高機能で使いやすい装置となっている。
を表示するには、通信インターフェイス12を介して、
グラフィックデイスプレィ装置と接続して用いなければ
ならない。そこで、第2の実施例では表示装置を付加し
表示機能を持たせた。これにより、3次元図形処理装置
としてより高機能で使いやすい装置となっている。
第18図で図示しているように、第1の実施例に、表示
用データを記憶するフレームメモリ16、表示スクリー
ンであるCRT17、フレームメモリのデータをCRT
に表示するビデオコントローラ17を付加した形になっ
ている。
用データを記憶するフレームメモリ16、表示スクリー
ンであるCRT17、フレームメモリのデータをCRT
に表示するビデオコントローラ17を付加した形になっ
ている。
すなわち、表示データである隠面・隠線処理された結果
としての稜線データは図形処理演算装置10により稜線
データ記憶装置15から読み出されて変換されてフレー
ムメモリ16に記憶される。
としての稜線データは図形処理演算装置10により稜線
データ記憶装置15から読み出されて変換されてフレー
ムメモリ16に記憶される。
そして、このフレームメモリ上の表示データはビデオコ
ントローラ17によりCRT18に表示される。
ントローラ17によりCRT18に表示される。
発明の効果
以上の説明から明らかなように、本発明は3次元ソリッ
ド形状を「辺を共有しないことがある3角形によるB−
Rep表現法」により表現する。この方法により、ソリ
ッド形状を表現するデータ構造は3角形とその頂点デー
タのみから構成され、辺データは不要となる。そして、
−次元固定長のリスト構造となるので非常にコンピュー
タ処理し易いものとなる。これにより、形状演算、マス
・プロパティ計算、隠面・隠線処理等のソリッド演算機
能を非常にシンプルなアルゴリズムと処理装置により実
現することが可能となった。そして、処理の信頼性が向
上し、処理スピードも高速化する。また、そのときのデ
ータ量は「辺を共有する3角形」の場合に比べて大幅に
少なくて済む。
ド形状を「辺を共有しないことがある3角形によるB−
Rep表現法」により表現する。この方法により、ソリ
ッド形状を表現するデータ構造は3角形とその頂点デー
タのみから構成され、辺データは不要となる。そして、
−次元固定長のリスト構造となるので非常にコンピュー
タ処理し易いものとなる。これにより、形状演算、マス
・プロパティ計算、隠面・隠線処理等のソリッド演算機
能を非常にシンプルなアルゴリズムと処理装置により実
現することが可能となった。そして、処理の信頼性が向
上し、処理スピードも高速化する。また、そのときのデ
ータ量は「辺を共有する3角形」の場合に比べて大幅に
少なくて済む。
第1図は本発明の第1の実施例における3次元図形処理
システムの全体構成図、第2図(a)〜(d)は3次元
ソリッド図形の表現方法に関する従来例と本発明の方法
の比較説明図、第3図は従来例のソリッド図形データ構
造図、第4図は3次元ソリッド図形の表面の3角形分割
図、第5図は本発明のソリッド図形データ構造図、第6
図は辺を共有しない3角形の説明図、第7図は3角形が
頂点で隣接する場合としない場合の説明図、第8図は形
状和のフローチャート図、第9図(a)、(b)は3角
形細分割説明図、第10図(a)、(b)は3角形再合
成説明図、第11図(a>、(b)は3角形B−Rep
データを3次元ランレングスデータに変換するフローチ
ャート図、第12図は3角形フエイスデータから稜線デ
ータを求めるフローチャート図、第13図(a)〜(d
)は隣接3角形の説明図、第14図(a)、(b)は隠
線処理のフローチャート図、第15図、第16図、第1
7図(a)〜(d)は稜線と3角形の位置関係説明図、
第18図は本発明の第2の実施例における3次元図形処
理システムの全体構成図である。 10・・・・・・図形処理演算装置、13・・・・・・
3角形データ記憶装置、14・・・・・・頂点データ記
憶装置、15・・・・・・稜線データ記憶装置、16・
・・・・・フレームメモリ、17・・・・・・ビデオコ
ントローラ、18・・・・・・RT0 代理人の氏名 弁理士 粟野重孝 ほか1名第 図 パス 第 図 第 図 第 図 第 図 第 図 第 図 第10 図 儒IE11 a 第11図 (膣 第12 図 第13図 第14 図 第14 図 第17図 第18図
システムの全体構成図、第2図(a)〜(d)は3次元
ソリッド図形の表現方法に関する従来例と本発明の方法
の比較説明図、第3図は従来例のソリッド図形データ構
造図、第4図は3次元ソリッド図形の表面の3角形分割
図、第5図は本発明のソリッド図形データ構造図、第6
図は辺を共有しない3角形の説明図、第7図は3角形が
頂点で隣接する場合としない場合の説明図、第8図は形
状和のフローチャート図、第9図(a)、(b)は3角
形細分割説明図、第10図(a)、(b)は3角形再合
成説明図、第11図(a>、(b)は3角形B−Rep
データを3次元ランレングスデータに変換するフローチ
ャート図、第12図は3角形フエイスデータから稜線デ
ータを求めるフローチャート図、第13図(a)〜(d
)は隣接3角形の説明図、第14図(a)、(b)は隠
線処理のフローチャート図、第15図、第16図、第1
7図(a)〜(d)は稜線と3角形の位置関係説明図、
第18図は本発明の第2の実施例における3次元図形処
理システムの全体構成図である。 10・・・・・・図形処理演算装置、13・・・・・・
3角形データ記憶装置、14・・・・・・頂点データ記
憶装置、15・・・・・・稜線データ記憶装置、16・
・・・・・フレームメモリ、17・・・・・・ビデオコ
ントローラ、18・・・・・・RT0 代理人の氏名 弁理士 粟野重孝 ほか1名第 図 パス 第 図 第 図 第 図 第 図 第 図 第 図 第10 図 儒IE11 a 第11図 (膣 第12 図 第13図 第14 図 第14 図 第17図 第18図
Claims (10)
- (1)任意の3次元形状をモデリングするにあたって、
その形状の表面を「辺を共有しない3角形」と「辺を共
有する3角形」の集合体により表現し処理することを特
徴とする3次元図形処理方法。 - (2)形状と形状との和・差・積などの形状演算を行う
に当たって、そのそれぞれの形状を構成している3角形
相互の干渉関係を判定し、交わるのであればその3角形
を細分割することにより形状演算を行い、その結果とし
ての形状を求めることを特徴とする3次元図形処理方法
。 - (3)3次元形状の体積・重心・慣性モーメントなどの
マス・プロパティを計算するに当たって、その形状を表
現している3角形データから3次元ランレングスデータ
を求め、これによりマス・プロパティ計算をおこなうこ
とを特徴とする3次元図形処理方法。 - (4)3次元形状を隠線処理し表示するに当たって、3
次元形状を表現している3角形から稜線を求め、この稜
線データと3角形との奥行き判定により隠線処理を行い
表示することを特徴とする3次元図形処理方法。 - (5)3次元形状の表面を構成する3角形データを記憶
する3角形データ記憶装置と、その3角形データの頂点
データを記憶する頂点データ記憶装置と、稜線データを
記憶する稜線データ記憶装置と、形状演算やマス・プロ
パティ計算など種々の演算を行う図形処理演算装置から
なる3次元図形処理装置。 - (6)図形処理演算装置が3次元形状の表面を「辺を共
有しない3角形」および「辺を共有する3角形」に分割
する処理装置を含む特許請求の範囲第5項記載の3次元
図形処理装置。 - (7)図形処理演算装置が形状と形状との形状演算を行
うに当たって、それぞれの3次元形状の表面を表現して
いる3角形相互の干渉関係を判定し、交わるのであれば
その3角形を細分割することにより形状演算を行い、そ
の結果としての形状を求める装置を含む特許請求の範囲
第5項記載の3次元図形処理装置。 - (8)図形処理演算装置が3次元形状の表面を表現して
いる3角形データから3次元ランレングスデータを求め
、これによりマス・プロパティ計算を行う装置を含む特
許請求の範囲第5項記載の3次元図形処理装置。 - (9)図形処理演算装置が3次元形状を隠線処理し表示
するに当たって、3次元形状を表現している3角形から
稜線を求め、この稜線データと3角形との奥行き判定に
より隠線処理を行い表示する装置を含む特許請求の範囲
第5項記載の3次元図形処理装置。 - (10)3次元形状の表面を構成する3角形データを記
憶する3角形データ記憶装置と、その3角形データの頂
点データを記憶する頂点データ記憶装置と、稜線データ
を記憶する稜線データ記憶装置と、形状演算やマス・プ
ロパティ計算など種々の演算を行う図形処理演算装置と
、ビデオ映像データを記憶するフレームメモリ装置と、
ラスター型表示装置と、前記表示装置に対して前記ビデ
オ映像データに応答して映像を表示する装置を含む3次
元図形処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63256352A JPH02103687A (ja) | 1988-10-12 | 1988-10-12 | 3次元図形処理方法及びその装置 |
| DE68926208T DE68926208T2 (de) | 1988-10-12 | 1989-10-11 | Verfahren zur Verarbeitung einer dreidimensionalen Geometrie und Gerät dafür |
| EP89310401A EP0364243B1 (en) | 1988-10-12 | 1989-10-11 | Three-dimensional geometry processing method and apparatus therefor |
| KR1019890014560A KR930003811B1 (ko) | 1988-10-12 | 1989-10-11 | 3차원도형 처리방법 및 그 장치 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63256352A JPH02103687A (ja) | 1988-10-12 | 1988-10-12 | 3次元図形処理方法及びその装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02103687A true JPH02103687A (ja) | 1990-04-16 |
Family
ID=17291491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63256352A Pending JPH02103687A (ja) | 1988-10-12 | 1988-10-12 | 3次元図形処理方法及びその装置 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0364243B1 (ja) |
| JP (1) | JPH02103687A (ja) |
| KR (1) | KR930003811B1 (ja) |
| DE (1) | DE68926208T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002092633A (ja) * | 2000-09-20 | 2002-03-29 | Namco Ltd | ゲームシステム及び情報記憶媒体 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6628836B1 (en) * | 1999-10-05 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Sort middle, screen space, graphics geometry compression through redundancy elimination |
| US7033327B2 (en) | 2002-09-13 | 2006-04-25 | 3M Innovative Properties Company | Method of determining the long axis of an object |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4766556A (en) * | 1984-11-20 | 1988-08-23 | Matsushita Electric Industrial Co., Ltd. | Three-dimensional solid object manipulating apparatus and method therefor |
-
1988
- 1988-10-12 JP JP63256352A patent/JPH02103687A/ja active Pending
-
1989
- 1989-10-11 DE DE68926208T patent/DE68926208T2/de not_active Expired - Fee Related
- 1989-10-11 KR KR1019890014560A patent/KR930003811B1/ko not_active Expired - Fee Related
- 1989-10-11 EP EP89310401A patent/EP0364243B1/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002092633A (ja) * | 2000-09-20 | 2002-03-29 | Namco Ltd | ゲームシステム及び情報記憶媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0364243A2 (en) | 1990-04-18 |
| KR930003811B1 (ko) | 1993-05-13 |
| DE68926208T2 (de) | 1996-10-31 |
| EP0364243B1 (en) | 1996-04-10 |
| KR900006882A (ko) | 1990-05-09 |
| DE68926208D1 (de) | 1996-05-15 |
| EP0364243A3 (en) | 1992-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1271410B1 (en) | Image-based method of representation and rendering of three-dimensional object | |
| CN112933597B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
| US6778173B2 (en) | Hierarchical image-based representation of still and animated three-dimensional object, method and apparatus for using this representation for the object rendering | |
| JP4392507B2 (ja) | 3次元サーフェス生成方法 | |
| EP2051533B1 (en) | 3D image rendering apparatus and method | |
| CN110910505A (zh) | 一种场景模型的加速渲染方法 | |
| CN112070909B (zh) | 一种基于3D Tiles的工程三维模型LOD输出方法 | |
| JP6700480B2 (ja) | ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム | |
| CN106780709A (zh) | 一种确定全局光照信息的方法及装置 | |
| CN113822994B (zh) | 三维模型构建方法、装置及存储介质 | |
| JP2002032744A (ja) | 3次元モデリング及び3次元画像作成のための装置及び方法 | |
| JPH02103687A (ja) | 3次元図形処理方法及びその装置 | |
| JP5400802B2 (ja) | 階層化深さ画像を使用する接触シミュレーション方法及び装置 | |
| KR102083558B1 (ko) | 복셀리곤을 이용한 3차원 객체 모델링 방법 및 프로그램 | |
| CN114359504B (zh) | 一种三维模型的显示方法及采集设备 | |
| JPH0241791B2 (ja) | ||
| CN120411370A (zh) | 一种地图更新方法、图像生成方法、装置及电子设备 | |
| dos Anjos et al. | Collision Detection on Point Clouds Using a 2.5+ D Image-Based Approach. | |
| CN116977556A (zh) | 一种cim系统的渲染方法、装置及存储介质 | |
| JPS61265677A (ja) | 隠れ線・隠れ面演算処理方式 | |
| HK40045894B (en) | Image processing method, device, computer equipment and storage medium | |
| Balsys et al. | Point based rendering of implicit 4-dimensional surfaces | |
| JPH11175756A (ja) | オブジェクト再構成方法及びオブジェクト近似方法及び空間描画方法 | |
| JPH02253485A (ja) | コンピュータ・グラフィクスの描画データ形成方法 | |
| Pan et al. | Real-Time Rendering Algorithm Based On Hybrid Static And Dynamic Simplification Methods |