• 検索結果がありません。

第 3 章 提案手法

3.2 提案モデルの位相変化手法

位相変化が可能な弾性体モデルでは、形状操作により変化していく3次元モデ ルの状態を正確に把握する必要がある。

コンピュータグラフィクスおけるポリゴンモデルでは、一般的にIndex Face Set(以 下、IFS)と呼ばれるデータ構造を用いる。IFSは、頂点座標データの集合と、頂 点番号による多角形データの集合の配列によりデータ構造を構成する。IFSは、メ モリ効率に優れ高速な処理が行えるが、形状の状態を取得したり、位相変化を伴 うような変形には不向きである。

本研究では、3次元形状データ構造として、Half-Edge構造[20][21]のモデルを 用いる。Half-Edge構造はWeiler,M¨antyl¨aが提案した、データ分析、形状変形に適 したソリッドモデル用データ構造であり、「頂点(Vertex)」「稜線(Edge)」「半稜 線(Half-Edge)」「ループ(Loop)」の4種類の位相要素の集合によって形状を定 義する。IFSよりも多くの位相用データを保持するため、メモリ効率が悪い。しか しながら、Half-Edge構造の各要素が保持するデータ構造から弾性体モデルの形状 状態を把握し、位相変化を伴う変形が可能である。

Half-Edge構造の特徴は、任意位相要素に対する高速な検索が可能であるため、

位相変化を伴う変形を高速に行えることである。IFSにより構築したモデルでは、

任意位相要素を取得するためには、モデルを構成する全位相要素に対して検索を 行わなければならない。これは、位相変化を伴う変形においては、処理速度的な ボトルネックとなる。

3.2.1 動的なクラスタ化による位相状態管理

本研究で用いる弾性体モデルは、Half-Edge構造により構成されたポリゴンモデ ルを用いて位相情報を管理している。3.1節で示した幾何的な変形アルゴリズムで は、すべての質点において互いに独立した計算を行うことができる。すなわち、変 形過程において位相変化が起こった場合でも、各質点同士の繋がりを考慮する必

23

要なく積分計算を行うことが可能である。弾性体の挙動表現手法で用いた変形ア ルゴリズムにおいて、各質点の速度および位置座標を算出するのに必要なのは点 群の位置情報である。本手法では、同位相の質点群を1つのクラスタとして管理 し、位相変化によって質点同士の接続に変更があった場合、再度クラスタ化を行 うことで位相変化に伴う断裂変形を実現する。そのために、本提案モデルでは各 頂点に対してHalf-Edge構造がもつデータに加え、どのクラスタに属しているか を管理するため、クラスタ固有のIDを付加する。また、提案モデルはすべて3角 形ポリゴンにより構成する。これは、モデルの位相状態の把握を管理し易くする ためである。

3.2.2 位相変化手順

提案モデルにおいて、位相変化が生じた場合は上記に示したルールに従って変 形操作を行う。位相変化が起こる条件として、各稜線が初期の状態から一定距離 伸びた場合に行うものとする。提案する位相変形操作の大まかな流れは以下の通 りである。

1. 位相変化が起こる部分の位相要素を抽出する。

2. 抽出した位相要素を用いて、変形後の形状を再構成する。

3. 再構成した形状ごとにクラスタ分けを行い、各頂点に属するクラスタのID を付ける。

4. 再構成した形状ごとにシェイプマッチングを行う。

3.2.3 位相変化操作の概要

本位相変形操作の概要を述べる。本手法は弾性体モデルを構成する3角形メッ シュに対して操作を行う。はじめに、位相変化が起こる前の形状では、同位相の 状態にある全ての頂点は1つのクラスタに属している(図3.4(a))。次に、位相変化

が起こる位相要素の検出を行い、その位相要素を抽出する(図3.4(b))。さらに、抽 出した位相要素から、位相変形後の形状となる位相要素の再構築を行う。このと き、Half-Edge構造が持つ機能を用いて、各位相要素の消去および生成を行う(図 3.4(c))。最後に、位相変化操作によって分離したそれぞれの形状ごとに、頂点に 対してクラスタ番号を付加する(図3.4(d))。

図3.4: 本位相変化操作の概要

また、位相変化操作によって分離した形状では、分離面に対して面を張る必要 がある。これには、位相変化操作によって生成した頂点の重心となる頂点を新た に生成し、これらの頂点を用いて3角形メッシュを生成する。

25

関連したドキュメント