JP4097477B2 - 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム - Google Patents

三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム Download PDF

Info

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
Application number
JP2002213277A
Other languages
English (en)
Other versions
JP2004054723A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002213277A priority Critical patent/JP4097477B2/ja
Publication of JP2004054723A publication Critical patent/JP2004054723A/ja
Application granted granted Critical
Publication of JP4097477B2 publication Critical patent/JP4097477B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ワイヤフレームを含んだ三角形メッシュを表す三角形メッシュデータの圧縮方法及び伸長方法、プログラム、三角形メッシュデータの圧縮及び/又は伸長を行うコンピュータ、及びそれらコンピュータでなるシステムに関し、より詳細には、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の発明は、請求項の発明において、前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンク、シリアル通信リンクのいずれかを含むことを特徴としたものである。
【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には、座標の数(=n)11と、座標0から座標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)の順に格納されている。各成分は、浮動小数点表現がなされているか、或いはベクトル量子化圧縮が行われている。
【0026】
図3は、図1の三角形メッシュのデータ構造における三角形メッシュテーブルのデータ構造を説明するための図である。
図3で例示する三角形メッシュテーブル20には、領域数21(=n)と、領域毎の頂点インデックス配列の数(サイズ)の配列22,22,...,22na−1と、領域順に並んだ頂点インデックス配列23,23,...,23i0−1,24,,...,24i1−1,...,25,...,25ina−1とが順に格納されている。
【0027】
領域毎の頂点インデックス配列のサイズ配列は、領域0に対する頂点インデックスの配列の数22(=i0),領域1に対する頂点インデックスの配列の数22(=i1),...,領域nに対する頂点インデックスの配列の数22na−1(=ina−1)の順に格納されている。頂点インデックス配列は、領域0の頂点インデックス0(23),領域0の頂点インデックス1(23),...,領域0の頂点インデックスi0−1(23i0−1),領域1の頂点インデックス0(24),領域1の頂点インデックス1,...,領域1の頂点インデックスi1−1(24i1−1),.......,領域n−1の頂点インデックス0(25),領域n−1の頂点インデックス1,...,領域n−1の頂点インデックスi0−1(25ina−1)の順に格納されている。
【0028】
図4は、図1の三角形メッシュのデータ構造におけるワイヤフレームテーブルのデータ構造を説明するための図である。
図4で例示するワイヤフレームテーブル30は、三角形メッシュ上の領域毎のワイヤの本数の配列31〜31na−1と、領域とは独立したワイヤの頂点インデックス配列の数(サイズ)32と、領域に割り当てられたワイヤの始点インデックス及び終点インデックスを表す配列33a0,...及び33b0,...と、領域とは独立したワイヤの頂点インデックス配列34,...とから構成される。
【0029】
三角形メッシュ上の領域毎のワイヤの本数の配列には、領域0にあるワイヤの本数31(=j0),領域1にあるワイヤの本数31(=j1),...,領域0にあるワイヤの本数31na−1(=jn−1)が順に格納されている。各領域に割り当てられたワイヤの始点インデックスと終点インデックスを表す配列には、領域0のワイヤ0に対する始点インデックス33a0及び終点インデックス33b0,領域0のワイヤ1に対する始点インデックス33a1及び終点インデックス33b1,...,領域0のワイヤj0−1に対する始点インデックス33aj0−1及び終点インデックス33bj0−1,領域1のワイヤ0に対する始点インデックス及び終点インデックス,...,領域1のワイヤj1−1に対する始点インデックス及び終点インデックス,......,領域n−1のワイヤ0に対する始点インデックス及び終点インデックス,...,領域n−1のワイヤjn−1に対する始点インデックス及び終点インデックスが順に格納されている。
【0030】
一方、領域とは独立したワイヤに対しては、その頂点インデックス配列のサイズ32(=iw)、及び、各独立ワイヤの頂点インデックス0〜iw−1(34〜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 -1…座標の各成分、20…三角形メッシュテーブル、21…領域の数、220,221,22na -1…頂点インデックス配列のサイズ、230,231,23i0 -1,240,241,24i1 -1,250,251,25ina -1…領域の頂点インデックス、30…ワイヤフレームテーブル、31,31,31na−1…領域毎のワイヤの本数、32…独立ワイヤの頂点インデックス配列の数、33a0,33a1,33aj0−1…領域に割り当てワイヤの始点インデックス、33b0,33b1,33bj0−1…領域に割り当てワイヤの終点インデックス、34,34,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)

  1. ロセスを実行する中央処理装置と、記憶装置とを備え、ワイヤフレームのデータと三角形メッシュのデータとを圧縮するコンピュータであって、
    前記記憶装置には、圧縮プログラムと、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
    前記圧縮プログラムは、前記中央処理装置に、
    前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、
    三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
    前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、
    該判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、
    前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、
    を実行させるプログラムであることを特徴とするコンピュータ
  2. プロセスを実行する中央処理装置と、記憶装置とを備え、ワイヤフレームを含んだ三角形メッシュデータを伸長するコンピュータであって、
    前記記憶装置には、伸長プログラムと、前記三角形メッシュデータを表すテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
    前記伸長プログラムは、前記中央処理装置に、
    三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
    三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
    三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
    前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
    前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
    を実行させるプログラムであることを特徴とするコンピュータ。
  3. 前記記憶装置には、伸長プログラムがさらに格納されてなり、
    該伸長プログラムは、前記中央処理装置に、
    三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
    三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
    三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
    前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
    前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリライン に対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
    を実行させるプログラムであることを特徴とする請求項1に記載のコンピュータ。
  4. 請求項1に記載のコンピュータと、請求項2に記載のコンピュータとを接続し、請求項1に記載のコンピュータで圧縮されたデータを請求項2に記載のコンピュータへ通信リンクを通して送信し、請求項2に記載のコンピュータで伸長することを特徴とするシステム
  5. 前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンク、シリアル通信リンクのいずれかを含むことを特徴とする請求項4記載のシステム。
  6. プロセスを実行する中央処理装置と、記憶装置とを備えたコンピュータに、ワイヤフレームのデータと三角形メッシュデータとを圧縮する処理を実行させるためのプログラムであって、
    前記記憶装置には、当該プログラムと、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
    当該プログラムは、前記中央処理装置に、
    前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、該三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと、
    三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
    前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、
    該判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと、
    前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、
    を実行させることを特徴とするプログラム
  7. プロセスを実行する中央処理装置と、記憶装置とを備えたコンピュータに、ワイヤフレームを含んだ三角形メッシュデータ伸長する処理を実行させるためのプログラムであって、
    前記記憶装置には、当該プログラムと、前記三角形メッシュデータを表すテーブル群とが格納されてなり、該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
    当該プログラムは、前記中央処理装置に、
    三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと、
    三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと、
    三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと、
    前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと、
    前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
    を実行させることを特徴とするプログラム
  8. ワイヤフレームのデータと三角形メッシュのデータとを圧縮する圧縮方法において、
    記憶装置に、前記ワイヤフレームのデータと、前記三角形メッシュのデータと、圧縮後のワイヤフレームを含んだ三角形メッシュデータを表すためのテーブル群とを格納しておき、
    該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
    当該圧縮方法は、
    中央処理装置が、前記三角形メッシュのデータを読み出し、該三角形メッシュの頂点座標を前記頂点座標テーブルに、三角形メッシュのインデックスを前記三角形メッシュテーブルに、それぞれ書き出すステップと
    前記中央処理装置が、三角形メッシュ上の領域に領域境界ポリラインを生成するステップと
    前記中央処理装置が、前記ワイヤフレームのデータを読み出し、該ワイヤフレームを構成するポリラインについて、前記生成された領域境界ポリラインに始点・終点の両方が一致するか否かを判定するステップと、
    前記中央処理装置が、前記判定の結果、一致するポリラインに対し、インデックスラインセット形式により始点インデックスと終点インデックスだけを前記ワイヤフレームテーブルに書き出すステップと
    前記中央処理装置が、前記判定の結果、一致しないポリラインに対し、その頂点座標を前記頂点座標テーブルに、その頂点インデックスを全てインデックスラインストリップ形式により前記ワイヤフレームテーブルに書き出すステップと、
    を含むことを特徴とする圧縮方法。
  9. イヤフレームを含んだ三角形メッシュデータを伸長する伸長方法において、
    記憶装置に、前記三角形メッシュデータを表すテーブル群を格納しておき、
    該テーブル群は、n次元空間の頂点座標を表すための頂点座標テーブルと、三角形メッシュを表すための三角形メッシュテーブルと、ワイヤフレームを表すためのワイヤフレームテーブルとからなり、
    当該伸長方法は、
    中央処理装置が、三角形メッシュの頂点座標を前記頂点座標テーブルから読み込むステップと
    前記中央処理装置が、三角形メッシュのインデックスを前記三角形メッシュテーブルから読み込むステップと
    前記中央処理装置が、三角形メッシュ上の領域毎に領域境界ポリラインを生成するステップと
    前記中央処理装置が、前記ワイヤフレームテーブルにおけるインデックスラインセット形式のポリラインに対し、始点インデックスと終点インデックスの両方の一致する領域境界ポリラインを選択するステップと
    前記中央処理装置が、前記ワイヤフレームテーブルにおけるインデックスラインストリップ形式のポリラインに対し、そのまま前記ワイヤフレームテーブルから読み込むステップと、
    を含むことを特徴とする伸長方法。
JP2002213277A 2002-07-23 2002-07-23 三角形メッシュデータの圧縮方法及び伸長方法、プログラム、コンピュータ、及びシステム Expired - Fee Related JP4097477B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113674296A (zh) * 2021-09-03 2021-11-19 广东三维家信息科技有限公司 一种区域切割方法、装置、电子设备及存储介质

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