説明

凸多面体に対する重心座標を用いた自由形状変形システム

【課題】メッシュモデルの変形量をパラメトリックに指定することでメッシュモデルの所望の変形を可能にしたメッシュモデル変形技術を提供する。
【解決手段】本発明は、表示装置22に表示されているメッシュモデルに対して、変形タイプと分割領域を指定すると、変形範囲を設定するハンドルを生成し、ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算し、変形量パラメータ数値の入力に対して、仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を再計算することでメッシュモデルを指定寸法だけ変形させ、変形結果を表示装置に表示させるメッシュモデル変形装置を特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、凸多面体に対する重心座標を用いた自由形状変形システムに適用するメッシュモデル変形装置、方法及びプログラムに関する。
【背景技術】
【0002】
データ構造が単純で形状表現自由度の高い三角形メッシュモデルが、CAD/CAM/CAE分野で多く利用されている。特に効率的な意匠設計磯能設計の実現のために、3次元(3D)形状スキャニングや3次元(3D)モデルデータベースのクエリなどから得られるメッシュモデルを自由に変形し容易に再利用できる技術が望まれている。
【0003】
メッシュモデルを変形する際、メッシュの頂点位置を各々動かすのは非常に手間がかかるため、各メッシュの頂点位置をまとめて移動、すなわち形状を大局的に変形したいという要求がある。このような要求を満たすメッシュモデルの代表的な自由形状変形手法としてFFD(Free−Form Deformation)が挙げられる。FFDは、3次元の規則格子で定義されるパラメータ空間にモデルを埋め込み、規則格子をハンドルとしてパラメータ空間を歪めることでモデルの形状変形を行う手法である。この手法は、規則格子の頂点全てを操作でき、変形操作の自由度が高い利点があるが、反面、操作すべき対象が多く、操作の入力が煩雑になってしまう問題点がある。
【0004】
一方でそのような操作の煩雑さを解決する自由形状変形手法が提案されているが、その場合、可能な変形タイプ(曲げ、ねじりなど)が限定されてしまう。
【0005】
また、設計段階での3Dモデル変形では、可能な変形タイプが多いこと、変形部分を陽に指定できること、操作が煩雑でないことなどが望まれる。それらを満たす自由形状変形手法は提案されていない。
【0006】
これに対して、本願発明者らは特願2006−053162にて、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低いという利点をもつ重心座標を用い、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによる変形が可能な凸多面体に対する重心座標を用いた自由形状変形技術を開示した。
【0007】
しかしながら、先出願の自由形状変形技術では、ポインティングデバイスによって表示装置の画面上で対象モデルに対して変形空間を指定し、ハンドルを自動生成させ、このハンドルを操作することでメッシュモデルに対してインタラクティブに自由形状変形ができるが、変形角度、変形サイズ、移動距離等をパラメトリックに数値指定するものではないので変形量を厳密に設定することができない。そのため、厳密に変形量を指定し、変形結果を厳密に評価することができる自由形状変形技術の開発が望まれていた。
【特許文献1】特開2004−40341号公報
【特許文献2】特開平7−320078号公報
【特許文献3】特開2003−30254号公報
【特許文献4】特開2004−54852号公報
【特許文献5】特開平9−73559号公報
【非特許文献1】TW. Sederberg, SR. Parry; “Free-Form Deformation of Solid Geometric Models”, Proc. SIGGRAPH ’86, 1986年, 151-160ページ。
【非特許文献2】Y. Kho and M. Garland; “Sketching mesh deformations”, Proceedings of the ACM Symposium on Interactive 3D Graphics, 2005年147-154ページ。
【非特許文献3】J. Warren; “On the uniqueness of barycentric coordinates”, In Contemporary Mathematics, Proceedings of AGGM, (2003) 93-99ページ。
【非特許文献4】水野他、「凸多面体に対する重心座標を用いたメッシュモデルの自由形状変形」、精密工学会秋季全国大会講演論文集、2005年、219-220ページ。
【非特許文献5】水野他、「任意形状凸多面体に対する重心座標関数を用いたメッシュモデルの変形手法とその変形形状制御への応用」、精密工学会春季全国大会講演論文集、2006年、17-18ページ。
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明は、このような背景技術の課題に鑑みてなされたもので、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低いという利点をもつ重心座標を用い、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによる変形が可能で、かつ、モデルの寸法を数値指定することでメッシュモデルの所望の変形を可能にしたメッシュモデル変形技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の1つの特徴は、図形と文字を表示する表示装置と、前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、文字データの入力操作手段と、メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、前記表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割処理手段と、前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出手段と、変形タイプを指定する変形タイプ指定手段と、前記表示装置に表示されているメッシュモデルに対して、前記ポインティング操作手段にて、操作したい寸法を規定する変形領域と非変形領域とを指定させる変形領域設定手段と、前記変形領域設定手段により設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出手段と、前記変形領域設定手段により設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成手段と、前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、前記変形空間に対する変形量パラメータ数値を設定する変形パラメータ設定手段と、目標寸法を満たす変形を行えるような前記変形タイプと変形量パラメータ数値との入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を前記重心座標から再計算することで前記メッシュモデルを変形させ、変形結果を前記表示装置に表示させる変形処理手段とを備えたメッシュモデル変形装置にある。
【0010】
上記メッシュモデル変形装置において、前記変形タイプ指定手段は、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の3種の変形タイプの中から1を指定するものとすることができる。
【0011】
本発明の別の特徴は、表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、前記メッシュモデルの変形結果を前記表示装置に表示させるステップとを有するメッシュモデル変形方法にある。
【0012】
上記メッシュモデル変形方法において、変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の3種の変形タイプから1を指定するものとすることができる。
【0013】
本発明のさらに別の特徴は、表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、前記メッシュモデルの変形結果を前記表示装置に表示させるステップとをコンピュータに実行させるメッシュモデル変形プログラムにある。
【0014】
上記メッシュモデル変形プログラムにおいて、変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の3種の変形タイプから1を指定するものとすることができる。
【発明の効果】
【0015】
本発明のメッシュモデル変形装置、方法及びプログラムによれば、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低い利点をもつ重心座標を用いることで、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによるメッシュモデルの変形が可能である。
【0016】
また本発明によれば、変形タイプと操作対象の寸法とを選択し、目標寸法を数値設定することで所望量の自由形状変形が可能であり、設定した目標寸法を満たすメッシュモデルの厳密な変形が可能である。
【発明を実施するための最良の形態】
【0017】
以下、本発明の実施の形態を図に基づいて詳説する。
【0018】
(第1の実施の形態)図1は、本発明の1つの実施の形態のメッシュモデル変形装置100の機能構成を示している。本実施の形態のメッシュモデル変形装置100は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータ装置にメッシュモデル変形プログラムを組み込み、実行させることによってコンピュータ装置として構成することもできる。本実施の形態では、後者のものとして説明する。
【0019】
本実施の形態のメッシュモデル変形装置100は、例えばネットワークを通じてのデータ信号の入力/出力、キーボード21、マウスのようなポインティングデバイス22からの信号の入力、表示装置23に対するビデオ信号を出力、プリンタ等の周辺機器に対するデータ信号の入力/出力等、データ及び信号の入力/出力を制御する入出力制御部1、入出力制御部1を通じて入力されたメッシュモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部2を備えている。このデータ記憶部2は、例えばハードディスク、DVD、CD−ROMディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、装置メモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【0020】
また、メッシュモデル変形装置100は、メッシュモデルに対し、2面角を求め、さらに閾値処理をして特徴稜線を抽出し、特徴稜線に囲まれた部分を1つの領域とする領域分割処理を行う領域分割処理部3、最小2乗法を用いた、領域への平面、円筒面、その他のフィッティングを行い、かつ、この曲面フィッティングにより割り出された曲面について、各平面領域についてはその上の一点の座標と法線を抽出し、各円筒面領域についてはその径、軸方向、軸始点座標を曲面パラメータとして抽出する曲面フィッティング処理部4、変形領域の設定操作を受付け、変形領域を設定する変形領域設定部8、指定された平行な2平面間の距離を計算して寸法とし、円筒面の直径を寸法とし、円筒面の軸、始点位置を寸法として割り出す寸法抽出部5、変形タイプ選択入力、変形対象の選択入力に対して固定空間、制御空間、変形空間を決定し、かつメッシュモデルに対するハンドルを生成するハンドル生成部6、目標寸法入力に対して変形パラメータを計算し、メッシュモデルを変形させるモデル変形処理部7、そして、上記各処理部の動作を制御する制御演算処理部10を備えている。
【0021】
次に、上記構成のメッシュモデル変形装置100により実行される、例えば、三角形メッシュモデルのようなメッシュモデルデータに対する変形方法について説明する。このメッシュモデル変形方法は、図2に示す3つのステップ、すなわち、寸法抽出処理のステップST1、ハンドル生成処理のステップST2、形状変形処理のステップST3から成る。
【0022】
寸法抽出処理ステップST1では、図3に示すような三角メッシュモデルデータDT1をデータ記憶部2から入力し、マウスその他の入力手段21,22によって特徴稜線を識別するための閾値DT2、寸法基準DT3を設定することで、二面角計算を行い、特徴稜線を抽出し、周囲を特徴稜線で囲まれた部分を1つの領域とする領域分割を行う。そして領域毎への平面、円筒面の曲面フィッティングを行い、さらに得られた平面、円筒面に対して寸法計算を行い、図4に示すような領域情報DT4と図5に示すような寸法情報DT5を得る。これらは、領域分割処理部3、曲面フィッティング処理部4、寸法抽出部5によって行われる。
【0023】
ハンドル生成処理ステップST2では、寸法抽出処理結果としての領域情報DT4と寸法情報DT5、そして上記寸法基準DT3を入力し、さらに非変形部分DT6を指定入力し、変形タイプDT7と変形領域DT8を選択入力することで、変形領域設定部8は変形領域・非変形領域の設定を行い、寸法抽出部5は変形領域に対する寸法抽出を行う。そして、ハンドル生成処理部6により変形対象四角柱または四角柱の集合を計算し、バウンディングボックス(Bounding box)を生成し、図6に示すようなハンドルDT9を生成して出力する。
【0024】
形状変形処理ステップST3では、ハンドル生成処理結果としてのハンドルDT9を入力し、変形目標寸法DT10を入力することで、モデル変形処理部7によりメッシュモデルDT1、領域情報DT4、寸法情報DT5を用いて変形パラメータを計算し、この変形パラメータの計算結果に基づく変形操作を行い、図7に示すような変形後のメッシュモデルDT11を生成して出力する。
【0025】
以下、各処理ステップについて、詳しく説明する。
【0026】
(I)寸法抽出処理
メッシュモデルに対して変形量のパラメータを指定して変形処理するためには、そのメッシュモデルの平面部、円筒面部、穴あき部分等の形状属性を求め、また、各部の寸法を抽出する必要がある。そこで、本実施の形態では、最初に、領域分割処理部3にて、2面角の閾値処理を次の手順で行う。これは、図8に示すように、メッシュモデルの隣接する2つの三角形の法線n1,n2の内積を計算し、その内積の絶対値を閾値DT2と比較する。そして内積が閾値DT2よりも小さければ間の辺eiを特徴稜線とする。そして、メッシュモデル全体にこの内積計算を実施し、閾値と比較し、メッシュモデル全体における特徴稜線を抽出する。そして、特徴稜線に囲まれた部分を一つの領域とし、領域分割を行う。図9は閾値DT2=0.15とした場合の例示モデルに対する領域分割結果を示し、図10は閾値DT2=0.95とした場合の同じ例示モデルに対する領域分割結果を示している。後者の方が厳密な領域分割ができている。
【0027】
次に、得られた各領域について、最小二乗法を用いて平面・円筒面フィッティング処理を曲面フィッティング処理部4が行う。各領域毎に最初に平面をフィッティングし、平面との誤差が大きい場合には円筒面をフィッティングする。そして円筒面との誤差も大きい場合は「その他」へ分類する。
【0028】
そして、曲面フィッティング処理部4は、図11に示すように、各平面については、その法線ベクトルnを求め、またその法線ベクトルnの始点位置の座標を求める。また、図12に示すように、各円筒面については、軸ベクトルaを求め、またその軸ベクトルaの始点位置の座標を求め、直径Rを求める。
【0029】
次に、寸法抽出部5において、指定された2平面間の距離D、指定された円筒面の直径R、指定された円筒面の軸ベクトルaとその始点位置座標を求める。図13には平行な2平面間の距離Dを計算し、寸法とする例を示してある。図14には円筒面の直径R(フィッティング時に計算済み)を寸法とする例を示してある。また図15には円筒面の軸ベクトルa、始点位置(フィッティング時に、直径と共に計算済み)を寸法とする例を示してある。
【0030】
(II)ハンドル自動生成処理
(a)2平面間の距離の変更は、図16に示すように伸縮変形により実現する。この場合、ハンドルH1として四角柱を生成する。(b)円筒の径の変更は、図17(a)、(b)に示すように部分拡大/縮小変形により実現する。この場合、ハンドルとして四角柱の集合を生成する。(c)円筒軸の位置の変更は、図17(a)、(c)に示すように部分移動変形により実現する。この場合も、ハンドルとして四角柱の集合を生成する。
【0031】
各変形の実現のためのハンドルの生成手順は次に通りである。
【0032】
(a)2平面間の距離変更
図16に示したようにモデルの一部を伸縮させるためのハンドルH1を生成させる手順は、図18A〜図18Dに示したものである。まず、図18Aに示すように、ユーザに基準平面(動かされない側の平面)PL1とそれに平行な制御平面PL2を選択指定させる。
【0033】
これに対して、装置内部では2平面間距離寸法Dを算出する。また、図18Bに示すように、装置内では、基準平面PL1の外側を固定空間S1、制御平面PL2の外側を制御空間S2とする。ここで、図18Cに示すように、2平面間で挟まれた空間中にユーザが変形を望まない領域、つまり、非変形部PL3があれば、それをユーザに選択させる。これにより、装置内で固定空間S1をこの非変形部PL3を含むまで拡大し、固定空間S’1を再定義する。これにより、図18Dに示すように、装置は、固定空間S’1と制御空間S2との挟まれた空間を変形空間とし、モデルのバウンディングボックスをハンドルH1とする。
【0034】
(b)円筒径・円筒軸位置の変更
図17に示したようにモデルの円筒面領域の円筒径・円筒軸位置を変更するためのハンドルを生成させる手順は、図19A〜図19Dに示したものである。この場合、円筒径変更、円筒軸位置変更のいずれでも同様の手順でハンドルH2を生成することになるが、そのいずれのタイプの変更であるかは、ユーザが画面で選択指定する。
【0035】
円筒径・円筒軸位置の変更のためには、まず、対象となる円筒面PL4をユーザに選択指定させる。この円筒面PL4の円筒径Rはすでに求められているので、この選択指定により、円筒面PL4の円筒径Rと円筒軸a、始点位置座標が現在の寸法として読み出される。これと共に、円筒面PL4の選択により、この円筒面PL4を囲むバウンディングボックスの内部を制御空間S5とする。次に、非変形部として直方体の外面領域を選択する。この結果として、装置は、非変形部である直方体外面の外側の固定空間S6と制御空間S5との間を変形空間S7とする。そして、変形空間S7を四角柱に分割したものをハンドルH2として生成する。
【0036】
(III)形状変形処理
最後に目標寸法(パラメータ)を数値入力することで、自動的に所望変形量の形状変形処理を行う。この処理手順は次による。
【0037】
(a)2平面間の距離変更の場合、図20に示すように、変形空間の伸縮目標寸法D’をユーザに入力させることで、装置側が制御空間S2の平行移動量d=D’−Dを伸縮パラメータとし、この伸縮量パラメータdだけ変形空間を伸縮させる。伸縮変形処理については先願の明細書に記載のものによるが、後述する。
【0038】
(b)円筒径の変更の場合、図21に示すように、円筒径の目標寸法R’を入力することで、現在の寸法Rに対する拡大倍率r=R’/Rを求め、これを拡大率として変形空間の部分拡大縮小変形処理を行い、円筒径を拡大あるいは縮小させる。部分拡大縮小変形処理についても先願の明細書に記載のものによるが、後述する。
【0039】
(c)円筒軸位置移動の場合、図22に示すように、円筒軸の移動先の位置座標X’を目標寸法として入力することで、現在の円筒軸座標Xからの移動ベクトル量x=X’−Xを求め、この移動ベクトル量xを変形パラメータとして変形空間を移動させる。この処理も先願の明細書に記載のものによるが、後述する。
【0040】
図23に2平面間の距離変更の処理結果を示している。本例では、同図(a)に示したメッシュモデルに対して、基準面PL1と制御面PL2とを指定して目標寸法20mmとする操作した場合の処理結果を示している。同図(b)に示すように寸法抽出処理では基準面PL1と制御面PL2との間の距離が5mmであったが、この距離の目標寸法を20mmに設定して変形処理を実行させたとき、同図(c)に示すように寸法変形と共に形状変形が得られた。
【0041】
図24に2平面間の距離変更の別の処理結果を示している。本例では、同図(a)に示したメッシュモデルに対して、基準面PL1と制御面PL2とを指定し、かつ、非変形部PL3を指定し、目標寸法20mmとする操作した場合の処理結果を示している。同図(b)に示すように寸法抽出処理では基準面PL1と制御面PL2との間の距離が5mmであったが、この距離の目標寸法を20mmに設定して変形処理を実行させたとき、同図(c)に示すように寸法変形が得られた。また、非変形部PL3以下の部分は元の形状が保持されていた。
【0042】
図25に円筒面の径変更の処理結果を示している。本例では、同図(a)に示したメッシュモデルに対して、円筒面PL4を指定して円筒径の目標寸法を5mmに縮小する操作をした場合の処理結果を示している。同図(b)に示すように寸法抽出処理では円筒面PL4の径が16.5mmであったが、この径の目標寸法を5mmに設定して拡大縮小変形処理を実行させたとき、同図(c)に示すように円筒径の寸法変更が実現できた。
【0043】
図26に円筒面の軸移動の処理結果を示している。本例では、同図(a)に示したメッシュモデルに対して、円筒面PL4を指定して軸位置を(0,0)から目標位置(5,−10)まで移動させる操作をした場合の処理結果を示している。同図(b)に示すように寸法抽出処理では円筒面PL4の軸の始点座標が(0,0)であったが、この軸位置の目標位置を(5,−10)に設定して部分移動変形処理を実行させたとき、同図(c)に示すように円筒面PL4の移動変形が実現できた。
【0044】
次に、先願明細書に記載した自由形状変形手法について簡単に説明する。モデルの変形の定義と分類は、変形を統一的にモデル化するために、図27のように変形前後で内部頂点位置の変わらない空間を固定空間S1、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間S2、それ以外の変形をする頂点を含む空間を変形空間S3とし、制御空間S2の変化を記述するアフィン変換の種類によって変形タイプを分類する。
【0045】
固定空間S1と制御空間S2との間には必ず変形空間S3が入る。これに基づくと、既存の研究や商用ソフトで実装されている変形及び設計で望まれる変形はすべて、図28の表1のように「曲げ」、「ねじり」、「伸縮」、「反り」、「部分拡大/縮小」、「部分移動」の6種のタイプに分類する。例えば、「曲げ変形」は制御空間S2の変形は、ベクトルkを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。また、「ねじり変形」は、ベクトルvを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。他の「伸縮」、「反り」、「部分拡大/縮小」、「部分移動」の各変形についても表1に示すそれぞれの制御空間S2のアフィン変換で記述し、変形パラメータを規定する。尚、この変形の操作パラメータは、図2におけるハンドル生成処理ST2に対する変形タイプ入力DT7、変形領域指定DT8にて入力する。
【0046】
本実施の形態のメッシュモデル変換方法では、ハンドル生成処理ST2において、変形領域、変形タイプ、非変形部分の指定により、変形空間を定義し、これをハンドルとして自動的に生成する。
【0047】
制御空間S2をアフィン変換し、それに接続されている変形空間S3(ハンドル)の頂点位置の移動に伴うメッシュモデルの変形は、非特許文献4に記載されたBCFFD(重心座標を用いた自由形状変形)による。対応する変形タイプの目標寸法を入力すれば、操作パラメータを算出し、これに応じて制御空間S2をアフィン変換し、モデルの変形を行う。
【0048】
これを、図29に示す板モデルの変形処理を例に説明する。
【0049】
(a)ユーザが2平面(p1−p4),(p2−p3)を画面上で指定することで、2平面で囲まれた矩形(p1,p2,p3,p4)を生成する。
【0050】
(b)装置により面分p1,p2,p3,p4を底面とする四角柱を変形空間S3として生成する。この変形空間S3の表示がハンドルHDLである。
【0051】
(c)装置により変形軸ベクトルv,kを計算する。ただし、ベクトルkは矩形(p1,p2,p3,p4)の重心を通る視点方向ベクトル、ベクトルvはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルkと垂直なベクトルである。
【0052】
(d)装置により固定空間S1、制御空間S2内のモデル頂点を決定する。
【0053】
(e)ユーザが、伸縮目標寸法、目標曲げ角度を入力することにより、制御空間S2内モデル頂点および制御空間S2に面した変形空間S3の頂点をアフィン変換し、モデルの形状変形を行う。
【0054】
また、図30に示すモデルに対する変形処理は、次のように実行する。
【0055】
(a)ユーザが円筒面を指定し、また、固定面を指定することにより2つの矩形(p1,p2,p3,p4),(p5,p6,p7,p8)を生成する。
【0056】
(b)装置により2つの矩形(p1,p2,p3,p4),(p5,p6,p7,p8)を底面とする四角柱に挟まれる空間を変形空間S3とし、四角柱の集合に分割する。
【0057】
(c)装置により、変形軸ベクトルv,kを計算する。この場合も、ベクトルkは矩形(p,p,p,p)の重心を通る視点方向ベクトル、ベクトルvはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルkと垂直なベクトルである。
【0058】
(d)装置により固定空間S1、制御空間S2内のモデル頂点を決定する。
【0059】
(e)ユーザが円筒面の径の目標寸法を入力し、あるいは円筒軸の軸移動位置を入力することによって、装置側が変形パラメータを増減演算し、制御空間S2内のモデル頂点および制御空間S2に面した変形空間S3の頂点をアフィン変換し、モデルの形状変形を行う。
【0060】
その他の処理について、図31(a)に示すように板モデルに対して基準面と制御面を指定することで、同図31(b)に示すように装置側がハンドルHDL、すなわち変形空間S3を自動生成する。そして、このハンドルHDLに対して曲げ変形、ねじり変形、伸縮変形の選択とその目標寸法、曲げ角度等のパラメータを数値入力することで、図32(a)、図32(b)、図32(c)それぞれに示すように板モデルの曲げ、ねじり、伸縮の形状変形をメッシュモデルベースで実行することができる。
【0061】
また、図33(a)に示すように棒モデルに対して円筒面と固定面を指定することで、同図(b)に示すように装置側がハンドルHDL、すなわち変形空間S3を自動生成する。そして、このハンドルHDLに対して反り変形、部分拡大/縮小変形、部分移動変形の選択とその目標寸法、角度を数値指定することで、図34(a)、図34(b)、図34(c)それぞれに示すように棒モデルの反り、部分拡大/縮小変形、部分移動変形をメッシュモデルベースで実行することができる。
【0062】
ここに、ハンドルHDLの重心座標計算について説明する。図35(a),(b)は単純な凸多面体と単純でない凸多面体とを例示している。頂点vが3つの面の交点である場合にはその多面体は単純な凸多面体であり、それ以上の面の交点がある場合単純でない凸多面体とする。
【0063】
凸多面体内部の点xの凸多面体Pに対する重み関数w(x)を凸多面体の頂点vの隣接面の法線の張る平行六面体体積と、vの各隣接面とxとの距離の積との比、すなわち式(1)のように定義する。
【数1】

【0064】
ここで、nσ1,nσ2,nσ3は、図36、図37に示すようにvの3枚の隣接面の単位法線である。重み関数w(x)を式(2)のように正規化し、点xの凸多面体Pの頂点vに対する重心座標b(x)を求める。
【数2】

【0065】
尚、図38(a)に示すように、注目する凸多面体が単純ではない場合、図38(b)に示すように単純でない頂点vを複数の単純な頂点に分割し、各々の単純な頂点に対して式(1),(2)により重心座標を計算し、各々の単純な頂点に対して計算した重心座標の値を足し合わせることにより、単純でない頂点に対する重心座標を求める。
【0066】
図39に示すように、重心座標を用いた自由形状変形ハンドルの頂点vがv’に移動し変形した場合、ハンドル内部のモデル頂点xの移動後位置x’は次の式(3)のように計算する。
【数3】

【0067】
本装置では、式(3)をハンドル内の全てのメッシュモデル頂点に適用することで、モデルの自由形状変形を行う。
【0068】
しかしながら、このハンドル頂点を直接操作することによる自由形状変形手法は、変形操作の自由度が高い反面、操作が煩雑である。そこで、本実施の形態のメッシュモデル変形装置及び方法では、不必要な変形自由度を無くし、操作の煩雑さを解決するため、上述したように表1のように変形タイプに基づいたハンドルの自動生成とそのパラメトリック変形処理を行う。
【0069】
これにより、本実施の形態では、ユーザがモデル内の変形対象及び変形タイプを選択し、変形対象形状を指定すると、装置により制御空間S2(変形前後の位置関係がアフィン変換で記述できる空間)、固定空間S1(変形前後で内部のモデルが変化しない空間)、変形空間S3(変形前後で内部のモデルが制御空間S2に従って変形する空間)を自動的に定義する。変形空間S3は四角柱又はその集合として定義する。そしてユーザが各変形の目標寸法を数値入力することで凸多面体の頂点を移動させ、凸多面体(六面体)に対する重心座標を基底に用いた形状変形手法によって変形空間内のメッシュモデルを変形する。
【図面の簡単な説明】
【0070】
【図1】本発明の1つの実施の形態のメッシュモデル変形装置の機能構成を示すブロック図。
【図2】上記実施の形態によるメッシュモデル変形方法の処理シーケンス図。
【図3】上記実施の形態のメッシュモデル変形装置により形状変更処理を行う対象としてのメッシュモデル例の説明図。
【図4】上記実施の形態のメッシュモデル変形装置による領域分割後のメッシュモデルを示す説明図。
【図5】上記実施の形態のメッシュモデル変形装置による寸法抽出処理後のメッシュモデルを示す説明図。
【図6】上記実施の形態のメッシュモデル変形装置によるハンドル生成処理後のメッシュモデルを示す説明図。
【図7】上記実施の形態のメッシュモデル変形装置による2平面間の距離変更処理後のメッシュモデルを示す説明図。
【図8】上記実施の形態のメッシュモデル変形装置による2面角の計算手法の説明図。
【図9】上記実施の形態のメッシュモデル変形装置による、閾値0.15を適用して領域分割したときの領域分割後のメッシュモデルを示す説明図。
【図10】上記実施の形態のメッシュモデル変形装置による、閾値0.95を適用して領域分割したときの領域分割後のメッシュモデルを示す説明図。
【図11】上記実施の形態のメッシュモデル変形装置による寸法抽出処理における平面フィッティング結果を示す説明図。
【図12】上記実施の形態のメッシュモデル変形装置による寸法抽出処理における円筒面フィッティング結果を示す説明図。
【図13】上記実施の形態のメッシュモデル変形装置による2平面間の距離変更の操作方法の説明図。
【図14】上記実施の形態のメッシュモデル変形装置による円筒径の寸法変更の操作方法の説明図。
【図15】上記実施の形態のメッシュモデル変形装置による円筒面の軸移動変更の操作方法の説明図。
【図16】上記実施の形態のメッシュモデル変形装置による板モデルに対する伸縮変形処理の説明図。
【図17】上記実施の形態のメッシュモデル変形装置による円筒面の部分拡大縮小変形、部分移動変形処理の説明図。
【図18A】上記実施の形態のメッシュモデル変形装置による2平面間寸法変更処理における2平面の指定ステップの説明図。
【図18B】上記実施の形態のメッシュモデル変形装置による2平面間寸法変更処理における固定空間、制御空間生成ステップの説明図。
【図18C】上記実施の形態のメッシュモデル変形装置による2平面間寸法変更処理における非変形部の指定ステップの説明図。
【図18D】上記実施の形態のメッシュモデル変形装置による2平面間寸法変更処理における変形空間とハンドルの生成ステップの説明図。
【図19A】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における円筒面の指定ステップの説明図。
【図19B】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における制御空間生成ステップの説明図。
【図19C】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における固定空間の生成ステップの説明図。
【図19D】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における変形空間とハンドルの生成ステップの説明図。
【図20】上記実施の形態のメッシュモデル変形装置による2平面間寸法変更処理における変形前と変形後のモデルを対比して示す説明図。
【図21】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における変形前と変形後のモデルを対比して示す説明図。
【図22】上記実施の形態のメッシュモデル変形装置による円筒面の軸位置変更処理における変形前と変形後のモデルを対象させて示す説明図。
【図23】上記実施の形態のメッシュモデル変形装置による2平面間寸法変更処理手順の説明図。
【図24】上記実施の形態のメッシュモデル変形装置による非変形部を設定して2平面間寸法変更させる場合の処理手順の説明図。
【図25】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理手順の説明図。
【図26】上記実施の形態のメッシュモデル変形装置による円筒面の軸位置移動処理手順の説明図。
【図27】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法の説明図。
【図28】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法における変形タイプの定義と変形の操作パラメータとの表の説明図。
【図29】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ変形処理の説明図。
【図30】上記実施の形態のメッシュモデル変形装置による円柱体モデルに対する部分移動変形処理の説明図。
【図31】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対するハンドル生成処理の説明図。
【図32】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ、ねじり、伸縮変形とそれぞれのハンドルとを示す説明図。
【図33】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対するハンドル生成処理の説明図。
【図34】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対する反り、部分拡大/縮小、部分移動変形とそれぞれのハンドルとを示す説明図。
【図35】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連する単純な凸多面体と単純ではない凸多面体とを示す説明図。
【図36】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における多面体頂点の隣接面の成す単体を示す説明図。
【図37】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における内部頂点と隣接面との距離の説明図。
【図38】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純でない凸多面体を単純な凸多面体に近似する方法の説明図。
【図39】上記実施の形態のメッシュモデル変形装置による重心座標計算処理の説明図。
【符号の説明】
【0071】
1 入出力制御部
2 データ記憶部
3 領域分割処理部
4 曲面フィッティング処理部
5 寸法抽出部
6 ハンドル生成部
7 モデル変形処理部
8 変形領域設定部
10 制御演算処理部
21 キーボード
22 マウス
23 表示装置
100 メッシュモデル変形装置

【特許請求の範囲】
【請求項1】
図形と文字を表示する表示装置と、
前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、
文字データの入力操作手段と、
メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、
前記表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割処理手段と、
前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出手段と、
変形タイプを指定する変形タイプ指定手段と、
前記表示装置に表示されているメッシュモデルに対して、前記ポインティング操作手段にて、操作したい寸法を規定する変形領域と非変形領域とを指定させる変形領域設定手段と、
前記変形領域設定手段により設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出手段と、
前記変形領域設定手段により設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成手段と、
前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、
前記変形空間に対する変形量パラメータ数値を設定する変形パラメータ設定手段と、
目標寸法を満たす変形を行えるような前記変形タイプと変形量パラメータ数値との入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を前記重心座標から再計算することで前記メッシュモデルを変形させ、変形結果を前記表示装置に表示させる変形処理手段とを備えたことを特徴とするメッシュモデル変形装置。
【請求項2】
前記変形タイプ指定手段は、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の3種の変形タイプの中から1を指定するものであることを特徴とする請求項1に記載のメッシュモデル変形装置。
【請求項3】
表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、
前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、
変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、
前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、
前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、
前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、
前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、
目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、
前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、
前記メッシュモデルの変形結果を前記表示装置に表示させるステップとを有することを特徴とするメッシュモデル変形方法。
【請求項4】
変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の3種の変形タイプから1を指定することを特徴とする請求項3に記載のメッシュモデル変形方法。
【請求項5】
表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、
前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、
変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、
前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、
前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、
前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、
前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、
目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、
前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、
前記メッシュモデルの変形結果を前記表示装置に表示させるステップとをコンピュータに実行させることを特徴とするメッシュモデル変形プログラム。
【請求項6】
変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の3種の変形タイプから1を指定することを特徴とする請求項5に記載のメッシュモデル変形プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図18C】
image rotate

【図18D】
image rotate

【図19A】
image rotate

【図19B】
image rotate

【図19C】
image rotate

【図19D】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate


【公開番号】特開2008−186133(P2008−186133A)
【公開日】平成20年8月14日(2008.8.14)
【国際特許分類】
【出願番号】特願2007−17599(P2007−17599)
【出願日】平成19年1月29日(2007.1.29)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成18年9月4日社団法人精密工学会発行の「2006年度精密工学会秋季大会 学術講演会講演論文集」に発表
【出願人】(504173471)国立大学法人 北海道大学 (971)
【Fターム(参考)】