JPH06231276A - 3次元物体表示のためのポリゴン生成方法 - Google Patents
3次元物体表示のためのポリゴン生成方法Info
- Publication number
- JPH06231276A JPH06231276A JP3471493A JP3471493A JPH06231276A JP H06231276 A JPH06231276 A JP H06231276A JP 3471493 A JP3471493 A JP 3471493A JP 3471493 A JP3471493 A JP 3471493A JP H06231276 A JPH06231276 A JP H06231276A
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- vertices
- polygons
- vicinity
- vertex
- 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.)
- Withdrawn
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】 陰関数又はボリュームデータにより表現され
た3次元物体をポリゴン化処理するに当り、ポリゴンの
形状が良好で、ポリゴン数が少なく、且つ、元の物体形
状のトポロジーを保存したポリゴン近似を得る。 【構成】 多面体セルを構成する格子点の近傍内に存在
するポリゴン頂点を、当該格子点とポリゴン頂点との距
離を予め与えた評価規範と比較することにより抽出し、
当該格子点の近傍内に存在するポリゴン頂点の局所的な
連結性を、それらのポリゴン頂点を含むポリゴン群のエ
ッジで直接連結されているポリゴン頂点を探索すること
により調べ、局所的に連結した当該格子点の近傍内のポ
リゴン頂点群をその重心位置に一点に縮退させる。
た3次元物体をポリゴン化処理するに当り、ポリゴンの
形状が良好で、ポリゴン数が少なく、且つ、元の物体形
状のトポロジーを保存したポリゴン近似を得る。 【構成】 多面体セルを構成する格子点の近傍内に存在
するポリゴン頂点を、当該格子点とポリゴン頂点との距
離を予め与えた評価規範と比較することにより抽出し、
当該格子点の近傍内に存在するポリゴン頂点の局所的な
連結性を、それらのポリゴン頂点を含むポリゴン群のエ
ッジで直接連結されているポリゴン頂点を探索すること
により調べ、局所的に連結した当該格子点の近傍内のポ
リゴン頂点群をその重心位置に一点に縮退させる。
Description
【0001】
【産業上の利用分野】本発明は、例えば、工業用デザイ
ンや医用画像処理等を対象とした3次元コンピュータ・
グラフィックス分野における3次元物体表示のための画
像処理方法に関する。
ンや医用画像処理等を対象とした3次元コンピュータ・
グラフィックス分野における3次元物体表示のための画
像処理方法に関する。
【0002】
【従来の技術】3次元ソリッドモデラにおいて陰関数に
より表現された3次元物体や、3次元CT画像等のボリ
ュームデータとして表現された3次元物体をコンピュー
タ・ディスプレイ上に表示するに当り、コンピュータ・
グラフィックス分野においては、表示対象の表面をポリ
ゴンにより近似し、描画することがよく行われる。この
時、表示される物体の画質を良好なものにし、しかも対
話性良く高速に表示させるためには、ポリゴンの形状を
できるだけ良好なものとし、またポリゴン数もできるだ
け少なくする必要がある。
より表現された3次元物体や、3次元CT画像等のボリ
ュームデータとして表現された3次元物体をコンピュー
タ・ディスプレイ上に表示するに当り、コンピュータ・
グラフィックス分野においては、表示対象の表面をポリ
ゴンにより近似し、描画することがよく行われる。この
時、表示される物体の画質を良好なものにし、しかも対
話性良く高速に表示させるためには、ポリゴンの形状を
できるだけ良好なものとし、またポリゴン数もできるだ
け少なくする必要がある。
【0003】このポリゴン化処理について、陰関数によ
り表現された物体に対しては、例えば、Bloomenthal の
方法(J. Bloomenthal, "Polygonization of Implicit
Surfaces", Computer Aided Geometric Design, vol.
5, no. 4, pp. 341-355, 1988)や、Hall, Warrenらに
よるポリゴン化方法(M. Hall and J. Warren, "Adapti
ve Polygonalization of Implicitly Defined Surface
s", IEEE Computer Graphics & Applications, vol. 1
0, no. 6, pp. 33-42, 1990)、またCT画像等のボリュ
ームデータに対しては、例えば、Lorensen, Cline らに
よるマーチング・キューブ法(United States Patent:
Patent Number 4,710,876, Date of Patent:Dec. 1, 19
87, H.E. Cline and W.E. Lorensen, "System and Meth
od for theDisplay of Surface Structures Contained
within the Interior Region of aSolid Body" 及び W.
E. Lorensen and H.E. Cline, "Marching Cubes: A Hig
h Resolution 3D Surface Construction Algorithm", C
omputer Graphics, vol. 21, no. 4, pp. 163-169, 198
7)が知られている。
り表現された物体に対しては、例えば、Bloomenthal の
方法(J. Bloomenthal, "Polygonization of Implicit
Surfaces", Computer Aided Geometric Design, vol.
5, no. 4, pp. 341-355, 1988)や、Hall, Warrenらに
よるポリゴン化方法(M. Hall and J. Warren, "Adapti
ve Polygonalization of Implicitly Defined Surface
s", IEEE Computer Graphics & Applications, vol. 1
0, no. 6, pp. 33-42, 1990)、またCT画像等のボリュ
ームデータに対しては、例えば、Lorensen, Cline らに
よるマーチング・キューブ法(United States Patent:
Patent Number 4,710,876, Date of Patent:Dec. 1, 19
87, H.E. Cline and W.E. Lorensen, "System and Meth
od for theDisplay of Surface Structures Contained
within the Interior Region of aSolid Body" 及び W.
E. Lorensen and H.E. Cline, "Marching Cubes: A Hig
h Resolution 3D Surface Construction Algorithm", C
omputer Graphics, vol. 21, no. 4, pp. 163-169, 198
7)が知られている。
【0004】これらの手法は、何れも、対象空間を四面
体や六面体よりなる小空間(セル)に分割し、夫々のセ
ル内に物体表面が存在すればその位置を計算し、それを
近似するポリゴンを生成するという処理を行っている
が、Hall, Warrenらが指摘しているように、物体表面が
これらのセルの頂点近くに存在する場合、形状の悪い
(非常に細長い)しかも微小なポリゴンが多く生成され
る。Hall, Warrenらはこの事実を利用して、セルの頂点
近くに表面が存在する場合、セルの頂点を見かけ上物体
表面に移動させてポリゴンを生成することにより形状の
悪いポリゴンの発生を抑えようとした。
体や六面体よりなる小空間(セル)に分割し、夫々のセ
ル内に物体表面が存在すればその位置を計算し、それを
近似するポリゴンを生成するという処理を行っている
が、Hall, Warrenらが指摘しているように、物体表面が
これらのセルの頂点近くに存在する場合、形状の悪い
(非常に細長い)しかも微小なポリゴンが多く生成され
る。Hall, Warrenらはこの事実を利用して、セルの頂点
近くに表面が存在する場合、セルの頂点を見かけ上物体
表面に移動させてポリゴンを生成することにより形状の
悪いポリゴンの発生を抑えようとした。
【0005】また、Turk(G. Turk, "Re-Tiling Polygo
nal Surfaces", Computer Graphics, vol. 26, no. 2,
pp. 55-64, 1992 )及び Schroederら(W.J. Schroede
r, J.A. Zarge, and W.E. Lorensen, "Decimation of T
riangle Meshes", Computer Graphics, vol. 26, no.
2, pp. 65-70, 1992)は、ポリゴン表現された物体に対
し、その形状をできるだけ保持しながらより少数のポリ
ゴンによる近似を導出する一般的な手法を夫々考案して
いる。
nal Surfaces", Computer Graphics, vol. 26, no. 2,
pp. 55-64, 1992 )及び Schroederら(W.J. Schroede
r, J.A. Zarge, and W.E. Lorensen, "Decimation of T
riangle Meshes", Computer Graphics, vol. 26, no.
2, pp. 65-70, 1992)は、ポリゴン表現された物体に対
し、その形状をできるだけ保持しながらより少数のポリ
ゴンによる近似を導出する一般的な手法を夫々考案して
いる。
【0006】
【発明が解決しようとする課題】しかしながら、Hall,
Warrenらの方法では、セルの同一頂点の近くにその近傍
では連続していない2つ以上の表面が存在した場合、そ
れらの表面が互いに接続されてしまい、得られたポリゴ
ン近似は元の物体形状のトポロジーを保存していないと
いう問題があった。
Warrenらの方法では、セルの同一頂点の近くにその近傍
では連続していない2つ以上の表面が存在した場合、そ
れらの表面が互いに接続されてしまい、得られたポリゴ
ン近似は元の物体形状のトポロジーを保存していないと
いう問題があった。
【0007】また、Turkや Schroederらの方法では、ト
ポロジーを保存して、より少数のポリゴンよりなるポリ
ゴン近似を生成する反面、多大な計算量を必要とするた
め、ポリゴン近似の導出に非常に時間がかかるという問
題があった。
ポロジーを保存して、より少数のポリゴンよりなるポリ
ゴン近似を生成する反面、多大な計算量を必要とするた
め、ポリゴン近似の導出に非常に時間がかかるという問
題があった。
【0008】そこで、本発明の目的は、トポロジーを保
存しながら微小なポリゴンを効率よく除去することによ
り、形状が良好でポリゴン数も少ないポリゴン近似を高
速に生成し得る3次元物体表示のための画像処理方法を
提供することである。
存しながら微小なポリゴンを効率よく除去することによ
り、形状が良好でポリゴン数も少ないポリゴン近似を高
速に生成し得る3次元物体表示のための画像処理方法を
提供することである。
【0009】
【課題を解決するための手段】上述した課題を解決する
ために、本発明では、3次元空間内において陰関数又は
ボリュームデータにより表現された3次元物体をポリゴ
ン化処理する画像処理方法において、ポリゴン生成単位
である多面体セルを構成する格子点の近傍内に存在する
ポリゴン頂点を、当該格子点とポリゴン頂点との距離を
予め与えた評価規範と比較することにより抽出し、当該
格子点の近傍内に存在するポリゴン頂点の局所的な連結
性を、それらのポリゴン頂点を含むポリゴン群のエッジ
で直接連結されているポリゴン頂点を探索することによ
り調べ、局所的に連結した当該格子点の近傍内のポリゴ
ン頂点群をその重心位置に一点に縮退させる。
ために、本発明では、3次元空間内において陰関数又は
ボリュームデータにより表現された3次元物体をポリゴ
ン化処理する画像処理方法において、ポリゴン生成単位
である多面体セルを構成する格子点の近傍内に存在する
ポリゴン頂点を、当該格子点とポリゴン頂点との距離を
予め与えた評価規範と比較することにより抽出し、当該
格子点の近傍内に存在するポリゴン頂点の局所的な連結
性を、それらのポリゴン頂点を含むポリゴン群のエッジ
で直接連結されているポリゴン頂点を探索することによ
り調べ、局所的に連結した当該格子点の近傍内のポリゴ
ン頂点群をその重心位置に一点に縮退させる。
【0010】
【作用】本発明では、3次元物体をポリゴン化処理する
に当り、例えば四面体や六面体セルの頂点(格子点)付
近に物体表面が存在する場合、その近傍には微小なポリ
ゴンや形状の悪いポリゴンが生成され易いという性質を
利用し、それらのポリゴンを除去する。即ち、セルの頂
点近傍内に存在するポリゴン頂点を抽出し、更に、それ
らのポリゴン頂点の局所的な連結性からそれらのポリゴ
ン頂点をグループ分けし、夫々の連結したポリゴン頂点
を一点に縮退させることにより、トポロジーを保存しな
がら微小ポリゴンの除去を行い、より良いポリゴン近似
を得る。
に当り、例えば四面体や六面体セルの頂点(格子点)付
近に物体表面が存在する場合、その近傍には微小なポリ
ゴンや形状の悪いポリゴンが生成され易いという性質を
利用し、それらのポリゴンを除去する。即ち、セルの頂
点近傍内に存在するポリゴン頂点を抽出し、更に、それ
らのポリゴン頂点の局所的な連結性からそれらのポリゴ
ン頂点をグループ分けし、夫々の連結したポリゴン頂点
を一点に縮退させることにより、トポロジーを保存しな
がら微小ポリゴンの除去を行い、より良いポリゴン近似
を得る。
【0011】これにより、本発明では、陰関数又はボリ
ュームデータにより表現された3次元物体をポリゴン化
処理する際、セルの格子点近傍内に生成されたポリゴン
の複数個の頂点を一点に縮退させるため、格子点近傍に
発生した微小なポリゴンが除去され、またその回りに生
じた形状の悪いポリゴンも同時に除去されて、形状が良
好で且つより少数のポリゴンよりなるポリゴン近似が得
られる。しかも、格子点近傍内のポリゴン頂点を縮退さ
せる際、それらのポリゴン頂点を局所的な連結性をもと
にグループ分けして個別に縮退させるので、元の物体形
状のトポロジーを変更することがない。
ュームデータにより表現された3次元物体をポリゴン化
処理する際、セルの格子点近傍内に生成されたポリゴン
の複数個の頂点を一点に縮退させるため、格子点近傍に
発生した微小なポリゴンが除去され、またその回りに生
じた形状の悪いポリゴンも同時に除去されて、形状が良
好で且つより少数のポリゴンよりなるポリゴン近似が得
られる。しかも、格子点近傍内のポリゴン頂点を縮退さ
せる際、それらのポリゴン頂点を局所的な連結性をもと
にグループ分けして個別に縮退させるので、元の物体形
状のトポロジーを変更することがない。
【0012】
【実施例】図1に、本発明の一実施例による処理手順を
示す。
示す。
【0013】この手順を概略的に説明すると、格子点に
順次注目しながら、まず通常のポリゴン化処理を行い、
その結果に対して、格子点近傍内のポリゴン頂点を抽出
し、それらのポリゴン頂点を局所的な連結性からグルー
プ分けし、各グループ内のポリゴン頂点を一点に縮退さ
せ、微小なポリゴンを除去する。
順次注目しながら、まず通常のポリゴン化処理を行い、
その結果に対して、格子点近傍内のポリゴン頂点を抽出
し、それらのポリゴン頂点を局所的な連結性からグルー
プ分けし、各グループ内のポリゴン頂点を一点に縮退さ
せ、微小なポリゴンを除去する。
【0014】そこで、まず、通常のポリゴン化処理につ
いて簡単な説明を行い、続いて本発明の特徴である微小
ポリゴンの除去方法について詳述する。
いて簡単な説明を行い、続いて本発明の特徴である微小
ポリゴンの除去方法について詳述する。
【0015】本実施例におけるオリジナル・ポリゴンの
生成には、従来一般に用いられている手法をベースに用
いることができる。例えば、Hall, Warrenらの方法のよ
うに、対象空間を四面体セルに分割し、そのセル内部で
三角形又は四角形ポリゴンを生成する方法、或いは、Lo
rensen, Cline らのように、対象空間を四面体セルに分
割し、そのセルの内部で(複数の)三角形ポリゴンを生
成するマーチング・キューブ法等を用いることができ
る。
生成には、従来一般に用いられている手法をベースに用
いることができる。例えば、Hall, Warrenらの方法のよ
うに、対象空間を四面体セルに分割し、そのセル内部で
三角形又は四角形ポリゴンを生成する方法、或いは、Lo
rensen, Cline らのように、対象空間を四面体セルに分
割し、そのセルの内部で(複数の)三角形ポリゴンを生
成するマーチング・キューブ法等を用いることができ
る。
【0016】ここでは説明を簡単にするため、図2
(a)に示すように、まず対象空間1を立方格子2で分
割し、それらを更に図2(b)に示すような5個の四面
体セル3に分割するものとする。この四面体セルがポリ
ゴン化の単位である。ここで、図2(b)の四面体セル
への分割は、隣合う立方格子で四面体セルが共通のエッ
ジを持つように、反対方向に分割されている。
(a)に示すように、まず対象空間1を立方格子2で分
割し、それらを更に図2(b)に示すような5個の四面
体セル3に分割するものとする。この四面体セルがポリ
ゴン化の単位である。ここで、図2(b)の四面体セル
への分割は、隣合う立方格子で四面体セルが共通のエッ
ジを持つように、反対方向に分割されている。
【0017】今、格子点4をgとし、この格子点gにお
いてデータf(g)が与えられ、対象の3次元物体の表
面がf(g)=0、物体内部がf(g)>0、物体外部
がf(g)<0とする。例えば、物体が陰関数により表
現されている場合には、f(g)はgの或る関数であ
り、ボリュームデータとして表現されている場合には、
f(g)はデータそのものである。なお、f(g)=c
(cは任意の定数)を物体表面としたい場合には、h=
f−cとおき、このhについて以下fと同様の処理を行
えばよい。
いてデータf(g)が与えられ、対象の3次元物体の表
面がf(g)=0、物体内部がf(g)>0、物体外部
がf(g)<0とする。例えば、物体が陰関数により表
現されている場合には、f(g)はgの或る関数であ
り、ボリュームデータとして表現されている場合には、
f(g)はデータそのものである。なお、f(g)=c
(cは任意の定数)を物体表面としたい場合には、h=
f−cとおき、このhについて以下fと同様の処理を行
えばよい。
【0018】ここで、四面体セルが物体形状の変化に比
較して十分に小さいもの仮定とすれば、四面体セルの4
つの格子点上でf値を求め、それらの符号が異なれば、
そのセル内部に物体表面が存在すると考えられる。そこ
で物体表面とセルのエッジとの交点を、例えば、エッジ
両端の格子点におけるf値から一次補間により求めれ
ば、図3に示すように、セル内部で物体表面を近似する
三角形ポリゴン5(図3(a))又は四角形ポリゴン6
(図3(b))が生成される。また、四面体セルの4つ
の格子点でf値が全て同符号をとれば、このセル内部に
は物体表面は存在しないものと考えられ、このセル内部
にポリゴンを生成する必要はない。このような処理を全
ての四面体セルに対して適用すれば、3次元物体のポリ
ゴン近似が得られるわけである。
較して十分に小さいもの仮定とすれば、四面体セルの4
つの格子点上でf値を求め、それらの符号が異なれば、
そのセル内部に物体表面が存在すると考えられる。そこ
で物体表面とセルのエッジとの交点を、例えば、エッジ
両端の格子点におけるf値から一次補間により求めれ
ば、図3に示すように、セル内部で物体表面を近似する
三角形ポリゴン5(図3(a))又は四角形ポリゴン6
(図3(b))が生成される。また、四面体セルの4つ
の格子点でf値が全て同符号をとれば、このセル内部に
は物体表面は存在しないものと考えられ、このセル内部
にポリゴンを生成する必要はない。このような処理を全
ての四面体セルに対して適用すれば、3次元物体のポリ
ゴン近似が得られるわけである。
【0019】次に、本実施例による処理方法を、上述の
ポリゴン化手法を考慮に入れながら、図1のフローチャ
ートに沿って説明する。
ポリゴン化手法を考慮に入れながら、図1のフローチャ
ートに沿って説明する。
【0020】ステップS1 :格子点回りでオリジナル・ポリゴン生成 アルゴリズムは、格子点を順に移動しながら、上述した
ポリゴン化手法に従い、その格子点gの回りでオリジナ
ル・ポリゴンを生成する。この時、図4(a)に示すよ
うに注目した格子点の回りに8個の四面体セルが存在す
る場合と、図4(b)のように32個の四面体セルが存
在する場合とがある。なお、格子点を順に移動する場
合、その格子点の回りのセルのうち既にポリゴンが生成
されているセルについては新たにポリゴン生成処理を行
う必要はなく、以前のポリゴンデータを利用すればよ
い。
ポリゴン化手法に従い、その格子点gの回りでオリジナ
ル・ポリゴンを生成する。この時、図4(a)に示すよ
うに注目した格子点の回りに8個の四面体セルが存在す
る場合と、図4(b)のように32個の四面体セルが存
在する場合とがある。なお、格子点を順に移動する場
合、その格子点の回りのセルのうち既にポリゴンが生成
されているセルについては新たにポリゴン生成処理を行
う必要はなく、以前のポリゴンデータを利用すればよ
い。
【0021】さて、ここで生成されたポリゴンを含め
て、これまでに生成されたポリゴンデータは大域的に保
存されており、ポリゴンpは p={n;v1 ,v2 ,…,vn } のように表わされる。ここで、nは頂点の個数で3又は
4、vi はポリゴンの頂点で、頂点番号又は頂点データ
へのポインタである。なお、v1 ,v2 ,…,vn はポ
リゴンpの表(おもて)からみて反時計回りに並んでい
るものとする。また、頂点vは v={(x,y,z);(nx ,ny ,nz );k;p
1 ,…,pk } のように表わされる。ここで、(x,y,z)は頂点の
座標、(nx ,ny ,nz )は頂点での正規化された外
向き法線ベクトル、kは頂点vを含むポリゴンの個数、
p1 ,…,pk は頂点vを含むポリゴンの番号又はポリ
ゴンへのポインタである。
て、これまでに生成されたポリゴンデータは大域的に保
存されており、ポリゴンpは p={n;v1 ,v2 ,…,vn } のように表わされる。ここで、nは頂点の個数で3又は
4、vi はポリゴンの頂点で、頂点番号又は頂点データ
へのポインタである。なお、v1 ,v2 ,…,vn はポ
リゴンpの表(おもて)からみて反時計回りに並んでい
るものとする。また、頂点vは v={(x,y,z);(nx ,ny ,nz );k;p
1 ,…,pk } のように表わされる。ここで、(x,y,z)は頂点の
座標、(nx ,ny ,nz )は頂点での正規化された外
向き法線ベクトル、kは頂点vを含むポリゴンの個数、
p1 ,…,pk は頂点vを含むポリゴンの番号又はポリ
ゴンへのポインタである。
【0022】また、現在注目している格子点gを含むセ
ルのエッジ7(ei )に対し、そのエッジに物体表面が
交差してポリゴン頂点が生成されているかどうかを示す
テーブル E={v1 ,v2 ,…,vm } を局所的に作成する。ここで、mは格子点回りのエッジ
数を表わし、図4(a)の格子点の場合は6、また、図
4(b)の格子点の場合は18、vi は、エッジei 上
に頂点がある場合は、頂点の番号又は頂点へのポイン
タ、頂点がない場合は、無効な頂点番号又はヌルポイン
タである。このテーブルの内容は、次の格子点へ移動す
る時に、必要なエントリのみ残して、後は除去される。
ルのエッジ7(ei )に対し、そのエッジに物体表面が
交差してポリゴン頂点が生成されているかどうかを示す
テーブル E={v1 ,v2 ,…,vm } を局所的に作成する。ここで、mは格子点回りのエッジ
数を表わし、図4(a)の格子点の場合は6、また、図
4(b)の格子点の場合は18、vi は、エッジei 上
に頂点がある場合は、頂点の番号又は頂点へのポイン
タ、頂点がない場合は、無効な頂点番号又はヌルポイン
タである。このテーブルの内容は、次の格子点へ移動す
る時に、必要なエントリのみ残して、後は除去される。
【0023】ステップS2 ステップS1において作成されたテーブルEの内容が全
て空の場合には、削除の対象となるポリゴンは存在しな
いのでステップS7へ行く。
て空の場合には、削除の対象となるポリゴンは存在しな
いのでステップS7へ行く。
【0024】ステップS3 :格子点近傍内のポリゴン頂点抽出 次に、アルゴリズムは、縮退操作の対象となるポリゴン
頂点を抽出する。即ち、頂点vi が格子点gの回りのセ
ルのエッジei 上に存在する場合、その頂点vi と格子
点gの間の距離di を算出し、そのエッジの長さを
ui 、予め与えた評価規範をε(0<ε<1)として、
di /ui <εが成り立つ時、頂点vi を削除の対象と
して抽出する。
頂点を抽出する。即ち、頂点vi が格子点gの回りのセ
ルのエッジei 上に存在する場合、その頂点vi と格子
点gの間の距離di を算出し、そのエッジの長さを
ui 、予め与えた評価規範をε(0<ε<1)として、
di /ui <εが成り立つ時、頂点vi を削除の対象と
して抽出する。
【0025】ステップS4 ステップS3において抽出された格子点近傍内のポリゴ
ン頂点が0個の場合は勿論、1個の場合にも、その頂点
をそれ以上縮退させることはできないので、ステップS
7へ行く。
ン頂点が0個の場合は勿論、1個の場合にも、その頂点
をそれ以上縮退させることはできないので、ステップS
7へ行く。
【0026】ステップS5:格子点近傍内のポリゴン頂
点のグループ分け及び削除候補ポリゴン抽出 ステップS3で抽出された格子点近傍内のポリゴン頂点
に対し、頂点の局所的な連結性を評価し、連結した頂点
のグループにグループ分けをする。これは、或る近傍内
頂点から出発し、その頂点を含むポリゴン(頂点vのエ
ントリ、k;p1 ,…,pk )情報を用い、その近傍内
頂点にそれらのポリゴンのエッジで直接連結している頂
点を順次探索することにより、近傍内頂点のグループ分
けを行うことができる。この時、探索で用いられたポリ
ゴンを削除候補のポリゴンとして抽出しておく。
点のグループ分け及び削除候補ポリゴン抽出 ステップS3で抽出された格子点近傍内のポリゴン頂点
に対し、頂点の局所的な連結性を評価し、連結した頂点
のグループにグループ分けをする。これは、或る近傍内
頂点から出発し、その頂点を含むポリゴン(頂点vのエ
ントリ、k;p1 ,…,pk )情報を用い、その近傍内
頂点にそれらのポリゴンのエッジで直接連結している頂
点を順次探索することにより、近傍内頂点のグループ分
けを行うことができる。この時、探索で用いられたポリ
ゴンを削除候補のポリゴンとして抽出しておく。
【0027】例えば、図5に、格子点gの近傍に局所的
に不連続な2枚の表面が存在した場合の様子を示す。こ
こで、格子点近傍内の頂点8はその連結性から2つのグ
ループGv1 ,Gv2 にグループ分けされて、 Gv1 ={v1 ,v2 ,v3 ,v4 } Gv2 ={v12,v13} のようになり、また、ポリゴンp1 〜p15が削除対象の
ポリゴンとして Gp1 ={p1 ,p2 ,…,p9 } Gp2 ={p10,…,p15} のように抽出されている。この時、頂点v1 〜v4 は格
子点gの近傍内にあり、それらを頂点とするポリゴンp
1 、p2 は微小なポリゴンである。また、ポリゴンp4
は、微小なエッジ(v1 ,v2 )を含んでいるため、形
状の悪いポリゴンであると言える。なお、図中、9は格
子点近傍外の頂点である。
に不連続な2枚の表面が存在した場合の様子を示す。こ
こで、格子点近傍内の頂点8はその連結性から2つのグ
ループGv1 ,Gv2 にグループ分けされて、 Gv1 ={v1 ,v2 ,v3 ,v4 } Gv2 ={v12,v13} のようになり、また、ポリゴンp1 〜p15が削除対象の
ポリゴンとして Gp1 ={p1 ,p2 ,…,p9 } Gp2 ={p10,…,p15} のように抽出されている。この時、頂点v1 〜v4 は格
子点gの近傍内にあり、それらを頂点とするポリゴンp
1 、p2 は微小なポリゴンである。また、ポリゴンp4
は、微小なエッジ(v1 ,v2 )を含んでいるため、形
状の悪いポリゴンであると言える。なお、図中、9は格
子点近傍外の頂点である。
【0028】ステップS6:ポリゴン頂点の縮退及び微
小ポリゴン削除 ステップS5で得れらた格子点近傍内の頂点グループに
対し、そのグループが2個以上の頂点を含む場合には、
その同一のグループに属する頂点を一点に縮退させる。
ここで、同一グループ内の頂点は互いに連結しているの
で、それらを一点に縮退させても、例えば局所的に不連
続な表面を接続させるといった、物体形状のトポロジー
を変化させることはない。
小ポリゴン削除 ステップS5で得れらた格子点近傍内の頂点グループに
対し、そのグループが2個以上の頂点を含む場合には、
その同一のグループに属する頂点を一点に縮退させる。
ここで、同一グループ内の頂点は互いに連結しているの
で、それらを一点に縮退させても、例えば局所的に不連
続な表面を接続させるといった、物体形状のトポロジー
を変化させることはない。
【0029】アルゴリズムは、以下に述べる処理を、2
個以上の頂点を含むグループに対して順次適用する。
個以上の頂点を含むグループに対して順次適用する。
【0030】まず、縮退先の頂点の座標と外向き法線ベ
クトルの計算を行う。新しい頂点vの座標(x,y,
z)は、グループGvm 内の頂点の座標を(xi ,
yi ,zi)(i=1,…,Nm )として、
クトルの計算を行う。新しい頂点vの座標(x,y,
z)は、グループGvm 内の頂点の座標を(xi ,
yi ,zi)(i=1,…,Nm )として、
【0031】
【数1】
【0032】により得られる。ここで総和はグループ内
の頂点について行う。また、新しい正規化された外向き
法線ベクトル(nx ,ny ,nz )は、グループGvm
内の頂点の法線ベクトルを(nxi,nyi,nzi)(i=
1,…,Nm )として、
の頂点について行う。また、新しい正規化された外向き
法線ベクトル(nx ,ny ,nz )は、グループGvm
内の頂点の法線ベクトルを(nxi,nyi,nzi)(i=
1,…,Nm )として、
【0033】
【数2】
【0034】により与えられる。
【0035】次に、このグループGvm 内の頂点を大域
データ及びテーブルEから削除し、新たに生成された1
つの頂点vを頂点の大域データに付加する。そして、グ
ループGpm 内の全てのポリゴンに対し、以下のように
削除処理を適用する。
データ及びテーブルEから削除し、新たに生成された1
つの頂点vを頂点の大域データに付加する。そして、グ
ループGpm 内の全てのポリゴンに対し、以下のように
削除処理を適用する。
【0036】三角形ポリゴンに対しては、図6に示すよ
うに、 a)3頂点が格子点近傍内の頂点8の場合、図6(a)
のように、ポリゴンは縮退頂点10の一点に縮退するの
で、そのポリゴンを削除する。 b)2頂点が格子点近傍内の頂点8の場合、図6(b)
のように、ポリゴンはエッジに縮退するので、そのポリ
ゴンを削除する。 c)1頂点が格子点近傍内の頂点8の場合、図6(c)
のように、その近傍内頂点8を削除し、新たに生成され
た縮退頂点10に置き換える。四角形ポリゴンに対して
は、図7に示すように、 a)4頂点が格子点近傍内の頂点8の場合、図7(a)
のように、ポリゴンは縮退頂点10の一点に縮退するの
で、そのポリゴンを削除する。 b)3頂点が格子点近傍内の頂点8の場合、図7(b)
のように、ポリゴンはエッジに縮退するので、そのポリ
ゴンを削除する。 c)及びd)2頂点が格子点近傍内の頂点8の場合、図
7(c)のように、ポリゴンが三角形ポリゴンに縮退す
る場合と、図7(d)のように、ポリゴンが2本のエッ
ジに縮退する場合とがある。前者の場合、四角形ポリゴ
ンを三角形ポリゴンに変更し、格子点近傍内の2頂点8
を縮退頂点10に置き換える。後者の場合、ポリゴンを
削除する。 e)1頂点が格子点近傍内の頂点8の場合、この近傍内
頂点8が縮退頂点10の位置に移動するため、新たに得
られる四角形ポリゴンの4頂点は一般には同一平面上に
は存在しない。従って、図7(e)に示すように、新た
に得られた四角形ポリゴンを2つの三角形ポリゴンに分
割する。この時、縮退頂点10は元の頂点の近傍に存在
するため、移動した頂点の両側の2頂点を結ぶ線分をポ
リゴンを分割する新しいエッジとして選択すれば、矛盾
なく2つの三角形ポリゴンが得られることは明らかであ
る。
うに、 a)3頂点が格子点近傍内の頂点8の場合、図6(a)
のように、ポリゴンは縮退頂点10の一点に縮退するの
で、そのポリゴンを削除する。 b)2頂点が格子点近傍内の頂点8の場合、図6(b)
のように、ポリゴンはエッジに縮退するので、そのポリ
ゴンを削除する。 c)1頂点が格子点近傍内の頂点8の場合、図6(c)
のように、その近傍内頂点8を削除し、新たに生成され
た縮退頂点10に置き換える。四角形ポリゴンに対して
は、図7に示すように、 a)4頂点が格子点近傍内の頂点8の場合、図7(a)
のように、ポリゴンは縮退頂点10の一点に縮退するの
で、そのポリゴンを削除する。 b)3頂点が格子点近傍内の頂点8の場合、図7(b)
のように、ポリゴンはエッジに縮退するので、そのポリ
ゴンを削除する。 c)及びd)2頂点が格子点近傍内の頂点8の場合、図
7(c)のように、ポリゴンが三角形ポリゴンに縮退す
る場合と、図7(d)のように、ポリゴンが2本のエッ
ジに縮退する場合とがある。前者の場合、四角形ポリゴ
ンを三角形ポリゴンに変更し、格子点近傍内の2頂点8
を縮退頂点10に置き換える。後者の場合、ポリゴンを
削除する。 e)1頂点が格子点近傍内の頂点8の場合、この近傍内
頂点8が縮退頂点10の位置に移動するため、新たに得
られる四角形ポリゴンの4頂点は一般には同一平面上に
は存在しない。従って、図7(e)に示すように、新た
に得られた四角形ポリゴンを2つの三角形ポリゴンに分
割する。この時、縮退頂点10は元の頂点の近傍に存在
するため、移動した頂点の両側の2頂点を結ぶ線分をポ
リゴンを分割する新しいエッジとして選択すれば、矛盾
なく2つの三角形ポリゴンが得られることは明らかであ
る。
【0037】以上の処理において、ポリゴンを除去した
場合及び四角形ポリゴンを分割して2つの三角形ポリゴ
ンを生成した場合には、ポリゴンデータのエントリを変
更すると同時に、頂点データのその頂点を含むポリゴン
のエントリp1 ,…,pk を変更する必要がある。
場合及び四角形ポリゴンを分割して2つの三角形ポリゴ
ンを生成した場合には、ポリゴンデータのエントリを変
更すると同時に、頂点データのその頂点を含むポリゴン
のエントリp1 ,…,pk を変更する必要がある。
【0038】図5のオリジナル・ポリゴンに対し、上述
の処理を適用して、格子点近傍内の頂点を縮退させ、そ
の回りのポリゴンを削除若しくは更新した結果を図8に
示す。ここで、元の頂点v1 、v2 、v3 、v4 は新し
い頂点v1 ′に縮退され、頂点v12、v13は新しい頂点
v12′に縮退されている。また、微小ポリゴンp1 、p
2 は削除され、その他のポリゴンも削除若しくは更新さ
れている。
の処理を適用して、格子点近傍内の頂点を縮退させ、そ
の回りのポリゴンを削除若しくは更新した結果を図8に
示す。ここで、元の頂点v1 、v2 、v3 、v4 は新し
い頂点v1 ′に縮退され、頂点v12、v13は新しい頂点
v12′に縮退されている。また、微小ポリゴンp1 、p
2 は削除され、その他のポリゴンも削除若しくは更新さ
れている。
【0039】ステップS7:終了判定 全ての格子点について処理を行ったか否かを判定し、全
ての格子点について処理を行っていれば終了する。そう
でなければ、注目する格子点を次に進めて(ステップS
8)、ステップS1へ戻る。
ての格子点について処理を行っていれば終了する。そう
でなければ、注目する格子点を次に進めて(ステップS
8)、ステップS1へ戻る。
【0040】上述のアルゴリズムを全てのセルの格子点
に対して適用すれば、従来のポリゴン化手法により生成
されたポリゴン近似よりも、ポリゴンの形状が良好で、
ポリゴン数が少なく、且つ、元の物体形状のトポロジー
を保存したポリゴン近似が得られる。従って、この結果
をコンピュータ・グラフィックスの描画処理に利用すれ
ば、画質が良好で、対話性の良い高速な物体表示を行う
ことが可能となる。
に対して適用すれば、従来のポリゴン化手法により生成
されたポリゴン近似よりも、ポリゴンの形状が良好で、
ポリゴン数が少なく、且つ、元の物体形状のトポロジー
を保存したポリゴン近似が得られる。従って、この結果
をコンピュータ・グラフィックスの描画処理に利用すれ
ば、画質が良好で、対話性の良い高速な物体表示を行う
ことが可能となる。
【0041】
【発明の効果】本発明によれば、3次元空間内で陰関数
又はボリュームデータにより表現された3次元物体をポ
リゴン化するに際し、多面体セルの格子点の近傍内に存
在するポリゴン頂点を抽出し、それらの局所的な連結性
をもとに近傍内の連結したポリゴン頂点を個別に縮退さ
せ、その回りのポリゴンを除去する操作を従来のポリゴ
ン化手法に付け加えたので、微小なポリゴンや形状の悪
いポリゴンを容易に除去することができ、対象となる3
次元物体に対し、ポリゴンの形状が良く、また、ポリゴ
ンの総数が少なく、且つ、元の物体形状のトポロジーを
保存したポリゴン近似が効率よく得られる。
又はボリュームデータにより表現された3次元物体をポ
リゴン化するに際し、多面体セルの格子点の近傍内に存
在するポリゴン頂点を抽出し、それらの局所的な連結性
をもとに近傍内の連結したポリゴン頂点を個別に縮退さ
せ、その回りのポリゴンを除去する操作を従来のポリゴ
ン化手法に付け加えたので、微小なポリゴンや形状の悪
いポリゴンを容易に除去することができ、対象となる3
次元物体に対し、ポリゴンの形状が良く、また、ポリゴ
ンの総数が少なく、且つ、元の物体形状のトポロジーを
保存したポリゴン近似が効率よく得られる。
【図1】本発明の一実施例による処理手順を示すフロー
チャートである。
チャートである。
【図2】対象空間の分割を説明するための概念図であ
る。
る。
【図3】四面体セルでのポリゴン生成を説明するための
概念図である。
概念図である。
【図4】格子点回りでの四面体セルの配置を説明するた
めの概念図である。
めの概念図である。
【図5】格子点回りでのオリジナル・ポリゴン生成の例
を示す概念図である。
を示す概念図である。
【図6】削除対象のポリゴンを削除する方法を示す概念
図である。
図である。
【図7】削除対象のポリゴンを削除する方法を示す概念
図である。
図である。
【図8】格子点回りでの処理後のポリゴンを示す概念図
である。
である。
【符号の説明】 1 対象空間 2 立方格子 3 四面体セル 4 格子点 5 三角形ポリゴン 6 四角形ポリゴン 7 格子点gを含むエッジ 8 格子点近傍内の頂点 9 格子点近傍外の頂点 10 縮退頂点
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年8月3日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 3次元物体表示のためのポリゴン生成
方法
方法
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項1
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正内容】
【0001】
【産業上の利用分野】本発明は、例えば、工業用デザイ
ンや医用画像処理等を対象とした3次元コンピュータ・
グラフィックス分野における3次元物体表示のためのポ
リゴン生成方法に関する。
ンや医用画像処理等を対象とした3次元コンピュータ・
グラフィックス分野における3次元物体表示のためのポ
リゴン生成方法に関する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】そこで、本発明の目的は、トポロジーを保
存しながら微小なポリゴンを効率よく除去することによ
り、形状が良好でポリゴン数も少ないポリゴン近似を高
速に生成し得る3次元物体表示のためのポリゴン生成方
法を提供することである。
存しながら微小なポリゴンを効率よく除去することによ
り、形状が良好でポリゴン数も少ないポリゴン近似を高
速に生成し得る3次元物体表示のためのポリゴン生成方
法を提供することである。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】
【課題を解決するための手段】上述した課題を解決する
ために、本発明では、3次元空間内において陰関数又は
ボリュームデータにより表現された3次元物体をポリゴ
ン化処理するにあたって、ポリゴン生成単位である多面
体セルを構成する格子点の近傍内に存在するポリゴン頂
点を、当該格子点とポリゴン頂点との距離を予め与えた
評価規範と比較することにより抽出し、当該格子点の近
傍内に存在するポリゴン頂点の局所的な連結性を、それ
らのポリゴン頂点を含むポリゴン群のエッジで直接連結
されているポリゴン頂点を探索することにより調べ、局
所的に連結した当該格子点の近傍内のポリゴン頂点群を
その重心位置に一点に縮退させる。
ために、本発明では、3次元空間内において陰関数又は
ボリュームデータにより表現された3次元物体をポリゴ
ン化処理するにあたって、ポリゴン生成単位である多面
体セルを構成する格子点の近傍内に存在するポリゴン頂
点を、当該格子点とポリゴン頂点との距離を予め与えた
評価規範と比較することにより抽出し、当該格子点の近
傍内に存在するポリゴン頂点の局所的な連結性を、それ
らのポリゴン頂点を含むポリゴン群のエッジで直接連結
されているポリゴン頂点を探索することにより調べ、局
所的に連結した当該格子点の近傍内のポリゴン頂点群を
その重心位置に一点に縮退させる。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正内容】
【0015】本実施例におけるオリジナル・ポリゴンの
生成には、従来一般に用いられている手法をベースに用
いることができる。例えば、Hall,Warrenら
の方法のように、対象空間を四面体セルに分割し、その
セル内部で三角形又は四角形ポリゴンを生成する方法、
或いは、Lorensen,Clineらのように、対
象空間を六面体セルに分割し、そのセルの内部で(複数
の)三角形ポリゴンを生成するマーチング・キューブ法
等を用いることができる。
生成には、従来一般に用いられている手法をベースに用
いることができる。例えば、Hall,Warrenら
の方法のように、対象空間を四面体セルに分割し、その
セル内部で三角形又は四角形ポリゴンを生成する方法、
或いは、Lorensen,Clineらのように、対
象空間を六面体セルに分割し、そのセルの内部で(複数
の)三角形ポリゴンを生成するマーチング・キューブ法
等を用いることができる。
Claims (1)
- 【請求項1】 3次元空間内において陰関数又はボリュ
ームデータにより表現された3次元物体をポリゴン化処
理する画像処理方法において、 ポリゴン生成単位である多面体セルを構成する格子点の
近傍内に存在するポリゴン頂点を、当該格子点とポリゴ
ン頂点との距離を予め与えた評価規範と比較することに
より抽出し、 当該格子点の近傍内に存在するポリゴン頂点の局所的な
連結性を、それらのポリゴン頂点を含むポリゴン群のエ
ッジで直接連結されているポリゴン頂点を探索すること
により調べ、 局所的に連結した当該格子点の近傍内のポリゴン頂点群
をその重心位置に一点に縮退させることを特徴とする3
次元物体表示のための画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3471493A JPH06231276A (ja) | 1993-01-29 | 1993-01-29 | 3次元物体表示のためのポリゴン生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3471493A JPH06231276A (ja) | 1993-01-29 | 1993-01-29 | 3次元物体表示のためのポリゴン生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06231276A true JPH06231276A (ja) | 1994-08-19 |
Family
ID=12422011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3471493A Withdrawn JPH06231276A (ja) | 1993-01-29 | 1993-01-29 | 3次元物体表示のためのポリゴン生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06231276A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09231401A (ja) * | 1995-12-18 | 1997-09-05 | Sony Corp | 画像付き形状データの階層的近似化方法および装置 |
US5754182A (en) * | 1994-11-09 | 1998-05-19 | Matsushita Electric Industrial Co., Ltd. | Shape model generation device for generating shape models with a reduced number of polygons while maintaining quality of the two-dimensional image of the generated shape models |
US6134556A (en) * | 1997-11-21 | 2000-10-17 | Daewoo Electronics Co., Ltd. | Method for searching a triangle corresponding to a location of an object moving on trigonometric grids |
JP2003323637A (ja) * | 2002-04-30 | 2003-11-14 | Japan Science & Technology Corp | 画像データ圧縮処理方法および画像処理装置 |
-
1993
- 1993-01-29 JP JP3471493A patent/JPH06231276A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754182A (en) * | 1994-11-09 | 1998-05-19 | Matsushita Electric Industrial Co., Ltd. | Shape model generation device for generating shape models with a reduced number of polygons while maintaining quality of the two-dimensional image of the generated shape models |
JPH09231401A (ja) * | 1995-12-18 | 1997-09-05 | Sony Corp | 画像付き形状データの階層的近似化方法および装置 |
USRE42366E1 (en) | 1995-12-18 | 2011-05-17 | Sony Corporation | Computer animation generator |
US6134556A (en) * | 1997-11-21 | 2000-10-17 | Daewoo Electronics Co., Ltd. | Method for searching a triangle corresponding to a location of an object moving on trigonometric grids |
JP2003323637A (ja) * | 2002-04-30 | 2003-11-14 | Japan Science & Technology Corp | 画像データ圧縮処理方法および画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Toussaint et al. | On a convex hull algorithm for polygons and its application to triangulation problems | |
US6862026B2 (en) | Process and device for collision detection of objects | |
US20080246766A1 (en) | Numerical analysis mesh generating method and apparatus | |
JP3034483B2 (ja) | オブジェクト探索方法およびその方法を用いた装置 | |
US8497860B2 (en) | Spatial decomposition methods using bit manipulation | |
Barequet et al. | RSVP: A geometric toolkit for controlled repair of solid models | |
CN114359226A (zh) | 基于分层叠加和区域增长的三维模型组可视面积提取方法 | |
US7777740B2 (en) | Spatial decomposition methods using bit manipulation | |
US5537520A (en) | Method and system for displaying a three dimensional object | |
EP1547020B1 (en) | Irregular mesh and embedded geometric description in a computer graphics system | |
JP2915363B2 (ja) | 空間探索システム | |
JPH06231276A (ja) | 3次元物体表示のためのポリゴン生成方法 | |
CN115953541A (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
JPH11353496A (ja) | 光線追跡のための交点探索装置 | |
CN115087983A (zh) | 使用几何面片进行混合建模的方法和系统 | |
JPS63271578A (ja) | 領域の集合演算装置 | |
Katzil et al. | Spatial rubber sheeting of DTMs | |
Kniplitsch et al. | Accurate Cutting of MSDM-Based Hybrid Surface Meshes. | |
JP2881735B1 (ja) | 三次元動画データ転送方法 | |
JPH01140270A (ja) | 地図検索方法 | |
JPH02103687A (ja) | 3次元図形処理方法及びその装置 | |
Min et al. | Adaptive space decomposition for fast visualization of soft objects | |
Mäkinen | Line-segment insertion in constrained triangulations with applications in path-planning | |
CN114529671A (zh) | 基于gpu并行计算和哈希表的变电站施工现场三维重建方法 | |
JPS61208511A (ja) | 自由曲面の評価方法によるcad/camシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20000404 |