(57)【要約】【課題】メッシュモデルの変形量をパラメトリックに指定することでメッシュモデルの所望の変形を可能にしたメッシュモデル変形技術を提供する。【解決手段】本発明は、表示装置22に表示されているメッシュモデルに対して、変形タイプと分割領域を指定すると、変形範囲を設定するハンドルを生成し、ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算し、変形量パラメータ数値の入力に対して、仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を再計算することでメッシュモデルを指定寸法だけ変形させ、変形結果を表示装置に表示させるメッシュモデル変形装置を特徴とする。【選択図】      図２
2008186133.tif 000002
【特許請求の範囲】
【請求項１】
図形と文字を表示する表示装置と、
前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、
文字データの入力操作手段と、
メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、
前記表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割処理手段と、
前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出手段と、
変形タイプを指定する変形タイプ指定手段と、
前記表示装置に表示されているメッシュモデルに対して、前記ポインティング操作手段にて、操作したい寸法を規定する変形領域と非変形領域とを指定させる変形領域設定手段と、
前記変形領域設定手段により設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出手段と、
前記変形領域設定手段により設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成手段と、
前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、
前記変形空間に対する変形量パラメータ数値を設定する変形パラメータ設定手段と、
目標寸法を満たす変形を行えるような前記変形タイプと変形量パラメータ数値との入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を前記重心座標から再計算することで前記メッシュモデルを変形させ、変形結果を前記表示装置に表示させる変形処理手段とを備えたことを特徴とするメッシュモデル変形装置。
【請求項２】
前記変形タイプ指定手段は、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の３種の変形タイプの中から１を指定するものであることを特徴とする請求項１に記載のメッシュモデル変形装置。
【請求項３】
表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、
前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、
変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、
前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、
前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、
前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、
前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、
目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、
前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、
前記メッシュモデルの変形結果を前記表示装置に表示させるステップとを有することを特徴とするメッシュモデル変形方法。
【請求項４】
変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の３種の変形タイプから１を指定することを特徴とする請求項３に記載のメッシュモデル変形方法。
【請求項５】
表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、
前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、
変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、
前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、
前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、
前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、
前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、
目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、
前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、
前記メッシュモデルの変形結果を前記表示装置に表示させるステップとをコンピュータに実行させることを特徴とするメッシュモデル変形プログラム。
【請求項６】
変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の３種の変形タイプから１を指定することを特徴とする請求項５に記載のメッシュモデル変形プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、凸多面体に対する重心座標を用いた自由形状変形システムに適用するメッシュモデル変形装置、方法及びプログラムに関する。
【背景技術】
【０００２】
データ構造が単純で形状表現自由度の高い三角形メッシュモデルが、ＣＡＤ／ＣＡＭ／ＣＡＥ分野で多く利用されている。特に効率的な意匠設計磯能設計の実現のために、３次元（３Ｄ）形状スキャニングや３次元（３Ｄ）モデルデータベースのクエリなどから得られるメッシュモデルを自由に変形し容易に再利用できる技術が望まれている。
【０００３】
メッシュモデルを変形する際、メッシュの頂点位置を各々動かすのは非常に手間がかかるため、各メッシュの頂点位置をまとめて移動、すなわち形状を大局的に変形したいという要求がある。このような要求を満たすメッシュモデルの代表的な自由形状変形手法としてＦＦＤ（Ｆｒｅｅ−Ｆｏｒｍ  Ｄｅｆｏｒｍａｔｉｏｎ）が挙げられる。ＦＦＤは、３次元の規則格子で定義されるパラメータ空間にモデルを埋め込み、規則格子をハンドルとしてパラメータ空間を歪めることでモデルの形状変形を行う手法である。この手法は、規則格子の頂点全てを操作でき、変形操作の自由度が高い利点があるが、反面、操作すべき対象が多く、操作の入力が煩雑になってしまう問題点がある。
【０００４】
一方でそのような操作の煩雑さを解決する自由形状変形手法が提案されているが、その場合、可能な変形タイプ（曲げ、ねじりなど）が限定されてしまう。
【０００５】
また、設計段階での３Ｄモデル変形では、可能な変形タイプが多いこと、変形部分を陽に指定できること、操作が煩雑でないことなどが望まれる。それらを満たす自由形状変形手法は提案されていない。
【０００６】
これに対して、本願発明者らは特願２００６−０５３１６２にて、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低いという利点をもつ重心座標を用い、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによる変形が可能な凸多面体に対する重心座標を用いた自由形状変形技術を開示した。
【０００７】
しかしながら、先出願の自由形状変形技術では、ポインティングデバイスによって表示装置の画面上で対象モデルに対して変形空間を指定し、ハンドルを自動生成させ、このハンドルを操作することでメッシュモデルに対してインタラクティブに自由形状変形ができるが、変形角度、変形サイズ、移動距離等をパラメトリックに数値指定するものではないので変形量を厳密に設定することができない。そのため、厳密に変形量を指定し、変形結果を厳密に評価することができる自由形状変形技術の開発が望まれていた。
【特許文献１】特開２００４−４０３４１号公報
【特許文献２】特開平７−３２００７８号公報
【特許文献３】特開２００３−３０２５４号公報
【特許文献４】特開２００４−５４８５２号公報
【特許文献５】特開平９−７３５５９号公報
【非特許文献１】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ページ。
【非特許文献４】水野他、「凸多面体に対する重心座標を用いたメッシュモデルの自由形状変形」、精密工学会秋季全国大会講演論文集、2005年、219-220ページ。
【非特許文献５】水野他、「任意形状凸多面体に対する重心座標関数を用いたメッシュモデルの変形手法とその変形形状制御への応用」、精密工学会春季全国大会講演論文集、2006年、17-18ページ。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、このような背景技術の課題に鑑みてなされたもので、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低いという利点をもつ重心座標を用い、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによる変形が可能で、かつ、モデルの寸法を数値指定することでメッシュモデルの所望の変形を可能にしたメッシュモデル変形技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の１つの特徴は、図形と文字を表示する表示装置と、前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、文字データの入力操作手段と、メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、前記表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割処理手段と、前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出手段と、変形タイプを指定する変形タイプ指定手段と、前記表示装置に表示されているメッシュモデルに対して、前記ポインティング操作手段にて、操作したい寸法を規定する変形領域と非変形領域とを指定させる変形領域設定手段と、前記変形領域設定手段により設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出手段と、前記変形領域設定手段により設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成手段と、前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、前記変形空間に対する変形量パラメータ数値を設定する変形パラメータ設定手段と、目標寸法を満たす変形を行えるような前記変形タイプと変形量パラメータ数値との入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を前記重心座標から再計算することで前記メッシュモデルを変形させ、変形結果を前記表示装置に表示させる変形処理手段とを備えたメッシュモデル変形装置にある。
【００１０】
上記メッシュモデル変形装置において、前記変形タイプ指定手段は、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の３種の変形タイプの中から１を指定するものとすることができる。
【００１１】
本発明の別の特徴は、表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、前記メッシュモデルの変形結果を前記表示装置に表示させるステップとを有するメッシュモデル変形方法にある。
【００１２】
上記メッシュモデル変形方法において、変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の３種の変形タイプから１を指定するものとすることができる。
【００１３】
本発明のさらに別の特徴は、表示装置に表示されているメッシュモデルに対して、曲面フィッティング処理にて平面領域、円筒面領域、その他の領域に領域分割を行う領域分割ステップと、前記平面領域上の一点の座標と法線、円筒面領域の径、軸方向、軸始点座標を抽出する曲面パラメータ抽出ステップと、変形タイプ入力を受付けて変形タイプを決定する変形タイプ指定ステップと、前記表示装置に表示されているメッシュモデルに対して、ポインティング操作手段にて指定された操作要求寸法を規定する変形領域と非変形領域とを設定する変形領域設定ステップと、前記設定された変形領域とその曲面パラメータとから、変更を行う寸法を抽出する寸法抽出ステップと、前記変形領域設定処理ステップにおいて設定された変形領域と非変形領域とに基づいて変形空間を決定し、決定した変形空間を包含する仮想ハンドルを生成するハンドル生成ステップと、前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算ステップと、目標寸法を満たす変形を行えるような前記変形空間に対する変形量パラメータの数値入力を受け付けて変形量パラメータを設定する変形量パラメータ設定ステップと、前記変形タイプと変形量パラメータとに対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の座標を重心座標から再計算することで前記メッシュモデルを変形させるメッシュモデル変形ステップと、前記メッシュモデルの変形結果を前記表示装置に表示させるステップとをコンピュータに実行させるメッシュモデル変形プログラムにある。
【００１４】
上記メッシュモデル変形プログラムにおいて、変形タイプを指定するステップでは、少なくとも平面間距離変更、円筒の径変更、円筒軸位置変更の３種の変形タイプから１を指定するものとすることができる。
【発明の効果】
【００１５】
本発明のメッシュモデル変形装置、方法及びプログラムによれば、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低い利点をもつ重心座標を用いることで、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによるメッシュモデルの変形が可能である。
【００１６】
また本発明によれば、変形タイプと操作対象の寸法とを選択し、目標寸法を数値設定することで所望量の自由形状変形が可能であり、設定した目標寸法を満たすメッシュモデルの厳密な変形が可能である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図に基づいて詳説する。
【００１８】
（第１の実施の形態）図１は、本発明の１つの実施の形態のメッシュモデル変形装置１００の機能構成を示している。本実施の形態のメッシュモデル変形装置１００は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータ装置にメッシュモデル変形プログラムを組み込み、実行させることによってコンピュータ装置として構成することもできる。本実施の形態では、後者のものとして説明する。
【００１９】
本実施の形態のメッシュモデル変形装置１００は、例えばネットワークを通じてのデータ信号の入力／出力、キーボード２１、マウスのようなポインティングデバイス２２からの信号の入力、表示装置２３に対するビデオ信号を出力、プリンタ等の周辺機器に対するデータ信号の入力／出力等、データ及び信号の入力／出力を制御する入出力制御部１、入出力制御部１を通じて入力されたメッシュモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部２を備えている。このデータ記憶部２は、例えばハードディスク、ＤＶＤ、ＣＤ−ＲＯＭディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、装置メモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【００２０】
また、メッシュモデル変形装置１００は、メッシュモデルに対し、２面角を求め、さらに閾値処理をして特徴稜線を抽出し、特徴稜線に囲まれた部分を１つの領域とする領域分割処理を行う領域分割処理部３、最小２乗法を用いた、領域への平面、円筒面、その他のフィッティングを行い、かつ、この曲面フィッティングにより割り出された曲面について、各平面領域についてはその上の一点の座標と法線を抽出し、各円筒面領域についてはその径、軸方向、軸始点座標を曲面パラメータとして抽出する曲面フィッティング処理部４、変形領域の設定操作を受付け、変形領域を設定する変形領域設定部８、指定された平行な２平面間の距離を計算して寸法とし、円筒面の直径を寸法とし、円筒面の軸、始点位置を寸法として割り出す寸法抽出部５、変形タイプ選択入力、変形対象の選択入力に対して固定空間、制御空間、変形空間を決定し、かつメッシュモデルに対するハンドルを生成するハンドル生成部６、目標寸法入力に対して変形パラメータを計算し、メッシュモデルを変形させるモデル変形処理部７、そして、上記各処理部の動作を制御する制御演算処理部１０を備えている。
【００２１】
次に、上記構成のメッシュモデル変形装置１００により実行される、例えば、三角形メッシュモデルのようなメッシュモデルデータに対する変形方法について説明する。このメッシュモデル変形方法は、図２に示す３つのステップ、すなわち、寸法抽出処理のステップＳＴ１、ハンドル生成処理のステップＳＴ２、形状変形処理のステップＳＴ３から成る。
【００２２】
寸法抽出処理ステップＳＴ１では、図３に示すような三角メッシュモデルデータＤＴ１をデータ記憶部２から入力し、マウスその他の入力手段２１，２２によって特徴稜線を識別するための閾値ＤＴ２、寸法基準ＤＴ３を設定することで、二面角計算を行い、特徴稜線を抽出し、周囲を特徴稜線で囲まれた部分を１つの領域とする領域分割を行う。そして領域毎への平面、円筒面の曲面フィッティングを行い、さらに得られた平面、円筒面に対して寸法計算を行い、図４に示すような領域情報ＤＴ４と図５に示すような寸法情報ＤＴ５を得る。これらは、領域分割処理部３、曲面フィッティング処理部４、寸法抽出部５によって行われる。
【００２３】
ハンドル生成処理ステップＳＴ２では、寸法抽出処理結果としての領域情報ＤＴ４と寸法情報ＤＴ５、そして上記寸法基準ＤＴ３を入力し、さらに非変形部分ＤＴ６を指定入力し、変形タイプＤＴ７と変形領域ＤＴ８を選択入力することで、変形領域設定部８は変形領域・非変形領域の設定を行い、寸法抽出部５は変形領域に対する寸法抽出を行う。そして、ハンドル生成処理部６により変形対象四角柱または四角柱の集合を計算し、バウンディングボックス（Bounding box）を生成し、図６に示すようなハンドルＤＴ９を生成して出力する。
【００２４】
形状変形処理ステップＳＴ３では、ハンドル生成処理結果としてのハンドルＤＴ９を入力し、変形目標寸法ＤＴ１０を入力することで、モデル変形処理部７によりメッシュモデルＤＴ１、領域情報ＤＴ４、寸法情報ＤＴ５を用いて変形パラメータを計算し、この変形パラメータの計算結果に基づく変形操作を行い、図７に示すような変形後のメッシュモデルＤＴ１１を生成して出力する。
【００２５】
以下、各処理ステップについて、詳しく説明する。
【００２６】
（Ｉ）寸法抽出処理
メッシュモデルに対して変形量のパラメータを指定して変形処理するためには、そのメッシュモデルの平面部、円筒面部、穴あき部分等の形状属性を求め、また、各部の寸法を抽出する必要がある。そこで、本実施の形態では、最初に、領域分割処理部３にて、２面角の閾値処理を次の手順で行う。これは、図８に示すように、メッシュモデルの隣接する２つの三角形の法線ｎ１，ｎ２の内積を計算し、その内積の絶対値を閾値ＤＴ２と比較する。そして内積が閾値ＤＴ２よりも小さければ間の辺ｅｉを特徴稜線とする。そして、メッシュモデル全体にこの内積計算を実施し、閾値と比較し、メッシュモデル全体における特徴稜線を抽出する。そして、特徴稜線に囲まれた部分を一つの領域とし、領域分割を行う。図９は閾値ＤＴ２＝０．１５とした場合の例示モデルに対する領域分割結果を示し、図１０は閾値ＤＴ２＝０．９５とした場合の同じ例示モデルに対する領域分割結果を示している。後者の方が厳密な領域分割ができている。
【００２７】
次に、得られた各領域について、最小二乗法を用いて平面・円筒面フィッティング処理を曲面フィッティング処理部４が行う。各領域毎に最初に平面をフィッティングし、平面との誤差が大きい場合には円筒面をフィッティングする。そして円筒面との誤差も大きい場合は「その他」へ分類する。
【００２８】
そして、曲面フィッティング処理部４は、図１１に示すように、各平面については、その法線ベクトルｎを求め、またその法線ベクトルｎの始点位置の座標を求める。また、図１２に示すように、各円筒面については、軸ベクトルａを求め、またその軸ベクトルａの始点位置の座標を求め、直径Ｒを求める。
【００２９】
次に、寸法抽出部５において、指定された２平面間の距離Ｄ、指定された円筒面の直径Ｒ、指定された円筒面の軸ベクトルａとその始点位置座標を求める。図１３には平行な２平面間の距離Ｄを計算し、寸法とする例を示してある。図１４には円筒面の直径Ｒ（フィッティング時に計算済み）を寸法とする例を示してある。また図１５には円筒面の軸ベクトルａ、始点位置（フィッティング時に、直径と共に計算済み）を寸法とする例を示してある。
【００３０】
(II)ハンドル自動生成処理
（ａ）２平面間の距離の変更は、図１６に示すように伸縮変形により実現する。この場合、ハンドルＨ１として四角柱を生成する。（ｂ）円筒の径の変更は、図１７（ａ）、（ｂ）に示すように部分拡大／縮小変形により実現する。この場合、ハンドルとして四角柱の集合を生成する。（ｃ）円筒軸の位置の変更は、図１７（ａ）、（ｃ）に示すように部分移動変形により実現する。この場合も、ハンドルとして四角柱の集合を生成する。
【００３１】
各変形の実現のためのハンドルの生成手順は次に通りである。
【００３２】
（ａ）２平面間の距離変更
図１６に示したようにモデルの一部を伸縮させるためのハンドルＨ１を生成させる手順は、図１８Ａ〜図１８Ｄに示したものである。まず、図１８Ａに示すように、ユーザに基準平面（動かされない側の平面）ＰＬ１とそれに平行な制御平面ＰＬ２を選択指定させる。
【００３３】
これに対して、装置内部では２平面間距離寸法Ｄを算出する。また、図１８Ｂに示すように、装置内では、基準平面ＰＬ１の外側を固定空間Ｓ１、制御平面ＰＬ２の外側を制御空間Ｓ２とする。ここで、図１８Ｃに示すように、２平面間で挟まれた空間中にユーザが変形を望まない領域、つまり、非変形部ＰＬ３があれば、それをユーザに選択させる。これにより、装置内で固定空間Ｓ１をこの非変形部ＰＬ３を含むまで拡大し、固定空間Ｓ’１を再定義する。これにより、図１８Ｄに示すように、装置は、固定空間Ｓ’１と制御空間Ｓ２との挟まれた空間を変形空間とし、モデルのバウンディングボックスをハンドルＨ１とする。
【００３４】
（ｂ）円筒径・円筒軸位置の変更
図１７に示したようにモデルの円筒面領域の円筒径・円筒軸位置を変更するためのハンドルを生成させる手順は、図１９Ａ〜図１９Ｄに示したものである。この場合、円筒径変更、円筒軸位置変更のいずれでも同様の手順でハンドルＨ２を生成することになるが、そのいずれのタイプの変更であるかは、ユーザが画面で選択指定する。
【００３５】
円筒径・円筒軸位置の変更のためには、まず、対象となる円筒面ＰＬ４をユーザに選択指定させる。この円筒面ＰＬ４の円筒径Ｒはすでに求められているので、この選択指定により、円筒面ＰＬ４の円筒径Ｒと円筒軸ａ、始点位置座標が現在の寸法として読み出される。これと共に、円筒面ＰＬ４の選択により、この円筒面ＰＬ４を囲むバウンディングボックスの内部を制御空間Ｓ５とする。次に、非変形部として直方体の外面領域を選択する。この結果として、装置は、非変形部である直方体外面の外側の固定空間Ｓ６と制御空間Ｓ５との間を変形空間Ｓ７とする。そして、変形空間Ｓ７を四角柱に分割したものをハンドルＨ２として生成する。
【００３６】
(III)形状変形処理
最後に目標寸法（パラメータ）を数値入力することで、自動的に所望変形量の形状変形処理を行う。この処理手順は次による。
【００３７】
（ａ）２平面間の距離変更の場合、図２０に示すように、変形空間の伸縮目標寸法Ｄ’をユーザに入力させることで、装置側が制御空間Ｓ２の平行移動量ｄ＝Ｄ’−Ｄを伸縮パラメータとし、この伸縮量パラメータｄだけ変形空間を伸縮させる。伸縮変形処理については先願の明細書に記載のものによるが、後述する。
【００３８】
（ｂ）円筒径の変更の場合、図２１に示すように、円筒径の目標寸法Ｒ’を入力することで、現在の寸法Ｒに対する拡大倍率ｒ＝Ｒ’／Ｒを求め、これを拡大率として変形空間の部分拡大縮小変形処理を行い、円筒径を拡大あるいは縮小させる。部分拡大縮小変形処理についても先願の明細書に記載のものによるが、後述する。
【００３９】
（ｃ）円筒軸位置移動の場合、図２２に示すように、円筒軸の移動先の位置座標Ｘ’を目標寸法として入力することで、現在の円筒軸座標Ｘからの移動ベクトル量ｘ＝Ｘ’−Ｘを求め、この移動ベクトル量ｘを変形パラメータとして変形空間を移動させる。この処理も先願の明細書に記載のものによるが、後述する。
【００４０】
図２３に２平面間の距離変更の処理結果を示している。本例では、同図（ａ）に示したメッシュモデルに対して、基準面ＰＬ１と制御面ＰＬ２とを指定して目標寸法２０ｍｍとする操作した場合の処理結果を示している。同図（ｂ）に示すように寸法抽出処理では基準面ＰＬ１と制御面ＰＬ２との間の距離が５ｍｍであったが、この距離の目標寸法を２０ｍｍに設定して変形処理を実行させたとき、同図（ｃ）に示すように寸法変形と共に形状変形が得られた。
【００４１】
図２４に２平面間の距離変更の別の処理結果を示している。本例では、同図（ａ）に示したメッシュモデルに対して、基準面ＰＬ１と制御面ＰＬ２とを指定し、かつ、非変形部ＰＬ３を指定し、目標寸法２０ｍｍとする操作した場合の処理結果を示している。同図（ｂ）に示すように寸法抽出処理では基準面ＰＬ１と制御面ＰＬ２との間の距離が５ｍｍであったが、この距離の目標寸法を２０ｍｍに設定して変形処理を実行させたとき、同図（ｃ）に示すように寸法変形が得られた。また、非変形部ＰＬ３以下の部分は元の形状が保持されていた。
【００４２】
図２５に円筒面の径変更の処理結果を示している。本例では、同図（ａ）に示したメッシュモデルに対して、円筒面ＰＬ４を指定して円筒径の目標寸法を５ｍｍに縮小する操作をした場合の処理結果を示している。同図（ｂ）に示すように寸法抽出処理では円筒面ＰＬ４の径が１６．５ｍｍであったが、この径の目標寸法を５ｍｍに設定して拡大縮小変形処理を実行させたとき、同図（ｃ）に示すように円筒径の寸法変更が実現できた。
【００４３】
図２６に円筒面の軸移動の処理結果を示している。本例では、同図（ａ）に示したメッシュモデルに対して、円筒面ＰＬ４を指定して軸位置を（０，０）から目標位置（５，−１０）まで移動させる操作をした場合の処理結果を示している。同図（ｂ）に示すように寸法抽出処理では円筒面ＰＬ４の軸の始点座標が（０，０）であったが、この軸位置の目標位置を（５，−１０）に設定して部分移動変形処理を実行させたとき、同図（ｃ）に示すように円筒面ＰＬ４の移動変形が実現できた。
【００４４】
次に、先願明細書に記載した自由形状変形手法について簡単に説明する。モデルの変形の定義と分類は、変形を統一的にモデル化するために、図２７のように変形前後で内部頂点位置の変わらない空間を固定空間Ｓ１、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間Ｓ２、それ以外の変形をする頂点を含む空間を変形空間Ｓ３とし、制御空間Ｓ２の変化を記述するアフィン変換の種類によって変形タイプを分類する。
【００４５】
固定空間Ｓ１と制御空間Ｓ２との間には必ず変形空間Ｓ３が入る。これに基づくと、既存の研究や商用ソフトで実装されている変形及び設計で望まれる変形はすべて、図２８の表１のように「曲げ」、「ねじり」、「伸縮」、「反り」、「部分拡大／縮小」、「部分移動」の６種のタイプに分類する。例えば、「曲げ変形」は制御空間Ｓ２の変形は、ベクトルｋを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。また、「ねじり変形」は、ベクトルｖを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。他の「伸縮」、「反り」、「部分拡大／縮小」、「部分移動」の各変形についても表１に示すそれぞれの制御空間Ｓ２のアフィン変換で記述し、変形パラメータを規定する。尚、この変形の操作パラメータは、図２におけるハンドル生成処理ＳＴ２に対する変形タイプ入力ＤＴ７、変形領域指定ＤＴ８にて入力する。
【００４６】
本実施の形態のメッシュモデル変換方法では、ハンドル生成処理ＳＴ２において、変形領域、変形タイプ、非変形部分の指定により、変形空間を定義し、これをハンドルとして自動的に生成する。
【００４７】
制御空間Ｓ２をアフィン変換し、それに接続されている変形空間Ｓ３（ハンドル）の頂点位置の移動に伴うメッシュモデルの変形は、非特許文献４に記載されたＢＣＦＦＤ（重心座標を用いた自由形状変形）による。対応する変形タイプの目標寸法を入力すれば、操作パラメータを算出し、これに応じて制御空間Ｓ２をアフィン変換し、モデルの変形を行う。
【００４８】
これを、図２９に示す板モデルの変形処理を例に説明する。
【００４９】
（ａ）ユーザが２平面（ｐ１−ｐ４），（ｐ２−ｐ３）を画面上で指定することで、２平面で囲まれた矩形（ｐ１，ｐ２，ｐ３，ｐ４）を生成する。
【００５０】
（ｂ）装置により面分ｐ１，ｐ２，ｐ３，ｐ４を底面とする四角柱を変形空間Ｓ３として生成する。この変形空間Ｓ３の表示がハンドルＨＤＬである。
【００５１】
（ｃ）装置により変形軸ベクトルｖ，ｋを計算する。ただし、ベクトルｋは矩形（ｐ１，ｐ２，ｐ３，ｐ４）の重心を通る視点方向ベクトル、ベクトルｖはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルｋと垂直なベクトルである。
【００５２】
（ｄ）装置により固定空間Ｓ１、制御空間Ｓ２内のモデル頂点を決定する。
【００５３】
（ｅ）ユーザが、伸縮目標寸法、目標曲げ角度を入力することにより、制御空間Ｓ２内モデル頂点および制御空間Ｓ２に面した変形空間Ｓ３の頂点をアフィン変換し、モデルの形状変形を行う。
【００５４】
また、図３０に示すモデルに対する変形処理は、次のように実行する。
【００５５】
（ａ）ユーザが円筒面を指定し、また、固定面を指定することにより２つの矩形（ｐ１，ｐ２，ｐ３，ｐ４），（ｐ５，ｐ６，ｐ７，ｐ８）を生成する。
【００５６】
（ｂ）装置により２つの矩形（ｐ１，ｐ２，ｐ３，ｐ４），（ｐ５，ｐ６，ｐ７，ｐ８）を底面とする四角柱に挟まれる空間を変形空間Ｓ３とし、四角柱の集合に分割する。
【００５７】
（ｃ）装置により、変形軸ベクトルｖ，ｋを計算する。この場合も、ベクトルｋは矩形（ｐ１，ｐ２，ｐ３，ｐ４）の重心を通る視点方向ベクトル、ベクトルｖはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルｋと垂直なベクトルである。
【００５８】
（ｄ）装置により固定空間Ｓ１、制御空間Ｓ２内のモデル頂点を決定する。
【００５９】
（ｅ）ユーザが円筒面の径の目標寸法を入力し、あるいは円筒軸の軸移動位置を入力することによって、装置側が変形パラメータを増減演算し、制御空間Ｓ２内のモデル頂点および制御空間Ｓ２に面した変形空間Ｓ３の頂点をアフィン変換し、モデルの形状変形を行う。
【００６０】
その他の処理について、図３１（ａ）に示すように板モデルに対して基準面と制御面を指定することで、同図３１（ｂ）に示すように装置側がハンドルＨＤＬ、すなわち変形空間Ｓ３を自動生成する。そして、このハンドルＨＤＬに対して曲げ変形、ねじり変形、伸縮変形の選択とその目標寸法、曲げ角度等のパラメータを数値入力することで、図３２（ａ）、図３２（ｂ）、図３２（ｃ）それぞれに示すように板モデルの曲げ、ねじり、伸縮の形状変形をメッシュモデルベースで実行することができる。
【００６１】
また、図３３（ａ）に示すように棒モデルに対して円筒面と固定面を指定することで、同図（ｂ）に示すように装置側がハンドルＨＤＬ、すなわち変形空間Ｓ３を自動生成する。そして、このハンドルＨＤＬに対して反り変形、部分拡大／縮小変形、部分移動変形の選択とその目標寸法、角度を数値指定することで、図３４（ａ）、図３４（ｂ）、図３４（ｃ）それぞれに示すように棒モデルの反り、部分拡大／縮小変形、部分移動変形をメッシュモデルベースで実行することができる。
【００６２】
ここに、ハンドルＨＤＬの重心座標計算について説明する。図３５（ａ），（ｂ）は単純な凸多面体と単純でない凸多面体とを例示している。頂点ｖが３つの面の交点である場合にはその多面体は単純な凸多面体であり、それ以上の面の交点がある場合単純でない凸多面体とする。
【００６３】
凸多面体内部の点ｘの凸多面体Ｐに対する重み関数ｗｉ（ｘ）を凸多面体の頂点ｖｉの隣接面の法線の張る平行六面体体積と、ｖｉの各隣接面とｘとの距離の積との比、すなわち式（１）のように定義する。
【数１】
2008186133.tif 000003
【００６４】
ここで、ｎｉσ１，ｎｉσ２，ｎｉσ３は、図３６、図３７に示すようにｖｉの３枚の隣接面の単位法線である。重み関数ｗｉ（ｘ）を式（２）のように正規化し、点ｘの凸多面体Ｐの頂点ｖｉに対する重心座標ｂｉ（ｘ）を求める。
【数２】
2008186133.tif 000004
【００６５】
尚、図３８（ａ）に示すように、注目する凸多面体が単純ではない場合、図３８（ｂ）に示すように単純でない頂点ｖを複数の単純な頂点に分割し、各々の単純な頂点に対して式（１），（２）により重心座標を計算し、各々の単純な頂点に対して計算した重心座標の値を足し合わせることにより、単純でない頂点に対する重心座標を求める。
【００６６】
図３９に示すように、重心座標を用いた自由形状変形ハンドルの頂点ｖｉがｖｉ’に移動し変形した場合、ハンドル内部のモデル頂点ｘの移動後位置ｘ’は次の式（３）のように計算する。
【数３】
2008186133.tif 000005
【００６７】
本装置では、式（３）をハンドル内の全てのメッシュモデル頂点に適用することで、モデルの自由形状変形を行う。
【００６８】
しかしながら、このハンドル頂点を直接操作することによる自由形状変形手法は、変形操作の自由度が高い反面、操作が煩雑である。そこで、本実施の形態のメッシュモデル変形装置及び方法では、不必要な変形自由度を無くし、操作の煩雑さを解決するため、上述したように表１のように変形タイプに基づいたハンドルの自動生成とそのパラメトリック変形処理を行う。
【００６９】
これにより、本実施の形態では、ユーザがモデル内の変形対象及び変形タイプを選択し、変形対象形状を指定すると、装置により制御空間Ｓ２（変形前後の位置関係がアフィン変換で記述できる空間）、固定空間Ｓ１（変形前後で内部のモデルが変化しない空間）、変形空間Ｓ３（変形前後で内部のモデルが制御空間Ｓ２に従って変形する空間）を自動的に定義する。変形空間Ｓ３は四角柱又はその集合として定義する。そしてユーザが各変形の目標寸法を数値入力することで凸多面体の頂点を移動させ、凸多面体（六面体）に対する重心座標を基底に用いた形状変形手法によって変形空間内のメッシュモデルを変形する。
【図面の簡単な説明】
【００７０】
【図１】本発明の１つの実施の形態のメッシュモデル変形装置の機能構成を示すブロック図。
【図２】上記実施の形態によるメッシュモデル変形方法の処理シーケンス図。
【図３】上記実施の形態のメッシュモデル変形装置により形状変更処理を行う対象としてのメッシュモデル例の説明図。
【図４】上記実施の形態のメッシュモデル変形装置による領域分割後のメッシュモデルを示す説明図。
【図５】上記実施の形態のメッシュモデル変形装置による寸法抽出処理後のメッシュモデルを示す説明図。
【図６】上記実施の形態のメッシュモデル変形装置によるハンドル生成処理後のメッシュモデルを示す説明図。
【図７】上記実施の形態のメッシュモデル変形装置による２平面間の距離変更処理後のメッシュモデルを示す説明図。
【図８】上記実施の形態のメッシュモデル変形装置による２面角の計算手法の説明図。
【図９】上記実施の形態のメッシュモデル変形装置による、閾値０．１５を適用して領域分割したときの領域分割後のメッシュモデルを示す説明図。
【図１０】上記実施の形態のメッシュモデル変形装置による、閾値０．９５を適用して領域分割したときの領域分割後のメッシュモデルを示す説明図。
【図１１】上記実施の形態のメッシュモデル変形装置による寸法抽出処理における平面フィッティング結果を示す説明図。
【図１２】上記実施の形態のメッシュモデル変形装置による寸法抽出処理における円筒面フィッティング結果を示す説明図。
【図１３】上記実施の形態のメッシュモデル変形装置による２平面間の距離変更の操作方法の説明図。
【図１４】上記実施の形態のメッシュモデル変形装置による円筒径の寸法変更の操作方法の説明図。
【図１５】上記実施の形態のメッシュモデル変形装置による円筒面の軸移動変更の操作方法の説明図。
【図１６】上記実施の形態のメッシュモデル変形装置による板モデルに対する伸縮変形処理の説明図。
【図１７】上記実施の形態のメッシュモデル変形装置による円筒面の部分拡大縮小変形、部分移動変形処理の説明図。
【図１８Ａ】上記実施の形態のメッシュモデル変形装置による２平面間寸法変更処理における２平面の指定ステップの説明図。
【図１８Ｂ】上記実施の形態のメッシュモデル変形装置による２平面間寸法変更処理における固定空間、制御空間生成ステップの説明図。
【図１８Ｃ】上記実施の形態のメッシュモデル変形装置による２平面間寸法変更処理における非変形部の指定ステップの説明図。
【図１８Ｄ】上記実施の形態のメッシュモデル変形装置による２平面間寸法変更処理における変形空間とハンドルの生成ステップの説明図。
【図１９Ａ】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における円筒面の指定ステップの説明図。
【図１９Ｂ】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における制御空間生成ステップの説明図。
【図１９Ｃ】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における固定空間の生成ステップの説明図。
【図１９Ｄ】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における変形空間とハンドルの生成ステップの説明図。
【図２０】上記実施の形態のメッシュモデル変形装置による２平面間寸法変更処理における変形前と変形後のモデルを対比して示す説明図。
【図２１】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理における変形前と変形後のモデルを対比して示す説明図。
【図２２】上記実施の形態のメッシュモデル変形装置による円筒面の軸位置変更処理における変形前と変形後のモデルを対象させて示す説明図。
【図２３】上記実施の形態のメッシュモデル変形装置による２平面間寸法変更処理手順の説明図。
【図２４】上記実施の形態のメッシュモデル変形装置による非変形部を設定して２平面間寸法変更させる場合の処理手順の説明図。
【図２５】上記実施の形態のメッシュモデル変形装置による円筒面の径変更処理手順の説明図。
【図２６】上記実施の形態のメッシュモデル変形装置による円筒面の軸位置移動処理手順の説明図。
【図２７】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法の説明図。
【図２８】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法における変形タイプの定義と変形の操作パラメータとの表の説明図。
【図２９】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ変形処理の説明図。
【図３０】上記実施の形態のメッシュモデル変形装置による円柱体モデルに対する部分移動変形処理の説明図。
【図３１】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対するハンドル生成処理の説明図。
【図３２】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ、ねじり、伸縮変形とそれぞれのハンドルとを示す説明図。
【図３３】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対するハンドル生成処理の説明図。
【図３４】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対する反り、部分拡大／縮小、部分移動変形とそれぞれのハンドルとを示す説明図。
【図３５】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連する単純な凸多面体と単純ではない凸多面体とを示す説明図。
【図３６】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における多面体頂点の隣接面の成す単体を示す説明図。
【図３７】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における内部頂点と隣接面との距離の説明図。
【図３８】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純でない凸多面体を単純な凸多面体に近似する方法の説明図。
【図３９】上記実施の形態のメッシュモデル変形装置による重心座標計算処理の説明図。
【符号の説明】
【００７１】
１  入出力制御部
２  データ記憶部
３  領域分割処理部
４  曲面フィッティング処理部
５  寸法抽出部
６  ハンドル生成部
７  モデル変形処理部
８  変形領域設定部
１０  制御演算処理部
２１  キーボード
２２  マウス
２３  表示装置
１００  メッシュモデル変形装置
【図１】
2008186133.tif 000006
【図２】
2008186133.tif 000007
【図３】
2008186133.tif 000008
【図４】
2008186133.tif 000009
【図５】
2008186133.tif 000010
【図６】
2008186133.tif 000011
【図７】
2008186133.tif 000012
【図８】
2008186133.tif 000013
【図９】
2008186133.tif 000014
【図１０】
2008186133.tif 000015
【図１１】
2008186133.tif 000016
【図１２】
2008186133.tif 000017
【図１３】
2008186133.tif 000018
【図１４】
2008186133.tif 000019
【図１５】
2008186133.tif 000020
【図１６】
2008186133.tif 000021
【図１７】
2008186133.tif 000022
【図１８Ａ】
2008186133.tif 000023
【図１８Ｂ】
2008186133.tif 000024
【図１８Ｃ】
2008186133.tif 000025
【図１８Ｄ】
2008186133.tif 000026
【図１９Ａ】
2008186133.tif 000027
【図１９Ｂ】
2008186133.tif 000028
【図１９Ｃ】
2008186133.tif 000029
【図１９Ｄ】
2008186133.tif 000030
【図２０】
2008186133.tif 000031
【図２１】
2008186133.tif 000032
【図２２】
2008186133.tif 000033
【図２３】
2008186133.tif 000034
【図２４】
2008186133.tif 000035
【図２５】
2008186133.tif 000036
【図２６】
2008186133.tif 000037
【図２７】
2008186133.tif 000038
【図２８】
2008186133.tif 000039
【図２９】
2008186133.tif 000040
【図３０】
2008186133.tif 000041
【図３１】
2008186133.tif 000042
【図３２】
2008186133.tif 000043
【図３３】
2008186133.tif 000044
【図３４】
2008186133.tif 000045
【図３５】
2008186133.tif 000046
【図３６】
2008186133.tif 000047
【図３７】
2008186133.tif 000048
【図３８】
2008186133.tif 000049
【図３９】
2008186133.tif 000050