JP4097477B2 - 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム - Google Patents
三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム Download PDFInfo
- Publication number
- JP4097477B2 JP4097477B2 JP2002213277A JP2002213277A JP4097477B2 JP 4097477 B2 JP4097477 B2 JP 4097477B2 JP 2002213277 A JP2002213277 A JP 2002213277A JP 2002213277 A JP2002213277 A JP 2002213277A JP 4097477 B2 JP4097477 B2 JP 4097477B2
- Authority
- JP
- Japan
- Prior art keywords
- wire frame
- index
- triangular mesh
- data
- mesh
- 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
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、ワイヤフレームを含んだ三角形メッシュを表す三角形メッシュデータの圧縮方法及び伸長方法、プログラム、三角形メッシュデータの圧縮及び/又は伸長を行うコンピュータ、及びそれらコンピュータでなるシステムに関し、より詳細には、3次元形状モデル生成装置や3次元形状モデル表示装置等に利用可能な、ワイヤフレームを含んだ三角形メッシュを表す三角形メッシュデータの圧縮方法及び伸長方法、プログラム、その三角形メッシュデータの圧縮及び/又は伸長を行うコンピュータ、及びそれらコンピュータでなるシステムに関する。本発明の応用分野としては、例えば形状計測装置や仮想現実感装置などが挙げられる。
【0002】
【従来の技術】
自由曲面及び自由曲線は、3次元形状モデルを表現する手段としてCADで広く利用されている。3次元形状モデルを表示するためには、自由曲面を三角形メッシュ形式のデータに、自由曲線をワイヤフレーム形式のデータに変換する必要がある。この変換作業には時間がかかるため、予め、図9に例示するような3次元形状モデルを、図10に例示するような三角形メッシュ或いは図11に例示するようなワイヤフレームに変換したデータを、自由曲面データ,自由曲線データとともに保持することが広く行われている。また、カタログや部品の配置が目的で、変形のできない3次元形状モデル専用ビューワも普及しはじめている。このため、自由曲面を三角形メッシュに変換した際のデータサイズを圧縮する技術の研究がさかんである。この技術の参考文献としては、例えば、「Taubin G and Rossignac J: Geometry compression through topological surgery, ACM Transactions on Graphics, Vol.17, No.2, 1998.」が挙げられる。
【0003】
しかしながら、自由曲線をワイヤフレームに変換した際のデータサイズを圧縮する技術研究はあまり行われていない。さらに、近年の通信設備の発達などにより、要求される取扱データのサイズは増大しており、それに伴って、ハードディスク等の保存装置のスペース効率の低下や、表示速度の低下、さらには転送速度の低下が問題となっている。
【0004】
【発明が解決しようとする課題】
本発明は、上述のごとき実情に鑑みてなされたものであり、データサイズが増大した場合でも、ハードディスク等保存装置のスペース効率、表示速度、及び転送速度を低下させることなく、圧縮,保存,転送,伸長等の処理を施すことが可能な、ワイヤフレームを含んだ三角形メッシュを表す三角形メッシュデータの圧縮方法及び伸長方法、プログラム、その三角形メッシュデータの圧縮及び/又は伸長を行うコンピュータ、及びそれらコンピュータでなるシステムを提供することをその目的とする。
【0005】
【課題を解決するための手段】
請求項1の発明は、プロセスを実行する中央処理装置と、記憶装置とを備え、ワイヤフレームのデータと三角形メッシュのデータとを圧縮するコンピュータであって、前記記憶装置には、圧縮プログラムと、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、前記圧縮プログラムは、前記中央処理装置に、前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、該判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、を実行させるプログラムであることを特徴としたものである。
【0006】
請求項2の発明は、プロセスを実行する中央処理装置と、記憶装置とを備え、ワイヤフレームを含んだ三角形メッシュデータを伸長するコンピュータであって、前記記憶装置には、伸長プログラムと、前記三角形メッシュデータを表すテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、前記伸長プログラムは、前記中央処理装置に、三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、を実行させるプログラムであることを特徴としたものである。
【0007】
請求項3の発明は、請求項1の発明において、前記記憶装置には、伸長プログラムがさらに格納されてなり、該伸長プログラムは、前記中央処理装置に、三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、を実行させるプログラムであることを特徴としたものである。
【0008】
請求項4の発明は、請求項1に記載のコンピュータと、請求項2に記載のコンピュータとを接続し、請求項1に記載のコンピュータで圧縮されたデータを請求項2に記載のコンピュータへ通信リンクを通して送信し、請求項2に記載のコンピュータで伸長することを特徴とするシステムである。
【0009】
請求項5の発明は、請求項4の発明において、前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンク、シリアル通信リンクのいずれかを含むことを特徴としたものである。
【0010】
請求項6の発明は、プロセスを実行する中央処理装置と、記憶装置とを備えたコンピュータに、ワイヤフレームのデータと三角形メッシュのデータとを圧縮する処理を実行させるためのプログラムであって、前記記憶装置には、当該プログラムと、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、当該プログラムは、前記中央処理装置に、前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、該判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、を実行させることを特徴としたものである。
【0011】
請求項7の発明は、プロセスを実行する中央処理装置と、記憶装置とを備えたコンピュータに、ワイヤフレームを含んだ三角形メッシュデータを伸長する処理を実行させるためのプログラムであって、前記記憶装置には、当該プログラムと、前記三角形メッシュデータを表すテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、当該プログラムは、前記中央処理装置に、三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、を実行させることを特徴としたものである。
【0012】
請求項8の発明は、ワイヤフレームのデータと三角形メッシュのデータとを圧縮する圧縮方法において、記憶装置に、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とを格納しておき、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、当該圧縮方法は、中央処理装置が、前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、前記中央処理装置が、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記中央処理装置が、前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、前記中央処理装置が、前記判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、前記中央処理装置が、前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、を含むことを特徴としたものである。
【0013】
請求項9の発明は、ワイヤフレームを含んだ三角形メッシュデータを伸長する伸長方法において、記憶装置に、前記三角形メッシュデータを表すテーブル群を格納しておき、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、当該伸長方法は、中央処理装置が、三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、前記中央処理装置が、三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、前記中央処理装置が、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、前記中央処理装置が、前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、前記中央処理装置が、前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、を含むことを特徴としたものである。
【0021】
【発明の実施の形態】
以下の(イ),(ロ),(ハ),(ニ)の前提に基づき、本発明の構成・動作を説明する。
(イ) 本発明で扱うワイヤフレームとは、ライン(線分)又はポリライン(折れ線を表す連結された線分)の集まりである。
(ロ) 本発明で扱うワイヤフレームの表現形式には、ラインセット形式,インデックスラインセット形式,ラインストリップ形式,インデックスラインストリップ形式があり、前の2つの形式は、参考文献「三浦憲二郎:OpenGL 3D グラフィックス入門,朝倉書店,1995.」の19頁にある、GL_LINESに、後の2つの形式は、同じくGL_LINE_STRIPに対応している。インデックス付きの形式は、別途座標テーブルを配列形式で保持し、配列のインデックスを指定することで座標を表している形式である。
【0022】
(ハ) 本発明で扱うワイヤフレームはCADシステムにおいて作成される曲線データなどから生成されるものとする。その際、CADシステムで作成する形状モデル上の領域との関連性は容易に得られる。例えば、一般的にCADシステムにおいては、形状モデルの角や曲面の境界を表現するために曲線で表現できる稜線が存在し、その稜線は曲面を保持する面と関連性を持っている。
【0023】
(ニ) 本発明で扱う三角形メッシュは、三角形メッシュ上の領域ごとに三角形がまとまって順に格納されており、領域単位で独立した三角形メッシュを容易に得られるものとする。三角形メッシュ上の領域には一般的にはCADシステムにおける面が対応する。
【0024】
図1は、本発明の一実施形態に係る、n次元空間の、ワイヤフレームを含んだ三角形メッシュのデータ構造を説明するための図である。
本発明の一実施形態に係る、n次元空間の三角形メッシュ(ワイヤフレームを含む)のデータ構造1は、座標テーブル(頂点座標テーブルともいう)10と、三角形メッシュテーブル20と、ワイヤフレームテーブル30とから構成される。座標テーブル10はn次元空間の頂点座標を表し、三角形メッシュテーブル20は三角形メッシュ(ポリゴンメッシュ)を表し、ワイヤフレームテーブル30はワイヤフレームを表す。
【0025】
図2は、図1の三角形メッシュのデータ構造における座標テーブルのデータ構造を説明するための図である。
図2で例示する座標テーブル10には、座標の数(=nv)11と、座標0から座標nv−1までのx成分,y成分,z成分120,121,...,12n v -1が、座標0(x),座標0(y),座標0(z),座標1(x),座標1(y),座標1(z),...,座標nv−1(x),座標nv−1(y),座標nv−1(z)の順に格納されている。各成分は、浮動小数点表現がなされているか、或いはベクトル量子化圧縮が行われている。
【0026】
図3は、図1の三角形メッシュのデータ構造における三角形メッシュテーブルのデータ構造を説明するための図である。
図3で例示する三角形メッシュテーブル20には、領域数21(=na)と、領域毎の頂点インデックス配列の数(サイズ)の配列220,221,...,22na−1と、領域順に並んだ頂点インデックス配列230,231,...,23i0−1,240,,...,24i1−1,...,250,...,25ina−1とが順に格納されている。
【0027】
領域毎の頂点インデックス配列のサイズ配列は、領域0に対する頂点インデックスの配列の数220(=i0),領域1に対する頂点インデックスの配列の数221(=i1),...,領域naに対する頂点インデックスの配列の数22na−1(=ina−1)の順に格納されている。頂点インデックス配列は、領域0の頂点インデックス0(230),領域0の頂点インデックス1(231),...,領域0の頂点インデックスi0−1(23i0−1),領域1の頂点インデックス0(240),領域1の頂点インデックス1,...,領域1の頂点インデックスi1−1(24i1−1),.......,領域na−1の頂点インデックス0(250),領域na−1の頂点インデックス1,...,領域na−1の頂点インデックスi0−1(25ina−1)の順に格納されている。
【0028】
図4は、図1の三角形メッシュのデータ構造におけるワイヤフレームテーブルのデータ構造を説明するための図である。
図4で例示するワイヤフレームテーブル30は、三角形メッシュ上の領域毎のワイヤの本数の配列310〜31na−1と、領域とは独立したワイヤの頂点インデックス配列の数(サイズ)32と、領域に割り当てられたワイヤの始点インデックス及び終点インデックスを表す配列33a0,...及び33b0,...と、領域とは独立したワイヤの頂点インデックス配列340,...とから構成される。
【0029】
三角形メッシュ上の領域毎のワイヤの本数の配列には、領域0にあるワイヤの本数310(=j0),領域1にあるワイヤの本数311(=j1),...,領域0にあるワイヤの本数31na−1(=jna−1)が順に格納されている。各領域に割り当てられたワイヤの始点インデックスと終点インデックスを表す配列には、領域0のワイヤ0に対する始点インデックス33a0及び終点インデックス33b0,領域0のワイヤ1に対する始点インデックス33a1及び終点インデックス33b1,...,領域0のワイヤj0−1に対する始点インデックス33aj0−1及び終点インデックス33bj0−1,領域1のワイヤ0に対する始点インデックス及び終点インデックス,...,領域1のワイヤj1−1に対する始点インデックス及び終点インデックス,......,領域na−1のワイヤ0に対する始点インデックス及び終点インデックス,...,領域na−1のワイヤjna−1に対する始点インデックス及び終点インデックスが順に格納されている。
【0030】
一方、領域とは独立したワイヤに対しては、その頂点インデックス配列のサイズ32(=iw)、及び、各独立ワイヤの頂点インデックス0〜iw−1(340〜34iw−1)が格納されている。
【0031】
上述のごとき、ワイヤフレームを含んだ三角形メッシュのデータ構造を用いることで、ワイヤフレームを含んだ三角形メッシュデータの圧縮,伸長が可能となる。図1乃至図4を再度参照し、以下にこのような三角形メッシュの圧縮,伸長方法を説明する。
【0032】
図5は、本発明の一実施形態に係る、ワイヤフレームを含んだ三角形メッシュデータの圧縮方法を説明するためのフロー図である。
まず、三角形メッシュの頂点座標を図2の座標テーブル10に、三角形メッシュのインデックスを図3の三角形メッシュテーブル20に夫々書き出す(その形式で保存する)。このとき、三角形メッシュのインデックスは三角形メッシュ上の領域毎にまとめて書き出す(ステップS1)。
【0033】
次いで、三角形メッシュ上の領域毎に領域境界ポリラインを生成する(ステップS2)。三角形メッシュ上の領域を独立した三角形メッシュとして取り出し、境界を表すポリラインを生成する。境界ポリラインを得るのは、隣接する三角形がない三角形の辺を取り出せばよいので容易である。次いで、領域に割り当てられたポリラインについて、領域境界ポリラインに始点・終点の両方が一致するかどうか判定する(ステップS3)。
【0034】
始点・終点の両方が一致するポリラインは、図4のワイヤフレームテーブル30にその始点インデックスと終点インデックスだけをインデックスラインセット形式により書き出す(ステップS4)。一方、始点・終点の両方が一致しないポリラインは、独立ワイヤとして、その頂点座標を座標テーブル10に、その頂点インデックスを全てインデックスラインストリップ形式又はインデックスラインセット形式により図4のワイヤフレームテーブル30に書き出す(ステップS5)。
以上により、ワイヤフレームのデータと三角形メッシュのデータとを圧縮し、ワイヤフレームを含んだ三角形メッシュデータを得ることができる。
【0035】
図6は、本発明の一実施形態に係る、ワイヤフレームを含んだ三角形メッシュデータの伸長方法を説明するためのフロー図である。
まず、三角形メッシュの頂点座標を図2の座標テーブル10から読み込み、図3の三角形メッシュのインデックスをポリゴンメッシュテーブル20から読み込む(ステップS11)。
【0036】
次いで、三角形メッシュ上の領域毎に領域境界ポリラインを生成する(ステップS12)。次いで、図4のワイヤフレームテーブル30の領域に割り当てられたワイヤを読み込み、領域境界ポリラインの中から始点インデックスと終点インデックスの両方の一致するものを選択する(ステップS13)。ステップS13では、ワイヤフレームテーブル30におけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するとよい。次いで、図4のワイヤフレームテーブル30の独立ワイヤをそのまま読み込む(ステップS14)。ステップS14では、ワイヤフレームテーブル30におけるインデックスラインストリップ形式のポリラインに対し、そのままワイヤフレームテーブル30から読み込むとよい。
以上により、ワイヤフレームを含んだ三角形メッシュデータを伸長して、ワイヤフレームのデータと三角形メッシュのデータとを得ることができる。
【0037】
本発明は、上述したワイヤフレーム付三角形メッシュデータの圧縮及び/又は伸長方法を、コンピュータに実行させるためのプログラムとしての形態も、そのプログラム又はプログラム及びデータを記憶した記録媒体としての形態も採り得る。記録媒体としては、具体的には、CD−ROM,光磁気ディスク,DVD−ROM,FD,フラッシュメモリ,メモリスティック及びその他各種ROMやRAM等が想定でき、これら記録媒体にプログラム又はプログラム及びデータを記録し流通させることにより、ワイヤフレームを含んだ三角形メッシュデータの圧縮及び/又は伸長の機能の実現を容易にする。そしてコンピュータ等の情報処理装置に記録媒体を装着してそのプログラムを読み出すか、若しくは情報処理装置が備えている記録媒体に当プログラムを記憶させておき、必要に応じて読み出すことにより、本発明に関わる機能を実行することができる。
【0038】
図7は、ワイヤフレームを含んだ三角形メッシュデータを圧縮し伸長する1つ以上のコンピュータシステムの構成例を示す図である。
図7で例示する、情報処理装置としての各コンピュータシステムは、プロセスを実行するCPU52等の中央処理装置と、RAM51,データ記憶装置(データ保存装置)55等のメモリと、そのメモリに格納された(存在する)アプリケーションプログラム41及び圧縮データ構造とを備える。さらに、各コンピュータシステムは、I/Oインタフェース53を介して各種端末機器(キーボード,マウス,ディスプレイ等)54により入出力され、プリンタ56へも出力可能な構成になっている。
【0039】
アプリケーションプログラム41としては、本発明に係る圧縮プログラム42及び/又は伸長プログラム43を備え、それらがマイクロ命令コード47に基づくオペレーティングシステム(OS)46上で、コンパイラ44及びオプティマイザ45により実行可能となっている。
【0040】
図8は、図7に示した2つ以上のコンピュータシステムが通信リンクで接続された圧縮伸長システムの構成例を示す図である。
図8で例示する圧縮伸長システムは、本発明に係る圧縮のアルゴリズム62を備えた図7のごときコンピュータ61と、本発明に係る伸長のアルゴリズム65を備えた図7のごときコンピュータ64とが、通信リンクにより接続されている。ここでの通信リンクとしては、例えばインターネット,イントラネット,広域ネットワーク,ローカルエリアネットワーク,無線周波数リンク,赤外線リンク,シリアル通信リンクのいずれかを含めばよい。圧縮アルゴリズム62により圧縮されたワイヤフレーム付三角形メッシュデータ(圧縮モデル63)が、通信リンクを介してコンピュータ61で送信され、コンピュータ64で受信され、伸長アルゴリズム65により伸長されて表示可能となる。
【0041】
【発明の効果】
本発明によれば、ワイヤフレームを含んだ三角形メッシュデータの圧縮、保存、転送、伸長を目的にした、データ構造、プログラム、システムにおいて、データサイズを減少させ、ハードディスク等の保存装置のスペース効率、表示速度、及び転送速度を向上させることが可能となる。また、本発明を3次元CADシステムなどに実現することによって、コンパクトな3次元データを実現することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る、n次元空間の、ワイヤフレームを含んだ三角形メッシュのデータ構造を説明するための図である。
【図2】 図1の三角形メッシュのデータ構造における座標テーブルのデータ構造を説明するための図である。
【図3】 図1の三角形メッシュのデータ構造における三角形メッシュテーブルのデータ構造を説明するための図である。
【図4】 図1の三角形メッシュのデータ構造におけるワイヤフレームテーブルのデータ構造を説明するための図である。
【図5】 本発明の一実施形態に係る、ワイヤフレームを含んだ三角形メッシュデータの圧縮方法を説明するためのフロー図である。
【図6】 本発明の一実施形態に係る、ワイヤフレームを含んだ三角形メッシュデータの伸長方法を説明するためのフロー図である。
【図7】 ワイヤフレームを含んだ三角形メッシュデータを圧縮し伸長する1つ以上のコンピュータシステムの構成例を示す図である。
【図8】 図7に示した2つ以上のコンピュータシステムが通信リンクで接続された圧縮伸長システムの構成例を示す図である。
【図9】 3次元形状モデルの一例を示す図である。
【図10】 図9の三次元モデルに対する三角形メッシュデータの一例を示す図である。
【図11】 図9の三次元モデルに対するワイヤフレームデータの一例を示す図である。
【符号の説明】
1…ワイヤフレームを含む三角形メッシュのデータ構造、10…座標テーブル、11…座標の数、120,121,12n v -1…座標の各成分、20…三角形メッシュテーブル、21…領域の数、220,221,22na -1…頂点インデックス配列のサイズ、230,231,23i0 -1,240,241,24i1 -1,250,251,25ina -1…領域の頂点インデックス、30…ワイヤフレームテーブル、310,311,31na−1…領域毎のワイヤの本数、32…独立ワイヤの頂点インデックス配列の数、33a0,33a1,33aj0−1…領域に割り当てワイヤの始点インデックス、33b0,33b1,33bj0−1…領域に割り当てワイヤの終点インデックス、340,341,34jw−1…独立ワイヤの頂点インデックス、41…アプリケーションプログラム、42…圧縮プログラム、43…伸長プログラム、44…コンパイラ、45…オプティマイザ、46…オペレーティングシステム、47…マイクロ命令コード、51…RAM、52…CPU、53…I/Oインタフェース、54…端末機器、55…データ記憶装置、56…プリンタ、61,64…コンピュータ、62…圧縮のアルゴリズム、63…圧縮モデル、64…コンピュータ、65…伸長のアルゴリズム。
Claims (9)
- プロセスを実行する中央処理装置と、記憶装置とを備え、ワイヤフレームのデータと三角形メッシュのデータとを圧縮するコンピュータであって、
前記記憶装置には、圧縮プログラムと、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
前記圧縮プログラムは、前記中央処理装置に、
前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、
三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、
該判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、
前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、
を実行させるプログラムであることを特徴とするコンピュータ。 - プロセスを実行する中央処理装置と、記憶装置とを備え、ワイヤフレームを含んだ三角形メッシュデータを伸長するコンピュータであって、
前記記憶装置には、伸長プログラムと、前記三角形メッシュデータを表すテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
前記伸長プログラムは、前記中央処理装置に、
三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
を実行させるプログラムであることを特徴とするコンピュータ。 - 前記記憶装置には、伸長プログラムがさらに格納されてなり、
該伸長プログラムは、前記中央処理装置に、
三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリライン に対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
を実行させるプログラムであることを特徴とする請求項1に記載のコンピュータ。 - 請求項1に記載のコンピュータと、請求項2に記載のコンピュータとを接続し、請求項1に記載のコンピュータで圧縮されたデータを請求項2に記載のコンピュータへ通信リンクを通して送信し、請求項2に記載のコンピュータで伸長することを特徴とするシステム。
- 前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンク、シリアル通信リンクのいずれかを含むことを特徴とする請求項4に記載のシステム。
- プロセスを実行する中央処理装置と、記憶装置とを備えたコンピュータに、ワイヤフレームのデータと三角形メッシュのデータとを圧縮する処理を実行させるためのプログラムであって、
前記記憶装置には、当該プログラムと、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
当該プログラムは、前記中央処理装置に、
前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、
三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、
該判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、
前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、
を実行させることを特徴とするプログラム。 - プロセスを実行する中央処理装置と、記憶装置とを備えたコンピュータに、ワイヤフレームを含んだ三角形メッシュデータを伸長する処理を実行させるためのプログラムであって、
前記記憶装置には、当該プログラムと、前記三角形メッシュデータを表すテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
当該プログラムは、前記中央処理装置に、
三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
を実行させることを特徴とするプログラム。 - ワイヤフレームのデータと三角形メッシュのデータとを圧縮する圧縮方法において、
記憶装置に、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とを格納しておき、
該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
当該圧縮方法は、
中央処理装置が、前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、
前記中央処理装置が、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記中央処理装置が、前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、
前記中央処理装置が、前記判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、
前記中央処理装置が、前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、
を含むことを特徴とする圧縮方法。 - ワイヤフレームを含んだ三角形メッシュデータを伸長する伸長方法において、
記憶装置に、前記三角形メッシュデータを表すテーブル群を格納しておき、
該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
当該伸長方法は、
中央処理装置が、三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
前記中央処理装置が、三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
前記中央処理装置が、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
前記中央処理装置が、前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
前記中央処理装置が、前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
を含むことを特徴とする伸長方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002213277A JP4097477B2 (ja) | 2002-07-23 | 2002-07-23 | 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002213277A JP4097477B2 (ja) | 2002-07-23 | 2002-07-23 | 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004054723A JP2004054723A (ja) | 2004-02-19 |
JP4097477B2 true JP4097477B2 (ja) | 2008-06-11 |
Family
ID=31935917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002213277A Expired - Fee Related JP4097477B2 (ja) | 2002-07-23 | 2002-07-23 | 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4097477B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113674296A (zh) * | 2021-09-03 | 2021-11-19 | 广东三维家信息科技有限公司 | 一种区域切割方法、装置、电子设备及存储介质 |
-
2002
- 2002-07-23 JP JP2002213277A patent/JP4097477B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004054723A (ja) | 2004-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346769B (zh) | 三维建模对象的压缩 | |
CN100371937C (zh) | 计算机辅助设计系统和方法 | |
US8593455B2 (en) | Method and system for compressing and decoding mesh data with random accessibility in three-dimensional mesh model | |
JP2017532662A (ja) | ネットワーク転送およびリアルタイムレンダリング用に3dテクスチャモデルを自動的に最適化するシステム、方法、およびコンピュータプログラム製品 | |
CN112509102A (zh) | Bim模型数据的轻量可视化方法 | |
JP3184785B2 (ja) | 三次元形状モデル送信方法及び装置、三次元形状モデル圧縮方法及び装置、三次元形状モデル表示方法及び装置 | |
JP4097477B2 (ja) | 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム | |
JP7182863B2 (ja) | 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造 | |
US20230038647A1 (en) | Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer | |
JP4017467B2 (ja) | 三角形メッシュデータの圧縮方法及びプログラム | |
JP2006302188A (ja) | 三角形メッシュデータ圧縮装置、三角形メッシュデータ伸長装置、三角形メッシュデータのデータ構造、プログラム及び記録媒体 | |
JP2004102834A (ja) | 三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステム | |
JP4218800B2 (ja) | データ圧縮装置、データ圧縮方法、データ伸張装置、データ伸張方法、n次元形状モデル処理装置並びにプログラムおよび記録媒体 | |
JP4042462B2 (ja) | 画像処理装置およびその方法 | |
WO2023073875A1 (ja) | 3次元cadシステム | |
CN111881651B (zh) | 一种uot流式文档转换成ofd版式文档的方法 | |
JPH05225290A (ja) | 3次元パラメトリック機能による形状修正方式 | |
EP4250083A1 (en) | Storage device reorganizing data and related operating method | |
JP2003187266A (ja) | 3次元形状処理装置およびデータ処理方法 | |
JP2004102617A (ja) | ワイヤーフレームのデータ構造、ワイヤーフレームデータ圧縮方法および伸張方法、プログラム、記録媒体並びにシステム | |
JP4325395B2 (ja) | 3次元空間内の物体表面を平面上に展開する方法及び装置並びにプログラム | |
JP2002300043A (ja) | 情報処理装置及び方法、並びに記憶媒体 | |
JP3479184B2 (ja) | 画像生成方法および画像生成装置 | |
JP3949013B2 (ja) | 3次元形状処理装置、3次元形状処理方法、プログラムおよび記録媒体 | |
CN114359461A (zh) | 文件格式转换方法、转换装置和计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071219 |
|
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: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080311 |
|
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: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140321 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |