TOP > 国内特許検索 > 凸多面体に対する重心座標を用いた自由形状変形システム > 明細書

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

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4403277号 (P4403277)
公開番号 特開2007-233594 (P2007-233594A)
登録日 平成21年11月13日(2009.11.13)
発行日 平成22年1月27日(2010.1.27)
公開日 平成19年9月13日(2007.9.13)
発明の名称または考案の名称 凸多面体に対する重心座標を用いた自由形状変形システム
国際特許分類 G06T  17/40        (2006.01)
G06F  17/50        (2006.01)
FI G06T 17/40 B
G06F 17/50 626A
G06F 17/50 626G
G06F 17/50 622C
請求項の数または発明の数 3
全頁数 28
出願番号 特願2006-053162 (P2006-053162)
出願日 平成18年2月28日(2006.2.28)
新規性喪失の例外の表示 特許法第30条第1項適用 平成17年9月1日社団法人精密工学会発行の「2005年度精密工学会秋季大会 学術講演会講演論文集」に発表、2005年9月3日社団法人精密工学会北海道支部発行の「2005年度精密工学会北海道支部 学術講演会講演論文集」に発表
審査請求日 平成19年3月29日(2007.3.29)
特許権者または実用新案権者 【識別番号】504173471
【氏名又は名称】国立大学法人 北海道大学
発明者または考案者 【氏名】金井 理
【氏名】岸浪 建史
【氏名】伊達 宏昭
【氏名】水野 学
個別代理人の代理人 【識別番号】100083806、【弁理士】、【氏名又は名称】三好 秀和
【識別番号】100101247、【弁理士】、【氏名又は名称】高橋 俊一
【識別番号】100101258、【弁理士】、【氏名又は名称】鹿又 弘子
審査官 【審査官】松永 隆志
参考文献・文献 特開2006-031715(JP,A)
特開平06-176110(JP,A)
水野学、外3名,任意凸多面体に対する重心座標を用いたメッシュモデルの自由形状変形,第12回精密工学会学生会員卒業研究発表講演会論文集,日本,社団法人 精密工学会,2005年,P23~P24
調査した分野 G06T 17/40
G06F 17/50
特許請求の範囲 【請求項1】
図形と文字を表示する表示装置と、
前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、
文字データの入力操作手段と、
前記入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大/縮小、部分移動のいずれかの変形タイプの指定入力を受付ける変形タイプ指定手段と、
前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける変形パラメータ指定手段と、
メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、
前記表示装置に表示されているメッシュモデルに対して、前記変形タイプ指定手段の受付けた変形タイプの種類に応じ、前記ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する変形範囲設定手段と、
前記表示装置に表示されているメッシュモデルに対して、前記変形範囲設定手段により設定された変形範囲に基づいて1つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして自動生成し、かつ、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するハンドル生成手段と、
前記変形パラメータ指定手段の受付けた変形の操作パラメータに応じ前記制御空間をアフィン変換するアフィン変換手段と、
前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、
前記指定された変形タイプと変形の操作パラメータに対して、前記制御空間をアフィン変換し、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させ、前記アフィン変換の結果と変形結果を前記表示装置に表示させる変形処理手段とを備えたことを特徴とするメッシュモデル変形装置。
【請求項2】
記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させるステップと、
入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大/縮小、部分移動のいずれかの変形タイプの指定入力を受付けるステップと、
前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付けるステップと、
前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定するステップと、
前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて1つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成するステップと、
前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するステップと、
前記変形の操作パラメータに応じて前記制御空間をアフィン変換するステップと、
前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算するステップと、
前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させるステップと、
前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させるステップとを有することを特徴とするメッシュモデル変形方法。
【請求項3】
記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させる処理と、
入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大/縮小、部分移動のいずれかの変形タイプの指定入力を受付ける処理と、
前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける処理と、
前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する処理と、
前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて1つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成する処理と、
前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定する処理と、
前記変形の操作パラメータに応じて前記制御空間をアフィン変換する処理と、
前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する処理と、
前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させる処理と、
前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させる処理とをコンピュータに実行させることを特徴とするメッシュモデル変形プログラム
発明の詳細な説明 【技術分野】
【0001】
本発明は、凸多面体に対する重心座標を用いた自由形状変形システムに適用するメッシュモデル変形装置、方法及びプログラムに関する。
【背景技術】
【0002】
データ構造が単純で形状表現自由度の高い三角形メッシュモデルが、CAD/CAM/CAE分野で多く利用されている。特に効率的な意匠設計、機能設計の実現のために、3次元(3D)形状スキャニングや3次元(3D)モデルデータベースのクエリなどから得られるメッシュモデルを自由に変形し容易に再利用できる技術が望まれている。
【0003】
メッシュモデルを変形する際、メッシュの頂点位置を各々動かすのは非常に手間がかかるため、各メッシュの頂点位置をまとめて移動、すなわち形状を大局的に変形したいという要求がある。このような要求を満たすメッシュモデルの代表的な自由形状変形手法としてFFD(Free-Form Deformation)が挙げられる。FFDは、3次元の規則格子で定義されるパラメータ空間にモデルを埋め込み、規則格子をハンドルとしてパラメータ空間を歪めることでモデルの形状変形を行う手法である。この手法は、規則格子の頂点全てを操作でき、変形操作の自由度が高い利点があるが、反面、操作すべき対象が多く、操作の入力が煩雑になってしまう問題点がある。
【0004】
一方でそのような操作の煩雑さを解決する自由形状変形手法が提案されているが、その場合、可能な変形タイプ(曲げ、ねじりなど)が限定されてしまう。
【0005】
また、設計段階での3Dモデル変形では、可能な変形タイプが多いこと、変形部分を陽に指定できること、操作が煩雑でないことなどが望まれる。それらを満たす自由形状変形手法は提案されていない。

