(57)【要約】【課題】データサイズが増大してもハードディスク等の保存装置のスペース効率、表示速度および転送速度を低下させることなく、ｎ次元空間の三角形メッシュデータの圧縮、保存、転送、伸張の処理を施すことができるデータ構造を提供する。【解決手段】三角形メッシュのデータ構造は、三角形メッシュの頂点位置における座標を表す頂点座標テーブルと、三角形メッシュ上の領域ごとの曲面情報を表す曲面情報テーブルと、境界ポリラインを表す頂点座標インデックス配列と、三角形メッシュを表す頂点座標インデックス配列とを含み、ｎ次元空間の曲面から生成された三角形メッシュデータを格納する。【選択図】　　　　図１
2004102834.tif 000002
【特許請求の範囲】
【請求項１】
ｎ次元空間の三角形メッシュを表すデータ構造であって、三角形メッシュの頂点位置における座標を表す頂点座標テーブルと、三角形メッシュ上の領域ごとの曲面情報を表す曲面情報テーブルと、境界ポリラインを表す頂点座標インデックス配列と、三角形メッシュを表す頂点座標インデックス配列とを含んでなることを特徴とする三角形メッシュのデータ構造。
【請求項２】
請求項１に記載の三角形メッシュのデータ構造において、前記頂点座標テーブルは、浮動小数点表現および／またはベクトル量子化圧縮がなされていることを特徴とする三角形メッシュのデータ構造。
【請求項３】
請求項１に記載の三角形メッシュのデータ構造において、前記曲面情報テーブルは、三角形メッシュの領域数と、前記領域ごとにその領域の示す曲面タイプが所定の複数種類のタイプのいずれかであることを表す曲面タイプフラグ配列と、前記曲面タイプが示す曲面の種類ごとに、三角形メッシュの向きを表す向きフラグ配列と、前記曲面タイプごとの曲面配列とを含んでなることを特徴とする三角形メッシュのデータ構造。
【請求項４】
請求項３に記載の三角形メッシュのデータ構造において、前記曲面タイプは、平面、円柱面、円錐面とし、前記曲面タイプごとの曲面配列は、平面を表す平面配列と、円柱面を表す円柱面配列と、円錐面を表す円錐面配列とからなり、前記平面配列の各要素は、原点座標と法線ベクトルを持ち、前記円柱面配列の各要素は、中心座標と軸ベクトルと半径値を持ち、前記円錐面配列の各要素は、頂点座標と軸ベクトルと軸方向に１進んだ場所での半径値を持つことを特徴とする三角形メッシュのデータ構造。
【請求項５】
請求項１に記載の三角形メッシュのデータ構造において、前記境界ポリラインを表す頂点座標インデックス配列は、インデックスラインストリップ形式またはインデックスラインセット形式のいずれかであることを特徴とする三角形メッシュのデータ構造。
【請求項６】
請求項１に記載の三角形メッシュのデータ構造において、前記三角形メッシュを表す頂点座標インデックス配列は、三角形インデックスセット形式、三角形インデックスストリップ形式または三角形インデックスファン形式のいずれかであることを特徴とする三角形メッシュのデータ構造。
【請求項７】
請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造において、三角形メッシュをコンピュータの記憶装置に保存するために用いられることを特徴とする三角形メッシュのデータ構造。
【請求項８】
請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して送信されることを特徴とする三角形メッシュのデータ構造。
【請求項９】
請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して受信されることを特徴とする三角形メッシュのデータ構造。
【請求項１０】
曲面から生成した三角形メッシュデータを圧縮する三角形メッシュデータ圧縮方法において、三角形メッシュの頂点位置における座標の情報からなる頂点座標テーブルを保存し、三角形メッシュ上の領域ごとの曲面情報を表す曲面情報テーブルを保存し、前記領域について、
（１）曲面情報が平面であり、境界を構成する外部境界が１本である
（２）曲面情報が平面であり、外部境界と内部境界が１本ずつである
（３）曲面情報が円柱面であり、境界を構成する外部境界が２本である
（４）曲面情報が円錐面であり、境界を構成する外部境界が１本である
（５）曲面情報が円錐面であり、境界を構成する外部境界が２本である
のいずれかであるとき、この領域の境界ポリラインを構成する頂点座標インデックス配列を保存し、
前記領域について、上記（１）から（５）のいずれでもないときには、三角形を構成する頂点座標インデックス配列を保存することを特徴とする三角形メッシュデータ圧縮方法。
【請求項１１】
曲面から生成した三角形メッシュデータを伸張する三角形メッシュデータ伸張方法において、
三角形メッシュの頂点位置における座標の情報からなる頂点座標テーブルを読み込み、三角形メッシュ上の領域に対応する曲面情報が保存されている場合は、この領域の曲面情報を読み込み、この領域の境界ポリラインを構成する頂点座標インデックス配列を読み込み、前記境界ポリラインを構成する頂点座標インデックス配列から三角形メッシュを構成する頂点座標インデックス配列を生成する、
三角形メッシュ上の領域に対応する曲面情報が保存されていない場合は、三角形メッシュを構成する頂点座標インデックス配列を読み込むことを特徴とする三角形メッシュデータ伸張方法。
【請求項１２】
請求項１１に記載の三角形メッシュデータ伸張方法において、前記境界ポリラインを構成する頂点座標インデックス配列から三角形メッシュを構成する頂点座標インデックス配列を生成する方法は、前記領域の曲面情報と境界情報を用いて境界ポリラインのペアを作成し、前記ペアの境界ポリラインを用いて、このペアの境界ポリライン間を埋める三角形メッシュを生成することを特徴とする三角形メッシュデータ伸張方法。
【請求項１３】
請求項１２に記載の三角形メッシュデータ伸張方法において、前記曲面情報と境界情報を用いて境界ポリラインのペアを作成する方法は、前記曲面情報が平面である場合は、境界が外部境界１本であれば、外部境界を２分割して境界ポリラインのペアとし、境界が外部境界と内部境界１本ずつであれば、それぞれの境界を併せて境界ポリラインのペアとする、
前記曲面情報が円柱面である場合は、境界が外部境界２本であれば、それぞれの境界を併せて境界ポリラインのペアとする、
前記曲面情報が円錐面である場合は、境界が外部境界１本であれば、外部境界と円錐面の先端を境界ポリラインのペアとし、境界が外部境界２本であれば、それぞれの境界を併せて境界ポリラインのペアとすることを特徴とする三角形メッシュデータ伸張方法。
【請求項１４】
請求項１２に記載の三角形メッシュデータ伸張方法において、前記ペアの境界ポリラインを用いて、このペアの境界ポリライン間を埋める三角形メッシュを生成する方法は、
まず、前記境界ポリラインが閉じている場合、２本の境界ポリラインの頂点同士で、曲面パラメータ空間上での距離が最も短い頂点（カレント頂点１、カレント頂点２）を求め、それらの頂点間を繋いで辺を生成し、カレント頂点１を終了点１として保存し、カレント頂点２を終了点２として保存する、
前記境界ポリラインが開いる場合、一方の境界ポリライン（ポリライン１）を構成する頂点の終点をカレント頂点１とし、他方の境界ポリライン（ポリライン２）を構成する頂点の始点をカレント頂点２として、カレント頂点１とカレント頂点２の間を繋いで辺を生成し、ポリライン１を構成する頂点の始点を終了点１として保存し、ポリライン２を構成する頂点の終点を終了点２として保存する、
次に、
カレント頂点１からポリライン２のカレント頂点２の始点に近い方の隣接する候補頂点２への距離およびカレント頂点２からポリライン１のカレント頂点１の終点に近い方の隣接する候補頂点１への距離を曲面パラメータ空間上で計算し、
（１）頂点ペアを結んだ線分が境界ポリラインに交差しなければ、その頂点ペアを結んで辺を生成して三角形メッシュを生成し、
（イ）辺を生成した候補頂点が終了点でない場合、その候補頂点を新たにカレント頂点とし、そのカレント頂点に隣接する頂点を新たに候補頂点とする、
（ロ）辺を生成した候補頂点が終了点である場合、その候補頂点を新たにカレント頂点とし、候補頂点は存在しないものとする、
（２）頂点ペアを結んだ線分がポリラインに交差すれば、
（イ）交差したポリライン上の候補頂点が終了点でない場合、交差したポリライン上のカレント頂点と候補頂点に隣接する頂点を結んで辺を生成することにより三角形メッシュを生成し、辺を生成した候補頂点に隣接する頂点を新たに候補頂点にし、元の候補頂点をポリラインから削除する、
（ロ）交差したポリライン上の候補頂点が終了点である場合、候補頂点は存在しないものとし、終了点をカレント頂点により更新し、元の候補頂点をポリラインから削除する、
上記の（１）または（２）の結果、どちらか一方でもカレント頂点が終了点ではない場合、
候補頂点が２つとも存在すれば、最短距離ペアの取得以降の処理を繰り返し、
候補頂点が２つ存在しなければ、存在する候補頂点と、逆のポリライン上のカレント頂点をペアとして取得して、ペア間の線分の交差判定以降を繰り返し、
上記の（１）または（２）の結果、いずれもカレント頂点が終了点である場合には処理を終了することを特徴とする三角形メッシュデータ伸張方法。
【請求項１５】
請求項１４に記載の三角形メッシュデータ伸張方法において、前記線分とポリラインの交差判定方法は、三角形を構成する３頂点のうち２頂点を含む２つの境界ポリラインから三角形を仮に生成し、曲面パラメータ空間上で、三角形を構成する頂点の格納順に逐次、次の頂点座標から前の頂点座標を減ずることで得られる２本のベクトルの外積ベクトルを計算することにより三角形の法線ベクトルを計算し、前記外積ベクトルのＺ成分が負ならば交差したと判定し、正ならば交差しないと判定することを特徴とする三角形メッシュデータ伸張方法。
【請求項１６】
請求項１４に記載の三角形メッシュデータ伸張方法において、前記三角形を生成するとき、この三角形を構成する頂点の格納順序を、この三角形を構成する３頂点のうち２頂点を含む境界ポリライン上における順序と同じにすることを特徴とする三角形メッシュデータ伸張方法。
【請求項１７】
コンピュータに、請求項１０に記載された三角形メッシュデータ圧縮方法を実行させるためのプログラム。
【請求項１８】
請求項１７に記載の三角形メッシュデータ圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１９】
コンピュータに、請求項１１乃至１６のいずれか１に記載された三角形メッシュデータ伸張方法を実行させるためのプログラム。
【請求項２０】
請求項１９に記載の三角形メッシュデータ伸張プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２１】
ｎ次元空間の三角形メッシュのデータを圧縮および／または伸張する１つ以上のコンピュータシステムであって、各コンピュータシステムは、プロセスを実行する中央処理装置と、記憶装置と、前記記憶装置に格納された請求項１７記載のプログラムと、前記記憶装置に格納された請求項１９記載のプログラムと、前記記憶装置に格納された請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造を持つ三角形メッシュデータとを有することを特徴とするシステム。
【請求項２２】
請求項２１に記載のシステムにおいて、２つ以上のコンピュータシステムが通信リンクで接続されたことを特徴とするシステム。
【請求項２３】
請求項２２に記載のシステムにおいて、前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンクおよびシリアル通信リンクのいずれかを含むことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステムに関し、具体的には、３次元形状モデル生成装置や３次元形状モデル表示装置等に利用可能な三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステムに関し、形状計測装置や仮想現実感装置にも応用できる。
【０００２】
【従来の技術】
曲面および曲線は、３次元形状モデルを表現する手段としてＣＡＤ（ＣｏｍｐｕｔｅｒＡｉｄｅｄ　Ｄｅｓｉｇｎ）で広く利用されている（例えば、非特許文献１参照）。３次元形状モデルを表示するためには、曲面を三角形メッシュ形式のデータに、曲線をワイヤーフレーム形式のデータに変換して行うのが一般的である。
【０００３】
また、近年、設計部門以外での利用も視野に入れたＣＡＤデータ専用ビューワ（３Ｄビューワ）も登場している。
また、三角形メッシュ形式およびワイヤーフレーム形式により構成されるビューワ専用ファイルを用いるビューワは、一旦、ＣＡＤファイルから専用ファイルに変換しておけば、毎回の変換プロセスを省略でき、ＣＡＤビューワよりも高速な表示を実現している。
【０００４】
この３Ｄビューワでは表示に必要のないデータを省略し、さらに圧縮を行うことにより、表示の高速化およびデータの軽量化を実現しているものもある。
しかし、３次元形状モデルの利用が高まり、大規模で複雑な３次元形状モデルを扱うようになるにしたがってデータ量が増加する傾向にあり、さらにデータを圧縮することが望まれている。
【０００５】
【非特許文献１】
鳥谷浩志・千代倉弘明「３次元ＣＡＤの基礎と応用」、共立出版、
１９９１年。
【０００６】
【発明が解決しようとする課題】
本発明は、上述の実情を考慮してなされたものであって、データサイズが増大してもハードディスク等の保存装置のスペース効率、表示速度および転送速度を低下させることなく、ｎ次元空間の三角形メッシュデータの圧縮、保存、転送、伸張の処理を施すことができる三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上述の課題を解決するために、本発明の請求項１の三角形メッシュのデータ構造は、ｎ次元空間の三角形メッシュを表すデータ構造であって、三角形メッシュの頂点位置における座標を表す頂点座標テーブルと、三角形メッシュ上の領域ごとの曲面情報を表す曲面情報テーブルと、境界ポリラインを表す頂点座標インデックス配列と、三角形メッシュを表す頂点座標インデックス配列とを含んでなることを特徴とする。
【０００８】
また、本発明の請求項２は、請求項１に記載の三角形メッシュのデータ構造において、前記頂点座標テーブルは、浮動小数点表現および／またはベクトル量子化圧縮がなされていることを特徴とする。
【０００９】
また、本発明の請求項３は、請求項１に記載の三角形メッシュのデータ構造において、前記曲面情報テーブルは、三角形メッシュの領域数と、前記領域ごとにその領域の示す曲面タイプが所定の複数種類のタイプのいずれかであることを表す曲面タイプフラグ配列と、前記曲面タイプが示す曲面の種類ごとに、三角形メッシュの向きを表す向きフラグ配列と、前記曲面タイプごとの曲面配列とを含んでなることを特徴とする。
【００１０】
また、本発明の請求項４は、請求項３に記載の三角形メッシュのデータ構造において、前記曲面タイプは、平面、円柱面、円錐面とし、前記曲面タイプごとの曲面配列は、平面を表す平面配列と、円柱面を表す円柱面配列と、円錐面を表す円錐面配列とからなり、前記平面配列の各要素は、原点座標と法線ベクトルを持ち、前記円柱面配列の各要素は、中心座標と軸ベクトルと半径値を持ち、前記円錐面配列の各要素は、頂点座標と軸ベクトルと軸方向に１進んだ場所での半径値を持つことを特徴とする。
【００１１】
また、本発明の請求項５は、請求項１に記載の三角形メッシュのデータ構造において、前記境界ポリラインを表す頂点座標インデックス配列は、インデックスラインストリップ形式またはインデックスラインセット形式のいずれかであることを特徴とする。
【００１２】
また、本発明の請求項６は、請求項１に記載の三角形メッシュのデータ構造において、前記三角形メッシュを表す頂点座標インデックス配列は、三角形インデックスセット形式、三角形インデックスストリップ形式または三角形インデックスファン形式のいずれかであることを特徴とする。
【００１３】
また、本発明の請求項７は、請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造において、三角形メッシュをコンピュータの記憶装置に保存するために用いられることを特徴とする。
また、本発明の請求項８は、請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して送信されることを特徴とする。
また、本発明の請求項９は、請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して受信されることを特徴とする。
【００１４】
また、本発明の請求項１０の三角形メッシュデータ圧縮方法は、曲面から生成した三角形メッシュデータを圧縮する三角形メッシュデータ圧縮方法において、三角形メッシュの頂点位置における座標の情報からなる頂点座標テーブルを保存し、三角形メッシュ上の領域ごとの曲面情報を表す曲面情報テーブルを保存し、前記領域について、
（１）曲面情報が平面であり、境界を構成する外部境界が１本である
（２）曲面情報が平面であり、外部境界と内部境界が１本ずつである
（３）曲面情報が円柱面であり、境界を構成する外部境界が２本である
（４）曲面情報が円錐面であり、境界を構成する外部境界が１本である
（５）曲面情報が円錐面であり、境界を構成する外部境界が２本である
のいずれかであるとき、この領域の境界ポリラインを構成する頂点座標インデックス配列を保存し、
前記領域について、上記（１）から（５）のいずれでもないときには、三角形を構成する頂点座標インデックス配列を保存することを特徴とする。
【００１５】
また、本発明の請求項１１の三角形メッシュデータ伸張方法は、曲面から生成した三角形メッシュデータを伸張する三角形メッシュデータ伸張方法において、三角形メッシュの頂点位置における座標の情報からなる頂点座標テーブルを読み込み、三角形メッシュ上の領域に対応する曲面情報が保存されている場合は、この領域の曲面情報を読み込み、この領域の境界ポリラインを構成する頂点座標インデックス配列を読み込み、前記境界ポリラインを構成する頂点座標インデックス配列から三角形メッシュを構成する頂点座標インデックス配列を生成する、
三角形メッシュ上の領域に対応する曲面情報が保存されていない場合は、三角形メッシュを構成する頂点座標インデックス配列を読み込むことを特徴とする。
【００１６】
また、本発明の請求項１２は、請求項１１に記載の三角形メッシュデータ伸張方法において、前記境界ポリラインを構成する頂点座標インデックス配列から三角形メッシュを構成する頂点座標インデックス配列を生成する方法は、前記領域の曲面情報と境界情報を用いて境界ポリラインのペアを作成し、前記ペアの境界ポリラインを用いて、このペアの境界ポリライン間を埋める三角形メッシュを生成することを特徴とする。
【００１７】
また、本発明の請求項１３は、請求項１２に記載の三角形メッシュデータ伸張方法において、前記曲面情報と境界情報を用いて境界ポリラインのペアを作成する方法は、
前記曲面情報が平面である場合は、境界が外部境界１本であれば、外部境界を２分割して境界ポリラインのペアとし、境界が外部境界と内部境界１本ずつであれば、それぞれの境界を併せて境界ポリラインのペアとする、
前記曲面情報が円柱面である場合は、境界が外部境界２本であれば、それぞれの境界を併せて境界ポリラインのペアとする、
前記曲面情報が円錐面である場合は、境界が外部境界１本であれば、外部境界と円錐面の先端を境界ポリラインのペアとし、境界が外部境界２本であれば、それぞれの境界を併せて境界ポリラインのペアとすることを特徴とする。
【００１８】
また、本発明の請求項１４は、請求項１２に記載の三角形メッシュデータ伸張方法において、前記ペアの境界ポリラインを用いて、このペアの境界ポリライン間を埋める三角形メッシュを生成する方法は、
まず、前記境界ポリラインが閉じている場合、２本の境界ポリラインの頂点同士で、曲面パラメータ空間上での距離が最も短い頂点（カレント頂点１、カレント頂点２）を求め、それらの頂点間を繋いで辺を生成し、カレント頂点１を終了点１として保存し、カレント頂点２を終了点２として保存する、
前記境界ポリラインが開いる場合、一方の境界ポリライン（ポリライン１）を構成する頂点の終点をカレント頂点１とし、他方の境界ポリライン（ポリライン２）を構成する頂点の始点をカレント頂点２として、カレント頂点１とカレント頂点２の間を繋いで辺を生成し、ポリライン１を構成する頂点の始点を終了点１として保存し、ポリライン２を構成する頂点の終点を終了点２として保存する、
次に、
カレント頂点１からポリライン２のカレント頂点２の始点に近い方の隣接する候補頂点２への距離およびカレント頂点２からポリライン１のカレント頂点１の終点に近い方の隣接する候補頂点１への距離を曲面パラメータ空間上で計算し、
（１）頂点ペアを結んだ線分が境界ポリラインに交差しなければ、その頂点ペアを結んで辺を生成して三角形メッシュを生成し、
（イ）辺を生成した候補頂点が終了点でない場合、その候補頂点を新たにカレント頂点とし、そのカレント頂点に隣接する頂点を新たに候補頂点とする、
（ロ）辺を生成した候補頂点が終了点である場合、その候補頂点を新たにカレント頂点とし、候補頂点は存在しないものとする、
（２）頂点ペアを結んだ線分がポリラインに交差すれば、
（イ）交差したポリライン上の候補頂点が終了点でない場合、交差したポリライン上のカレント頂点と候補頂点に隣接する頂点を結んで辺を生成することにより三角形メッシュを生成し、辺を生成した候補頂点に隣接する頂点を新たに候補頂点にし、元の候補頂点をポリラインから削除する、
（ロ）交差したポリライン上の候補頂点が終了点である場合、候補頂点は存在しないものとし、終了点をカレント頂点により更新し、元の候補頂点をポリラインから削除する、
上記の（１）または（２）の結果、どちらか一方でもカレント頂点が終了点ではない場合、
候補頂点が２つとも存在すれば、最短距離ペアの取得以降の処理を繰り返し、
候補頂点が２つ存在しなければ、存在する候補頂点と、逆のポリライン上のカレント頂点をペアとして取得して、ペア間の線分の交差判定以降を繰り返し、
上記の（１）または（２）の結果、いずれもカレント頂点が終了点である場合には処理を終了することを特徴とする。
【００１９】
また、本発明の請求項１５は、請求項１４に記載の三角形メッシュデータ伸張方法において、前記線分とポリラインの交差判定方法は、三角形を構成する３頂点のうち２頂点を含む２つの境界ポリラインから三角形を仮に生成し、曲面パラメータ空間上で、三角形を構成する頂点の格納順に逐次、次の頂点座標から前の頂点座標を減ずることで得られる２本のベクトルの外積ベクトルを計算することにより三角形の法線ベクトルを計算し、前記外積ベクトルのＺ成分が負ならば交差したと判定し、正ならば交差しないと判定することを特徴とする。
【００２０】
また、本発明の請求項１６は、請求項１４に記載の三角形メッシュデータ伸張方法において、前記三角形を生成するとき、この三角形を構成する頂点の格納順序を、この三角形を構成する３頂点のうち２頂点を含む境界ポリライン上における順序と同じにすることを特徴とする。
【００２１】
また、本発明の請求項１７のプログラムは、コンピュータに、請求項１０に記載された三角形メッシュデータ圧縮方法を実行させるためのプログラムである。また、本発明の請求項１８の記録媒体は、請求項１７に記載の三角形メッシュデータ圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体である。また、本発明の請求項１９のプログラムは、コンピュータに、請求項１１乃至１６のいずれか１に記載された三角形メッシュデータ伸張方法を実行させるためのプログラムである。
また、本発明の請求項２０の記録媒体は、請求項１９に記載の三角形メッシュデータ伸張プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００２２】
また、本発明の請求項２１のシステムは、ｎ次元空間の三角形メッシュのデータを圧縮および／または伸張する１つ以上のコンピュータシステムであって、各コンピュータシステムは、プロセスを実行する中央処理装置と、記憶装置と、前記記憶装置に格納された請求項１７記載のプログラムと、前記記憶装置に格納された請求項１９記載のプログラムと、前記記憶装置に格納された請求項１乃至６のいずれか１に記載の三角形メッシュのデータ構造を持つ三角形メッシュデータとを有することを特徴とする。
また、本発明の請求項２２は、請求項２１に記載のシステムにおいて、２つ以上のコンピュータシステムが通信リンクで接続されたことを特徴とする。
また、本発明の請求項２３は、請求項２２に記載のシステムにおいて、前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンクおよびシリアル通信リンクのいずれかを含むことを特徴とする。
【００２３】
以上のような構成により、三角形メッシュの圧縮および伸張を行なうことができる。
三角形メッシュのデータ構造を使用すると、データサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
また、データサイズが減少したため、表示速度および転送速度が向上する。
さらに、３次元ＣＡＤシステムに三角形メッシュのデータ構造を使用することによって、コンパクトな３次元データを実現できる。
【００２４】
【発明の実施の形態】
以下の（１）〜（１０）の前提に基づき、本発明の構成および動作を説明する。
（１）本発明で扱う曲線および曲面は、一般的な３次元ＣＡＤシステムで扱えるものであり、ＣＡＤシステムにおいては、曲面（ｓｕｒｆａｃｅ）は面（ｆａｃｅ）により、曲線（ｃｕｒｖｅ）は稜線（ｅｄｇｅ）により、それぞれ保持されているものとする。
【００２５】
（２）ＣＡＤシステムにおいては、面の境界には必ず稜線が存在するので、曲面の境界をあらわす曲線は得ることができるものとする。
（３）ＣＡＤシステムにおいて、３次元空間上の点から曲線パラメータ空間、曲面パラメータ空間におけるパラメータ座標もそれぞれ得ることができるものとする。
【００２６】
（４）ＣＡＤシステムにおいて、円のような周期的曲線や、円柱・円錐・球面のような周期的曲面が存在するが、これらの周期性の方向を得ることができるものとする。
（５）本発明で扱う三角形メッシュとは、ＣＡＤの曲面データを近似した三角形の集まりである。
（６）本発明で扱うワイヤーフレームとは、ＣＡＤの曲線データを近似したライン（線分）またはポリライン（折れ線を表す連結された線分）の集まりである。
【００２７】
（７）本発明で扱う境界ポリラインは、面の境界を表す稜線が保持している曲線から生成したもので、面が保持する曲面ごとに向きを持った閉じたループを構成できるものとする。
閉じたループの向きは、曲面の外部境界を表す外側の境界ポリラインの場合、反時計回りとする（図１５参照）。逆に曲面の内部境界を表す内側の境界ポリラインの場合、時計回りとする（図１５参照）。ただし、３次元空間において円錐台の側面を構成する円錐面、円柱の側面を構成する円柱面の場合は（図１６（Ａ）参照）、外部境界が２つあるとし、図１５と同様にＵ、Ｖによるパラメータ空間では境界ポリラインの向きを反時計回りとする（図１６（Ｂ）参照）。
【００２８】
（８）閉じたポリライン、開いたポリラインの区別は、ポリラインに付加したフラグより識別できるものとする。また、ポリラインの向きはポリラインを構成する頂点の格納順により表現するものとする。
（９）本発明で扱う三角形は、面の表の方向からみて反時計回りに頂点を格納するものとする（図１７参照）。
（１０）“Ａ　ｍｏｄ　Ｂ”の標記は、「整数Ａを整数Ｂで割った余り」を意味するものとする。
【００２９】
図１は、本発明の一実施形態に係るｎ次元空間の三角形メッシュのデータ構造を説明するための図である。
ｎ次元空間の三角形メッシュのデータ構造は、三角形メッシュの頂点位置における座標からなる頂点座標テーブルと、三角形メッシュ上の領域ごとの曲面情報テーブルと、境界ポリラインを表す頂点座標インデックス配列と、三角形メッシュを表す頂点座標インデックス配列から構成される。
【００３０】
図２は、図１のｎ次元空間の三角形メッシュのデータ構造における頂点座標テーブルのデータ構造を説明するための図である。
図２に示した頂点座標テーブルには、頂点座標の数（＝ｎ）と、頂点座標０から頂点座標ｎ−１の順に格納されている。また、これらの頂点座標は、それぞれ（ｘ成分、ｙ成分、ｚ成分）の３成分から構成され、各成分は浮動小数点あるいはベクトル量子化圧縮が行われている。
【００３１】
図３は、図１のｎ次元空間の三角形メッシュのデータ構造における曲面情報テーブルのデータ構造を説明するための図である。
図３に示した曲面情報テーブルのデータ構造には、三角形メッシュの領域数（＝ｎａ）と、領域０に対応する曲面タイプフラグ０から領域ｎａ−１に対応する曲面タイプフラグｎａ−１までの曲面タイプフラグ配列（要素数＝ｎａ）と、向きフラグ０から向きフラグｎｓｆ−１までの三角形メッシュの向きフラグ配列（要素数＝ｎｓｆ＝ｎｐｌ＋ｎｃｙ＋ｎｃｏ）と、平面０から平面ｎｐｌ−１までの平面配列（要素数＝ｎｐｌ）と、円柱０から円柱ｎｃｙ−１までの円柱面配列（要素数＝ｎｃｙ）と、円錐面０から円錐面ｎｃｏ−１までの円錐面配列（要素数＝ｎｃｏ）から構成される。
【００３２】
曲面タイプフラグ配列（要素数＝ｎａ）の各要素は、三角形メッシュの各領域に対応し、その領域の曲面タイプを平面、円柱面、円錐面、その他曲面を表す４種類の整数値のいずれかで表す。
三角形メッシュの向きフラグ配列（要素数＝ｎｓｆ）は、三角形メッシュの各領域の曲面タイプが示す曲面の種類（平面、円柱面、円錐面）ごとに、三角形メッシュの各領域の向きを表し、各フラグは三角形メッシュの向きと曲面の向きが一致するか否かを表す論理値である。
【００３３】
図４は、図３の曲面情報テーブルのデータ構造における平面配列（要素数＝ｎｐｌ）、円柱面配列（要素数＝ｎｃｙ）、円錐面配列（要素数＝ｎｃｏ）の各データ構造の各要素を説明する図である。
平面配列（要素数＝ｎｐｌ）の各要素は、原点座標のｘ、ｙ、ｚ成分と法線ベクトルのｘ、ｙ、ｚ成分から構成される。
円柱面配列（要素数＝ｎｃｙ）の各要素は、中心座標のｘ、ｙ、ｚ成分、軸ベクトルのｘ、ｙ、ｚ成分、半径値から構成される。
円錐面配列（要素数＝ｎｃｏ）の各要素は、頂点座標のｘ、ｙ、ｚ成分、軸ベクトルのｘ、ｙ、ｚ成分、軸ベクトル方向に１進んだ場所での半径値から構成される。各値はすべて浮動小数点形式で格納される。
【００３４】
図５は、図１のｎ次元空間の三角形メッシュのデータ構造における境界ポリラインおよび三角形メッシュそれぞれの頂点座標インデックステーブルのデータ構造を説明するための図である。
境界ポリライン頂点座標インデックステーブルおよび三角形メッシュ頂点座標インデックステーブルはそれぞれ、頂点座標インデックス数（＝ｎｖ）と、頂点座標インデックス０から頂点座標インデックスｎｖ−１までのインデックスの値が整数値で格納されている。
【００３５】
境界ポリライン頂点座標インデックステーブルは、インデックスラインセット形式またはインデックスラインストリップ形式のいずれかの形式で表される。
インデックスラインセット形式は、線分の始点座標、終点座標を格納している頂点座標テーブルへのインデックスが順に格納される。
インデックスラインストリップ形式は、ポリラインの各頂点座標を格納している頂点座標テーブルへのインデックス＋１およびストリップの最後を表すデリミタ（＝０）が格納される。
【００３６】
三角形メッシュ頂点座標インデックステーブルは、三角形インデックスセット形式、三角形インデックスストリップ形式または三角形インデックスファン形式のいずれかの形式で表される。
三角形インデックスセット形式は、各三角形の頂点座標を格納している頂点座標テーブルへのインデックスが格納される。
三角形インデックスストリップ形式または三角形インデックスファン形式は、三角形の頂点座標を格納している頂点座標テーブルへのインデックス＋１およびストリップまたはファンの最後を表すデリミタ（＝０）が格納される。
また、三角形は、メッシュ上の領域ごとにまとまって格納される。
【００３７】
上述の三角形メッシュのデータ構造を用いることで、三角形メッシュのデータ圧縮および伸張が可能となり、データサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
以下、上述した三角形メッシュのデータ構造をもとに、三角形メッシュデータの圧縮方法および伸張方法を説明する。
【００３８】
図６は、本発明の実施形態に係る三角形メッシュのデータの圧縮方法を説明するためのフローチャートである。
まず、三角形メッシュの頂点位置における座標からなる頂点座標テーブルを図２の形式で保存する（ステップＳ１）。
次に、三角形メッシュ上の領域ごとに曲面情報と境界情報に応じて頂点座標インデックス配列の保存処理を行なうため、カウンタｉを０に初期化する（ステップＳ２）。
カウンタｉが領域数ｎより小さいかを判定し（ステップＳ３）、カウンタｉが領域数ｎより小さい場合（ステップＳ３のＹＥＳ）、領域ｉの曲面情報と境界情報とが次に示す５つの条件のいずれかであるかを調べる（ステップＳ４）。
（１）曲面情報が平面であり、境界を構成する外部境界が１本である、
（２）曲面情報が平面であり、外部境界と内部境界が１本ずつである、
（３）曲面情報が円柱面であり、境界を構成する外部境界が２本である、
（４）曲面情報が円錐面であり、境界を構成する外部境界が１本である、
（５）曲面情報が円錐面であり、境界を構成する外部境界が２本である、
上記のいずれかの場合（ステップＳ４のＹＥＳ）、領域ｉの曲面情報を図３の形式で保存し（ステップＳ５）、領域ｉの境界ポリラインを構成する頂点座標インデックス配列を図５の形式で保存する（ステップＳ６）。
【００３９】
一方、曲面情報と境界情報が前述（１）から（５）のいずれでもない場合（ステップＳ４のＮＯ）、領域ｉの三角形を構成する頂点座標インデックス配列を図５の形式で保存する（ステップＳ７）。
【００４０】
ステップＳ６またはステップＳ７の後、カウンタｉを１増加し（ステップＳ８）、再びステップＳ３へ戻り、領域数がｎになるまでステップＳ３からＳ８を繰り返す。
以上により、曲面から生成した三角形メッシュデータを圧縮することができる。
【００４１】
図７は、本発明の実施形態に係る三角形メッシュデータの伸張方法を説明するためのフローチャートである。
まず、図２の形式の三角形メッシュの頂点位置における座標からなる頂点座標テーブルを読み込む（ステップＳ１１）。
次いで、三角形メッシュ上の領域ごとに頂点座標インデックステーブルを読み込むために、カウンタｉを０で初期化する（ステップＳ１２）。
【００４２】
カウンタｉが領域数ｎより小さいかを判定し（ステップＳ１３）、カウンタｉが領域数ｎより小さい場合（ステップＳ１３のＹＥＳ）、領域ｉの曲面情報が保存されているかを調べる（ステップＳ１４）。
領域ｉに対する曲面情報が保存されている場合（ステップＳ１４のＹＥＳ）、領域ｉの曲面情報を読み込み（ステップＳ１５）、領域ｉの境界ポリラインを構成する頂点座標インデックス配列を読み込み（ステップＳ１６）、境界ポリラインを構成する頂点座標インデックス配列から、三角形メッシュを構成する頂点座標インデックス配列を生成する（ステップＳ１７）。
【００４３】
一方、領域ｉに対する曲面情報が保存されていない場合（ステップＳ１４のＮＯ）、三角形を構成する頂点座標インデックス配列を読み込む（ステップＳ１８）。
【００４４】
ステップＳ１７またはステップＳ１８の後、カウンタｉを１増加し（ステップＳ１９）、再びステップＳ１３へ戻り、領域数がｎになるまでステップＳ１３からＳ１９を繰り返す。
以上により、三角形メッシュデータ圧縮方法によって作成された圧縮データを伸張することができる。
【００４５】
図８は、図７のステップＳ１５からＳ１７で読み込まれた曲面の境界ポリラインから三角形メッシュを生成する方法を説明するためのフローチャートである。まず、対象領域の曲面情報と境界情報を用いて、境界ポリラインのペアを作成する（ステップＳ２１）。
次いで、作成した境界ポリラインのペアを用いて、このペアの境界ポリライン間を埋める三角形メッシュを生成する（ステップＳ２２）。
以上により、三角形メッシュを生成することができる。
【００４６】
図９は、図８のステップＳ２１における曲面情報と境界情報を用いて境界ポリラインのペアを作成する方法を説明するためのフローチャートである。
まず、曲面情報が平面である場合（ステップＳ３１のＹＥＳ）、境界が外部境界１本であるかを調べる（ステップＳ３２）。
境界が外部境界１本であれば（ステップＳ３２のＹＥＳ）、外部境界を２分割して開いた境界ポリラインを作成し、これらをペアとする。ここで、分割は、１本のポリラインの端点がもう一本のポリラインの端点と重複するように行い、ポリラインの向きを分割前と同一とする（ステップＳ３３）。
【００４７】
一方、境界が外部境界１本でない場合（ステップＳ３２のＮＯ）、外部境界と内部境界が１本ずつであるので、それぞれの境界を併せて境界ポリラインのペアとする（ステップＳ３４）。
【００４８】
曲面情報が円柱面である場合（ステップＳ３５のＹＥＳ）、境界が外部境界２本であるので、それぞれの境界を併せて境界ポリラインのペアとする（ステップＳ３６）。
曲面情報が平面でも円柱面でもない場合（ステップＳ３５のＮＯ）、必ず円錐面であるから、境界が外部境界１本である場合（ステップＳ３７のＹＥＳ）は、外部境界と円錐面の先端を境界ポリラインのペアとする（ステップＳ３８）。
曲面情報が円錐面で、境界が外部境界１本でない場合（ステップＳ３７のＮＯ）、外部境界が２本であるので、それぞれの境界を併せて境界ポリラインのペアとする（ステップＳ３９）。
以上により、境界ポリラインのペアを作成することができる。
【００４９】
図１０は、図８のステップＳ２２における２本のポリライン間に三角形メッシュを生成する方法を説明するためのフローチャートである。
以下の処理では、ｎ１，ｎ２をそれぞれポリライン１、ポリライン２を構成する頂点の数として説明する。
【００５０】
ペアの境界ポリラインが閉じている場合（ステップＳ４１のＹＥＳ）、２本の境界ポリラインの頂点同士で、曲面パラメータ空間上での距離が最も短い頂点をカレント頂点１、カレント頂点２として求め、その頂点間を繋いで辺を生成する（ステップＳ４２）。
このときのカレント頂点１のポリライン１上での位置をｉ（０≦ｉ≦ｎ１−１）とし、このときのカレント頂点２のポリライン２上での位置をｊ（０≦ｊ≦ｎ２−１）とし、カレント頂点１を終了点１として保存し、カレント頂点２を終了点２として保存する（ステップＳ４３）。
【００５１】
一方、ペアの境界ポリラインが開いている場合（ステップＳ４１のＮＯ）、ポリライン１を構成する頂点の終点をカレント頂点１とし、ポリライン２を構成する頂点の始点をカレント頂点２とし、カレント頂点１、カレント頂点２の間を繋いで辺を生成する（ステップＳ４４）。このときのカレント頂点１のポリライン１上での位置をｉ（＝ｎ１−１）とし、このときのカレント頂点２のポリライン２上での位置をｊ（＝０）とする。
ポリライン１を構成する頂点の始点を終了点１として保存し、ポリライン２を構成する頂点の終点を終了点２として保存する（ステップＳ４５）。
【００５２】
以後、頂点数がｎ１個のポリライン１においては、ｉ（０≦ｉ≦ｎ１−１）番目の頂点に隣接する頂点を（（ｉ−１）　ｍｏｄ　ｎ１）番目の頂点として求め、頂点数がｎ２個のポリライン２においては、ｊ（０≦ｊ≦ｎ２−１）番目の頂点に隣接する頂点を（（ｊ＋１）　ｍｏｄ　ｎ２）番目の頂点として求めるものとする。
【００５３】
カレント頂点１からポリライン２のカレント頂点２に隣接する候補頂点２への線分の距離およびカレント頂点２からポリライン１のカレント頂点１に隣接する候補頂点１への線分の距離を曲面パラメータ空間上で計算し、短いほうの線分の頂点ペアを取得する（図１１（Ａ）参照）（ステップＳ４６）。
【００５４】
取得した頂点ペアを結んだ線分がポリラインに交差しなければ（ステップＳ４７のＹＥＳ）、その頂点ペアを結んで辺を生成することで三角形メッシュを生成し（図１１（Ｂ）参照）（ステップＳ４８）、辺を生成した候補頂点が終了点である場合（ステップＳ４９のＹＥＳ）、その候補頂点を新たにカレント頂点とする（ステップＳ５０）。このとき候補頂点は存在しないものとする。
また、辺を生成した候補頂点が終了点でない場合（ステップＳ４９のＮＯ）、その候補頂点を新たにカレント頂点とし、そのカレント頂点に隣接する頂点を新たに候補頂点とする（図１１（Ｂ）参照）（ステップＳ５１）。
【００５５】
一方、取得した頂点ペアを結んだ線分がポリラインに交差すれば（ステップＳ４７のＮＯ）、交差したポリライン上の候補頂点が終了点でない場合（ステップＳ５２のＮＯ）、交差したポリライン上のカレント頂点と候補頂点に隣接する頂点を結んで辺を生成することにより三角形メッシュを生成し（図１１（Ｃ）、（Ｄ）参照）（ステップＳ５３）、辺を生成した候補頂点に隣接する頂点を新たに候補頂点とし、元の候補頂点をポリラインから削除する（図１１（Ｄ）参照）（ステップＳ５４）。
交差したポリライン上の候補頂点が終了点である場合（ステップＳ５２のＹＥＳ）、終了点をカレント頂点により更新し、元の候補頂点をポリラインから削除する（ステップＳ５５）。このとき候補頂点は存在しないものとする。
【００５６】
どちらか一方でもカレント頂点が終了点ではない場合（ステップＳ５６のＹＥＳ）、候補頂点が２つとも存在するとき（ステップＳ５７のＹＥＳ）は、ステップＳ４６へ戻る。
また、候補頂点が２つ存在しない場合（ステップＳ５７のＮＯ）、存在する候補頂点と、逆のポリライン上のカレント頂点をペアとして取得し、ステップＳ４７へ戻る（ステップＳ５８）。
以上により三角形メッシュを生成できる。
【００５７】
図１０のステップＳ４８およびステップ５３で、２本の境界ポリライン間に三角形メッシュを生成する場合、三角形の頂点の格納順は、図１７に示す通り反時計回りにする必要がある（図１２参照）。そのために、三角形を構成する頂点の格納順序を、三角形を構成する３頂点のうち２頂点を含む境界ポリライン上における順序と同じにする。
ここで境界が外部ポリラインであるか内部ポリラインであるかの区別は必要ない。
【００５８】
図１３は、図１０における線分と境界ポリラインの交差判定方法を説明するためのフローチャートである。
三角形を構成する３頂点のうち２頂点を含む２つの境界ポリラインから三角形を仮に生成する（ステップＳ６１）。
曲面パラメータ空間上で、三角形を構成する頂点の格納順に逐次、次の頂点座標から前の頂点座標を減ずることで得られる２本のベクトルの外積ベクトルを計算して、三角形の法線ベクトルを計算する（ステップＳ６２）。
この外積ベクトルのＺ成分が負ならば（ステップＳ６３のＹＥＳ）、交差したと判定する。
一方、この外積ベクトルのＺ成分が正ならば（ステップＳ６３のＮＯ）、交差しないと判定する。
以上により線分とポリラインの交差判定ができる。
【００５９】
本発明は上述した実施形態のみに限定されたものではない。上述した実施形態を構成する圧縮方法または伸張方法の各機能をそれぞれプログラム化し、あらかじめＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、コンピュータに搭載したＣＤ−ＲＯＭドライブのような媒体駆動装置にこのＣＤ−ＲＯＭ等を装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００６０】
なお、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【００６１】
また、ロードしたプログラムを実行することにより上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６２】
また、上述した実施形態の機能を実現するプログラムが、機能拡張ボードや機能拡張ユニットに備わるメモリにロードされ、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって、上述した実施形態の機能が実現される場合も含まれる。
【００６３】
さらに、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、通信網で接続された利用者のコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【００６４】
また、上述した三角形メッシュデータ圧縮方法を実施するための第１のコンピュータと三角形メッシュデータ伸張方法を実施するための第２のコンピュータを通信リンクで接続し、第１のコンピュータで圧縮して得られる図１の形式で格納された圧縮データを通信リンクによって第２のコンピュータへ送る。
第２のコンピュータは、この圧縮データを受信し、伸張して三角形メッシュを生成する。
ここで、通信リンクの例として、シリアルリンク（ＲＳ−２３２）、パラレルリンク、無線リンク、赤外線リンク、ネットワーク（ローカルエリアネットワーク、広域ネットワーク、イントラネット、インターネット）がある。
このようにすると、一方のコンピュータで作成された曲面から作成された三角形メッシュデータの圧縮データを他方のコンピュータで受信して伸張することにより、表示や加工等を行うことができる。
【００６５】
図１４は、本発明を３次元ＣＡＤシステムに適用した場合の三角形メッシュの圧縮結果の表示例と、その圧縮結果を伸張した場合の表示例である。
図１４（Ａ）は、圧縮されたデータを伸張せずに表示したものであり、領域の境界ポリライン、曲面情報が存在しない領域の三角形メッシュを表示している。図１４（Ｂ）は、圧縮されたデータを伸張して表示したものであり、曲面情報が存在しない領域の三角形メッシュおよび領域の境界ポリラインから生成した三角形メッシュを表示している。
【００６６】
【発明の効果】
以上説明したように本発明によれば、三角形メッシュの圧縮および伸張を行なうことができる。
本発明の三角形メッシュのデータ構造を使用すると、データサイズが減少し、ハードディスク等保存装置のスペース効率が向上する。
また、データサイズが減少したため、表示速度および転送速度が向上する。
さらに、３次元ＣＡＤシステムに本発明の三角形メッシュのデータ構造を使用することによって、コンパクトな３次元データを実現できる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るｎ次元空間の三角形メッシュのデータ構造を説明するための図である。
【図２】図１のｎ次元空間の三角形メッシュのデータ構造における頂点座標テーブルのデータ構造を説明するための図である。
【図３】図１のｎ次元空間の三角形メッシュのデータ構造における曲面情報テーブルのデータ構造を説明するための図である。
【図４】図３の曲面情報テーブルのデータ構造における平面配列、円柱面配列、円錐面配列の各データ構造の各要素を説明するための図である。
【図５】図１のｎ次元空間の三角形メッシュのデータ構造における境界ポリラインおよび三角形メッシュそれぞれの頂点座標インデックステーブルのデータ構造を説明するための図である。
【図６】本発明の実施形態に係る三角形メッシュのデータの圧縮方法を説明するためのフローチャートである。
【図７】本発明の実施形態に係る三角形メッシュのデータの伸張方法を説明するためのフローチャートである。
【図８】図７の曲面の境界ポリラインから三角形メッシュを生成する方法を説明するためのフローチャートである。
【図９】図８の曲面情報と境界情報を用いて境界ポリラインのペアを作成する方法を説明するためのフローチャートである。
【図１０】図８の２本のポリライン間に三角形メッシュを生成する方法を説明するためのフローチャートである。
【図１１】２本のポリライン間に三角形メッシュを生成する方法を説明するための図である。
【図１２】２本のポリライン間に三角形メッシュを生成する方法を説明するための図である。
【図１３】線分とポリラインの交差判定方法を説明するためのフローチャートである。
【図１４】本発明を３次元ＣＡＤシステムに適用した場合の三角形メッシュの圧縮結果の表示例と、その圧縮結果を伸張した場合の表示例である。
【図１５】境界ポリラインの向きを説明するための図である。
【図１６】周期性を持つ境界ポリラインの向きを説明するための図である。
【図１７】三角形の頂点の格納順序を説明するための図である。
【図１】
2004102834.tif 000003
【図２】
2004102834.tif 000004
【図３】
2004102834.tif 000005
【図４】
2004102834.tif 000006
【図５】
2004102834.tif 000007
【図６】
2004102834.tif 000008
【図７】
2004102834.tif 000009
【図８】
2004102834.tif 000010
【図９】
2004102834.tif 000011
【図１０】
2004102834.tif 000012
【図１１】
2004102834.tif 000013
【図１２】
2004102834.tif 000014
【図１３】
2004102834.tif 000015
【図１４】
2004102834.tif 000016
【図１５】
2004102834.tif 000017
【図１６】
2004102834.tif 000018
【図１７】
2004102834.tif 000019