(57)【要約】【課題】  ３次元モデルをその意匠意図を保持したまま短時間で変形処理可能な３次元モデル変形システム及びプログラムを提供すること。【解決手段】  複数の面で定義され、任意の対象物を表す３次元モデルを変形する３次元モデル変形システムに、予め記憶保持された上記対象物のおおよその外形を表す骨格線を３次元モデルに合わせ込み、該３次元モデルのおおよその外形を表すベース曲線を作成するベース曲線作成手段と、３次元モデルを点群化する第一のポリゴン化手段と、３次元モデルのベース曲線に操作者の指示に応じて任意の変形を加えるベース曲線変形手段と、任意変形前のベース曲線から任意変形後のベース曲線への変位に基づいて３次元モデルを表す点群を変位させ、任意変形後のベース曲線に対応した点群を求める点群変位演算手段と、求められた点群から複数の面で定義された３次元モデルを創成する第二のポリゴン化手段とを備える。【選択図】  図２
2006285858.tif 000002
【特許請求の範囲】
【請求項１】
複数の面で定義され、任意の対象物を表す３次元モデルを変形する３次元モデル変形システムであって、
予め記憶保持された前記対象物のおおよその外形を表す骨格線を変形しようとする３次元モデルに合わせ込み、該３次元モデルのおおよその外形を表すベース曲線を作成するベース曲線作成手段と、
前記変形しようとする３次元モデルを点群化する第一のポリゴン化手段と、
前記ベース曲線作成手段により作成された前記変形しようとする３次元モデルのベース曲線に操作者の指示に応じて任意の変形を加えるベース曲線変形手段と、
前記ベース曲線作成手段により作成された任意変形前のベース曲線から前記ベース曲線変形手段により作成された任意変形後のベース曲線へのベース曲線変位に基づいて、前記第一のポリゴン化手段により作成された前記変形しようとする３次元モデルを表す点群を変位させ、前記ベース曲線変形手段により作成された任意変形後のベース曲線に対応した点群を求める点群変位演算手段と、
前記点群変位演算手段により求められた点群から複数の面で定義された３次元モデルを創成する第二のポリゴン化手段と、を有することを特徴とする３次元モデル変形システム。
【請求項２】
請求項１記載の３次元モデル変形システムであって、
変形前後の前記ベース曲線、変位前後の前記点群、及び、前記ベース曲線変形手段によるベース曲線の変形過程を操作者に表示する表示手段を更に有する、ことを特徴とする３次元モデル変形システム。
【請求項３】
コンピュータにロードされたとき、該コンピュータに、複数の面で定義され、任意の対象物を表す３次元モデルを変形させる３次元モデル変形プログラムであって、
前記コンピュータを、
予め記憶保持された前記対象物のおおよその外形を表す骨格線を変形しようとする３次元モデルに合わせ込み、該３次元モデルのおおよその外形を表すベース曲線を作成するベース曲線作成手段、
前記変形しようとする３次元モデルを点群化する第一のポリゴン化手段、
前記ベース曲線作成手段により作成された前記変形しようとする３次元モデルのベース曲線に操作者の指示に応じて任意の変形を加えるベース曲線変形手段、
前記ベース曲線作成手段により作成された任意変形前のベース曲線から前記ベース曲線変形手段により作成された任意変形後のベース曲線へのベース曲線変位に基づいて、前記第一のポリゴン化手段により作成された前記変形しようとする３次元モデルを表す点群を変位させ、前記ベース曲線変形手段により作成された任意変形後のベース曲線に対応した点群を求める点群変位演算手段、及び、
前記点群変位演算手段により求められた点群から複数の面で定義された３次元モデルを創成する第二のポリゴン化手段、として機能させることを特徴とする３次元モデル変形プログラム。
【請求項４】
請求項３記載の３次元モデル変形プログラムを記憶していることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、複数の面で定義された３次元モデルを変形する３次元モデル変形システム及びプログラムに係り、特に、３次元モデルをその意匠意図を保持したまま短時間で変形処理可能な３次元モデル変形システム及びプログラムに関する。
【背景技術】
【０００２】
従来、複数の面で定義された３次元モデル（立体形状）を変形（モーフィング）する３次元モデル変形システムが知られている。
【０００３】
ところで、３次元モデルを大局的に変形させる際に、例えば市販のＣＡＤソフトの拡大／縮小機能を用いてスケーリング処理を行うと、意匠意図を保持したままの変形を実現することができない。例えば、変形前円形だった箇所を変形後も円形のまま保持したいという操作者側の意図があったとしても、拡大／縮小処理を用いると変形後は楕円形になってしまう可能性が高い。
【０００４】
この点を考慮して、３次元モデル内に複数の拘束点を設定し、意匠意図を保持したまま大局的に（グローバルに）変形させることを狙ったシステムも提案されている（例えば、特許文献１及び２参照）。
【０００５】
特許文献１には、３次元モデルの断面輪郭上に１以上の操作点を設定し、これら操作点を移動させて目標の輪郭形状を設定し、この目標輪郭形状に上記１以上の操作点を移動させることによって、３次元モデルを変形させるシステムが開示されている。
【０００６】
特許文献２には、３次元モデルの表面上に１以上の操作点を設定し、これら操作点を目標とする３次元モデルの表面上に移動させ、この操作点の移動に基づいてモデルを大局的に変形させるシステムが開示されている。
【特許文献１】特開２００２−２６９５８６号公報
【特許文献２】特開２００４−７８３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のシステムでは、複数の拘束指示と意匠意図の保持とを両立できない。例えば、複数の面が相互に拘束し合う３次元形状に市販ＣＡＤのパラメトリック機能を適用して所定の拘束条件の下で所望の大局的な変形を実現しようとすると、膨大な演算工程と処理時間が掛かる。
【０００８】
また、上記特許文献１及び２に開示されたシステムでは、３次元モデルの複数の断面上に操作点を配置して、それぞれの操作点を移動させて３次元モデル全体の変形を行わなければならないため、操作点の設定に手間が掛かると共に、変形後の形状（意匠）をイメージした上で予め操作点を設定することは困難である。さらに、操作点を移動する際に、変形後の３次元モデル形状のイメージを得ることが難しく、必ずしも操作者の意匠意図が反映されない可能性がある。
【０００９】
本発明はこのような課題を解決するためのものであり、３次元モデルをその意匠意図を保持したまま短時間で変形処理可能な３次元モデル変形システム及びプログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための本発明の第一の態様は、複数の面で定義され、任意の対象物を表す３次元モデルを変形する３次元モデル変形システムであって、予め記憶保持された上記対象物のおおよその外形を表す骨格線を変形しようとする３次元モデルに合わせ込み、該３次元モデルのおおよその外形を表すベース曲線を作成するベース曲線作成手段と、上記変形しようとする３次元モデルを点群化する第一のポリゴン化手段と、上記ベース曲線作成手段により作成された上記変形しようとする３次元モデルのベース曲線に操作者の指示に応じて任意の変形を加えるベース曲線変形手段と、上記ベース曲線作成手段により作成された任意変形前のベース曲線から上記ベース曲線変形手段により作成された任意変形後のベース曲線へのベース曲線変位に基づいて、上記第一のポリゴン化手段により作成された上記変形しようとする３次元モデルを表す点群を変位させ、上記ベース曲線変形手段により作成された任意変形後のベース曲線に対応した点群を求める点群変位演算手段と、該点群変位演算手段により求められた点群から複数の面で定義された３次元モデルを創成する第二のポリゴン化手段とを有する３次元モデル変形システムである。
【００１１】
この第一の態様において、本システムに入力される（変形前の）３次元モデルとは、例えばＣＡＤ等によって作成された自由曲面による立体形状である。
【００１２】
この第一の態様によれば、複数の面により定義されているために本来的には面間相互の拘束が比較的強い３次元モデルについて、要素相互間の拘束が比較的弱いベース曲線を用意し、このベース曲線を任意に変形させることによって、このベース曲線変位に基づいて３次元モデルが変形されるため、変形前後で意匠意図を保持しつつ、演算処理工程を低減することができる。
【００１３】
なお、この第一の態様において、操作者が変形後のベース曲線をイメージしながらベース曲線を任意に変形できるように、上記３次元モデル変形システムが、変形前後の上記ベース曲線、変位前後の上記点群、及び、上記ベース曲線変形手段によるベース曲線の変形過程を操作者に表示する表示手段を更に有することが好ましい。
【００１４】
上記目的を達成するための本発明の第二の態様は、コンピュータにロードされたとき、該コンピュータに、複数の面で定義され、任意の対象物を表す３次元モデルを変形させる３次元モデル変形プログラムであって、上記コンピュータを、予め記憶保持された上記対象物のおおよその外形を表す骨格線を変形しようとする３次元モデルに合わせ込み、該３次元モデルのおおよその外形を表すベース曲線を作成するベース曲線作成手段、上記変形しようとする３次元モデルを点群化する第一のポリゴン化手段、上記ベース曲線作成手段により作成された上記変形しようとする３次元モデルのベース曲線に操作者の指示に応じて任意の変形を加えるベース曲線変形手段、上記ベース曲線作成手段により作成された任意変形前のベース曲線から上記ベース曲線変形手段により作成された任意変形後のベース曲線へのベース曲線変位に基づいて、上記第一のポリゴン化手段により作成された上記変形しようとする３次元モデルを表す点群を変位させ、上記ベース曲線変形手段により作成された任意変形後のベース曲線に対応した点群を求める点群変位演算手段、及び、上記点群変位演算手段により求められた点群から複数の面で定義された３次元モデルを創成する第二のポリゴン化手段、として機能させる３次元モデル変形プログラムである。
【００１５】
この第二の態様において、本プログラムにより処理される（変形前の）３次元モデルとは、例えばＣＡＤ等によって作成された自由曲面による立体形状である。
【００１６】
この第二の態様によれば、複数の面により定義されているために本来的には面間相互の拘束が比較的強い３次元モデルについて、要素相互間の拘束が比較的弱いベース曲線を用意し、このベース曲線を任意に変形させることによって、このベース曲線変位に基づいて３次元モデルが変形されるため、変形前後で意匠意図を保持しつつ、演算処理工程を低減することができる。
上記目的を達成するための本発明の第三の態様は、上記第二の態様に係る３次元モデル変形プログラムを記憶している記憶媒体である。
【発明の効果】
【００１７】
本発明によれば、３次元モデルをその意匠意図を保持したまま短時間で変形処理可能な３次元モデル変形システム及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施例を挙げて説明する。なお、複数の面で定義された３次元モデルを変形する３次元モデル変形システムの基本概念、主要なハードウェア構成、作動原理、及び基本的な制御手法等については当業者には既知であるため、詳しい説明を省略する。
【００１９】
また、以下に説明する実施例においては、一例として、車両デザイン変更のために車両外形全体を表す３次元モデルを変形する場合について説明する。
【実施例】
【００２０】
以下、図１〜７を参照して、本発明の一実施例に係る３次元モデル変形システムについて説明する。
【００２１】
図１は、本実施例に係る３次元モデル変形システム１００の概略構成図である。
【００２２】
３次元モデル変形システム１００は、任意の対象物を表す３次元モデルを本システム内に取り込む３次元モデル取込部１０１を有する。ここで、３次元モデルとは、複数の面で定義された立体形状であり、例えばＣＡＤ等によって作成された自由曲面から成る。
【００２３】
３次元モデル変形システム１００は、更に、ユーザ操作を受け付けるユーザ入力部１０２を有する。ユーザ入力部１０２は、マウスやトラックパッドやキーボードなどの１以上の任意のユーザ入力装置を含む。
【００２４】
３次元モデル変形システム１００は、更に、１以上の骨格線を記憶保持する記憶部１０３を有する。記憶部１０３は、任意の記憶媒体でよい。本実施例において、記憶部１０３は、車両外形全体を表す３次元モデル用の複数の骨格線（例えば、１ＢＯＸ／２ＢＯＸ用、ピックアップ用、３ＢＯＸ用、など）を予め記憶しておく。
【００２５】
３次元モデル変形システム１００は、更に、変形前後のベース曲線（後述）、変位前後の点群（後述）、及び、ベース曲線の変形過程、をユーザに視覚的に表示する表示部１０４を有する。表示部１０４は、例えば、ディスプレイ装置である。
【００２６】
３次元モデル変形システム１００は、更に、後述するような種々の演算処理を行うと共に、上記の構成要素の各々を統括的に制御する演算制御部１０５を有する。演算制御部１０５は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）である。
【００２７】
次いで、このような構成の３次元モデル変形システム１００の動作・作用について図２〜６を用いて説明する。図２は、本実施例に係る３次元モデル変形システム１００の処理の流れを示すフローチャートであり、図３〜６は、図２の各ステップにおける処理の様子を概略的に示す模式図である。
【００２８】
まず、３次元モデル取込部１０１により変形しようとする３次元モデル（図３（ａ））が本システム内に取り込まれると、演算制御部１０５は、取り込まれた３次元モデルに最も適した骨格線（図３（ｂ））を記憶部１０３から抽出し、抽出した骨格線を取り込まれた３次元モデルに合わせ込む（図２のＳ２０１）。
【００２９】
この合わせ込みは、従来通りの曲線の修正手法（例えば制御点移動など）により実現可能である。この際、３次元モデルは変更せずに、骨格線側をトポロジーは変更せずに３次元モデルの少なくとも一部の面に略接するように修正する（図３（ｃ））。
【００３０】
ここで、３次元モデルが複数の面で定義された自由曲面であるの対し、骨格線は、複数の曲線によって定義された自由線であるため、拘束条件が弱く、少ない演算工程で容易に修正が可能である。
【００３１】
このように、変形しようとする３次元モデルに合わせ込むように修正された骨格線を、以降、当該３次元モデルのベース曲線と称す。演算制御部１０５は、作成されたベース曲線を表示部１０４に指示してユーザへ表示させる。
【００３２】
次いで、演算制御部１０５は、３次元モデル取込部１０１により取り込まれた３次元モデルの自由曲面（図４（ａ））をポリゴン化して、当該自由曲面を表す点群（図４（ｂ））を作成する（図２のＳ２０２）。曲面を点群する具体的手法については、当業者には既知であり、市販のＣＡＤの機能にて実現可能でもあることから、ここでは詳しい説明を省略する。
【００３３】
次いで、演算制御部１０５は、ユーザ入力部１０２を通じて入力されたユーザ操作に基づいて、Ｓ２０１で作成されたベース曲線に修正を加える（図２のＳ２０３）。図５は、一例として、Ｓ２０１で作成された（変形前の）ベース曲線（ａ）を、ユーザの（例えば延長方向及び数値の）指示に基づいて、トポロジーはそのままで全長だけを延ばし、変形後のベース曲線（ｂ）を作成した場合について示している。
【００３４】
このベース曲線の任意変形は、具体的には、Ｓ２０１と同様の手法により実現可能である。市販ＣＡＤのパラメトリック機能を利用すれば、曲線のある長さ等を変更するだけで容易に変形後のベース曲線を作成することが可能である。
【００３５】
演算制御部１０５は、作成された変形後のベース曲線（図５（ｂ））を表示部１０４に指示してユーザへ表示させる。ユーザが変形後のベース曲線をイメージしやすいように、ユーザがベース曲線変形指示を入力中に、変形前のベース曲線（図５（ａ））から変形後のベース曲線（図５（ｂ））までの変形過程（すなわち、入力に応じて徐々に変化していく様子）も表示させることが好ましい。
【００３６】
次いで、演算制御部１０５は、図５に示すようなベース曲線の変形に基づいて、このベース曲線変位に対応させて、Ｓ２０２で作成した変形しようとする３次元モデルを表す点群を変位させる（図２のＳ２０４）。換言すれば、Ｓ２０２で作成された点群（図６（ａ））を、変形前のベース曲線（図５（ａ））を変形後のベース曲線（図５（ｂ））へ変位させるのと同様に変位させたときにどのような点群（図６（ｂ））が得られるのかを求める。
【００３７】
このようにしてユーザにより指定されたベース曲線変形に応じて点群が変形されると、次いで、演算制御部１０５は、変位後の点群（図６（ｂ））をポリゴン化して、曲面群、すなわち変形後の３次元モデルを創成する（Ｓ２０５）。
【００３８】
このようにして、ベース曲線の変形に基づいた３次元モデルの変形が実現される。
【００３９】
以下、図２のＳ２０４における変位後の点群の演算方法について、２通りの方法を説明する。ここでは、仮に、１つ目の方法を最小自乗モデル、２つ目の方法を引力モデル、と称す。
【００４０】
（最小自乗モデル）
まず、１つ目の最小自乗モデルによる演算方法について図７を用いて説明する。ここでは、簡易化のために図７に示すような局所的微小部分において、変形前ベース曲線Ｆが変形後ベース曲線Ｔへと変位したのに対応し、変形前の点群の各々が変形後の点群ではどこに位置するのかを求める場合を考える。
【００４１】
本実施例では、変形前ベース曲線Ｆ上の点Ｘｉ（＝（ｘｉ，ｙｉ，ｚｉ））が変位ベクトルＶｉ（＝（ｕｉ，ｖｉ，ｗｉ））で変形後ベース曲線Ｔ上に移動するもの（ｉ＝１，２，・・・Ｎ）とし、さらに、これに応じて変形前の点群の各点Ｘが変位関数Ｄ（ｘ）で変位するものとして、
【００４２】
【数１】
2006285858.tif 000003
が最小となるような変位関数Ｄ（Ｘ）を求める。この上記Ｍを最小とする演算において、本実施例では係数αを１とする（α＝１）。
【００４３】
上記式（１）において、変位関数Ｄ（Ｘ）は、Ｂ−Ｓｐｌｉｎｅの基底関数Ｎｉ（ｘ）、Ｎｉ（ｙ）、及びＮｉ（ｚ）を利用して、以下のように定義する。
【００４４】
【数２】
2006285858.tif 000004
ここで、Ａｉ，ｊ，ｋは、Ｂ−Ｓｐｌｉｎｅの制御点で未知数である。
【００４５】
また、上記式（１）において、Ｅは、暴れ防止エネルギを表しており、以下のように定義する。
【００４６】
【数３】
2006285858.tif 000005
すなわち、
【００４７】
【数４】
2006285858.tif 000006
とする。但し、ｕ＿ｉｊｋ、ｖ＿ｉｊｋ、及びｗ＿ｉｊｋは、それぞれ制御点Ａｉ，ｊ，ｋに対するＧｒｅｖｉｌｌｅパラメータとする。
【００４８】
このようにして、上記式（１）で表されたＭの値が最小となるときの変位関数Ｄ（Ｘ）を、変形前の点群（図６（ａ））を変形後の点群（図６（ｂ））へ移動させる変位関数として用いる。
【００４９】
この最小自乗モデルによれば、変位関数としてＢ−Ｓｐｌｉｎｅ基底関数を利用するため、得られた変形後の３次元モデルを全体として滑らかな曲面とすることができる。
【００５０】
（引力モデル）
次いで、２つ目の引力モデルによる演算方法について図８〜１１を用いて説明する。この引力モデルでは、３次元モデルを表す点群の各点がベース曲線への距離に応じて影響を受けると考え、ベース曲線に近い点ほど大きな変位を生ずるものとするモデルである。
【００５１】
まず、簡易化のために図８に示すような局所的微小部分において、変形前ベース曲線Ｆが変形後ベース曲線Ｔへと変位したのに対応し、変形前の点群の各々が変形後の点群ではどこに位置するのかを求める場合を考える。
【００５２】
いま、変形前のベース曲線Ｆを、点群中の一点Ｘに対する変形前ベース曲線Ｆ上の線長パラメータでＸから変形前ベース曲線Ｆへの垂線の足パラメータであるＳｆ（Ｘ）の関数としてＣｆ（Ｓｆ（Ｘ））と表し、同様に、変形後のベース曲線ＴをＣｔ（Ｓｔ（Ｘ））と表し、Ｓｆ（Ｘ）／Ｌｆ＝Ｓｔ（Ｘ）／Ｌｔが満たされるようにする。ここで、ＬｆはＣｆの線長であり、ＬｔはＣｔの線長である。
【００５３】
変形前ベース曲線Ｆが変形後ベース曲線Ｔに移動するのに応じて、変形前の点群の各点Ｘは、変位ベクトルＤ（Ｃｆ（Ｓｆ（Ｘ）））で変位する。すなわち、点Ｘは、点（Ｘ＋Ｄ（Ｃｆ（Ｓｆ（Ｘ））））に変位する。
【００５４】
実際には、変形前ベース曲線Ｆ及び変形後ベース曲線Ｔはそれぞれ複数本存在するため、次いで、図９について考える。図９では、変形前ベース曲線Ｆと変形後ベース曲線Ｔがそれぞれ複数本存在する場合の中で最も簡易な一例として２本ずつの場合を示している。
【００５５】
変形前ベース曲線ＦがＮ本あるとし、それぞれ、Ｃｆ１（Ｓｆ１）、Ｃｆ２（Ｓｆ２）、・・・ＣｆＮ（ＳｆＮ）と表すものとすると、ｉ番目の変形前ベース曲線Ｃｆｉについて点Ｘに対するＣｆｉ上の点Ｃｆｉ（Ｓｆｉ（Ｘ））での変位ベクトルは、Ｄ（Ｘ，Ｃｆｉ（Ｓｆｉ））と表すことができる。
【００５６】
したがって、図９の場合、１番目の変形前ベース曲線Ｃｆ１上の点Ｃｆ１（Ｓｆ１）についての変位ベクトルはＤ（Ｘ，Ｃｆ１（Ｓｆ１（Ｘ）））となり、２番目の変形前ベース曲線Ｃｆ２上の点Ｃｆ２（Ｓｆ２）についての変位ベクトルはＤ（Ｘ，Ｃｆ２（Ｓｆ２（Ｘ）））となる。
【００５７】
そして、この引力モデルでは、この変位ベクトルＤ（Ｘ，Ｃｆｉ（Ｓｆｉ））に重み付けを行う。ここでは、変位ベクトルＤ（Ｘ，Ｃｆｉ（Ｓｆｉ））に掛かる重み関数をＷ（Ｘ，Ｃｆｉ（Ｓｆｉ））で表す。
【００５８】
この重み関数は、一旦、距離の自乗に反比例する一般的な重み付けとして以下のように定義しておく。
【００５９】
【数５】
2006285858.tif 000007
すると、変形前ベース曲線Ｆと変形後ベース曲線Ｔがそれぞれ複数本ずつ存在する場合の点Ｘの変位ベクトルＤ（Ｘ）は、
【００６０】
【数６】
2006285858.tif 000008
と表すことができる。但し、
【００６１】
【数７】
2006285858.tif 000009
及び
【００６２】
【数８】
2006285858.tif 000010
である。
【００６３】
以上の説明では、点Ｘに対応した変形前ベース曲線Ｆ上の点を求めるために垂線パラメータを用いたが、垂線を引けない場合や、同じ曲線でも線数によって不都合が生じる場合もあり得る。そこで、以下のような積分モデルを考える。
【００６４】
まず、図１０に示すように、１本の変形前ベース曲線Ｆ（ｉ番目の変形前ベース曲線Ｃｆｉ）をＮ個の微小線ΔＳに分割する。
【００６５】
いま、ｊｉ番目の微小線ΔＳｊｉ（＝Ｓｉ，ｊｉ＋１−Ｓｉ，ｊｉ）をＣｆｉ（Ｓｆｉ））で置き換えると、変位ベクトルＤ（Ｘ，Ｃｆｉ（Ｓｆｉ（Ｘ）））は、ΔＳｊｉを始点として変位とみなすことができるため、
【００６６】
【数９】
2006285858.tif 000011
及び
【００６７】
【数１０】
2006285858.tif 000012
と表すことができる。上記式（７）では、仮に、重みを距離の自乗としてある。
【００６８】
ここで、１本の変形前ベース曲線ＦはＮ個の微小線ΔＳｊｉから構成されているため、１本の変形前ベース曲線Ｆに対する変位Ｆ（Ｃｆｉ（Ｘ））は、積分により、
【００６９】
【数１１】
2006285858.tif 000013
と表すことができる。
【００７０】
さらに、実際には変形前ベース曲線Ｆは複数本存在するため、すべての変形前ベース曲線Ｆに対する変位Ｆ（Ｃｆｉ（Ｘ））は、積分により、
【００７１】
【数１２】
2006285858.tif 000014
と表すことができる。
【００７２】
よって、最終的な変位ベクトルＤ（Ｘ）は、
【００７３】
【数１３】
2006285858.tif 000015
となる。
【００７４】
なお、上記では、重み関数Ｗ（Ｘ，Ｃｆｉ（Ｓｆｉ）））を距離の自乗に反比例するものとしたが、これではベース曲線まである程度遠い位置に存在する点でもわずかながら影響を受けることになる。換言すれば、ベース曲線からの影響が完全にゼロとなる点が存在しないことになる。
【００７５】
そこで、下記式（１１）及び図１１に示すようなある程度ベース曲線から離れた点は影響が完全にゼロとなるような重み関数を利用することにより、意匠意図をより良く保持した変位が実現される。
【００７６】
【数１４】
2006285858.tif 000016
図１１において、実線が式（１１）で表された重み関数であり、破線が上記の距離の自乗に反比例した重み関数の場合である。ここで、関数Ｆ（ｄ）は、区間ｄｓ＜ｄ≦ｄｆを滑らかにつなぐ曲線である。
【００７７】
さらに、この引力モデルにおける重み付けでは、特に意匠意図を確実に保持したい箇所について、ベース曲線が点群に与える影響力（引力）を強くするために、ベース曲線を構成する曲線群のうちの任意の曲線を二重に重ね、その曲線からの引力を倍にして当該箇所の拘束力を強めるようにしてもよい。
【００７８】
この引力モデルによれば、上記のような引力モデル関数の定義やベース曲線の重ね合わせにより、変位後の点群をポリゴン化して曲面を創成する際に、変形後のベース曲線に比較的接近する傾向の曲面群を創成することができる。
【００７９】
以上、図２のＳ２０４における点群を変位させる手法について、具体的方法を２つ例に挙げて説明した。
【００８０】
このように、本実施例によれば、相互に関連する面群を大局的に変形させるよりも線群及び点群を変形させる方が拘束条件が弱く、演算処理負荷が低いことに鑑み、複数の面で定義された３次元形状である３次元モデルに複数の曲線から成るベース曲線を与えると共に、元の３次元モデルを点群に落とし込み、ベース曲線に与えられた所望の変形に基づいて元の３次元モデルを表す点群を変位させることによって３次元モデルを変形するため、３次元モデルの意匠意図や拘束を考慮し、且つ、短時間の簡易な演算工程で変形処理を実行することができる。
【産業上の利用可能性】
【００８１】
本発明は、複数の面で定義された３次元モデルを変形する３次元モデル変形システム及びプログラムに幅広く利用できる。３次元モデルによって表される対象物は、車両にかかわらず、任意の工業製品でよい。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施例に係る３次元モデル変形システムの概略構成図である。
【図２】本発明の一実施例に係る３次元モデル変形システムの処理の流れを示すフローチャートである。
【図３】図２のフローチャートのＳ２０１における処理の様子を概略的に示す模式図である。
【図４】図２のフローチャートのＳ２０２における処理の様子を概略的に示す模式図である。
【図５】図２のフローチャートのＳ２０３における処理の様子を概略的に示す模式図である。
【図６】図２のフローチャートのＳ２０４における処理の様子を概略的に示す模式図である。
【図７】図２のフローチャートのＳ２０４における処理の一例（最小自乗モデル）による点群変位の様子を示す図である。
【図８】図２のフローチャートのＳ２０４における処理の別の一例（引力モデル）による点群変位の様子を示す図である。
【図９】図２のフローチャートのＳ２０４における処理の別の一例（引力モデル）による点群変位の様子を示す図である。
【図１０】図２のフローチャートのＳ２０４における処理の別の一例（引力モデル）による点群変位を説明するための図である。
【図１１】図２のフローチャートのＳ２０４における処理の別の一例（引力モデル）による重み付けを説明するためのグラフである。
【符号の説明】
【００８３】
１００  ３次元モデル変形システム
１０１  ３次元モデル取込部
１０２  ユーザ入力部
１０３  記憶部
１０４  表示部
１０５  演算制御部
【図１】
2006285858.tif 000017
【図２】
2006285858.tif 000018
【図３】
2006285858.tif 000019
【図４】
2006285858.tif 000020
【図５】
2006285858.tif 000021
【図６】
2006285858.tif 000022
【図７】
2006285858.tif 000023
【図８】
2006285858.tif 000024
【図９】
2006285858.tif 000025
【図１０】
2006285858.tif 000026
【図１１】
2006285858.tif 000027