(57)【特許請求の範囲】
【請求項１】
複数のポリゴンで構成された３次元モデルから、目標とする複数のポリゴンで構成された３次元モデルに変形する３次元モデル変形システムであって、
３次元モデルを構成するポリゴンと所定の平面との交点を求めることにより、所定の平面による前記３次元モデルの断面輪郭を得る断面輪郭取得手段と、
前記断面輪郭上の前記交点に、操作点を設定する操作点設定手段と、
設定した前記操作点を移動させて、目標の輪郭形状を設定する目標輪郭設定手段と、
前記目標輪郭設定手段で得られた輪郭形状に、ガウス関数に基づくＦＦＤにより、前記操作点を移動することで前記３次元モデルを合わせるように変形する３次元モデル変形手段と
を備えることを特徴とする３次元モデル変形システム。
【請求項２】
請求項１に記載の３次元モデル変形システムにおいて、
前記目標輪郭設定手段は、前記所定の平面上を移動することにより、目標輪郭を設定することを特徴とする３次元モデル変形システム。
【請求項３】
請求項１又は２に記載の３次元モデル変形システムにおいて、
前記３次元モデルは、標準人体モデルであり、複数部位の周囲長があたえられ、前記所定の平面は前記複数部位の周囲長が測定された部位断面の平面であり、
前記操作点設定手段は、前記交点を全て操作点とし、
前記目標輪郭設定手段は、前記操作点を法線方向に微小量繰り返し移動させて、前記操作点間の全長を前記与えられた周囲長とすることを特徴とする３次元モデル変形システ
ム。
【請求項４】
請求項３に記載の３次元モデル変形システムにおいて、
前記与えられた複数部位の周囲長は、バスト、ウエスト、ヒップの周囲長であることを特徴とする３次元モデル変形システム。
【請求項５】
請求項１〜４のいずれかに記載の３次元モデル変形システムの各手段をコンピュータ・システムに機能させることができるプログラム。
【請求項６】
請求項５に記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ポリゴンで構成された３次元モデルの変形に関し、特に目標となる断面形状を与えて、その断面形状を満足する３次元モデルを生成することができる生成システムに関する。
【０００２】
【背景技術】
意匠設計を行う対象はほとんどが製品の外観であり、始めに大まかな外観設計を行った後、詳細な部分についての修正作業が行われる。この大まかな外観設計を行う場合も、既存の同様な製品を参考にする場合が多い。
既存製品を出発点にする場合は、その立体的な形状のモデルを変形させて行うと、デザイナーのイメージを容易に実現できることがある。また、新規にモデルを作成して、デザイナーのイメージを表現する場合も、最初に作成したモデルをデザイナーにより変形させることで、よりデザイナーの意図を実現することができる。
また、近年、バーチャルヒューマン（ＶＨ）が様々な分野で利用されるようになった。たとえば、服飾の分野においてもＣＡＤが実用化しつつあり、それらはアパレルＣＡＤと呼ばれている。ＶＨへの需要が高まるにつれ、さまざまな体型モデルをなるべく少ない手間で生成する手法に対する要求も高まってきている。個々人の体型を得る最も容易な方法は、３次元スキャナで直接人体を計測する方法である。しかし、この方法は装置そのものが高価になるだけでなく、被計測者に負担をかけるという問題がある。このため、標準的な人体のモデルを簡単に求められる計測値に合う体型のモデルとすることが求められている。
【発明が解決しようとする課題】
本発明の目的は、３次元のモデルを、デザイナーのイメージにあうように、なめらかに変形を行うことである。また、人体の各部位の周囲長等を計測値として、この計測値を満足するような人体モデルのバリエーションを生成することも目的である。
【０００３】
【課題を解決するための手段】
上記の目的を達成するために、本発明は、複数のポリゴンで構成された３次元モデルから、目標とする複数のポリゴンで構成された３次元モデルに変形する３次元モデル変形システムであって、３次元モデルを構成するポリゴンと所定の平面との交点を求めることにより、所定の平面による前記３次元モデルの断面輪郭を得る断面輪郭取得手段と、前記断面輪郭上の前記交点に、操作点を設定する操作点設定手段と、設定した前記操作点を移動させて目標の輪郭形状を設定する目標輪郭設定手段と、前記目標輪郭設定手段で得られた輪郭形状に、ガウス関数に基づくＦＦＤにより、前記操作点を移動することで前記３次元モデルを合わせるように変形する３次元モデル変形手段とを備える。
前記目標輪郭設定手段は、前記所定の平面上を移動することにより、目標輪郭を設定するとよい。前記３次元モデルは、複数のポリゴンで構成されており、前記断面輪郭取得手段は、前記ポリゴンと前記所定の平面との交点を求めることにより、前記断面輪郭を得ており、前記操作点設定手段は、前記交点に操作点を設定する。
前記３次元モデルは、標準人体モデルであり、複数部位の周囲長があたえられ、前記所定の平面は前記複数部位の周囲長が測定された部位断面の平面であり、前記操作点設定手段は、前記交点を全て操作点とし、前記目標輪郭設定手段は、前記操作点を法線方向に微小量繰り返し移動させて、前記操作点間の全長を前記与えられた周囲長とする。前記与えられた複数部位の周囲長は、バスト、ウエスト、ヒップの周囲長とすることもできる。
本動画像生成システムの各手段をコンピュータ・システムに機能させるコンピュータ・プログラムおよびコンピュータ・プログラムを記録した記録媒体も本発明である。
【０００４】
【発明の実施の形態】
本発明は、３次元モデルを、デザイナーがイメージする形状に変形するために、イメージする形状の断面を与えて、その形状の断面に合うように３次元モデルを変形させている。その３次元モデルの変形処理ために、本発明は、ガウス関数に基づくFree-Form Deformation（ＧＦＦＤ）という手法を用いる。このＧＦＦＤに関しては「吉田典正，加納顕也，北嶋克寛：ガウス関数に基づくFree-Form Deformation−対話的なモデル変形のための基礎理論−，精密工学会誌，Vol.65. No.7，(1999) 971-975」を参照されたい。
【０００５】
＜ＦＦＤ＞
本発明に用いるＧＦＦＤによる３次元デザインへの応用のために、基礎となるFree-Form Deformation（ＦＦＤ）について以下に説明する。
ＦＦＤとは、変形するモデルもしくはモデルの一部を空間に埋め込み、空間を変形することで、モデルを変形する手法である。
図１は平行六面体形状の格子を示す図である。この図１のような平行六面体形状に配置された格子を制御点とし、その制御点を移動して空間変形を行うことで、その３次元の空間の変形具合に応じてモデルも変形する。
ＦＦＤはＲ３からＲ３への非線形の写像と関連しており、グローバル座標系における点の座標を、図１に示される様な平行六面体によって定められるｓ，ｔ，ｕ局所座標系に変換し、局所座標系で座標（ｓ，ｔ，ｕ）の点は次式によってＰ（ｓ，ｔ，ｕ）へと変換される。
【数１】
0003954318.tif 000002
ただし、Ｂｉ（ｘ）はBernstein関数またはB-spline関数であり、Ｖｉ，ｊ，ｋはｓ，ｔ，ｕ方向にｉ，ｊ，ｋ番目の制御点である。
【０００６】
＜ＧＦＦＤ＞
次にガウス関数に基づくＦＦＤ（ＧＦＦＤ）について説明する。
ＧＦＦＤは有理ガウス（Rational Gaussian：ＲａＧ）曲面を基礎としている。以下ではまず、ＲａＧ曲面について説明する。
ＲａＧ曲面は、平面・球・楕円体・円柱・円錐・円環等の生成を行え、閉曲面、半閉曲面も生成できる。さらに、曲面に関して制御点は格子を形成する必要はなく、任意の位置に制御点を配置できるという特徴がある。
このＲａＧ曲面は、本来密でノイズのある点の集合の構築物を復元するために用いられるものであるが、３次元の形をデザインするのにも使われている。ＲａＧ曲面の公式はＢスプラインの基底関数がガウス周期関数に置き換えられていることを除いてＮＵＲＢＳに似ている。
このＲａＧ曲面は、幾何学関数を近似したり、複雑な自由形状を生成したりできる。ＲａＧ公式に基づいた幾何学モデリング・システムは、不規則に並べられた点から、閉じた図形・半分閉じた図形・開いた図形をデザインするのには優れた能力がある。ＲａＧ公式の他の利点として、例えば、同じ点の組であっても、標準偏差を変えることにより異なる形をデザインできる。ただ、ＮＵＲＢＳ曲面と比較してＲａＧ公式が不利な点は、それがグローバルということである。そのため、曲面の点の計算が、実際にはそれらの一部で十分であるが、理論上すべての制御点に依存してしまうことである。対照的に、ＮＵＲＢＳ公式はローカルなので、曲線や曲面の点の計算には、限られた制御点の数だけ使えばよい。ＲａＧ曲線や曲面の点の計算時間は、制御点の数やガウス関数の標準偏差によって変化するが、ＮＵＲＢＳ曲線や曲面の点の計算は固定である。
【０００７】
次に制御点｛Ｖｉ＝１，…，ｎ｝によるＲａＧ曲面を表す。ＲａＧ曲面は次のようにあらわすことができる。
【数２】
0003954318.tif 000003
ただし、
【数３】
0003954318.tif 000004
はｉ番目の基底関数で、Ｗｉはｉ番目の制御点の重みである。そして、
【数４】
Ｇｉ(s,t)＝exp{-((ｓ−ｓｉ)２／２σｉ２＋(ｔ−ｔｉ)２)／２σｉ２｝
は、高さ１の２次元ガウス関数である。この公式において、（ｓｉ，ｔｉ）は、ｓｔパラメータ空間における、曲面上のｉ番目となる点の位置で、パラメータ空間におけるｉ番目のガウス関数の位置を示している。σｉはｉ番目のガウス関数の標準偏差である。σｉの値を大きくするにつれ、生成された曲面上におけるｉ番目の制御点の及ぼす影響の範囲は広くなり、σｉの値を小さくすると、曲面上におけるｉ番目の制御点の及ぼす影響の範囲はより局所的になる。
ＲａＧ曲面の制御点は一定の格子を形づくる必要はなく、自由な点で曲面を生成することができる。
【０００８】
図２は５つの点を通るように生成されたＲａＧ補間曲面を示す図である。この図２（ａ）〜（ｃ）の曲面は、正方形の平面の各頂点に１つずつ、計４つの制御点と、平面上の任意の点に１点の制御点を置いている。そして、その平面上の任意の１点だけに固定の移動量だけを与え、他の点の移動量や全点の重みは変化させず、平面上にある任意の１点だけの標準偏差を変化させたものである。図２（ａ）が標準偏差を最も小さくしたものであり、（ｃ）が標準偏差を最も大きくしたものである。
ここで、さらにｓｔ方向別に変化を付けられるように、式［数４］を次のように変形する。
【数５】
Ｇｉ(u,v)＝exp{-((ｓ−ｓｉ)２／２σｉ，ｓ２＋(ｔ−ｔｉ)２)／２σｉ，ｔ２｝
図３は前記の式を用いて、前述の５点の位置を変えずに重みと標準偏差を変えたときのＲａＧ曲面の変化を示す図である。
この図３は正方形の平面の各頂点に１つずつ、計４つの制御点と、平面上の任意の点に１点の制御点を置いている。周りの点の移動量と標準偏差、及び任意の１点には固定の移動量を与えるだけで、移動量、ｔ方向の標準偏差は変化させず、平面上にある任意の１点だけの重みとｓ方向の標準偏差を変化させたものである。この図からわかるように、ｓ方向の標準偏差の値を変化させると、その影響がｓ方向だけに現れている。また、重みを変化させることで、その重みを変化した点の影響力の大きさが変化している。重みを大きくすればするほど、モデル全体がその点に集まっていっている。
【０００９】
次に、２次元ガウス関数による手法を拡張した手法として、３次元ガウス関数による方法について説明する。
制御点を｛Ｖｉ：ｉ，…，ｎ｝としたとき、位置座標（ｓ，ｔ，ｕ）である点は、ガウス関数に基づくＦＦＤによってＰ（ｓ，ｔ，ｕ）に変換される。
【数６】
0003954318.tif 000005
ここで、
【数７】
0003954318.tif 000006
は空間のｉ番目の基底関数であり、
【数８】
Ｇｉ(s,t,u)＝exp{-((ｓ−ｓｉ)２／２σｉ,ｓ２＋(ｔ−ｔｉ)２／２σｉ,ｔ２＋(ｕ−ｕｉ)２／２σｉ,ｕ２｝
は、（ｓ，ｔ，ｕ）を中心とする高さ１の３次ガウス関数を表す。また、この式において、（ｓｉ，ｔｉ，ｕｉ）は、グローバル空間におけるｉ番目の制御点の位置を表す。σｉ，ｓ，σｉ，ｔ，σｉ，ｕは、各軸方向別におけるｉ番目のガウス関数の標準偏差である。この標準偏差の値を変えることにより、ｉ番目の制御点からの影響を変化させることが可能となる。
図３からもわかるように、標準偏差の値を小さくすると、空間へ及ぼす影響範囲が狭くなり、移動量の伝わり方を表す変化率も大きくなる。逆に値を大きくすると、空間へ及ぼす影響範囲が広くなり、変化率も小さくなる。
【００１０】
また、ガウス関数では、制御点は任意に配置できるので、制御点と操作点を１対１に対応させることができる。そこで、逆変換によって操作点を通過する制御点を求め、変形を行う。ｎ個の操作点ベクトルを｛Ｐｉ：１＝１，……，ｎ｝とし、Ｐｉの座標を（ｓｉ，ｔｉ，ｕｉ）とすると、
【数９】
0003954318.tif 000007
という式が立てられる。この式を解くことで制御点ベクトルＶｉが求まり、任意の座標（ｓ，ｔ，ｕ）を［数６］によって変換することができる。［数９］及び［数６］を用いることで、変形したい任意の点に操作点をおき、操作点を移動させるか、標準偏差を変更することで、モデルを変形することが可能となる。
【００１１】
本発明で用いている手法であるＧＦＦＤは、次のような特徴を持つ。
（１）形状の面上に任意の数だけ操作点を配置できる。
（２）操作点の移動によって空間の変形が行われる。
（３）操作点は、与えられた移動量だけ移動するが、その他の点の移動量は、操作点の数に対応する数の連立方程式を解くことにより決められる。
（４）ガウス関数の標準偏差の値を変えることにより変形の影響範囲を変えられる。
すなわち、任意の数の操作点を対象形状上に配置し、それらを移動させることにより、それらに引っ張られるように形状全体を滑らかに変形させることが可能である。その際、各操作点に与える標準偏差や重みを変えることによって、操作点以外の場所における形状変化の滑らかさを制御することができる。
【００１２】
＜３次元モデル変形システム＞
本発明の実施形態のシステムは、デザイナーがイメージする形状の３次元モデルを得るために、３次元モデルをデザイナーが入力した断面形状に合わせるように変形するシステムである。この３次元モデルの変形に上述のＧＦＦＤを用いて、モデルの断面上に操作点を配置し、この操作点を移動させることを適用している。
図４で、本発明の３次元モデル変形システムにおける処理の概略を示す。
図４（ａ）に示すように、３次元モデル３１０に対して、任意の平面３２０を設定し、この任意平面３２０による３次元モデル３１０の断面３３０を得る。図４（ｂ）において、図４（ａ）のようにして得られた複数の断面３３２，３３４，３３６上に、操作点（黒点）を配置する。その配置した操作点を移動して、３次元モデル３１０をＧＦＦＤにより変形することで、目標のモデル３５０を得ている。
【００１３】
図５と図６を用いて、本発明の実施形態である３次元システムにおける処理手順を説明する。図５は、ある方向から見た３次元モデルを表示するウインドウ（デフォルト・ウインドウ）と断面を表示する断面ウインドウとのウインドウ別に処理を示している。図６は、それぞれのウインドウの表示の処理手順を示している。
図５および図６において、デフォルト・ウインドウで操作を行っているデザイナーは、表示されている３次元モデル５１０に対して、断面を求めるための平面５２０（ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０）を設定し、この平面とモデルとの交線５３０を求める（Ｓ４１０および図６（ａ）参照）。平面の設定は、ある平面を表示させてから、マウス等で表示された平面を、回転・移動等の操作により自由に動かすことで行う。ユーザにより設定された平面と３次元モデルとの交線５３０は、断面ウインドウに、平面の法線ベクトル方向（ａ，ｂ，ｃ）から見た断面輪郭５３２として表示される（Ｓ４２０および図６（ｂ））。
次に、デザイナーは、デフォルト・ウインドウに表示されている３次元モデルの断面の輪郭上か、断面ウインドウ内の断面の輪郭上に、操作点を配置する（Ｓ４３２又はＳ４３０）。図６（ｅ）は断面ウインドウで、断面輪郭５３２上に操作点５４０を配置した場合を示している。このように、断面ウインドウで操作点を配置した場合、その操作点５４０は、デフォルト・ウインドウに表示されている３次元モデル５１０上にも表示される（図６（ｂ）参照）。また、断面ウインドウで操作点５４０を設定した場合は、輪郭の法線方向を影響方向として自動的に設定される。このため、断面ウインドウで操作点を設定した場合は、この操作点の移動は設定した平面内に限られ、図６（ｆ）に示されるように、断面ウインドウで操作点５４０の移動を設定することになる（Ｓ４４０）。これにより、３次元モデルに対して、上述のＧＦＤＤによる変形を行い（Ｓ４５０）、デフォルト・ウインドウに変形結果の３次元モデル５１０を表示する（Ｓ４６２および図６（ｃ）参照）。このときに、標準偏差を変更してもよい。断面ウインドウにも、新たに平面５２０と変形結果の３次元モデルとの交線を計算して表示する（Ｓ４６４）
操作点の配置をデフォルト・ウインドウで行うこともできる（Ｓ４３２）。デフォルト・ウインドウで操作点の配置を行った場合、操作点の移動方向は３次元空間内に自由に設定することができる（Ｓ４４２）。その後、ＧＦＦＤにより、設定した操作点の移動による３次元モデルの変形を行う（Ｓ４５０）。そして、その結果をそれぞれのウインドウの表示に反映する（Ｓ４６２，Ｓ４６４）。
このように、断面を変形に利用することにより、複数の断面図から３次元形状が把握しやすく、断面の形状を確認しながら変形を行うことができる。
【００１４】
＜人体モデル生成システム＞
上述のシステムの処理は、代表的な体の各部位の周囲長等の計測値を用いて、それらを満足する人体モデルを生成することに対しても、適用することができる。
さて、たとえば、人体モデルにおいて、ウェスト回りの周囲長が与えられただけでは、ウェスト部の断面形状は決まらない。同じ周囲長でも、横幅のある人もあれば、厚みのある人もいるからである。細かい凹凸まで考えれば、最終的にはスキャナで細部まで計測するしかない。
本発明では、そのようなあらゆる個人の個別の体形モデルを生成することを目的とせず、周囲長等の計測値より人体モデルのバリエーションを得るというニーズに応える。
本発明のシステムは、計測した人体の代表的な各部位における周囲長等の計測値をもとに、あらかじめ標準としてシステムに用意した人体モデルの断面形状を維持しながら、上記の計測値を満足するように変形し、各部位において目標とする断面形状が決定したら、ＧＦＦＤを用いて人体全体を自然な形状に変形して、標準的な人体モデルのバリエーションを自動生成するものである。
【００１５】
体型の特徴は、人体の各部位における各種の計測値、たとえば周囲長等によって表すことができる。そのための計測する部位はいくつか考えられる。たとえば、女性の体型を大きく左右する、バスト・ウェスト・ヒップの周囲長をはじめ、首周りや腕周り等がある。
本システムでは、あらかじめ用意した人体モデルの標準体型を、計測値に基づいてバスト・ウェスト・ヒップの周囲長の変形を行うこととした。
なお、体型の特徴を表す基本的な要素である、身長と体重についてふれていないが、体型の特徴となるとそれほど重要ではない。たとえば同じ体型の特徴を持った、身長の異なる人体を表現するためには、１つの体型をスケーリングすることで表現可能である。また、体重は人体の内部構造に大きく依存しているものであり、人体モデルの表面を変形することで体型を表現する本システムに内部構造は重要ではないからである。
【００１６】
次に本発明の人体モデルの体型変形について詳細に説明をする。
まず、用意した人体モデルの各部位における周囲長について、ウェスト部周囲長を例にして、図７および図８を用いて説明する。
図７は人体モデル６００と平面６１０の交差を示す図である。図７（ａ）では、あらかじめ用意した、ポリゴンで形成された人体モデル６００が、ウェスト部で平面６１０と交差しているところを示している。また、図７（ｂ）は交差平面を拡大したものである。図７（ｂ）に示すように、人体モデル６００を形成している三角形のポリゴン上の２辺と平面６１０が交差していることがわかる。この人体モデルを形成しているポリゴンと平面との交差している線分の合計が、ウエスト部の周囲長である。
図８は、３角形のポリゴン６２０と交差する平面６１０との交点を示す図である。図８（ａ）のように、ポリゴン６２０の頂点のｙ座標の最大値と最小値を求め、交差平面６１０のｙ座標がその間にあれば、その２頂点間に交点が存在するということになる。そこでモデル上のポリゴンと平面の２つの交点を求め、交点間の距離を計算する。実際には、平面と交差する人体モデル６００のポリゴンは、図８（ｂ）のように隣接して連なっている。これら交点間の距離の総和が、交差平面が交差している人体モデルの部位、つまりウェスト部の周囲長となる。ａ１〜ａｎの順で隣り合って並ぶ交点が、計ｎ個存在しているとして、交点ａｍ（１≦ｍ≦ｎ）の位置ベクトルをベクトルａｍ、周囲長Ｌｉとすると、
【数１０】
0003954318.tif 000008
として求めることができる。
【００１７】
本発明のシステムでは、上記で求めた標準モデルにおける周囲長を、個々の人体で計測した値となるように、標準モデルを上述のＧＦＦＤの手法で変形することで、個々の人体モデルを得る。これを図９のフローチャートおよび図１０を用いて説明する。
図９は、人体の各部位にある計測点で求められた計測値から体型モデルを生成する、本システムの処理手順のフローチャートを示す図である。また、図１０は交差平面による人体モデルの断面形状の変形とその過程を示す図である。図９の枠９００で囲んだ部分の処理は、図１０（ａ）に示すように、人体モデルの任意部位における初期状態の断面形状から、交点を法線方向に微小移動させることにより、目標とする断面形状に変形する処理を示す。この図９の枠９００で示す処理をしたあと、図１０（ｂ）に示すような、計測値に対応する体型モデルをＧＦＦＤにより生成する。これらの処理を図９および図１０を参照して、詳細に説明をする。
まず、システムのユーザが、目標とする断面の周囲長Ｌｔの入力を受けつける（Ｓ７００）。これは、個々の人体を計測した例えばウェスト部の周囲長である。目標とする周囲長Ｌｔに達するまでの、操作点の微小移動の回数をｉとし、システムは初期値として変数ｉに０を代入する（Ｓ７０２）。次に、システムに用意してある、ポリゴンで表現されたモデルと任意の平面との交点の座標や数を計算し、初期状態の断面形状を認識する。このとき、交点の総数をｎとする（Ｓ７０４）。
微小移動を行わない初期状態のとき、すなわちｉ＝０のときは（Ｓ７０６でＹｅｓ）、断面形状を認識し（Ｓ７２８）、前に求めた交点を結んだ線分の長さの合計である、初期状態の周囲長Ｌｉを求める（Ｓ７２０）。その後、ユーザによって入力された目標とする周囲長Ｌｔと初期状態の周囲長Ｌｉとの差の絶対値Δを求める（Ｓ７２２）。
ＬｔとＬｉを同一の周囲長とみなす許容範囲をＥとし、ＬｔとＬｉとの差の絶対値Δが許容範囲Ｅよりも小さければ（Ｓ７２４でＹｅｓ）、ＬｔとＬｉは同一周囲長を持つとみなし、目標とする断面の周囲長が決定する（Ｓ７２６）。
ＬｔとＬｉとの差の絶対値Δが許容範囲Ｅよりも大きければ（Ｓ７２４でＮｏ）、ＬｔとＬｉの周囲長は異なるものとみなす。まだこのとき、微小移動を行わない初期状態、すなわちｉ＝０であるので（Ｓ７３０でＹｅｓ）、Δによって微小移動量Δｖの初期値を求め（Ｓ７３２）、微小移動の回数ｉを１増やし（Ｓ７０８）、交点の番号ｍに１を代入する（Ｓ７１０）。
【００１８】
ｍ番目の交点ａｍにおいて法線ベクトルを求め（Ｓ７１２）交点ａｍを法線ベクトル方向に微小移動量Δｖ移動する（Ｓ７１４）。この法線ベクトルは、例えば交点の隣り合う線分の法線ベクトルの平均をとることで求める。次に隣あう交点ａｍ＋１に制御を移動し（Ｓ７１６）、ステップＳ７１２〜Ｓ７１６までの処理を交点の総数ｎ回繰り返す（Ｓ７１８でＮｏ）。
交点の移動が、ある断面におけるすべての交点に対して行われたならば（Ｓ７１８でＹｅｓ）、再び周囲長Ｌｉを求める（Ｓ７２０）。
ＬｔとＬｉとの差の絶対値Δを求め（Ｓ７２２）、ＬｔとＬｉとの差の絶対値Δが許容範囲Ｅよりも大きければ（Ｓ７２４でＮｏ）、ＬｔとＬｉの周囲長は異なるものとみなす。この時点でｉ＝０ではないので（Ｓ７３０でＮｏ）、この周囲長Ｌｉにおける目標値との差（Ｌｔ−Ｌｉ）と、前回計算した周囲長Ｌｉ−１における目標値との差（Ｌｔ−Ｌｉ−１）を乗算し、その解が正ならば（Ｓ７３４でＹｅｓ）システムは同一方向に微小移動を行えばいいと認識し、微小移動量Δｖを保持したまま変更する処理を繰り返す。
周囲長Ｌｉにおける目標値との差（Ｌｔ−Ｌｉ）と、前回計算した周囲長Ｌｉ−１における目標値との差（Ｌｔ−Ｌｉ−１）を乗算し、その解が負ならば（Ｓ７３４でＮｏ）、システムは逆方向に微小移動を行えばいいと認識し、微小移動量Δｖを逆向きにかつ10分の１の大きさとし（Ｓ７３６）、輪郭を逆方向に少し戻す処理を繰り返し行う。
【００１９】
上述のように輪郭を戻す処理を繰り返すなかで、ＬｔとＬｉとの差の絶対値が許容範囲Ｅよりも小さければ（Ｓ７２４でＹｅｓ）、ＬｔとＬｉは同一周囲長を持つとみなし、目標とする断面の周囲長が決定する（Ｓ７２６）。
次に、図１０（ｂ）に示すような、目標とする断面形状が定まったら、初期状態の断面における輪郭の折線の頂点（つまり交点ａｍ）にＧＦＦＤのための操作点を配置し、前述のＧＦＦＤによって操作点を目標とする断面形状に移動して変形する（Ｓ７４０）。これらの操作点の移動によって空間の変形が行われ、空間内の人体モデルが目標とする断面を持つように変形する（Ｓ７５０）。
上記の輪郭の周囲長を調整する処理は、図１０（ａ）に示すような断面の輪郭が凸である場合について説明をした。しかし、断面の輪郭に凹形状を含んでいる場合、上述の処理では目標とする断面輪郭を得られないことがある。この場合は、それを考慮した処理を行う必要がある。また、交点に操作点を配置するときに、すべての交点に操作点を配置するのではなく、各操作点が移動しても交差することがないように、例えば間隔をあけて配置することも必要である。
【００２０】
なお、上述の実施形態の例には述べなかったが、ＧＦＦＤの操作点は任意の数だけ配置でき、各操作点に与える標準偏差や重みを変えることができる。したがって、これらを調節することによって、人体モデル全体のより自然な変形を行うことができる。また、操作点毎に微小移動量Δｖを設定し、変形の部位により変形にバリエーションを持たすことも可能である。
図１１に、女性の体型を左右する代表的な計測値であるバスト、ウェスト、ヒップの３つの計測値から体型を定めた例を示す。図１１は変形前と変形後の人体モデル全体と各部の断面図の一例を示している。図１１（ａ）が変形前の標準モデル、図１１（ｂ）が変形後のモデルである。
なお、図１１（ａ）の標準モデルは、バストの周囲長を0.867m、ウェストの周囲長を0.569m、ヒップの周囲長を0.830mと設定した。そして標準モデルを変形するための変更値を、バストの周囲長を0.900m、ウェストの周囲長を0.500m、ヒップの周囲長を0.800mにそれぞれ設定して、本システムを実行した。
結果は図１１（ｂ）に示した通りである。それぞれ与えられた各部の周囲長を満足しつつ、人体モデル全体が滑らかに変形されていることがわかる。
なお、本例では、計測値として、バスト、ウェスト、ヒップのそれぞれの計測値の組合せしか行っていないが、さらに他の計測部や、厚み・横幅等の計測値を組合わせることにより、さらに忠実な変形を行うこともできる。
また、これまでに述べたシステムを実施するためのコンピュータ・プログラムを格納した記録媒体から読み取ることにより、パソコンやワークステーション、複数のコンピュータ・システム上に本発明のシステムを実装することができる。また、プログラムをインターネットのような通信回線を介して、取得することにより、本システムをコンピュータ・システムに実装することもできる。
【発明の効果】
本発明により、３次元モデルの断面の輪郭を変形することで、目標とする３次元モデルへの変形を容易に行うことができる。また、人体の各部位の周囲長等を計測値として、この計測値を満足するような人体モデルのバリエーションを生成することもできる。
【図面の簡単な説明】
【図１】  平行六面体形状の格子を示す図である。
【図２】  ＲａＧ補間曲面を示す図である。
【図３】  重みと標準偏差を変えたときのＲａＧ曲面の変化を示す図である。
【図４】  ３次元モデル変形システムにおける処理の概略を示す図である。
【図５】  ３次元モデルを表示するウインドウと断面ウインドウの処理を示す図である。
【図６】  ３次元モデルを表示するウインドウと断面ウインドウの表示の処理手順を示す図である。
【図７】  人体モデルと平面との交差を示す図である。
【図８】  ポリゴンと平面との交点を示す図である。
【図９】  本システムのフローチャートを示す図である。
【図１０】  断面形状の変形とその過程を示す図である。
【図１１】  変形前と後の人体モデル全体と各部の断面図の一例を示す図である。
【符号の説明】
３１０            ３次元モデル
３２０            任意平面
３３０            断面
３３２，３３４，３３６    断面
３４２，３４４，３４６    変形後の断面
３５０            目標の３次元モデル
５１０            ３次元モデル
５２０            交差平面
５３０            交線
５３２            断面輪郭
５４０            操作点
６００            人体モデル
６１０            交差平面
６２０            ポリゴン
【図１】
0003954318.tif 000009
【図２】
0003954318.tif 000010
【図３】
0003954318.tif 000011
【図４】
0003954318.tif 000012
【図５】
0003954318.tif 000013
【図６】
0003954318.tif 000014
【図７】
0003954318.tif 000015
【図８】
0003954318.tif 000016
【図９】
0003954318.tif 000017
【図１０】
0003954318.tif 000018
【図１１】
0003954318.tif 000019