(57)【特許請求の範囲】
【請求項１】
図形と文字を表示する表示装置と、
前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、
文字データの入力操作手段と、
前記入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大／縮小、部分移動のいずれかの変形タイプの指定入力を受付ける変形タイプ指定手段と、
前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける変形パラメータ指定手段と、
メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、
前記表示装置に表示されているメッシュモデルに対して、前記変形タイプ指定手段の受付けた変形タイプの種類に応じ、前記ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する変形範囲設定手段と、
前記表示装置に表示されているメッシュモデルに対して、前記変形範囲設定手段により設定された変形範囲に基づいて１つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして自動生成し、かつ、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するハンドル生成手段と、
前記変形パラメータ指定手段の受付けた変形の操作パラメータに応じ前記制御空間をアフィン変換するアフィン変換手段と、
前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、
前記指定された変形タイプと変形の操作パラメータに対して、前記制御空間をアフィン変換し、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させ、前記アフィン変換の結果と変形結果を前記表示装置に表示させる変形処理手段とを備えたことを特徴とするメッシュモデル変形装置。
【請求項２】
記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させるステップと、
入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大／縮小、部分移動のいずれかの変形タイプの指定入力を受付けるステップと、
前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付けるステップと、
前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定するステップと、
前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて１つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成するステップと、
前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するステップと、
前記変形の操作パラメータに応じて前記制御空間をアフィン変換するステップと、
前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算するステップと、
前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させるステップと、
前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させるステップとを有することを特徴とするメッシュモデル変形方法。
【請求項３】
記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させる処理と、
入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大／縮小、部分移動のいずれかの変形タイプの指定入力を受付ける処理と、
前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける処理と、
前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する処理と、
前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて１つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成する処理と、
前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定する処理と、
前記変形の操作パラメータに応じて前記制御空間をアフィン変換する処理と、
前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する処理と、
前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させる処理と、
前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させる処理とをコンピュータに実行させることを特徴とするメッシュモデル変形プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、凸多面体に対する重心座標を用いた自由形状変形システムに適用するメッシュモデル変形装置、方法及びプログラムに関する。
【背景技術】
【０００２】
データ構造が単純で形状表現自由度の高い三角形メッシュモデルが、ＣＡＤ／ＣＡＭ／ＣＡＥ分野で多く利用されている。特に効率的な意匠設計、機能設計の実現のために、３次元（３Ｄ）形状スキャニングや３次元（３Ｄ）モデルデータベースのクエリなどから得られるメッシュモデルを自由に変形し容易に再利用できる技術が望まれている。
【０００３】
メッシュモデルを変形する際、メッシュの頂点位置を各々動かすのは非常に手間がかかるため、各メッシュの頂点位置をまとめて移動、すなわち形状を大局的に変形したいという要求がある。このような要求を満たすメッシュモデルの代表的な自由形状変形手法としてＦＦＤ（Free-Form Deformation）が挙げられる。ＦＦＤは、３次元の規則格子で定義されるパラメータ空間にモデルを埋め込み、規則格子をハンドルとしてパラメータ空間を歪めることでモデルの形状変形を行う手法である。この手法は、規則格子の頂点全てを操作でき、変形操作の自由度が高い利点があるが、反面、操作すべき対象が多く、操作の入力が煩雑になってしまう問題点がある。
【０００４】
一方でそのような操作の煩雑さを解決する自由形状変形手法が提案されているが、その場合、可能な変形タイプ（曲げ、ねじりなど）が限定されてしまう。
【０００５】
また、設計段階での３Ｄモデル変形では、可能な変形タイプが多いこと、変形部分を陽に指定できること、操作が煩雑でないことなどが望まれる。それらを満たす自由形状変形手法は提案されていない。
【特許文献１】特開２００４−４０３４１号公報
【特許文献２】特開平７−３２００７８号公報
【特許文献３】特開２００３−３０２５４号公報
【特許文献４】特開２００４−５４８５２号公報
【特許文献５】特開平９−７３５５９号公報
【非特許文献１】TW. Sederberg, SR. Parry; “Free-Form Deformation of Solid Geometric Models", Proc. SIGGRAPH ’86, 1986年, 151-160ページ。
【非特許文献２】Y. Kho and M. Garland; “Sketching mesh deformations", Proceedings of the ACM Symposium on Interactive 3D Graphics, 2005年147-154ページ。
【非特許文献３】J. Warren; “On the uniqueness of barycentric coordinates”, In Contemporary Mathematics, Proceedings of AGGM, (2003) 93-99。
【非特許文献４】水野他、「任意凸多面体に対する重心座標を用いたメッシュモデルの自由形状変形」、第１２回精密工学会学生会員卒業研究発表講演会論文集、２００５年、２３−２４ページ。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、このような従来の技術的課題に鑑みてなされたもので、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低いという利点をもつ重心座標を用い、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによる変形が可能なメッシュモデル変形技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の特徴は、図形と文字を表示する表示装置と、前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、文字データの入力操作手段と、前記入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大／縮小、部分移動のいずれかの変形タイプの指定入力を受付ける変形タイプ指定手段と、前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける変形パラメータ指定手段と、メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、前記表示装置に表示されているメッシュモデルに対して、前記変形タイプ指定手段の受付けた変形タイプの種類に応じ、前記ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する変形範囲設定手段と、前記表示装置に表示されているメッシュモデルに対して、前記変形範囲設定手段により設定された変形範囲に基づいて１つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして自動生成し、かつ、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するハンドル生成手段と、前記変形パラメータ指定手段の受付けた変形の操作パラメータに応じ前記制御空間をアフィン変換するアフィン変換手段と、前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、前記指定された変形タイプと変形の操作パラメータに対して、前記制御空間をアフィン変換し、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させ、前記アフィン変換の結果と変形結果を前記表示装置に表示させる変形処理手段とを備えたメッシュモデル変形装置にある。
【０００９】
本発明の第２の特徴は、記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させるステップと、入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大／縮小、部分移動のいずれかの変形タイプの指定入力を受付けるステップと、前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付けるステップと、前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定するステップと、前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて１つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成するステップと、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するステップと、前記変形の操作パラメータに応じて前記制御空間をアフィン変換するステップと、前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算するステップと、前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させるステップと、前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させるステップとを有するメッシュモデル変形方法にある。
【００１１】
本発明の第３の特徴は、記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させる処理と、入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大／縮小、部分移動のいずれかの変形タイプの指定入力を受付ける処理と、前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける処理と、前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する処理と、前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて１つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成する処理と、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定する処理と、前記変形の操作パラメータに応じて前記制御空間をアフィン変換する処理と、前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する処理と、前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させる処理と、前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させる処理とをコンピュータに実行させるメッシュモデル変形プログラムにある。
【発明の効果】
【００１３】
本発明のメッシュモデル変形装置、方法及びプログラムによれば、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低い利点をもつ重心座標を用いることで、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによるメッシュモデルの変形が可能である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図に基づいて詳説する。
【００１５】
（第１の実施の形態）図１は、本発明の１つの実施の形態のメッシュモデル変形装置１００の機能構成を示している。本実施の形態のメッシュモデル変形装置１００は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータ装置にメッシュモデル変形プログラムを組み込み、実行させることによってコンピュータ装置として構成することもできる。本実施の形態では、後者のものとして説明する。
【００１６】
本実施の形態のメッシュモデル変形装置１００は、例えばネットワークを通じてのデータ信号の入力／出力、キーボード２１、マウス２２からの信号の入力、表示装置２３に対するビデオ信号を出力、プリンタ等の周辺機器に対するデータ信号の入力／出力等、データ及び信号の入力／出力を制御する入出力制御部１、入出力制御部１を通じて入力されたメッシュモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部２を備えている。このデータ記憶部２は、例えばハードディスク、ＤＶＤ、ＣＤ−ＲＯＭディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、装置メモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【００１７】
また、メッシュモデル変形装置１００は、変形タイプ選択入力ＩＮ１、変形範囲入力ＩＮ２に対してメッシュモデルＤ１に対するハンドルを生成するハンドル自動生成部３、このハンドル自動生成部３にて生成したハンドルＤ２を用いて、メッシュモデルＤ１に対して重心座標Ｄ３を計算する重心座標計算部４、また、ハンドル自動生成部３にて生成したハンドルＤ２、重心座標計算部４が算出した重心座標Ｄ３を用い、変形パラメータ操作入力ＩＮ３に対応する変形をメッシュモデルＤ１に対して行うモデル変形処理部５、そして、上記各処理部の動作を制御する制御演算処理部１０を備えている。
【００１８】
次に、上記構成のメッシュモデル変形装置１００により実行される、例えば、三角形メッシュモデルのようなメッシュモデルデータに対する変形方法について説明する。
【００１９】
このメッシュモデル変形方法は、図２に示す３つのステップから成る。すなわち、三角メッシュモデルデータＤ１を入力し、マウスその他の入力手段２１，２２による変形タイプ選択入力ＩＮ１、変形範囲入力ＩＮ２に対して、図３に示すように、当該メッシュモデルＤ１に対するハンドルを生成するハンドル生成処理ＳＴ１、このハンドル生成処理ＳＴ１にて生成したハンドルＤ２を用いて、メッシュモデルＤ１に対して重心座標Ｄ３を計算する重心座標計算ＳＴ２、そして、ハンドル生成処理ＳＴ１にて生成したハンドルＤ２、重心座標計算ＳＴ２にて算出した重心座標Ｄ３を用い、図４に示すように、変形パラメータ操作入力ＩＮ３に対応する変形をメッシュモデルＤ１に対して行うモデル変形処理ＳＴ３から成る。以下、各処理ステップについて、詳しく説明する。
【００２０】
(i)ハンドル生成処理
ユーザーの望む変形が特定の変形タイプに基づくことが多く、同じ変形タイプでは同じ形状のハンドルとその操作で変形が可能である。本発明の方法では、様々な変形を分類／モデル化し、ハンドルの自動生成と少ないパラメータで変形が可能な自由形状変形を行う。
【００２１】
そのための変形の定義と分類は、変形を統一的にモデル化するために、図５のように変形前後で内部頂点位置の変わらない空間を固定空間Ｓ１、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間Ｓ２、それ以外の変形をする頂点を含む空間を変形空間Ｓ３とし、制御空間Ｓ２の変化を記述するアフィン変換の種類によって変形タイプを分類する。
【００２２】
固定空間Ｓ１と制御空間Ｓ２との間には必ず変形空間Ｓ３が入る。これに基づくと、既存の研究や商用ソフトで実装されている変形及び設計で望まれる変形はすべて、図６の表１のように「曲げ」、「ねじり」、「伸縮」、「反り」、「部分拡大／縮小」、「部分移動」の６種のタイプに分類する。例えば、「曲げ変形」は制御空間Ｓ２の変形は、ベクトルｋを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。また、「ねじり変形」は、ベクトルｖを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。他の「伸縮」、「反り」、「部分拡大／縮小」、「部分移動」の各変形についても表１に示すそれぞれの制御空間Ｓ２のアフィン変換で記述し、変形パラメータを規定する。尚、この変形の操作パラメータは、図２におけるモデル変形処理ＳＴ３に対するパラメータＩＮ３にて入力する。
【００２３】
本実施の形態のメッシュモデル変換方法では、ハンドル生成処理ＳＴ１において、変形空間を１つもしくは複数の凸多面体の組み合わせで定義し、これをハンドルとして自動的に生成する。制御空間Ｓ２をアフィン変換し、それに接続されている変形空間Ｓ３（ハンドル）の頂点位置の移動に伴うメッシュモデルの変形を、非特許文献４に記載されたＢＣＦＦＤ（重心座標を用いた自由形状変形）により実現する。この処理では、表示装置２３に表示される入力画面でまずユーザーが変形のタイプＩＮ１を表１の６タイプから選択し、続いて、メッシュモデルの変形空間Ｓ３内に含まれて欲しい（変形して欲しい）範囲ＩＮ２をマウス２２の一連のクリック操作により矩形もしくは矩形の組み合わせにより入力すると、装置によりハンドルＨＤＬを六面体の組み合わせで自動生成する。その後、対応する変形タイプの操作パラメータＩＮ３を変化させると制御空間Ｓ２をアフィン変換し、モデルの変形を行う。
【００２４】
これを、図７に示す板モデルの変形処理を例に説明する。
【００２５】
(a)ユーザーが頂点入力により矩形（ｐ１，ｐ２，ｐ３，ｐ４）を画面上で入力する。
【００２６】
(b)装置により面分ｐ１，ｐ２，ｐ３，ｐ４を底面とする四角柱を変形空間Ｓ３として生成する。この変形空間Ｓ３の表示がハンドルＨＤＬである。
【００２７】
(c)装置により変形軸ベクトルｖ，ｋを計算する。ただし、ベクトルｋは矩形（ｐ１，ｐ２，ｐ３，ｐ４）の重心を通る視点方向ベクトル、ベクトルｖはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルｋと垂直なベクトルである。
【００２８】
(d)装置により固定空間Ｓ１、制御空間Ｓ２内のモデル頂点を決定する。
【００２９】
(e)ユーザーが、操作パラメータＩＮ３の増減操作をすることにより、制御空間Ｓ２内モデル頂点および制御空間Ｓ２に面した変形空間Ｓ３の頂点をアフィン変換し、モデルの形状変形を行う。
【００３０】
また、図８に示すモデルに対する変形処理は、次のように実行する。
【００３１】
(a)ユーザーが頂点入力により２つの矩形（ｐ１，ｐ２，ｐ３，ｐ４），（ｐ５，ｐ６，ｐ７，ｐ８）を入力する。
【００３２】
(b)装置により２つの矩形（ｐ１，ｐ２，ｐ３，ｐ４），（ｐ５，ｐ６，ｐ７，ｐ８）を底面とする四角柱に挟まれる空間を変形空間Ｓ３とし、六面体に分割する。
【００３３】
(c)装置により、変形軸ベクトルｖ，ｋを計算する。この場合も、ベクトルｋは矩形（ｐ１，ｐ２，ｐ３，ｐ４）の重心を通る視点方向ベクトル、ベクトルｖはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルｋと垂直なベクトルである。
【００３４】
(d)装置により固定空間Ｓ１、制御空間Ｓ２内のモデル頂点を決定する。
【００３５】
(e)ユーザーが制御空間Ｓ２をマウス２２でドラッグすることによって伸縮、変形操作することで、装置側が変形パラメータを増減演算し、制御空間Ｓ２内のモデル頂点および制御空間Ｓ２に面した変形空間Ｓ３の頂点をアフィン変換し、モデルの形状変形を行う。
【００３６】
その他の処理について、図９（ａ）に示すように板モデルに対して矩形の頂点を指定することで、同図（ｂ）に示すように装置側がハンドルＨＤＬ、すなわち変形空間Ｓ３を自動生成する。そして、このハンドルＨＤＬに対して曲げ変形、ねじり変形、伸縮変形の選択とそのパラメータを指定することで、図１０（ａ）、図１０（ｂ）、図１０（ｃ）それぞれに示すように板モデルの曲げ、ねじり、伸縮の形状変形をメッシュモデルベースで実行することができる。
【００３７】
また、図１１（ａ）に示すように棒モデルに対して矩形の頂点を指定することで、同図（ｂ）に示すように装置側がハンドルＨＤＬ、すなわち変形空間Ｓ３を自動生成する。そして、このハンドルＨＤＬに対して反り変形、部分拡大／縮小変形、部分移動変形の選択とそのパラメータを指定することで、図１２（ａ）、図１２（ｂ）、図１２（ｃ）それぞれに示すように棒モデルの反り、部分拡大／縮小変形、部分移動変形をメッシュモデルベースで実行することができる。
【００３８】
ここに、ハンドルＨＤＬの重心座標計算について説明する。図１３（ａ），（ｂ）は単純な凸多面体と単純でない凸多面体とを例示している。頂点ｖが３つの面の交点である場合にはその多面体は単純な凸多面体であり、それ以上の面の交点がある場合単純でない凸多面体とする。
【００３９】
凸多面体内部の点ｘの凸多面体Ｐに対する重み関数ｗｉ（ｘ）を凸多面体の頂点ｖｉの隣接面の法線の張る平行六面体体積と、ｖｉの各隣接面とｘとの距離の積との比、すなわち式（１）のように定義する。
【数１】
0004403277.tif 000002
【００４０】
ここで、ｎｉσ１，ｎｉσ２，ｎｉσ３は、図１４、図１５に示すようにｖｉの３枚の隣接面の単位法線である。重み関数ｗｉ（ｘ）を式（２）のように正規化し、点ｘの凸多面体Ｐの頂点ｖｉに対する重心座標ｂｉ（ｘ）を求める。
【数２】
0004403277.tif 000003
【００４１】
尚、図１６（ａ）に示すように、注目する凸多面体が単純ではない場合、同図（ｂ）に示すように単純でない頂点ｖを複数の単純な頂点に分割し、各々の単純な頂点に対して式（１），（２）により重心座標を計算し、各々の単純な頂点に対して計算した重心座標の値を足し合わせることにより、単純でない頂点に対する重心座標を求める。
【００４２】
図１７に示すように、重心座標を用いた自由形状変形ハンドルの頂点ｖｉがｖｉ’に移動し変形した場合、ハンドル内部のモデル頂点ｘの移動後位置ｘ’は次の式（３）のように計算する。
【数３】
0004403277.tif 000004
【００４３】
本装置では、式（３）をハンドル内の全てのメッシュモデル頂点に適用することで、モデルの自由形状変形を行う。
【００４４】
しかしながら、このハンドル頂点を直接操作することによる自由形状変形手法は、変形操作の自由度が高い反面、操作が煩雑である。そこで、本実施の形態のメッシュモデル変形装置及び方法では、不必要な変形自由度を無くし、操作の煩雑さを解決するため、上述したように表１のように変形タイプに基づいたハンドルの自動生成とそのパラメトリック変形処理を行う。
【００４５】
これにより、本実施の形態では、ユーザーがモデル内の変形対象及び変形タイプを選択すると、装置により制御空間Ｓ２（変形前後の位置関係がアフィン変換で記述できる空間）、固定空間Ｓ１（変形前後で内部のモデルが変化しない空間）、変形空間Ｓ３（変形前後で内部のモデルが制御空間Ｓ２に従って変形する空間）を自動的に定義する。変形空間Ｓ３は六面体又はその集合として定義する。そしてユーザーが各変形のパラメータ（曲げ角θなど）を設定、また変更することで凸多面体の頂点を移動させ、凸多面体（六面体）に対する重心座標を基底に用いた形状変形手法によって変形空間内のメッシュモデルを変形することができるのである。
【実施例１】
【００４６】
本メッシュモデル変形技術を、工業製品モデル（椅子）および解析メッシュモデル（ＨＤＤカバー）に本手法を適用し、本手法が設計段階での形状変形に利用可能であることが確認できた。図１８に示す椅子のメッシュモデルに対して、各部を曲げ、伸ばし、そして曲げとねじりを行った結果を図１９に示している。また、図２０（ａ），（ｂ）はＨＤＤカバーの孔の径の変更変形を部分拡大／縮小変形により実行した結果を示している。また、図２１（ａ），（ｂ）はＨＤＤカバーの孔の位置移動を部分移動変形により実行した結果を示している。
【００４７】
いずれもリアルタイムな変形が可能であった。つまり、ユーザーがマウス２２あるいはそれに相当するポインティングデバイスにて矩形ポイントを設定することで、まず、ハンドル（変形空間）を生成し、これを表示装置２３にモデルと共に表示させる。続いて、表示されているハンドルをマウス２２にてドラッグしてドラッグポイントを上下、左右、あるいは回転移動させることで、その移動量を変形パラメータにしてメッシュモデルを変形させることができた。したがって、本発明によれば、ハンドル作成操作が容易であること、変形操作が煩雑でないこと、変形領域を陽に指定可能であること、対話的な変形が可能であることのユーザビリティの良好性が確認できた。
【００４８】
（第２の実施の形態）次に、本発明の第２の実施の形態のメッシュモデル変形装置、変形方法及びプログラムについて説明する。本実施の形態のメッシュモデル変形技術は、変形空間（ハンドル）の定義を六面体ではなく、指定された変形タイプに適した、より複雑な凸多面体とすることで、以下に述べるようにＣ１連続性を保ったメッシュモデル変形を行うことを特徴とする。
【００４９】
本実施の形態のメッシュモデル変形装置は、Ｃ１連続性を保ったモデル形状変形を実現するハンドル形状（変形空間となる凸多面体）を決定する。これは、重心座標関数の解析に基づいており、以下にその手順を示す。本実施の形態におけるハードウェア構成は図１に示した第１の実施の形態のものと同様であり、また変形方法も図２に示した第１の実施の形態のものと共通である。ただし、処理ＳＴ１とＳＴ３の内容が異なる。
【００５０】
図２２に示すように、変形空間Ｓ３と制御空間Ｓ２との境界上のハンドル頂点を制御頂点、変形空間Ｓ３と固定空間Ｓ１との境界上のハンドル頂点を固定頂点、それ以外のハンドル頂点を自由頂点と定義し、それぞれをｖＡ、ｖＦ、ｖＳとする。以下では、２軸を回転軸に、制御頂点が回転変換する「曲げ」変形について例を挙げて説明するが、他の変形でも同様の手順で解析を行う。
【００５１】
まず、曲げの初期ハンドル形状を次のように生成する。連続性を保つ曲げは、直線が変形後に２次の曲線で表現できるような変形である。そこで自由形状変形の基底関数（重心座標関数）の次数も２次以上であるべきである。第１の実施の形態で示したように、六面体のハンドルの制御頂点・固定頂点の間に自由頂点を図２２のように挿入することで、自由頂点のｚ座標値ｄを自由度として持つ六角形柱のハンドルを生成する。
【００５２】
次に、上述の初期ハンドル形状を用いて重心座標・導関数の解析を次のように行う。図２３に、自由頂点のｚ座標値ｄをｄ＝２及びｄ＝１０００にした場合に自由頂点、制御頂点、固定頂点に対する重心座標のｙ導関数∂ｂ／∂ｙをｘ＝０，ｚ＝０でプロットした結果を示す。ｄ＝１０００の場合、ｖＡに関する導関数の値が固定空間Ｓ１と変形空間Ｓ３との境界面上（ｙ＝−１）で十分に小さくなっていることがわかる。ここでは、初期ハンドルの自由頂点のｚ座標値ｄが十分大きく、∂ｂ／∂ｙ｜ｙ＝−１＝０であるものとする。
【００５３】
最後に、連続性を保つ変形を実現する変形時のハンドルの自由頂点の位置を導出する。ある曲げ角θが与えられたとき、制御頂点はアフィン変換によって位置が決定するが、自由頂点の位置は決定しない。そこで以下に述べるように、連続性を保つ条件から自由頂点の位置を決定する。簡単のため、曲げ角θが与えられた場合に、連続性を保つような自由頂点の座標をｖ’Ｆ（θ）とする。ここで、連続性を保つ条件は、「∂ｘ／∂ｙのｘ方向成分が変形空間Ｓ３と固定空間Ｓ１との境界上でθに関して変化しないこと」、すなわち式（４）のように与えられる。
【数４】
0004403277.tif 000005
【００５４】
ここで、ｖ’ｉｘ（θ）はｖ’ｉ（θ）のｘ成分である。
【００５５】
∂ｂＡ／∂ｙ｜ｙ＝−１＝０であること、∂ｖＳ／∂θ＝０であることから、上記の条件は式（５）のようになる。
【数５】
0004403277.tif 000006
【００５６】
本実施の形態では、式（５）を満たす式（６）の条件を採用する。
【数６】
0004403277.tif 000007
【００５７】
この式（６）より、自由頂点がｘ方向に移動しないこと、さらに変形空間Ｓ３が２つの境界の二等分面に対して面対象であると仮定し、図２４に示すように、Ｃ１連続を保つための条件は、自由頂点が制御、固定各頂点から等距離にあり、自由頂点と固定頂点・変形頂点とを結ぶ辺がそれぞれ対応する境界面に対して常に垂直であるという幾何的な条件となる。
【００５８】
以上より、変形手順ステップＳＴ１のハンドル生成処理において形状のＣ１連続を保つことが可能な変形を実現するために生成されるハンドルは、六面体のハンドルの制御頂点・固定頂点の間に自由頂点を図２２のように挿入したものであり、ステップＳＴ３のモデル変形処理において式（６）の条件を満たすように挿入した自由頂点の位置を定めることで、形状のＣ１連続を保つ変形を行う。また、自由頂点のｚ座標値ｄの値を変更することで境界面上での連続性を変化させた変形が可能である。
【００５９】
本実施の形態によるメッシュモデル変形方法を、簡単な板モデルに適用したものが図２５に示してある。また、工業製品モデルに適用し、十分に大きなｄの値を選択したものが図２６に示してある。
【００６０】
本実施の形態によれば、近似的にＣ１連続性を保った変形が可能であること、ｄの値を変更することで境界面上での連続性を変化させた変形が可能である。
【図面の簡単な説明】
【００６１】
【図１】本発明の第１の実施の形態のメッシュモデル変形装置の機能構成を示すブロック図。
【図２】上記実施の形態によるメッシュモデル変形方法の処理シーケンス図。
【図３】上記実施の形態のメッシュモデル変形装置によるハンドル生成処理の説明図。
【図４】上記実施の形態のメッシュモデル変形装置によるモデル変形処理の説明図。
【図５】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法の説明図。
【図６】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法における変形タイプの定義と変形の操作パラメータとの表の説明図。
【図７】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ変形処理の説明図。
【図８】上記実施の形態のメッシュモデル変形装置による円柱体モデルに対する部分移動変形処理の説明図。
【図９】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対するハンドル生成処理の説明図。
【図１０】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ、ねじり、伸縮変形とそれぞれのハンドルとを示す説明図。
【図１１】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対するハンドル生成処理の説明図。
【図１２】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対する反り、部分拡大／縮小、部分移動変形とそれぞれのハンドルとを示す説明図。
【図１３】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連する単純な凸多面体と単純ではない凸多面体とを示す説明図。
【図１４】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における多面体頂点の隣接面の成す単体を示す説明図。
【図１５】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における内部頂点と隣接面との距離の説明図。
【図１６】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純でない凸多面体を単純な凸多面体に近似する方法の説明図。
【図１７】上記実施の形態のメッシュモデル変形装置による重心座標計算処理の説明図。
【図１８】上記実施の形態のメッシュモデル変形装置に入力され、表示された椅子メッシュモデルの図。
【図１９】上記実施の形態のメッシュモデル変形装置により変形処理された椅子メッシュモデルの図。
【図２０】上記実施の形態のメッシュモデル変形装置に入力され、表示されたＨＤＤカバーのメッシュモデルに対する孔の縮小変形処理の説明図。
【図２１】上記実施の形態のメッシュモデル変形装置に入力され、表示されたＨＤＤカバーのメッシュモデルに対する孔の部分移動処理の説明図。
【図２２】本発明の第２の実施の形態のメッシュモデル変形装置によるハンドル生成処理の説明図。
【図２３】上記実施の形態のメッシュモデル変形装置による重心座標計算処理の説明図。
【図２４】上記実施の形態のメッシュモデル変形装置によるモデル変形処理に用いるｘ−ｙ平面上で見た連続性を保つための変形空間の幾何条件を示す説明図。
【図２５】上記実施の形態のメッシュモデル変形装置によるハンドル初期形状と変形後モデル形状との関係を示す説明図。
【図２６】上記実施の形態のメッシュモデル変形装置による工業製品のメッシュモデルに対する変形処理を示す説明図。
【符号の説明】
【００６２】
１  入出力制御部
２  データ記憶部
３  ハンドル自動生成部
４  重心座標計算部
５  モデル変形処理部
１０  制御演算処理部
２１  キーボード
２２  マウス
２３  表示装置
【図１】
0004403277.tif 000008
【図２】
0004403277.tif 000009
【図６】
0004403277.tif 000010
【図２３】
0004403277.tif 000011
【図３】
0004403277.tif 000012
【図４】
0004403277.tif 000013
【図５】
0004403277.tif 000014
【図７】
0004403277.tif 000015
【図８】
0004403277.tif 000016
【図９】
0004403277.tif 000017
【図１０】
0004403277.tif 000018
【図１１】
0004403277.tif 000019
【図１２】
0004403277.tif 000020
【図１３】
0004403277.tif 000021
【図１４】
0004403277.tif 000022
【図１５】
0004403277.tif 000023
【図１６】
0004403277.tif 000024
【図１７】
0004403277.tif 000025
【図１８】
0004403277.tif 000026
【図１９】
0004403277.tif 000027
【図２０】
0004403277.tif 000028
【図２１】
0004403277.tif 000029
【図２２】
0004403277.tif 000030
【図２４】
0004403277.tif 000031
【図２５】
0004403277.tif 000032
【図２６】
0004403277.tif 000033