JP4017467B2 - 三角形メッシュデータの圧縮方法及びプログラム - Google Patents
三角形メッシュデータの圧縮方法及びプログラム Download PDFInfo
- Publication number
- JP4017467B2 JP4017467B2 JP2002213608A JP2002213608A JP4017467B2 JP 4017467 B2 JP4017467 B2 JP 4017467B2 JP 2002213608 A JP2002213608 A JP 2002213608A JP 2002213608 A JP2002213608 A JP 2002213608A JP 4017467 B2 JP4017467 B2 JP 4017467B2
- Authority
- JP
- Japan
- Prior art keywords
- curved surface
- triangular mesh
- normal vector
- index
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、三角形メッシュデータの圧縮方法及びプログラムに関し、より詳細には、3次元形状モデル生成装置や3次元形状モデル表示装置等に利用可能な、三角形メッシュデータの圧縮方法及びプログラムに関する。本発明の応用分野としては、例えば形状計測装置や仮想現実感装置などが挙げられる。
【0002】
【従来の技術】
自由曲面は、3次元形状モデルを表現する手段としてCADで広く利用されている。3次元形状モデルを表示するためには、自由曲面を三角形メッシュ形式のデータに変換する必要がある。この変換作業には時間がかかるため、予め三角形メッシュに変換したデータを自由曲面データとともに保持することが広く行われている。また、カタログや部品の配置が目的で、変形のできない3次元形状モデル専用ビューワも普及しはじめている。このため、自由曲面を三角形メッシュに変換した際のデータサイズを圧縮する技術の研究がさかんである。この技術の参考文献としては、例えば、「Taubin G and Rossignac J: Geometry compression through topological surgery, ACM Transactions on Graphics, Vol.17, No.2, 1998.」が挙げられる。
【0003】
一方、これらの手法により生成された三角形メッシュをレンダリング表示する際には、メッシュを構成する各三角形の頂点ごとの法線ベクトルデータが必要になる。フォンシェーディングなどのレンダリング表示のアルゴリズムでは、法線ベクトルも用いることによりリアリスティックな光沢のある質感の表現を可能にするからである。
【0004】
なお、フォンシェーディングとは、三角形メッシュの頂点の法線ベクトルから、三角形内部の点の法線ベクトルを補間することにより求め、シェーディングを行う手法である。シェーディングとは、ライトの方向や強さ、物体表面の反射の性質、視線の方向などから、物体表面の明るさ(色)を計算する手法である。
【0005】
図16は三角形メッシュの例を示す図で、図16(A)は元の円柱面形状の例、図16(B)はその三角形メッシュによる近似の例、図16(C)は他の三角形メッシュとして非一様な三角形メッシュの例を、夫々示す図である。図17は三角形メッシュの位相の違いを説明するための図で、図17(A)は中心の頂点に対して非対称な場合、図17(B)は中心の頂点に対して対称な場合の例を示す図である。図18は三角形メッシュの密度の違いを説明するための図で、図18(A)は非一様な場合(図16(C))の断面、図18(B)は一様な場合(16(B))の断面の例を示す図である。
【0006】
一般に自由曲面から生成した三角形メッシュの場合、頂点に隣接する三角形のベクトルの平均を計算することにより法線ベクトルを推定することができるので、法線ベクトルの保存を省略することによりデータサイズを小さくすることが可能である。
【0007】
しかしながら、法線ベクトルを求めようとする頂点における三角形の配置により、誤差が生じてしまう場合がある。まず、図16(A)に示す円柱面の三角形メッシュ(図16(B))を考えると、図17(A)に示すような非対称な三角形配置の場合には、法線ベクトルは面数の多い左下方向に傾いてしまう。
【0008】
一方、図17(B)のような対称的な三角形の配置の場合は、前述の問題は起きないが、図16(C)のように非一様な三角形メッシュの場合は、図18(A)に示すように三角形の配置が対称的かどうかにかかわらず、法線ベクトルのずれの問題が発生する。
【0009】
【発明が解決しようとする課題】
本発明は、上述のごとき実情に鑑みてなされたものであり、非対称な位相の三角形メッシュのデータや非一様な密度の三角形メッシュのデータを伸長した際にも法線ベクトルに大きな誤差を生じることのない、三角形メッシュデータの圧縮方法及びプログラムを提供することをその目的とする。
【0010】
【課題を解決するための手段】
請求項1の発明は、曲面データに対応する三角形メッシュのデータを圧縮する三角形メッシュデータ圧縮方法において、制御装置が、前記三角形メッシュの頂点位置における座標の情報からなる頂点座標テーブルを、記憶装置に保存するステップと、前記制御装置が、前記三角形メッシュの頂点位置における法線ベクトルの情報からなる法線ベクトルテーブルを、前記記憶装置に保存するステップと、前記制御装置が、前記三角形メッシュ上の領域ごとに、曲面タイプとして平面,球面,円柱面,円錐面,その他のいずれかのタイプを、前記記憶装置に保存するステップと、前記制御装置が、前記曲面タイプが平面,球面,円柱面,円錐面のいずれかのタイプである所定曲面を示す領域に対し、曲面に対する三角形メッシュの向きを表す向きフラグを求めて、前記記憶装置に保存するステップと、前記制御装置が、前記曲面タイプが前記所定曲面以外の曲面を示す領域に対し、三角形の頂点ごとの法線ベクトルインデックス配列を、前記記憶装置に保存するステップと、前記制御装置が、前記三角形メッシュ上の領域ごとに分けて三角形を構成する頂点座標インデックス配列を、前記記憶装置に保存するステップと、前記制御装置が、前記領域ごとに前記頂点座標インデックス配列の最終インデックスを、前記記憶装置に保存するステップとを含み、前記向きフラグは、曲面上の点における法線ベクトルを計算し、該計算した法線ベクトルと三角形メッシュ上における法線ベクトルの内積を計算し、該内積の結果により曲面情報に対する三角形メッシュの向きを判定することにより、求めることを特徴としたものである。
【0011】
請求項2の発明は、コンピュータに、請求項1記載の三角形メッシュデータ圧縮方法を実行させるためのプログラムである。
【0027】
【発明の実施の形態】
以下の(イ),(ロ),(ハ),(ニ)の前提に基づき、本発明の構成・動作を説明する。
(イ) 本発明で扱う自由曲面はパラメトリック曲面と解析的曲面がある。
(ロ) 本発明で所定の曲面として扱う解析的曲面としては、平面,球面,円柱面,円錐面があり、夫々次のように定義されているものとする。すなわち、平面は原点座標[opl]及び法線ベクトル[npl]で、球面は中心座標[csp]及び半径値rspで、円柱面は中心座標[ccy],軸ベクトル[acy],半径値rcyで、円錐面は頂点座標[qco],軸ベクトル[aco],軸方向に1進んだ点における半径値rcoで定義されている。ただし、本明細書中、任意のAのベクトル表示を[A]とも表記する。図1に解析的曲面の例を示す。図1(A)は平面、図1(B)は球面、図1(C)は円柱面、図1(D)は円錐面、の一例である。
【0028】
(ハ) 本発明で扱うパラメトリック曲面上の点はパラメータu,vにより次のように表す。
[S(u,v)] (0≦u,v≦1)
【0029】
代表的なパラメトリック曲面であるBezier曲面を紹介しておく。n×m次のBezier曲面[S(u,v)]は、(n+1)×(m+1)個の制御点[Pij]により構成され、曲面上の点は次式で表される。なお、Bi n(u),Bj m(v)は、Bernstein基底関数と呼ばれる関数である。
【0030】
【式1】
【0031】
図2にBezier曲面の一例として双3次のBezier曲面を示す。双3次のBezier曲面は、図2に示すように16個の制御点[Pij](i=0,1,2,3;j=0,1,2,3)で表現される。
【0032】
(ニ) 本発明で扱う三角形メッシュの表現形式には、三角形インデックスセット形式,三角形インデックスストリップ形式,三角形インデックスファン形式があり、夫々、参考文献「三浦憲二郎:OpenGL 3D グラフィックス入門,朝倉書店,1995.」の19頁にある、GL_TRIANGLES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FANの各プリミティブに対応している。これらのインデックス付きの形式は、別途座標テーブルを配列形式で保持し、配列のインデックスを指定することで座標を表している形式である。
【0033】
図3は、本発明の一実施形態に係る、n次元空間の三角形メッシュのデータ構造を説明するための図である。
本発明の一実施形態に係る、n次元空間の三角形メッシュのデータ構造1は、頂点座標テーブル10と、法線ベクトルテーブル20と、曲面情報テーブル30と、頂点座標インデックス配列(ここでは頂点座標インデックステーブル40として図示)と、法線ベクトルインデックス配列(ここでは法線ベクトルインデックステーブル50として図示)とから構成される。頂点座標テーブル10は、三角形メッシュの頂点位置における座標の情報からなる。法線ベクトルテーブル20は、三角形メッシュの頂点位置における法線ベクトルの情報からなる。曲面情報テーブル30は、三角形メッシュ上の領域ごとの曲面情報からなる。頂点座標インデックステーブル(VIT)40は頂点座標のインデックスを格納してなり、法線ベクトルインデックステーブル50は法線ベクトルのインデックスを格納してなる。
【0034】
図4は、図3の三角形メッシュのデータ構造における頂点座標テーブルのデータ構造を説明するための図である。
図4で例示する頂点座標テーブル10には、頂点座標の数(=n)11と、頂点座標1から頂点座標n−1までのx成分,y成分,z成分120,121,...,12n-1が、頂点座標0(x),頂点座標0(y),頂点座標0(z),頂点座標1(x),頂点座標1(y),頂点座標1(z),...,頂点座標n−1(x),頂点座標n−1(y),頂点座標n−1(z)の順に格納されている。各成分は、浮動小数点表現がなされているか、或いはベクトル量子化圧縮が行われている。
【0035】
図5は、図3の三角形メッシュのデータ構造における法線ベクトルテーブルのデータ構造を説明するための図である。
図5で例示する法線ベクトルテーブル20には、法線ベクトルの数(=m)21と、法線ベクトル1から法線ベクトルm−1までのx成分,y成分,z成分220,221,...,22m-1が順に格納されている。各成分は、浮動小数点表現がなされているか、或いはベクトル量子化圧縮が行われている。
【0036】
図6は、図3の三角形メッシュのデータ構造における曲面情報テーブルのデータ構造を説明するための図である。
図6で例示する曲面情報テーブル30には、三角形メッシュの領域数(=na)31と、曲面タイプ0から曲面タイプna−1までの曲面タイプフラグ配列32と、曲面の向き0から曲面の向きnsf−1までの向きフラグ配列33と、VITインデックス0からVITインデックスna−1までの頂点座標インデックス配列(VIT)のインデックス配列34と、平面0から平面npl−1までの平面配列35と、球面0から球面nsp−1までの球面配列36と、円柱面0から円柱面ncy−1までの円柱面配列37と、円錐面0から円錐面nco−1までの円錐面配列38とが順に格納されている。
【0037】
曲面タイプフラグ配列32(要素数=na)は、三角形メッシュの領域ごとの曲面タイプを示すフラグの配列である。曲面タイプとしては、平面,球面,円柱面,円錐面,その他曲面を表す5種類の整数値のいずれかとする。向きフラグ配列33(要素数=nsf)は、曲面タイプがその他曲面以外(すなわち平面,球面,円柱面,円錐面のいずれか)である領域に対し、領域ごとの曲面情報に対する三角形メッシュの向きを示すフラグの配列である。曲面(曲面情報)に対する三角形メッシュの向きフラグは、メッシュの向きと曲面の向きが一致するか否かを表した論理値を表す整数である。VITインデックス配列34(要素数=na)は、頂点座標インデックス配列のインデックスを領域ごとに格納した配列である。また、平面配列の要素数をnpl、球面配列の要素数をnsp、円柱面配列の要素数をncy、円錐面配列の要素数をncoとしている。なお、nsf=npl+nsp+ncy+ncoとなる。
【0038】
図7は、図6の曲面情報テーブルのデータ構造における、平面配列,球面配列,円柱面配列,円錐面配列の各データ構造を説明するための図である。
平面を表す平面配列35は、原点座標のx,y,z成分と法線ベクトルのx,y,z成分から構成される。球面配列36は、中心座標のx,y,z成分と半径値から構成される。円柱面配列37は、中心座標のx,y,z成分、軸ベクトルのx,y,z成分、半径値から構成される。円錐面配列38は、頂点座標のx,y,z成分、軸ベクトルのx,y,z成分、軸ベクトル方向に1進んだ場所での半径値から構成される。各値は、全て浮動小数点形式で格納される。
【0039】
図8は、図3の三角形メッシュのデータ構造における頂点座標インデックステーブルのデータ構造を説明するための図である。
頂点座標インデックステーブル(VIT)40には、頂点座標インデックスの数41(=nv)と、頂点座標インデックス0から頂点座標インデックスnv−1までの頂点座標インデックス420〜42nv−1が整数値で格納されている。VIT40では、三角形メッシュの各三角形を、三角形インデックスセット形式,三角形インデックスストリップ形式,三角形インデックスファン形式のいずれかの形式で表している。三角形インデックスセット形式の場合は、各三角形の頂点を表す、頂点座標テーブル10の頂点座標配列へのインデックスが格納されている。三角形インデックスストリップ形式又は三角形インデックスファン形式の場合は、三角形の頂点を表すインデックス(頂点座標テーブル10の頂点座標配列へのインデックス+1)、或いはストリップ,ファンの最後を表すデリミタ(=0)が格納されている。三角形はメッシュ上の領域ごとにまとまって格納されている。
【0040】
図9は、図3の三角形メッシュのデータ構造における法線ベクトルインデックステーブルのデータ構造を説明するための図である。
法線ベクトルインデックステーブル50には、法線ベクトルインデックス数51(=nn)と、法線ベクトルインデックス0から法線ベクトルインデックスnn−1までの法線ベクトルインデックス520〜52nn−1が整数値で格納されている。法線ベクトルインデックステーブル50では、三角形メッシュの各三角形を、三角形インデックスセット形式,三角形インデックスストリップ形式,三角形インデックスファン形式のいずれかの形式で表している。三角形インデックスセット形式の場合は、各三角形の法線ベクトルを表す、法線ベクトルテーブル20の法線ベクトル配列へのインデックスが格納されている。三角形インデックスストリップ形式又は三角形インデックスファン形式の場合は、三角形の法線ベクトルを表すインデックス(法線ベクトルテーブル20の法線ベクトル配列へのインデックス+1)、或いはストリップ,ファンの最後を表すデリミタ(=0)が格納されている。三角形はメッシュ上の領域ごとにまとまって格納されているが、その他曲面の曲面情報を持つ領域についてのみ法線ベクトルインデックスを格納し、その他曲面以外(すなわち平面,球面,円柱面,円錐面のいずれか)の曲面情報を持つ領域については法線ベクトルインデックスは格納しない。
【0041】
上述した三角形メッシュのデータ構造を用いることで、法線ベクトルを含んだ三角形メッシュデータの圧縮,伸長が可能となる。図3乃至図9を再度参照し、以下に三角形メッシュデータの圧縮,伸長方法を説明する。
【0042】
図10は、本発明の一実施形態に係る、法線ベクトルを含んだ三角形メッシュデータの圧縮方法を説明するためのフロー図である。
まず、三角形メッシュの頂点位置における座標からなる頂点座標テーブルを図4(頂点座標テーブル10)の形式に保存する(ステップS1)。次いで、三角形メッシュの頂点位置における法線ベクトルからなる法線ベクトルテーブルを図5(法線ベクトルテーブル20)の形式に保存する(ステップS2)。次いで、三角形メッシュ上の領域ごとの曲面タイプ(曲面タイプ=平面,球面,円柱面,円錐面,その他曲面のいずれか)を、図6の曲面タイプ0から曲面タイプna−1(曲面タイプフラグ配列32)の形式に保存する(ステップS3)。
【0043】
次いで、所定の曲面タイプ(平面,球面,円柱面,円錐面のいずれか)を持つかを判定し(ステップS4)、所定の曲面タイプを持つ領域に対し、すなわち領域が所定の曲面情報を持つ場合、それらの領域ごとに曲面情報を図7の形式で平面配列35,球面配列36,円柱面配列37,円錐面配列38のいずれかに保存し(ステップS5)、さらにそれらの領域ごとに曲面に対する三角形メッシュの向きフラグを図6の曲面の向き(曲面の向きフラグ配列33)の形式で保存する(ステップS6)。一方、領域が所定の曲面情報を持たない場合(曲面タイプ=その他曲面)、それらの領域ごとに三角形の法線ベクトルインデックス配列を図9(法線ベクトルインデックス配列50)の形式で保存する(ステップS7)。
【0044】
次いで、三角形メッシュの全ての領域に対し、領域ごとに、三角形を構成する頂点座標インデックス配列を図8(VIT40)の形式で保存する(ステップS8)。次いで、それらの領域ごとに三角形を構成する頂点座標インデックス配列の最終インデックスを図6におけるVITインデックス(VITインデックス配列34)の形式で保存する(ステップS9)。
以上により、法線ベクトルを含んだ三角形メッシュを圧縮することができる。
【0045】
図11は、本発明の一実施形態に係る、曲面情報に対する三角形メッシュの向きの判定方法を説明するためのフロー図である。
図10のステップS6において曲面の向きを判定する必要があるが、そのためには、まず、曲面上の点[p]における法線ベクトル[n([p])]を計算する(ステップS11)。ここでの計算方法は、曲面のタイプごとに異なり、次の計算式に基づいて計算する。
【0046】
【式2】
【0047】
ここで、×はベクトルの外積ベクトル計算を表している。ここで求まるベクトルは正規化されていないので、最後にベクトルの正規化計算を行う(下式参照)。
【0048】
【式3】
【0049】
次いで、三角形メッシュの一頂点について、その曲面上における法線ベクトルと三角形メッシュ上における法線ベクトルの内積を計算する(ステップS12)。次いで、この内積の結果により曲面情報に対する三角形メッシュの向きを判定する(ステップS13)。内積結果が正以上ならば同じ向きで、そうでなければ反対の向きと判定する。
以上により、曲面情報に対する三角形メッシュの向きの判定することができる。
【0050】
図12は、本発明の一実施形態に係る、法線ベクトルを含んだ三角形メッシュデータの伸長方法を説明するためのフロー図である。
まず、図4の形式の頂点座標テーブル10を読み込む(ステップS21)。次いで、図5の形式の法線ベクトルテーブル20を読み込む(ステップS22)。次いで、図6における曲面タイプフラグ配列32から三角形メッシュ上の領域ごとの曲面タイプを読み込む(ステップS23)。
【0051】
次いで、所定の曲面タイプ(平面,球面,円柱面,円錐面のいずれか)を持つかを判定し(ステップS24)、所定の曲面タイプを持つ領域に対し、すなわち領域が所定の曲面情報を持つ場合、図7の各形式でそれらの領域ごとに三角形メッシュ上の曲面情報を読み込み(ステップS25)、図6の向きフラグ配列33の形式でそれらの領域ごとに曲面情報に対する三角形メッシュの向きフラグを読み込む(ステップS26)。一方、領域が所定の曲面情報を持たない場合には、ステップS25,S26の処理は実行しない。
【0052】
次いで、図6におけるVITインデックス配列34から、三角形を構成する頂点座標インデックス配列の最終インデックスを領域ごとに読み込み(ステップS27)、図8の形式のVIT40において、それらの領域ごとに分けて、三角形を構成する頂点座標インデックス配列を読み込む(ステップS28)。
【0053】
次いで、所定の曲面タイプ(平面,球面,円柱面,円錐面のいずれか)を持つかを判定し(ステップS29)、或いはステップS24での判定結果に基づいて、領域が所定の曲面情報を持つ場合には、曲面情報,向きフラグ,頂点座標インデックス,頂点座標配列から法線ベクトルを計算する(ステップS30)。一方、領域が所定の曲面情報を持たない場合、三角形の頂点ごとの法線ベクトルインデックス配列を読み込む(ステップS31)。
以上により、法線ベクトルを含んだ三角形メッシュを伸長することができる。
【0054】
図13は、本発明の一実施形態に係る、法線ベクトルの計算方法を説明するためのフロー図である。
図12のステップS30において法線ベクトルを計算する必要があるが、そのためには、まず、VIT40の頂点座標インデックスを用いて頂点座標テーブル10から頂点座標を取得する(ステップS41)。次いで、その頂点座標を曲面上の点として、曲面上の点における法線ベクトルを計算する(ステップS42)。ここでの計算は、図11のステップS11と同じ方法で行う。曲面情報に対する三角形メッシュの向きフラグが違う向きを示しているならば、その法線ベクトルの逆方向の法線ベクトルに修正する(ステップS43)。
以上により、法線ベクトルが計算できる。
【0055】
本発明は、上述した法線ベクトル付三角形メッシュデータの圧縮及び/又は伸長方法や、法線ベクトルの計算方法、三角形メッシュの向きの判定方法を、コンピュータに実行させるためのプログラムとしての形態も、そのプログラム又はプログラム及びデータを記憶した記録媒体としての形態も採り得る。記録媒体としては、具体的には、CD−ROM,光磁気ディスク,DVD−ROM,FD,フラッシュメモリ,メモリスティック及びその他各種ROMやRAM等が想定でき、これら記録媒体にプログラム又はプログラム及びデータを記録し流通させることにより、法線ベクトル付三角形メッシュの圧縮及び/又は伸長の機能の実現を容易にする。そしてコンピュータ等の情報処理装置に記録媒体を装着してそのプログラムを読み出すか、若しくは情報処理装置が備えている記録媒体に当プログラムを記憶させておき、必要に応じて読み出すことにより、本発明に関わる機能を実行することができる。
【0056】
図14は、法線ベクトルを含んだ三角形メッシュデータを圧縮し伸長する1つ以上のコンピュータシステムの構成例を示す図である。
図14で例示する、情報処理装置としての各コンピュータシステムは、プロセスを実行するCPU72等の中央処理装置と、RAM71,データ記憶装置(データ保存装置)75等のメモリと、そのメモリに格納された(存在する)アプリケーションプログラム61及び圧縮データ構造とを備える。さらに、各コンピュータシステムは、I/Oインタフェース73を介して各種端末機器(キーボード,マウス,ディスプレイ等)74により入出力され、プリンタ76へも出力可能な構成になっている。
【0057】
アプリケーションプログラム61としては、本発明に係る圧縮プログラム62及び/又は伸長プログラム63を備え、それらがマイクロ命令コード67に基づくオペレーティングシステム(OS)66上で、コンパイラ64及びオプティマイザ65により実行可能となっている。
【0058】
図15は、図14に示した2つ以上のコンピュータシステムが通信リンクで接続された圧縮伸長システムの構成例を示す図である。
図15で例示する圧縮伸長システムは、本発明に係る圧縮のアルゴリズム82を備えた図14のごときコンピュータ81と、本発明に係る伸長のアルゴリズム85を備えた図14のごときコンピュータ84とが、通信リンクにより接続されている。ここでの通信リンクとしては、例えばインターネット,イントラネット,広域ネットワーク,ローカルエリアネットワーク,無線周波数リンク,赤外線リンク,シリアル通信リンクのいずれかを含めばよい。圧縮アルゴリズム82により圧縮された法線ベクトル付三角形メッシュデータ(圧縮モデル83)が、通信リンクを介してコンピュータ81で送信され、コンピュータ84で受信され、伸長アルゴリズム85により伸長されて表示等が可能となる。
【0059】
【発明の効果】
本発明によれば、非対称な位相の三角形メッシュのデータを圧縮・伸長した際の法線ベクトルの誤差を小さくすることができる。本発明によれば、さらに非一様な密度の三角形メッシュのデータを圧縮・伸長した際にも、法線ベクトルの誤差を小さくすることができる。本発明を3次元CADシステムなどに実現することによって、コンパクトな3次元データを実現することができる。
【図面の簡単な説明】
【図1】 解析的曲面の例を示す図である。
【図2】 Bezier曲面の一例を示す図である。
【図3】 本発明の一実施形態に係る、n次元空間の三角形メッシュのデータ構造を説明するための図である。
【図4】 図3の三角形メッシュのデータ構造における頂点座標テーブルのデータ構造を説明するための図である。
【図5】 図3の三角形メッシュのデータ構造における法線ベクトルテーブルのデータ構造を説明するための図である。
【図6】 図3の三角形メッシュのデータ構造における曲面情報テーブルのデータ構造を説明するための図である。
【図7】 図6の曲面情報テーブルのデータ構造における、平面配列,球面配列,円柱面配列,円錐面配列の各データ構造を説明するための図である。
【図8】 図3の三角形メッシュのデータ構造における頂点座標インデックステーブルのデータ構造を説明するための図である。
【図9】 図3の三角形メッシュのデータ構造における法線ベクトルインデックステーブルのデータ構造を説明するための図である。
【図10】 本発明の一実施形態に係る、法線ベクトルを含んだ三角形メッシュデータの圧縮方法を説明するためのフロー図である。
【図11】 本発明の一実施形態に係る、曲面情報に対する三角形メッシュの向きの判定方法を説明するためのフロー図である。
【図12】 本発明の一実施形態に係る、法線ベクトルを含んだ三角形メッシュデータの伸長方法を説明するためのフロー図である。
【図13】 本発明の一実施形態に係る、法線ベクトルの計算方法を説明するためのフロー図である。
【図14】 法線ベクトルを含んだ三角形メッシュデータを圧縮し伸長する1つ以上のコンピュータシステムの構成例を示す図である。
【図15】 図14に示した2つ以上のコンピュータシステムが通信リンクで接続された圧縮伸長システムの構成例を示す図である。
【図16】 三角形メッシュの例を示す図である。
【図17】 三角形メッシュの位相の違いを説明するための図である。
【図18】 三角形メッシュの密度の違いを説明するための図である。
【符号の説明】
1…三角形メッシュのデータ構造、10…頂点座標テーブル、11…頂点座標の数、120,121,12n-1…頂点座標の各成分、20…法線ベクトルテーブル、21…法線ベクトルの数、220,221,22m-1…法線ベクトルの各成分、30…曲面情報テーブル、31…三角形メッシュの領域数、32…曲面タイプフラグ配列、33…向きフラグ配列、34…VITのインデックス配列、35…平面配列、36…球面配列、37…円柱面配列、38…円錐面配列、40…頂点座標インデックステーブル、41…頂点座標インデックス数、420,421,42nv−1…頂点座標インデックス、50…法線ベクトルインデックステーブル、51…法線ベクトルインデックスの数、520,521,52nn−1…法線ベクトルインデックス、61…アプリケーションプログラム、62…圧縮プログラム、63…伸長プログラム、64…コンパイラ、65…オプティマイザ、66…オペレーティングシステム、67…マイクロ命令コード、71…RAM、72…CPU、73…I/Oインタフェース、74…端末機器、75…データ記憶装置、76…プリンタ、81,84…コンピュータ、82…圧縮のアルゴリズム、83…圧縮モデル。
Claims (2)
- 曲面データに対応する三角形メッシュのデータを圧縮する三角形メッシュデータ圧縮方法において、
制御装置が、前記三角形メッシュの頂点位置における座標の情報からなる頂点座標テーブルを、記憶装置に保存するステップと、
前記制御装置が、前記三角形メッシュの頂点位置における法線ベクトルの情報からなる法線ベクトルテーブルを、前記記憶装置に保存するステップと、
前記制御装置が、前記三角形メッシュ上の領域ごとに、曲面タイプとして平面,球面,円柱面,円錐面,その他のいずれかのタイプを、前記記憶装置に保存するステップと、
前記制御装置が、前記曲面タイプが平面,球面,円柱面,円錐面のいずれかのタイプである所定曲面を示す領域に対し、曲面に対する三角形メッシュの向きを表す向きフラグを求めて、前記記憶装置に保存するステップと、
前記制御装置が、前記曲面タイプが前記所定曲面以外の曲面を示す領域に対し、三角形の頂点ごとの法線ベクトルインデックス配列を、前記記憶装置に保存するステップと、
前記制御装置が、前記三角形メッシュ上の領域ごとに分けて三角形を構成する頂点座標インデックス配列を、前記記憶装置に保存するステップと、
前記制御装置が、前記領域ごとに前記頂点座標インデックス配列の最終インデックスを、前記記憶装置に保存するステップとを含み、
前記向きフラグは、曲面上の点における法線ベクトルを計算し、該計算した法線ベクトルと三角形メッシュ上における法線ベクトルの内積を計算し、該内積の結果により曲面情報に対する三角形メッシュの向きを判定することにより、求めることを特徴とする三角形メッシュデータ圧縮方法。 - コンピュータに、請求項1記載の三角形メッシュデータ圧縮方法を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002213608A JP4017467B2 (ja) | 2002-07-23 | 2002-07-23 | 三角形メッシュデータの圧縮方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002213608A JP4017467B2 (ja) | 2002-07-23 | 2002-07-23 | 三角形メッシュデータの圧縮方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004054736A JP2004054736A (ja) | 2004-02-19 |
JP4017467B2 true JP4017467B2 (ja) | 2007-12-05 |
Family
ID=31936163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002213608A Expired - Fee Related JP4017467B2 (ja) | 2002-07-23 | 2002-07-23 | 三角形メッシュデータの圧縮方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4017467B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015184061A (ja) * | 2014-03-20 | 2015-10-22 | 株式会社東芝 | 抽出装置、方法及びプログラム |
CN109308734B (zh) * | 2017-07-27 | 2023-01-06 | 腾讯科技(深圳)有限公司 | 3d文字的生成方法及其装置、设备、存储介质 |
CN110310358B (zh) * | 2018-03-21 | 2023-10-03 | 杭州逍度网络科技有限公司 | 一种实现逐像素光照运算的方法 |
CN113674296A (zh) * | 2021-09-03 | 2021-11-19 | 广东三维家信息科技有限公司 | 一种区域切割方法、装置、电子设备及存储介质 |
CN115661285B (zh) * | 2022-10-27 | 2023-09-22 | 东莘电磁科技(成都)有限公司 | 一种规则曲面所受天线时谐近场感应特征图像生成方法 |
-
2002
- 2002-07-23 JP JP2002213608A patent/JP4017467B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004054736A (ja) | 2004-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6522327B2 (en) | Decompression of variable-length encoded compressed three-dimensional graphics data | |
US8310480B2 (en) | Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model | |
JP2001052194A (ja) | 曲面の再構成 | |
EP1705589B1 (en) | Method for approximating and displaying three-dimensional cad data, and system for executing that method | |
US7545375B2 (en) | View-dependent displacement mapping | |
US20190362029A1 (en) | Systems and methods for lightweight precise 3d visual format | |
JPWO2006062199A1 (ja) | 3次元画像データ圧縮装置、該方法、該プログラム及び記録媒体 | |
WO2008013605A1 (en) | Real-time gpu rendering of piecewise algebraic surfaces | |
CN109697748B (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
JP2011070326A (ja) | 画像処理装置、画像処理方法 | |
US7342580B1 (en) | Surface compression based on reference geometry in animation models | |
JP4017467B2 (ja) | 三角形メッシュデータの圧縮方法及びプログラム | |
JPH1196345A (ja) | グラフィックス画像の圧縮及び逆圧縮方法 | |
JP2837584B2 (ja) | 地形データの作成方法 | |
CN115713585B (zh) | 纹理图像重建方法、装置、计算机设备和存储介质 | |
US6246805B1 (en) | Efficient beveling of extruded regions in video processing | |
US11869123B2 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
JPH11316854A (ja) | 三次元グラフィックスパイプラインのためのデータ編成システム及び方法 | |
US7015917B2 (en) | Curved surface subdivision apparatus | |
JP2010128618A (ja) | 画像処理装置、画像処理方法 | |
JP2006302188A (ja) | 三角形メッシュデータ圧縮装置、三角形メッシュデータ伸長装置、三角形メッシュデータのデータ構造、プログラム及び記録媒体 | |
JP2655056B2 (ja) | テクスチャデータ生成装置 | |
JP2004102834A (ja) | 三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステム | |
JP2012230663A (ja) | 画像処理装置および画像処理方法 | |
JP3104643B2 (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070918 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070918 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100928 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110928 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120928 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130928 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |