(57)【要約】【課題】三角形メッシュデータを表現する三角形ストリップ形式のまま、隣接三角形への参照を可能にする三角形メッシュのデータ構造を提供する。【解決手段】この三角形メッシュのデータ構造は、ｎ次元の座標を格納する座標テーブルと、ｎ次元のベクトルを格納するベクトルテーブルと、前記三角形メッシュの各三角形の頂点座標を格納した前記座標テーブルへのインデックスを三角形ストリップ形式により格納する頂点座標インデックステーブルと、前記三角形メッシュの頂点位置における法線ベクトルを格納した前記ベクトルテーブルへのインデックスを三角形ストリップ形式により格納する法線ベクトルインデックステーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとを含み、このデータ構造を用いてｎ次元空間の三角形メッシュデータを格納する。【選択図】　　　　図２
2004102763.tif 000002
【特許請求の範囲】
【請求項１】
ｎ次元空間の三角形メッシュを格納するデータ構造であって、ｎ次元の座標を格納する座標テーブルと、ｎ次元のベクトルを格納するベクトルテーブルと、前記三角形メッシュの各三角形の頂点座標を格納した前記座標テーブルへのインデックスを三角形ストリップ形式により格納する頂点座標インデックステーブルと、前記三角形メッシュの頂点位置における法線ベクトルを格納した前記ベクトルテーブルへのインデックスを三角形ストリップ形式により格納する法線ベクトルインデックステーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとを含むことを特徴とする三角形メッシュのデータ構造。
【請求項２】
ｎ次元空間の三角形メッシュを格納するデータ構造であって、前記三角形メッシュの各三角形の頂点座標を三角形ストリップ形式により格納する頂点座標テーブルと、前記三角形メッシュの各三角形の頂点位置における法線ベクトルを三角形ストリップ形式により格納する法線ベクトルテーブルと、前記頂点座標テーブルと前記法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズを格納するサイズテーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとを含むことを特徴とする三角形メッシュのデータ構造。
【請求項３】
請求項１または２に記載の三角形メッシュのデータ構造において、前記座標テーブル、前記ベクトルテーブル、前記頂点座標テーブル、前記法線ベクトルテーブルは、それぞれ浮動小数点表現および／またはベクトル量子化圧縮がなされていることを特徴とする三角形メッシュのデータ構造。
【請求項４】
請求項１、２または３に記載の三角形メッシュのデータ構造において、三角形メッシュデータをコンピュータの記憶装置に保存するために用いられることを特徴とする三角形メッシュのデータ構造。
【請求項５】
請求項１、２または３に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して送信されることを特徴とする三角形メッシュのデータ構造。
【請求項６】
請求項１、２または３に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して受信されることを特徴とする三角形メッシュのデータ構造。
【請求項７】
ｎ次元空間の三角形メッシュデータを生成する三角形メッシュデータ生成方法において、前記三角形メッシュの各三角形の頂点座標を座標テーブルに格納し、前記三角形メッシュの各三角形の頂点位置における法線ベクトルをベクトルテーブルに格納し、前記三角形メッシュの各三角形の頂点座標を格納した前記座標テーブルへのインデックスを三角形ストリップ形式により頂点座標インデックステーブルに格納し、前記三角形メッシュの頂点位置における法線ベクトルを格納した前記ベクトルテーブルへのインデックスを三角形ストリップ形式により法線ベクトルインデックステーブルに格納し、隣接三角形へのインデックスを三角形インデックステーブルに格納することを特徴とする三角形メッシュデータ生成方法。
【請求項８】
ｎ次元空間の三角形メッシュデータを生成する三角形メッシュデータ生成方法において、前記三角形メッシュの各三角形の頂点座標を三角形ストリップ形式により頂点座標テーブルに格納し、前記三角形メッシュの各三角形の頂点位置における法線ベクトルを三角形ストリップ形式により法線ベクトルテーブルに格納し、前記頂点座標テーブルと前記法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズをサイズテーブルに格納し、隣接三角形へのインデックスを三角形インデックステーブルに格納することを特徴とする三角形メッシュデータ生成方法。
【請求項９】
請求項７または８に記載の三角形メッシュデータ生成方法において、前記頂点座標インデックステーブルまたは前記座標テーブルをｔで表し、前記三角形インデックステーブルをａで表し、ある三角形の３つの頂点のうち最初の頂点が格納されているｔのインデックスをｉで表したとき、
前記隣接三角形へのインデックスを三角形インデックステーブルに格納する方法は、
（１）三角形ストリップの最初の三角形へのインデックスをｉｓとしたとき、この三角形の２頂点｛ｔ［ｉｓ］、ｔ［ｉｓ＋１］｝を共有する三角形のインデックスをａ［ｉｓ］に設定し、
（２）三角形ストリップのすべての三角形へのインデックスをｉとしたとき、これらの三角形の２頂点｛ｔ［ｉ］、ｔ［ｉ＋２］｝を共有する三角形のインデックスをａ［ｉ＋１］に設定し、
（３）三角形ストリップの最後の三角形へのインデックスをｉｅとしたとき、この三角形の２頂点｛ｔ［ｉｅ＋１］、ｔ［ｉｅ＋２］｝を共有する三角形のインデックスをａ［ｉｅ＋２］に設定することを特徴とする三角形メッシュデータ生成方法。
【請求項１０】
請求項７、８または９に記載の三角形メッシュデータ生成方法で生成された三角形メッシュデータの三角形に隣接した三角形を参照する三角形メッシュデータ参照方法において、前記頂点座標インデックステーブルまたは前記座標テーブルをｔで表し、前記三角形インデックステーブルをａで表し、ある三角形の３つの頂点のうち最初の頂点が格納されているｔのインデックスをｉで表したとき、三角形｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝に隣接する三角形は、次の３つの隣接三角形であることを特徴とする三角形メッシュデータ参照方法。
（１）１つ目の隣接三角形
隣接三角形を三角形｛ｔ［ａ［ｉ＋１］］、ｔ［ａ［ｉ＋１］＋１］、ｔ［ａ［ｉ＋１］＋２］｝とする。
（２）２つ目の隣接三角形
（イ）三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在し縮退していない場合、隣接三角形を三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝とする。
（ロ）三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在するが縮退しており、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝が存在する場合、隣接三角形を三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝とする。
（ハ）三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在しないか、あるいは、三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在するが縮退し、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝が存在しない場合、隣接三角形を三角形｛ｔ［ａ［ｉ］］、ｔ［ａ［ｉ］＋１］、ｔ［ａ［ｉ］＋２］｝とする。
（３）３つ目の隣接三角形
（イ）三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在し縮退していない場合、隣接三角形を三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝とする。
（ロ）三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在するが縮退しており、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝が存在する場合、隣接三角形を三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝とする。
（ハ）三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在しないか、あるいは、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在するが縮退しており、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝が存在しない場合、隣接三角形を三角形｛ｔ［ａ［ｉ＋２］］、ｔ［ａ［ｉ＋２］＋１］、ｔ［ａ［ｉ＋２］＋２］｝とする。
【請求項１１】
コンピュータに、請求項７、８、９または１０に記載の三角形メッシュデータ生成方法を実行させるためのプログラム。
【請求項１２】
請求項１１に記載の三角形メッシュデータ生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
コンピュータに、請求項１０に記載の三角形メッシュデータ参照方法を実行させるためのプログラム。
【請求項１４】
請求項１３に記載の三角形メッシュデータ参照プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１５】
ｎ次元空間の三角形メッシュデータを生成および／または参照する１つ以上のコンピュータシステムであって、各コンピュータシステムは、プロセスを実行する中央処理装置と、記憶装置と、前記記憶装置に格納された請求項１１記載のプログラムと、前記記憶装置に格納された請求項１３記載のプログラムと、前記記憶装置に格納された請求項１、２または３に記載の三角形メッシュのデータ構造を持つ三角形メッシュデータとを有することを特徴とするシステム。
【請求項１６】
請求項１５に記載のシステムにおいて、２つ以上のコンピュータシステムが通信リンクで接続されたことを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムにおいて、前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンクおよびシリアル通信リンクのいずれかを含むことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、三角形メッシュのデータ構造、三角形メッシュデータ生成方法およびその参照方法、プログラム、記録媒体並びにシステム関し、具体的には、３次元形状モデル生成装置や３次元形状モデル表示装置等に利用可能な三角形メッシュのデータ構造、三角形メッシュデータ生成方法およびその参照方法、プログラム、記録媒体並びにシステムに関し、形状計測装置や仮想現実感装置にも応用できる。
【０００２】
【従来の技術】
３Ｄモデルを表示するための形式としては、ＰＣ上で標準的なＯｐｅｎＧＬなどのグラフィックスライブラリによりサポートされている三角形メッシュ形式が一般的である（非特許文献１参照）。
とりわけ、三角形メッシュデータを三角形ストリップ形式で表現すると、表示速度、サイズの点で有利であり、三角形セット形式に比べると、２倍から３倍の効率を得ることができる。
【０００３】
一方、干渉計算、距離計算、衝突検出などの応用においては、三角形メッシュ内の隣接する三角形への参照が必要となるので、三角形ストリップ形式はあまり用いられずに、三角形セット形式に隣接三角形へのリンクを加えたものがよく用いられている。
例えば、図１（２）に示すような４つの三角形（Ａ，Ｂ，Ｃ，Ｄ）を図１（１）に示すように接続した図形において、三角形Ａは、３つの頂点ｖ０、ｖ１、ｖ２の座標データに加えて、各頂点における隣接三角形が何であるかを示すリンクも加えている（図１（３）参照）。
頂点ｖ０、ｖ１に対して、隣接三角形は三角形Ｂである。
頂点ｖ１、ｖ２に対して、隣接三角形は三角形Ｄである。
頂点ｖ２、ｖ０に対して、隣接三角形は三角形Ｃである。
【０００４】
【非特許文献１】
三浦憲二郎著、「ＯｐｅｎＧＬ　３Ｄグラフィックス入門」、
朝倉書店、１９９５年
【０００５】
【発明が解決しようとする課題】
しかしながら、上述のような三角形セット形式に隣接三角形へのリンクを加えた形式には、次の問題点がある。
（１）三角形セット形式の約２倍の記憶領域が必要になる。
（２）三角形ストリップ形式の約２〜３倍の表示時間が必要になる。
【０００６】
本発明は、上述のような実情を考慮してなされたものであって、三角形メッシュデータを表現する三角形ストリップ形式のまま、隣接三角形への参照を可能にする三角形メッシュのデータ構造、三角形メッシュデータ生成方法およびその参照方法、プログラム、記録媒体並びにシステムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１の三角形メッシュのデータ構造は、ｎ次元空間の三角形メッシュを格納するデータ構造であって、ｎ次元の座標を格納する座標テーブルと、ｎ次元のベクトルを格納するベクトルテーブルと、前記三角形メッシュの各三角形の頂点座標を格納した前記座標テーブルへのインデックスを三角形ストリップ形式により格納する頂点座標インデックステーブルと、前記三角形メッシュの頂点位置における法線ベクトルを格納した前記ベクトルテーブルへのインデックスを三角形ストリップ形式により格納する法線ベクトルインデックステーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとを含むことを特徴とする。
【０００８】
また、本発明の請求項２の三角形メッシュのデータ構造は、ｎ次元空間の三角形メッシュを格納するデータ構造であって、前記三角形メッシュの各三角形の頂点座標を三角形ストリップ形式により格納する頂点座標テーブルと、前記三角形メッシュの各三角形の頂点位置における法線ベクトルを三角形ストリップ形式により格納する法線ベクトルテーブルと、前記頂点座標テーブルと前記法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズを格納するサイズテーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとを含むことを特徴とする。
【０００９】
また、本発明の請求項３は、請求項１または２に記載の三角形メッシュのデータ構造において、前記座標テーブル、前記ベクトルテーブル、前記頂点座標テーブル、前記法線ベクトルテーブルは、それぞれ浮動小数点表現および／またはベクトル量子化圧縮がなされていることを特徴とする。
【００１０】
また、本発明の請求項４は、請求項１、２または３に記載の三角形メッシュのデータ構造において、三角形メッシュデータをコンピュータの記憶装置に保存するために用いられることを特徴とする。
また、本発明の請求項５は、請求項１、２または３に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して送信されることを特徴とする。
また、本発明の請求項６は、請求項１、２または３に記載の三角形メッシュのデータ構造において、コンピュータから通信リンクを通して受信されることを特徴とする。
【００１１】
また、本発明の請求項７の三角形メッシュデータ生成方法は、ｎ次元空間の三角形メッシュデータを生成する三角形メッシュデータ生成方法において、前記三角形メッシュの各三角形の頂点座標を座標テーブルに格納し、前記三角形メッシュの各三角形の頂点位置における法線ベクトルをベクトルテーブルに格納し、前記三角形メッシュの各三角形の頂点座標を格納した前記座標テーブルへのインデックスを三角形ストリップ形式により頂点座標インデックステーブルに格納し、前記三角形メッシュの頂点位置における法線ベクトルを格納した前記ベクトルテーブルへのインデックスを三角形ストリップ形式により法線ベクトルインデックステーブルに格納し、隣接三角形へのインデックスを三角形インデックステーブルに格納することを特徴とする。
【００１２】
また、本発明の請求項８の三角形メッシュデータ生成方法は、ｎ次元空間の三角形メッシュデータを生成する三角形メッシュデータ生成方法において、前記三角形メッシュの各三角形の頂点座標を三角形ストリップ形式により頂点座標テーブルに格納し、前記三角形メッシュの各三角形の頂点位置における法線ベクトルを三角形ストリップ形式により法線ベクトルテーブルに格納し、前記頂点座標テーブルと前記法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズをサイズテーブルに格納し、隣接三角形へのインデックスを三角形インデックステーブルに格納することを特徴とする。
【００１３】
また、本発明の請求項９は、請求項７または８に記載の三角形メッシュデータ生成方法において、前記頂点座標インデックステーブルまたは前記座標テーブルをｔで表し、前記三角形インデックステーブルをａで表し、ある三角形の３つの頂点のうち最初の頂点が格納されているｔのインデックスをｉで表したとき、
前記隣接三角形へのインデックスを三角形インデックステーブルに格納する方法は、
（１）三角形ストリップの最初の三角形へのインデックスをｉｓとしたとき、この三角形の２頂点｛ｔ［ｉｓ］、ｔ［ｉｓ＋１］｝を共有する三角形のインデックスをａ［ｉｓ］に設定し、
（２）三角形ストリップのすべての三角形へのインデックスをｉとしたとき、これらの三角形の２頂点｛ｔ［ｉ］、ｔ［ｉ＋２］｝を共有する三角形のインデックスをａ［ｉ＋１］に設定し、
（３）三角形ストリップの最後の三角形へのインデックスをｉｅとしたとき、この三角形の２頂点｛ｔ［ｉｅ＋１］、ｔ［ｉｅ＋２］｝を共有する三角形のインデックスをａ［ｉｅ＋２］に設定することを特徴とする。
【００１４】
また、本発明の請求項１０の三角形メッシュデータ参照方法は、請求項７、８または９に記載の三角形メッシュデータ生成方法で生成された三角形メッシュデータの三角形に隣接した三角形を参照する三角形メッシュデータ参照方法において、前記頂点座標インデックステーブルまたは前記座標テーブルをｔで表し、前記三角形インデックステーブルをａで表し、ある三角形の３つの頂点のうち最初の頂点が格納されているｔのインデックスをｉで表したとき、三角形｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝に隣接する三角形は、次の３つの隣接三角形であることを特徴とする。
（１）１つ目の隣接三角形
隣接三角形を三角形｛ｔ［ａ［ｉ＋１］］、ｔ［ａ［ｉ＋１］＋１］、ｔ［ａ［ｉ＋１］＋２］｝とする。
（２）２つ目の隣接三角形
（イ）三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在し縮退していない場合、隣接三角形を三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝とする。
（ロ）三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在するが縮退しており、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝が存在する場合、隣接三角形を三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝とする。
（ハ）三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在しないか、あるいは、三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在するが縮退し、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝が存在しない場合、隣接三角形を三角形｛ｔ［ａ［ｉ］］、ｔ［ａ［ｉ］＋１］、ｔ［ａ［ｉ］＋２］｝とする。
（３）３つ目の隣接三角形
（イ）三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在し縮退していない場合、隣接三角形を三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝とする。
（ロ）三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在するが縮退しており、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝が存在する場合、隣接三角形を三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝とする。
（ハ）三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在しないか、あるいは、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在するが縮退しており、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝が存在しない場合、隣接三角形を三角形｛ｔ［ａ［ｉ＋２］］、ｔ［ａ［ｉ＋２］＋１］、ｔ［ａ［ｉ＋２］＋２］｝とする。
【００１５】
また、本発明の請求項１１のプログラムは、コンピュータに、請求項７、８、９または１０に記載の三角形メッシュデータ生成方法を実行させるためのプログラムである。
また、本発明の請求項１２の記録媒体は、請求項１１に記載の三角形メッシュデータ生成プログラムを記録したコンピュータ読み取り可能な記録媒体である。また、本発明の請求項１３のプログラムは、コンピュータに、請求項１０に記載の三角形メッシュデータ参照方法を実行させるためのプログラムである。
また、本発明の請求項１４の記録媒体は、請求項１３に記載の三角形メッシュデータ参照プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１６】
また、本発明の請求項１５のシステムは、ｎ次元空間の三角形メッシュデータを生成および／または参照する１つ以上のコンピュータシステムであって、各コンピュータシステムは、プロセスを実行する中央処理装置と、記憶装置と、前記記憶装置に格納された請求項１１記載のプログラムと、前記記憶装置に格納された請求項１３記載のプログラムと、前記記憶装置に格納された請求項１、２または３に記載の三角形メッシュのデータ構造を持つ三角形メッシュデータとを有することを特徴とする。
また、本発明の請求項１６は、請求項１５に記載のシステムにおいて、２つ以上のコンピュータシステムが通信リンクで接続されたことを特徴とする。
また、本発明の請求項１７は、請求項１６に記載のシステムにおいて、前記通信リンクは、インターネット、イントラネット、広域ネットワーク、ローカルエリアネットワーク、無線周波数リンク、赤外線リンクおよびシリアル通信リンクのいずれかを含むことを特徴とする。
【００１７】
以上のような構成により、三角形メッシュデータを使用した干渉計算、距離計算、衝突検出などに応用するときも、三角形セット形式と比較して表示速度、サイズの点で有利な三角形ストリップ形式のまま、隣接三角形を参照することができる。
また、三角形ストリップ形式で表現する記憶容量の約２倍程度で三角形メッシュデータを格納することができる。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態について説明する。
＜実施形態１＞
（１）三角形メッシュのデータ構造
図２は、本発明の実施形態１に係るｎ次元空間の三角形メッシュのデータ構造を説明するための図である。
ｎ次元空間の三角形メッシュのデータ構造は、ｎ次元空間の座標を格納する座標テーブルと、ｎ次元のベクトルを格納するベクトルテーブルと、三角形メッシュの各三角形の頂点座標を格納する座標テーブルへのインデックスを三角形ストリップ形式により格納する頂点座標インデックステーブルと、三角形メッシュの各三角形の頂点位置における法線ベクトルを格納するベクトルテーブルへのインデックスを三角形ストリップ形式により格納する法線ベクトルインデックステーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとで構成する。
【００１９】
図３は、図２のｎ次元空間の三角形メッシュのデータ構造における座標テーブルのデータ構造を説明するための図である。
図３に示した座標テーブルには、座標数（＝ｎｃ）と、座標０から座標ｎｃ−１の順に座標を格納している。また、これらの座標は、それぞれ（ｘ成分、ｙ成分、ｚ成分）の３成分から構成され、各成分は浮動小数点数あるいはベクトル量子化圧縮が行われている。
【００２０】
図４は、図２のｎ次元空間の三角形メッシュのデータ構造におけるベクトルテーブルのデータ構造を説明するための図である。
図４のベクトルテーブルは、ベクトルの数（＝ｎｕ）と、ベクトル０からベクトルｎｕ−１の順にｎ次元のベクトルを格納している。これらのベクトルは、それぞれ（ｘ成分、ｙ成分、ｚ成分）の３成分で構成され、各成分は浮動小数点数あるいはベクトル量子化圧縮が行われている。
【００２１】
図５は、図２のｎ次元空間の三角形メッシュのデータ構造における頂点座標インデックステーブルのデータ構造を説明するための図である。
図５の頂点座標インデックステーブルのデータ構造は、頂点座標インデックス数（＝ｎｖ）と、頂点座標インデックス０から頂点座標インデックスｎｖ−１の順で座標テーブルへのインデックスを三角形ストリップ形式により格納する。三角形ストリップ形式では、三角形メッシュの各三角形の頂点座標を格納した座標テーブルへのインデックスとストリップの最後を表すデリミタ（＝−１）が格納されている。
【００２２】
図６は、図２のｎ次元空間の三角形メッシュのデータ構造における法線ベクトルインデックステーブルのデータ構造を説明するための図である。
図６の法線ベクトルインデックステーブルのデータ構造は、法線ベクトルインデックス数（＝ｎｎ）と、法線ベクトルインデックス０から法線ベクトルインデックスｎｎ−１の順でベクトルテーブルへのインデックスを三角形ストリップ形式で格納する。三角形ストリップ形式では、三角形メッシュの各三角形の頂点位置での法線ベクトルを格納したベクトルテーブルへのインデックスとストリップの最後を表すデリミタ（＝−１）が格納されている。
【００２３】
図７は、図２のｎ次元空間の三角形メッシュのデータ構造における三角形インデックステーブルのデータ構造を説明するための図である。
図７の三角形インデックステーブルのデータ構造は、三角形インデックス数（＝ｎｔ）と、三角形インデックス０から三角形インデックスｎｔ−１の順で隣接三角形へのインデックスを格納する。
【００２４】
（２）三角形メッシュデータ生成方法
図８は、本発明の実施形態１に係るｎ次元空間の三角形メッシュデータの生成方法を説明するためのフローチャートである。
まず、三角形メッシュで用いる頂点座標の座標値を座標テーブルに図２（図３）の形式で格納する（ステップＳ１）。
三角形メッシュで用いる法線ベクトルをベクトルテーブルに図２（図４）の形式で格納する（ステップＳ２）。
三角形メッシュで用いる頂点座標を格納した座標テーブルへのインデックスを頂点座標インデックステーブルに三角形ストリップ形式により図２（図５）の形式で格納する（ステップＳ３）。
三角形メッシュで用いる法線ベクトルを格納したベクトルテーブルへのインデックスを法線ベクトルインデックステーブルに三角形ストリップ形式により図２（図６）の形式で格納する（ステップＳ４）。
隣接三角形へのインデックスを三角形インデックステーブルに図２（図７）の形式で格納する（ステップＳ５）。
以上により、ｎ次元空間の三角形メッシュデータを生成できた。
【００２５】
（３）隣接三角形のインデックス作成方法
まず、図９を参照して、１つの三角形ストリップに対して隣接した三角形を求める方法を説明する。
図９（Ａ）に示したように、３つの三角形Ａ１，Ａ２，Ａ３（以下、形状Ｔと呼ぶ）が１つの三角形ストリップで表現されており、その隣接三角形として５つの三角形Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５があるとする。
【００２６】
この形状Ｔの三角形ストリップ表現は、図９（Ｂ）のような順番で配列ｔに頂点座標（Ｐ０，Ｐ１，Ｐ２，Ｐ３，Ｐ４）を格納する。
即ち、三角形Ａ１の各頂点（Ｐ０，Ｐ１，Ｐ２）を配列ｔ［０］〜ｔ［２］、三角形Ａ２の各頂点（Ｐ１，Ｐ２，Ｐ３）を配列ｔ［１］〜ｔ［３］、三角形Ａ３の各頂点（Ｐ２，Ｐ３，Ｐ４）を配列ｔ［２］〜ｔ［４］、ストリップの最後を示すために配列ｔ［５］に−１を格納している。
また、この形状Ｔの隣接した三角形を格納する配列（三角形インデックステーブル）をａとする（図９（Ｃ））。
【００２７】
このような状態で、隣接三角形を次の手順で求める。
（イ）三角形ストリップｔの最初の三角形（Ａ１）について
最初の２つの頂点｛ｔ［０］、ｔ［１］｝を共有する三角形（Ｂ１）を探し、そのインデックスをａ［０］に設定する。
【００２８】
（ロ）三角形ストリップｔのすべての三角形（Ａ１，Ａ２，Ａ３）について
三角形を表す３つの頂点を｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝とすると、２頂点｛ｔ［ｉ＋２］、ｔ［ｉ］｝を共有する三角形を探し、そのインデックスをａ［ｉ＋１］に設定する。このときのｉは、三角形の３つの座標のうち先頭座標を示す配列ｔのインデックスとする（例では、ｉ＝０，１，２）。
三角形Ａ１（ｉ＝０）については、頂点Ｐ２と頂点Ｐ０を共有する隣接三角形Ｂ５をａ［１］に設定する。
三角形Ａ２（ｉ＝１）ついては、頂点Ｐ２と頂点Ｐ０を共有する隣接三角形Ｂ２をａ［２］に設定する。
三角形Ａ３（ｉ＝２）については、頂点Ｐ２と頂点Ｐ０を共有する隣接三角形Ｂ４をａ［３］に設定する。
【００２９】
（ハ）三角形ストリップの最後の三角形（Ａ３）について
三角形を表す３つの頂点を｛ｔ［ｉｅ］、ｔ［ｉｅ＋１］、ｔ［ｉｅ＋２］｝とすると、２頂点｛ｔ［ｉｅ＋１］、ｔ［ｉｅ＋２］｝を共有する三角形（Ｂ３）を探し、そのインデックスをａ［ｉｅ＋２］に設定する。このときのｉｅは、最後の三角形の３つの座標のうち先頭座標を示す配列ｔのインデックスとする（例では、ｉｅ＝２）。
三角形Ａ３（ｉｅ＝２）については、頂点Ｐ３と頂点Ｐ４を共有する隣接三角形Ｂ３をａ［４］に設定する。
以上の操作によって、形状Ｔの隣接三角形の配列は、図９（Ｃ）のように設定される。
【００３０】
図１０は、隣接した三角形を求める方法を説明するためのフローチャートである。これは、本実施形態１の図８のステップＳ５および後述する実施形態２の図１６のステップＳ５４における「隣接三角形のインデックス作成方法」に適用される。
以下、次の記法を用いて説明する。
・配列ｔ
三角形ストリップ形式で三角形の頂点座標を格納した頂点座標インデックステーブルを表す。
・配列ａ
隣接三角形のインデックスを格納する三角形インデックステーブルを表す。
・インデックスｉ
ある三角形の３つの頂点のうち最初の頂点が格納されている三角形ストリップｔのインデックスである。
・フラグｆ
ｆ＝０のときは、三角形ストリップの先頭の三角形の処理をしているときを表す。
ｆ＝１のときは、三角形ストリップの２番目以降の三角形の処理をしているときを表し、１つの三角形ストリップの処理が終了すると、ｆ＝０に戻される。
【００３１】
まず、配列ｔ（頂点座標インデックステーブル）のインデックスｉを０に初期化して、頂点座標インデックステーブルの先頭を指すように設定し、フラグｆを０に初期化する（ステップＳ１１）。
次に、配列ａ（三角形インデックステーブル）の要素すべてに（−１）を設定して初期化する（ステップＳ１２）。
【００３２】
まだ頂点座標インデックステーブル中の三角形の処理が終わっていないかを調べる（ステップＳ１３）。即ち、（ｉ＋３）＜ｎ（頂点座標インデックステーブルの要素数）であるかを調べる。
（ｉ＋３）≧ｎである場合は（ステップＳ１３のＮＯ）、処理を終了する。
【００３３】
一方、（ｉ＋３）＜ｎである場合（ステップＳ１３のＹＥＳ）、三角形ストリップの三角形｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝について、２頂点｛ｔ［ｉ］、ｔ［ｉ＋２］｝を共有する三角形を頂点座標インデックステーブルの中から探し、その三角形の３頂点の最初の頂点を格納しているインデックスをａ［ｉ＋１］に設定する（ステップＳ１４）。
【００３４】
フラグｆ＝０であるかを調べ（ステップＳ１５）、ｆ＝０であれば、三角形ストリップの最初の三角形の処理であるから、三角形ストリップの最初の三角形｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝について、最初の２頂点｛ｔ［ｉ］、ｔ［ｉ＋１］｝を共有する三角形を頂点座標インデックステーブルの中から探し、その三角形の３頂点の最初の頂点を格納しているインデックスをａ［ｉ］に設定する（ステップＳ１６）。
フラグｆ＝１とし、三角形ストリップの２番目以降の三角形の処理を行うように設定する（ステップＳ１７）。
【００３５】
１つの三角形ストリップが最後になったかを調べる（ステップＳ１８）。
１つの三角形ストリップの最後にはデリミタ（−１）が設定されているので、処理中の三角形の４番目の頂点（ｔ［ｉ＋３］）がデリミタ（−１）のとき、その三角形ストリップが終了したと判断できる。
１つの三角形ストリップが最後になった場合（ステップＳ１８のＹＥＳ）、三角形ストリップの最後の三角形｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝について、２頂点｛ｔ［ｉ＋１］、ｔ［ｉ＋２］｝を共有する三角形を頂点座標インデックステーブルの中から探し、その三角形の３頂点の最初の頂点を格納しているインデックスをａ［ｉ＋２］に設定する（ステップＳ１９）。
次の三角形ストリップを処理するために、フラグｆ＝０に初期化し、次の三角形ストリップの先頭のインデックスを４つ進め（ｉ＝ｉ＋４）（ステップＳ２０，Ｓ２１）、ステップＳ１３へ戻る。
一方、１つの三角形ストリップが最後でなかった場合（ステップＳ１８のＮＯ）、次の三角形を処理するためにインデックスを１つ進め（ｉ＝ｉ＋１）（ステップＳ２２）、ステップＳ１３へ戻る。
【００３６】
以上により、三角形ストリップにより表現された頂点座標インデックステーブルから、隣接する三角形インデックステーブルを作成することができた。
【００３７】
（４）隣接三角形の参照方法
図１１は、本実施形態１および後述する実施形態２のｎ次元の三角形メッシュのデータ構造において、ある三角形に隣接した三角形を参照するための処理手順を説明するためのフローチャートである。
以下、次の記法を用いて説明する。
・配列ｔ
三角形ストリップ形式で三角形の頂点座標を格納した頂点座標インデックステーブルを表す。
・配列ａ
隣接三角形のインデックスを格納する三角形インデックステーブルを表す。
・インデックスｉ
ある三角形の３つの頂点のうち最初の頂点が格納されている三角形ストリップｔのインデックスである。
【００３８】
図１１を用いて、頂点座標インデックステーブルのインデックスがｉである三角形｛ｔ［ｉ］、ｔ［ｉ＋１］、ｔ［ｉ＋２］｝に隣接する三角形を参照する方法について説明する。
まず、｛ｔ［ａ［ｉ＋１］］、ｔ［ａ［ｉ＋１］＋１］、ｔ［ａ［ｉ＋１］＋２］｝を最初の隣接三角形とする（ステップＳ３１）。
【００３９】
三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在し（ステップＳ３２のＹＥＳ）、縮退していない場合（ステップＳ３２のＹＥＳ，Ｓ３３のＮＯ）、この三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝を２番目の隣接三角形とする（ステップＳ３４）。
【００４０】
また、三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在するが縮退しており、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝が存在する場合（ステップＳ３２のＹＥＳ，Ｓ３３のＹＥＳ，Ｓ３５のＹＥＳ）、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝を２番目の隣接三角形とする（ステップＳ３６）。
【００４１】
また、三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在しない場合（ステップＳ３２のＮＯ）、または、三角形｛ｔ［ｉ−１］、ｔ［ｉ］、ｔ［ｉ＋１］｝が存在するが縮退しており、三角形｛ｔ［ｉ−２］、ｔ［ｉ−１］、ｔ［ｉ］｝が存在しない場合（ステップＳ３２のＹＥＳ，Ｓ３３のＹＥＳ，Ｓ３５のＮＯ）、三角形｛ｔ［ａ［ｉ］］、ｔ［ａ［ｉ］＋１］、ｔ［ａ［ｉ］＋２］｝を２番目の隣接三角形とする（ステップＳ３７）。
【００４２】
さらに、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在し縮退していない場合（ステップＳ３８のＹＥＳ，Ｓ３９のＮＯ）、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝を３番目の隣接三角形とする（ステップＳ４０）。
また、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在するが縮退しており、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝が存在する場合（ステップＳ３８のＹＥＳ，Ｓ３９のＹＥＳ，Ｓ４１のＹＥＳ）、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝を３番目の隣接三角形とする（ステップＳ４２）。
また、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在しない場合（ステップＳ３８のＮＯ）、または、三角形｛ｔ［ｉ＋１］、ｔ［ｉ＋２］、ｔ［ｉ＋３］｝が存在するが縮退しており、三角形｛ｔ［ｉ＋２］、ｔ［ｉ＋３］、ｔ［ｉ＋４］｝が存在しない場合（ステップＳ３８のＹＥＳ，Ｓ３９のＹＥＳ，Ｓ４１のＮＯ）、｛ｔ［ａ［ｉ＋２］］、ｔ［ａ［ｉ＋２］＋１］、ｔ［ａ［ｉ＋２］＋２］｝を３番目の隣接三角形とする（ステップＳ４３）。
【００４３】
以上により、ある三角形に隣接した三角形を参照することができる。
【００４４】
＜実施形態２＞
（１）三角形メッシュのデータ構造
図１２は、本発明の実施形態２に係るｎ次元空間の三角形メッシュのデータ構造を説明するための図である。
ｎ次元空間の三角形メッシュのデータ構造は、ｎ次元空間の三角形の頂点座標を三角形ストリップ形式により格納する頂点座標テーブルと、ｎ次元の三角形の頂点位置での法線ベクトルを三角形ストリップ形式により格納する法線ベクトルテーブルと、頂点座標テーブルと法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズを格納するサイズテーブルと、隣接三角形へのインデックスを格納する三角形インデックステーブルとで構成する。
【００４５】
図１３は、図１２のｎ次元空間の三角形メッシュのデータ構造における頂点座標テーブルのデータ構造を説明するための図である。
図１３に示した頂点座標テーブルには、頂点座標数（＝ｎｖ）と、頂点座標０から頂点座標ｎｖ−１の順にｎ次元空間の三角形の頂点座標を三角形ストリップ形式により格納している。また、これらの頂点座標は、それぞれ（ｘ成分、ｙ成分、ｚ成分）の３成分から構成され、各成分は浮動小数点数あるいはベクトル量子化圧縮が行われている。三角形ストリップ形式では、三角形メッシュの頂点座標とストリップの最後を表すデリミタ（＝−１）が格納されている。
【００４６】
図１４は、図１２のｎ次元空間の三角形メッシュのデータ構造における法線ベクトルテーブルのデータ構造を説明するための図である。
図１４の法線ベクトルテーブルは、法線ベクトルの数（＝ｎｎ）と、法線ベクトル０から法線ベクトルｎｎ−１の順にｎ次元の三角形の頂点位置での法線ベクトルを三角形ストリップ形式で格納している。これらの法線ベクトルは、それぞれ（ｘ成分、ｙ成分、ｚ成分）の３成分で構成され、各成分は浮動小数点数あるいはベクトル量子化圧縮が行われている。三角形ストリップ形式では、法線ベクトルとストリップの最後を表すデリミタ（＝−１）が格納されている。
【００４７】
図１５は、図１２のｎ次元空間の三角形メッシュのデータ構造におけるサイズテーブルのデータ構造を説明するための図である。
図１５のサイズテーブルのデータ構造は、サイズテーブルの要素数を示すサイズ数（ｎｓ）と、サイズ０からサイズｎｓ−１の順で頂点座標テーブルと法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズを格納する。
【００４８】
三角形インデックステーブルのデータ構造は、三角形インデックス数（＝ｎｔ）と、三角形インデックス０から三角形インデックスｎｔ−１の順で隣接三角形へのインデックスを格納しており、上述した図２（図７）と同じ形式を持っている。ただし、このインデックスは、本実施形態２では頂点座標テーブルへのインデックスである。
【００４９】
（２）三角形メッシュデータ生成方法
図１６は、本発明の実施形態２に係るｎ次元空間の三角形メッシュデータの生成方法を説明するためのフローチャートである。
まず、三角形メッシュで用いる頂点座標の座標値を頂点座標テーブルに三角形ストリップ形式を用いて図１２（図１３）の形式で格納する（ステップＳ５１）。
三角形メッシュで用いる法線ベクトルを法線ベクトルテーブルに三角形ストリップ形式を用いて図１２（図１４）の形式で格納する（ステップＳ５２）。
頂点座標テーブルと法線ベクトルテーブルにおける各々の三角形ストリップ形式のサイズをサイズテーブルに図１２（図１５）の形式で格納する（ステップＳ５３）。
隣接三角形へのインデックスを三角形インデックステーブルに図１２（図７）の形式で格納する（ステップＳ５４）。
以上により、ｎ次元空間の三角形メッシュデータを生成できた。
【００５０】
本実施形態２における隣接三角形のインデックス作成方法や隣接三角形の参照方法は、上述の実施形態１の（３）および（４）で説明した方法によって実施できる。
ただし、実施形態１の頂点座標インデックステーブル（図５）の代わりに頂点座標テーブル（図１３）を使う。
【００５１】
＜実施形態３＞
本発明は上述した実施形態のみに限定されたものではない。上述した実施形態を構成する三角形メッシュデータ生成方法または参照方法をそれぞれプログラム化し、あらかじめＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、コンピュータに搭載したＣＤ−ＲＯＭドライブのような媒体駆動装置にこのＣＤ−ＲＯＭ等を装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した実施形態を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００５２】
なお、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【００５３】
また、ロードしたプログラムを実行することにより上述した実施形態が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態が実現される場合も含まれる。
【００５４】
また、上述した実施形態を実現するプログラムが、機能拡張ボードや機能拡張ユニットに備わるメモリにロードされ、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって、上述した実施形態が実現される場合も含まれる。
【００５５】
さらに、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、通信網で接続された利用者のコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【００５６】
また、上述した三角形メッシュの生成方法を実施するための第１のコンピュータと三角形メッシュの参照方法を実施するための第２のコンピュータを通信リンクで接続し、第１のコンピュータで生成して得られる図２または図１１の形式で格納された三角形メッシュデータを通信リンクによって第２のコンピュータへ送る。
第２のコンピュータは、この三角形メッシュデータを受信し、三角形メッシュにおける隣接三角形を参照する。
ここで、通信リンクの例として、シリアルリンク（ＲＳ−２３２）、パラレルリンク、無線リンク、赤外線リンク、ネットワーク（ローカルエリアネットワーク、広域ネットワーク、イントラネット、インターネット）がある。
このようにすると、一方のコンピュータで作成された曲面から作成された三角形メッシュデータを他方のコンピュータで受信して、表示や加工等を行うことができる。
また、上述の第１のコンピュータと第２のコンピュータとを同じものとしてもよい。
【００５７】
【発明の効果】
以上説明したように本発明によれば、三角形メッシュデータを使用した干渉計算、距離計算、衝突検出などに応用するときも、三角形セット形式と比較して表示速度、サイズの点で有利な三角形ストリップ形式のまま、隣接三角形を参照することができる。
また、三角形ストリップ形式で表現する記憶容量の約２倍程度で三角形メッシュデータを格納することができる。
さらに、３次元ＣＡＤシステムに本発明の三角形メッシュのデータ構造を使用することによって、コンパクトな３次元データを実現できる。
【図面の簡単な説明】
【図１】三角形セット形式に隣接三角形へのリンクを加えた表現形式を説明するための図である。
【図２】本発明の実施形態１に係るｎ次元の三角形メッシュのデータ構造を示す図である。
【図３】座標テーブルのデータ構造を示す図である。
【図４】ベクトルテーブルのデータ構造を示す図である。
【図５】頂点座標インデックステーブルのデータ構造を示す図である。
【図６】法線ベクトルインデックステーブルのデータ構造を示す図である。
【図７】三角形インデックステーブルのデータ構造を示す図である。
【図８】本発明の実施形態１に係るｎ次元の三角形メッシュデータ生成方法の処理手順を示すフローチャートである。
【図９】１つの三角形ストリップに対して隣接した三角形を求める方法を説明するための図である。
【図１０】隣接三角形インデックスの作成方法の処理手順を示すフローチャートである。
【図１１】隣接三角形の参照方法の処理手順を示すフローチャートである。
【図１２】本発明の実施形態２に係るｎ次元の三角形メッシュのデータ構造を示す図である。
【図１３】図１１における頂点座標テーブルのデータ構造を示す図である。
【図１４】図１１における法線ベクトルテーブルのデータ構造を示す図である。
【図１５】図１１における三角形ストリップのサイズテーブルのデータ構造を示す図である。
【図１６】本発明の実施形態２に係るｎ次元の三角形メッシュデータ生成方法の処理手順を示すフローチャートである。
【符号の説明】
【図１】
2004102763.tif 000003
【図２】
2004102763.tif 000004
【図３】
2004102763.tif 000005
【図４】
2004102763.tif 000006
【図５】
2004102763.tif 000007
【図６】
2004102763.tif 000008
【図７】
2004102763.tif 000009
【図８】
2004102763.tif 000010
【図９】
2004102763.tif 000011
【図１０】
2004102763.tif 000012
【図１１】
2004102763.tif 000013
【図１２】
2004102763.tif 000014
【図１３】
2004102763.tif 000015
【図１４】
2004102763.tif 000016
【図１５】
2004102763.tif 000017
【図１６】
2004102763.tif 000018