【特許文献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】水野他、「任意凸多面体に対する重心座標を用いたメッシュモデルの自由形状変形」、第12回精密工学会学生会員卒業研究発表講演会論文集、2005年、23-24ページ。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、このような従来の技術的課題に鑑みてなされたもので、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低いという利点をもつ重心座標を用い、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによる変形が可能なメッシュモデル変形技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の特徴は、図形と文字を表示する表示装置と、前記表示装置に表示されている図形に対してポインティング操作をするためのポインティング操作手段と、文字データの入力操作手段と、前記入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大/縮小、部分移動のいずれかの変形タイプの指定入力を受付ける変形タイプ指定手段と、前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける変形パラメータ指定手段と、メッシュモデルデータを記憶しているメッシュモデルデータ記憶手段と、前記表示装置に表示されているメッシュモデルに対して、前記変形タイプ指定手段の受付けた変形タイプの種類に応じ、前記ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する変形範囲設定手段と、前記表示装置に表示されているメッシュモデルに対して、前記変形範囲設定手段により設定された変形範囲に基づいて1つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして自動生成し、かつ、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するハンドル生成手段と、前記変形パラメータ指定手段の受付けた変形の操作パラメータに応じ前記制御空間をアフィン変換するアフィン変換手段と、前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する重心座標演算手段と、前記指定された変形タイプと変形の操作パラメータに対して、前記制御空間をアフィン変換し、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させ、前記アフィン変換の結果と変形結果を前記表示装置に表示させる変形処理手段とを備えたメッシュモデル変形装置にある。
【0009】
本発明の第2の特徴は、記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させるステップと、入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大/縮小、部分移動のいずれかの変形タイプの指定入力を受付けるステップと、前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付けるステップと、前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定するステップと、前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて1つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成するステップと、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定するステップと、前記変形の操作パラメータに応じて前記制御空間をアフィン変換するステップと、前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算するステップと、前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させるステップと、前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させるステップとを有するメッシュモデル変形方法にある。
【0011】
本発明の第3の特徴は、記憶手段に記憶されているメッシュモデルデータを読出し、表示装置にメッシュモデルを表示させる処理と、入力操作手段による曲げ、ねじり、伸縮、反り、部分拡大/縮小、部分移動のいずれかの変形タイプの指定入力を受付ける処理と、前記入力操作手段による変形の度合いを示す操作パラメータの入力を受付ける処理と、前記指定された変形タイプの種類に応じ、ポインティング操作手段にて指定された点を結ぶことで変形範囲を設定する処理と、前記表示装置に表示されているメッシュモデルに対して、前記設定された変形範囲に基づいて1つ若しくは複数の凸多面体の組み合わせで成る変形空間を決定し、仮想ハンドルとして生成する処理と、前記変形範囲を変形させる前後で名部頂点位置の変わらない空間を固定空間とし、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間と決定する処理と、前記変形の操作パラメータに応じて前記制御空間をアフィン変換する処理と、前記変形空間内に存在するメッシュモデルの頂点の重心座標を計算する処理と、前記変形タイプと変形の操作パラメータの入力に対して、前記仮想ハンドルの頂点を移動させ、当該仮想ハンドルの頂点の移動に連動させて前記仮想ハンドルの閉領域内に存在するメッシュモデルの頂点の位置を、前記重心座標を用いて再計算することで前記メッシュモデルを変形させる処理と、前記メッシュモデルのアフィン変換の結果と変形結果を前記表示装置に表示させる処理とをコンピュータに実行させるメッシュモデル変形プログラムにある。
【発明の効果】
【0013】
本発明のメッシュモデル変形装置、方法及びプログラムによれば、メッシュモデルとハンドルの関係にハンドル形状自由度が高くモデル変形計算コストが低い利点をもつ重心座標を用いることで、変形の分類モデル化に基づくハンドルの自動生成と少ないパラメータによるメッシュモデルの変形が可能である。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図に基づいて詳説する。
【0015】
(第1の実施の形態)図1は、本発明の1つの実施の形態のメッシュモデル変形装置100の機能構成を示している。本実施の形態のメッシュモデル変形装置100は、各処理部をハードウェアとして備えたものとして、あるいはコンピュータ装置にメッシュモデル変形プログラムを組み込み、実行させることによってコンピュータ装置として構成することもできる。本実施の形態では、後者のものとして説明する。
【0016】
本実施の形態のメッシュモデル変形装置100は、例えばネットワークを通じてのデータ信号の入力/出力、キーボード21、マウス22からの信号の入力、表示装置23に対するビデオ信号を出力、プリンタ等の周辺機器に対するデータ信号の入力/出力等、データ及び信号の入力/出力を制御する入出力制御部1、入出力制御部1を通じて入力されたメッシュモデルデータ、プログラムデータ、その他、諸々のデータを記憶するデータ記憶部2を備えている。このデータ記憶部2は、例えばハードディスク、DVD、CD-ROMディスク等、外部大容量記憶装置あるいは内蔵の大容量記憶装置、フラッシュメモリ、装置メモリ等のデータを恒久的に保存する手段、一時的に保存する手段の両方を総称している。
【0017】
また、メッシュモデル変形装置100は、変形タイプ選択入力IN1、変形範囲入力IN2に対してメッシュモデルD1に対するハンドルを生成するハンドル自動生成部3、このハンドル自動生成部3にて生成したハンドルD2を用いて、メッシュモデルD1に対して重心座標D3を計算する重心座標計算部4、また、ハンドル自動生成部3にて生成したハンドルD2、重心座標計算部4が算出した重心座標D3を用い、変形パラメータ操作入力IN3に対応する変形をメッシュモデルD1に対して行うモデル変形処理部5、そして、上記各処理部の動作を制御する制御演算処理部10を備えている。
【0018】
次に、上記構成のメッシュモデル変形装置100により実行される、例えば、三角形メッシュモデルのようなメッシュモデルデータに対する変形方法について説明する。
【0019】
このメッシュモデル変形方法は、図2に示す3つのステップから成る。すなわち、三角メッシュモデルデータD1を入力し、マウスその他の入力手段21,22による変形タイプ選択入力IN1、変形範囲入力IN2に対して、図3に示すように、当該メッシュモデルD1に対するハンドルを生成するハンドル生成処理ST1、このハンドル生成処理ST1にて生成したハンドルD2を用いて、メッシュモデルD1に対して重心座標D3を計算する重心座標計算ST2、そして、ハンドル生成処理ST1にて生成したハンドルD2、重心座標計算ST2にて算出した重心座標D3を用い、図4に示すように、変形パラメータ操作入力IN3に対応する変形をメッシュモデルD1に対して行うモデル変形処理ST3から成る。以下、各処理ステップについて、詳しく説明する。
【0020】
(i)ハンドル生成処理
ユーザーの望む変形が特定の変形タイプに基づくことが多く、同じ変形タイプでは同じ形状のハンドルとその操作で変形が可能である。本発明の方法では、様々な変形を分類/モデル化し、ハンドルの自動生成と少ないパラメータで変形が可能な自由形状変形を行う。
【0021】
そのための変形の定義と分類は、変形を統一的にモデル化するために、図5のように変形前後で内部頂点位置の変わらない空間を固定空間S1、内部頂点位置がアフィン変換として定量的に記述できる空間を制御空間S2、それ以外の変形をする頂点を含む空間を変形空間S3とし、制御空間S2の変化を記述するアフィン変換の種類によって変形タイプを分類する。
【0022】
固定空間S1と制御空間S2との間には必ず変形空間S3が入る。これに基づくと、既存の研究や商用ソフトで実装されている変形及び設計で望まれる変形はすべて、図6の表1のように「曲げ」、「ねじり」、「伸縮」、「反り」、「部分拡大/縮小」、「部分移動」の6種のタイプに分類する。例えば、「曲げ変形」は制御空間S2の変形は、ベクトルkを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。また、「ねじり変形」は、ベクトルvを軸とした回転変換で記述し、変形の操作パラメータとして回転角θを規定する。他の「伸縮」、「反り」、「部分拡大/縮小」、「部分移動」の各変形についても表1に示すそれぞれの制御空間S2のアフィン変換で記述し、変形パラメータを規定する。尚、この変形の操作パラメータは、図2におけるモデル変形処理ST3に対するパラメータIN3にて入力する。
【0023】
本実施の形態のメッシュモデル変換方法では、ハンドル生成処理ST1において、変形空間を1つもしくは複数の凸多面体の組み合わせで定義し、これをハンドルとして自動的に生成する。制御空間S2をアフィン変換し、それに接続されている変形空間S3(ハンドル)の頂点位置の移動に伴うメッシュモデルの変形を、非特許文献4に記載されたBCFFD(重心座標を用いた自由形状変形)により実現する。この処理では、表示装置23に表示される入力画面でまずユーザーが変形のタイプIN1を表1の6タイプから選択し、続いて、メッシュモデルの変形空間S3内に含まれて欲しい(変形して欲しい)範囲IN2をマウス22の一連のクリック操作により矩形もしくは矩形の組み合わせにより入力すると、装置によりハンドルHDLを六面体の組み合わせで自動生成する。その後、対応する変形タイプの操作パラメータIN3を変化させると制御空間S2をアフィン変換し、モデルの変形を行う。
【0024】
これを、図7に示す板モデルの変形処理を例に説明する。
【0025】
(a)ユーザーが頂点入力により矩形(p,p,p,p)を画面上で入力する。
【0026】
(b)装置により面分p,p,p,pを底面とする四角柱を変形空間S3として生成する。この変形空間S3の表示がハンドルHDLである。
【0027】
(c)装置により変形軸ベクトルv,kを計算する。ただし、ベクトルkは矩形(p,p,p,p)の重心を通る視点方向ベクトル、ベクトルvはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルkと垂直なベクトルである。
【0028】
(d)装置により固定空間S1、制御空間S2内のモデル頂点を決定する。
【0029】
(e)ユーザーが、操作パラメータIN3の増減操作をすることにより、制御空間S2内モデル頂点および制御空間S2に面した変形空間S3の頂点をアフィン変換し、モデルの形状変形を行う。
【0030】
また、図8に示すモデルに対する変形処理は、次のように実行する。
【0031】
(a)ユーザーが頂点入力により2つの矩形(p,p,p,p),(p,p,p,p)を入力する。
【0032】
(b)装置により2つの矩形(p,p,p,p),(p,p,p,p)を底面とする四角柱に挟まれる空間を変形空間S3とし、六面体に分割する。
【0033】
(c)装置により、変形軸ベクトルv,kを計算する。この場合も、ベクトルkは矩形(p,p,p,p)の重心を通る視点方向ベクトル、ベクトルvはモデルの変形領域のbounding boxの重心を通り視点方向ベクトルkと垂直なベクトルである。
【0034】
(d)装置により固定空間S1、制御空間S2内のモデル頂点を決定する。
【0035】
(e)ユーザーが制御空間S2をマウス22でドラッグすることによって伸縮、変形操作することで、装置側が変形パラメータを増減演算し、制御空間S2内のモデル頂点および制御空間S2に面した変形空間S3の頂点をアフィン変換し、モデルの形状変形を行う。
【0036】
その他の処理について、図9(a)に示すように板モデルに対して矩形の頂点を指定することで、同図(b)に示すように装置側がハンドルHDL、すなわち変形空間S3を自動生成する。そして、このハンドルHDLに対して曲げ変形、ねじり変形、伸縮変形の選択とそのパラメータを指定することで、図10(a)、図10(b)、図10(c)それぞれに示すように板モデルの曲げ、ねじり、伸縮の形状変形をメッシュモデルベースで実行することができる。
【0037】
また、図11(a)に示すように棒モデルに対して矩形の頂点を指定することで、同図(b)に示すように装置側がハンドルHDL、すなわち変形空間S3を自動生成する。そして、このハンドルHDLに対して反り変形、部分拡大/縮小変形、部分移動変形の選択とそのパラメータを指定することで、図12(a)、図12(b)、図12(c)それぞれに示すように棒モデルの反り、部分拡大/縮小変形、部分移動変形をメッシュモデルベースで実行することができる。
【0038】
ここに、ハンドルHDLの重心座標計算について説明する。図13(a),(b)は単純な凸多面体と単純でない凸多面体とを例示している。頂点vが3つの面の交点である場合にはその多面体は単純な凸多面体であり、それ以上の面の交点がある場合単純でない凸多面体とする。
【0039】
凸多面体内部の点xの凸多面体Pに対する重み関数w(x)を凸多面体の頂点vの隣接面の法線の張る平行六面体体積と、vの各隣接面とxとの距離の積との比、すなわち式(1)のように定義する。
【数1】
JP0004403277B2_000002t.gif

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

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

【0043】
本装置では、式(3)をハンドル内の全てのメッシュモデル頂点に適用することで、モデルの自由形状変形を行う。
【0044】
しかしながら、このハンドル頂点を直接操作することによる自由形状変形手法は、変形操作の自由度が高い反面、操作が煩雑である。そこで、本実施の形態のメッシュモデル変形装置及び方法では、不必要な変形自由度を無くし、操作の煩雑さを解決するため、上述したように表1のように変形タイプに基づいたハンドルの自動生成とそのパラメトリック変形処理を行う。
【0045】
これにより、本実施の形態では、ユーザーがモデル内の変形対象及び変形タイプを選択すると、装置により制御空間S2(変形前後の位置関係がアフィン変換で記述できる空間)、固定空間S1(変形前後で内部のモデルが変化しない空間)、変形空間S3(変形前後で内部のモデルが制御空間S2に従って変形する空間)を自動的に定義する。変形空間S3は六面体又はその集合として定義する。そしてユーザーが各変形のパラメータ(曲げ角θなど)を設定、また変更することで凸多面体の頂点を移動させ、凸多面体(六面体)に対する重心座標を基底に用いた形状変形手法によって変形空間内のメッシュモデルを変形することができるのである。
【実施例1】
【0046】
本メッシュモデル変形技術を、工業製品モデル(椅子)および解析メッシュモデル(HDDカバー)に本手法を適用し、本手法が設計段階での形状変形に利用可能であることが確認できた。図18に示す椅子のメッシュモデルに対して、各部を曲げ、伸ばし、そして曲げとねじりを行った結果を図19に示している。また、図20(a),(b)はHDDカバーの孔の径の変更変形を部分拡大/縮小変形により実行した結果を示している。また、図21(a),(b)はHDDカバーの孔の位置移動を部分移動変形により実行した結果を示している。
【0047】
いずれもリアルタイムな変形が可能であった。つまり、ユーザーがマウス22あるいはそれに相当するポインティングデバイスにて矩形ポイントを設定することで、まず、ハンドル(変形空間)を生成し、これを表示装置23にモデルと共に表示させる。続いて、表示されているハンドルをマウス22にてドラッグしてドラッグポイントを上下、左右、あるいは回転移動させることで、その移動量を変形パラメータにしてメッシュモデルを変形させることができた。したがって、本発明によれば、ハンドル作成操作が容易であること、変形操作が煩雑でないこと、変形領域を陽に指定可能であること、対話的な変形が可能であることのユーザビリティの良好性が確認できた。

【0048】
(第2の実施の形態)次に、本発明の第2の実施の形態のメッシュモデル変形装置、変形方法及びプログラムについて説明する。本実施の形態のメッシュモデル変形技術は、変形空間(ハンドル)の定義を六面体ではなく、指定された変形タイプに適した、より複雑な凸多面体とすることで、以下に述べるようにC連続性を保ったメッシュモデル変形を行うことを特徴とする。
【0049】
本実施の形態のメッシュモデル変形装置は、C連続性を保ったモデル形状変形を実現するハンドル形状(変形空間となる凸多面体)を決定する。これは、重心座標関数の解析に基づいており、以下にその手順を示す。本実施の形態におけるハードウェア構成は図1に示した第1の実施の形態のものと同様であり、また変形方法も図2に示した第1の実施の形態のものと共通である。ただし、処理ST1とST3の内容が異なる。
【0050】
図22に示すように、変形空間S3と制御空間S2との境界上のハンドル頂点を制御頂点、変形空間S3と固定空間S1との境界上のハンドル頂点を固定頂点、それ以外のハンドル頂点を自由頂点と定義し、それぞれをv、v、vとする。以下では、2軸を回転軸に、制御頂点が回転変換する「曲げ」変形について例を挙げて説明するが、他の変形でも同様の手順で解析を行う。
【0051】
まず、曲げの初期ハンドル形状を次のように生成する。連続性を保つ曲げは、直線が変形後に2次の曲線で表現できるような変形である。そこで自由形状変形の基底関数(重心座標関数)の次数も2次以上であるべきである。第1の実施の形態で示したように、六面体のハンドルの制御頂点・固定頂点の間に自由頂点を図22のように挿入することで、自由頂点のz座標値dを自由度として持つ六角形柱のハンドルを生成する。
【0052】
次に、上述の初期ハンドル形状を用いて重心座標・導関数の解析を次のように行う。図23に、自由頂点のz座標値dをd=2及びd=1000にした場合に自由頂点、制御頂点、固定頂点に対する重心座標のy導関数∂b/∂yをx=0,z=0でプロットした結果を示す。d=1000の場合、vに関する導関数の値が固定空間S1と変形空間S3との境界面上(y=-1)で十分に小さくなっていることがわかる。ここでは、初期ハンドルの自由頂点のz座標値dが十分大きく、∂b/∂y|y=-1=0であるものとする。
【0053】
最後に、連続性を保つ変形を実現する変形時のハンドルの自由頂点の位置を導出する。ある曲げ角θが与えられたとき、制御頂点はアフィン変換によって位置が決定するが、自由頂点の位置は決定しない。そこで以下に述べるように、連続性を保つ条件から自由頂点の位置を決定する。簡単のため、曲げ角θが与えられた場合に、連続性を保つような自由頂点の座標をv’(θ)とする。ここで、連続性を保つ条件は、「∂x/∂yのx方向成分が変形空間S3と固定空間S1との境界上でθに関して変化しないこと」、すなわち式(4)のように与えられる。
【数4】
JP0004403277B2_000005t.gif

【0054】
ここで、v’ix(θ)はv’(θ)のx成分である。
【0055】
∂b/∂y|y=-1=0であること、∂v/∂θ=0であることから、上記の条件は式(5)のようになる。
【数5】
JP0004403277B2_000006t.gif

【0056】
本実施の形態では、式(5)を満たす式(6)の条件を採用する。
【数6】
JP0004403277B2_000007t.gif

【0057】
この式(6)より、自由頂点がx方向に移動しないこと、さらに変形空間S3が2つの境界の二等分面に対して面対象であると仮定し、図24に示すように、C連続を保つための条件は、自由頂点が制御、固定各頂点から等距離にあり、自由頂点と固定頂点・変形頂点とを結ぶ辺がそれぞれ対応する境界面に対して常に垂直であるという幾何的な条件となる。
【0058】
以上より、変形手順ステップST1のハンドル生成処理において形状のC連続を保つことが可能な変形を実現するために生成されるハンドルは、六面体のハンドルの制御頂点・固定頂点の間に自由頂点を図22のように挿入したものであり、ステップST3のモデル変形処理において式(6)の条件を満たすように挿入した自由頂点の位置を定めることで、形状のC連続を保つ変形を行う。また、自由頂点のz座標値dの値を変更することで境界面上での連続性を変化させた変形が可能である。
【0059】
本実施の形態によるメッシュモデル変形方法を、簡単な板モデルに適用したものが図25に示してある。また、工業製品モデルに適用し、十分に大きなdの値を選択したものが図26に示してある。
【0060】
本実施の形態によれば、近似的にC連続性を保った変形が可能であること、dの値を変更することで境界面上での連続性を変化させた変形が可能である。
【図面の簡単な説明】
【0061】
【図1】本発明の第1の実施の形態のメッシュモデル変形装置の機能構成を示すブロック図。
【図2】上記実施の形態によるメッシュモデル変形方法の処理シーケンス図。
【図3】上記実施の形態のメッシュモデル変形装置によるハンドル生成処理の説明図。
【図4】上記実施の形態のメッシュモデル変形装置によるモデル変形処理の説明図。
【図5】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法の説明図。
【図6】上記実施の形態のメッシュモデル変形装置によるメッシュモデル変形方法における変形タイプの定義と変形の操作パラメータとの表の説明図。
【図7】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ変形処理の説明図。
【図8】上記実施の形態のメッシュモデル変形装置による円柱体モデルに対する部分移動変形処理の説明図。
【図9】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対するハンドル生成処理の説明図。
【図10】上記実施の形態のメッシュモデル変形装置による板メッシュモデルに対する曲げ、ねじり、伸縮変形とそれぞれのハンドルとを示す説明図。
【図11】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対するハンドル生成処理の説明図。
【図12】上記実施の形態のメッシュモデル変形装置による円柱体メッシュモデルに対する反り、部分拡大/縮小、部分移動変形とそれぞれのハンドルとを示す説明図。
【図13】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連する単純な凸多面体と単純ではない凸多面体とを示す説明図。
【図14】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における多面体頂点の隣接面の成す単体を示す説明図。
【図15】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純な凸多面体における内部頂点と隣接面との距離の説明図。
【図16】上記実施の形態のメッシュモデル変形装置が変形空間内の頂点に対して行う重心座標計算に関連して単純でない凸多面体を単純な凸多面体に近似する方法の説明図。
【図17】上記実施の形態のメッシュモデル変形装置による重心座標計算処理の説明図。
【図18】上記実施の形態のメッシュモデル変形装置に入力され、表示された椅子メッシュモデルの図。
【図19】上記実施の形態のメッシュモデル変形装置により変形処理された椅子メッシュモデルの図。
【図20】上記実施の形態のメッシュモデル変形装置に入力され、表示されたHDDカバーのメッシュモデルに対する孔の縮小変形処理の説明図。
【図21】上記実施の形態のメッシュモデル変形装置に入力され、表示されたHDDカバーのメッシュモデルに対する孔の部分移動処理の説明図。
【図22】本発明の第2の実施の形態のメッシュモデル変形装置によるハンドル生成処理の説明図。
【図23】上記実施の形態のメッシュモデル変形装置による重心座標計算処理の説明図。
【図24】上記実施の形態のメッシュモデル変形装置によるモデル変形処理に用いるx-y平面上で見た連続性を保つための変形空間の幾何条件を示す説明図。
【図25】上記実施の形態のメッシュモデル変形装置によるハンドル初期形状と変形後モデル形状との関係を示す説明図。
【図26】上記実施の形態のメッシュモデル変形装置による工業製品のメッシュモデルに対する変形処理を示す説明図。
【符号の説明】
【0062】
1 入出力制御部
2 データ記憶部
3 ハンドル自動生成部
4 重心座標計算部
5 モデル変形処理部
10 制御演算処理部
21 キーボード
22 マウス
23 表示装置
図面
【図1】
0
【図2】
1
【図6】
2
【図23】
3
【図3】
4
【図4】
5
【図5】
6
【図7】
7
【図8】
8
【図9】
9
【図10】
10
【図11】
11
【図12】
12
【図13】
13
【図14】
14
【図15】
15
【図16】
16
【図17】
17
【図18】
18
【図19】
19
【図20】
20
【図21】
21
【図22】
22
【図24】
23
【図25】
24
【図26】
25