(57)【要約】【課題】高品質の曲面を効率的に生成できるようにする。【解決手段】モデルの形状データにフィッティングした断面曲線を設定する断面曲線設定部２と、所定の条件を満たすように断面曲線を移動させる断面曲線移動部３と、所定の条件を満たす断面曲線が動く軌跡によって定義された曲面を生成する曲面生成部４とを備え、上記所定の条件として、断面曲線上の一点（例えば、中点）の軌跡が、生成しようとする曲面の曲率線になるという条件を用いることにより、曲面の流れを表す曲率線をスイープ法のガイド線とするような高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に求めることができるようにする。【選択図】図１
2018112869.tif 000002
【特許請求の範囲】
【請求項１】
モデルの形状データを入力する形状データ入力部と、
上記形状データの一部にフィッティングした断面曲線を設定する断面曲線設定部と、
上記断面曲線設定部により設定された上記断面曲線を、所定の条件を満たすように平行移動および回転移動させる断面曲線移動部と、
上記断面曲線移動部により上記断面曲線が動く軌跡によって定義された曲面を生成する曲面生成部とを備え、
上記所定の条件は、上記断面曲線移動部により移動された上記断面曲線上の一点により形成される軌跡が、生成しようとする曲面の曲率線になるという第１の条件であることを特徴とする曲面生成装置。
【請求項２】
上記断面曲線移動部は、
上記断面曲線を平行移動させ、上記断面曲線上の一点が平行移動した軌跡の方向を示す接線ベクトルを所定の間隔毎に求める第１の移動処理部と、
上記第１の移動処理部により算出された上記接線ベクトルを初期ベクトルとして、上記所定の条件を満たすように、上記所定の間隔毎の上記断面曲線をそれぞれ平行移動および回転移動によってさらに移動させる第２の移動処理部とを備えたことを特徴とする請求項１に記載の曲面生成装置。
【請求項３】
上記第１の移動処理部は、上記形状データとの誤差が最小となるように上記断面曲線を平行移動させることを特徴とする請求項２に記載の曲面生成装置。
【請求項４】
上記第１の条件は、上記断面曲線移動部により移動された上記断面曲線上の一点により形成される軌跡が、上記生成しようとする曲面の曲率線になるとともに、上記曲面生成部によって生成される曲面の法線ベクトルから上記軌跡の主法線ベクトルへの角度が、上記軌跡上において一定になるという条件であることを特徴とする請求項１〜３の何れか１項に記載の曲面生成装置。
【請求項５】
上記断面曲線移動部は、上記断面曲線を回転最小枠による回転移動によって移動させることを特徴とする請求項１〜４の何れか１項に記載の曲面生成装置。
【請求項６】
上記所定の条件は、上記断面曲線移動部によって上記断面曲線を移動させたときに上記断面曲線の両端が移動してできる曲線が曲率単調性を持つという第２の条件を更に含むことを特徴とする請求項１〜５の何れか１項に記載の曲面生成装置。
【請求項７】
上記所定の条件は、上記曲面生成部によって生成される曲面と、上記形状データ入力部により入力された上記形状データで表される曲面との誤差を最小化するという第３の条件を更に含むことを特徴とする請求項１〜６の何れか１項に記載の曲面生成装置。
【請求項８】
モデルの形状データを入力する形状データ入力手段、
上記形状データの一部にフィッティングした断面曲線を設定する断面曲線設定手段、
上記断面曲線設定手段により設定された上記断面曲線を、所定の条件を満たすように平行移動および回転移動させる断面曲線移動手段、および
上記断面曲線移動手段により上記断面曲線が動く軌跡によって定義された曲面を生成する曲面生成手段、
としてコンピュータを機能させ、
上記所定の条件が、上記断面曲線移動手段により移動された上記断面曲線上の一点により形成される軌跡が、生成しようとする曲面の曲率線になるという第１の条件であることを特徴とする曲面生成用プログラム。
【請求項９】
上記第１の条件は、上記断面曲線移動手段により移動された上記断面曲線上の一点により形成される軌跡が、上記生成しようとする曲面の曲率線になるとともに、上記曲面生成手段によって生成される曲面の法線ベクトルから上記軌跡の主法線ベクトルへの角度が、上記軌跡上において一定になるという条件であることを特徴とする請求項８に記載の曲面生成用プログラム。
【請求項１０】
上記断面曲線移動手段は、上記断面曲線を回転最小枠による回転移動によって移動させることを特徴とする請求項８または９に記載の曲面生成用プログラム。
【請求項１１】
上記所定の条件は、上記断面曲線移動手段によって上記断面曲線を移動させたときに上記断面曲線の両端が移動してできる曲線が曲率単調性を持つという第２の条件を更に含むことを特徴とする請求項８〜１０の何れか１項に記載の曲面生成用プログラム。
【請求項１２】
上記所定の条件は、上記曲面生成手段によって生成される曲面と、上記形状データ入力手段により入力された上記形状データで表される曲面との誤差を最小化するという第３の条件を更に含むことを特徴とする請求項８〜１１の何れか１項に記載の曲面生成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲面生成装置および曲面生成用プログラムに関し、特に、意匠デザイン分野で求められる曲率変化の滑らかな曲面を生成するための曲面生成装置に用いて好適なものである。
【背景技術】
【０００２】
一般に、製品の設計を行う際には、ＣＡＤ（Computer Aided Design）によって製品の形状データを生成することが行われている。形状データを生成する１つの方法として、モデルとなる物体の測定データからその物体の曲面モデルをＣＡＤによって再構築する方法が広く利用されている。例えば、自動車の曲面形状の場合、クレイモデラが粘土ヘラ（カーブ定規）を使って造形したクレイモデルの測定データからＣＡＤデータを作成することが行われている。
【０００３】
測定データからＣＡＤで曲面モデルを再構築する場合、(i)生成する曲面は指定されたトレランス以内で測定データを十分に近似できていること、(ii)生成する曲面はその曲率変化が滑らかであること、の２点が要求される。特に、(ii)については、意匠デザインにおける曲面の美的性質にとって重要であるのみならず、実際に消費者が商品の購入を検討する際のインパクトにも繋がる点で極めて重要である。
【０００４】
自動車の曲面生成の場合、カーブ定規を断面曲線とみなし、当該断面曲線をある流れに沿ってスイープさせることにより、クレイモデルに対するＣＡＤによる曲面モデルを再構築することが行われている。断面曲線と、当該断面曲線の流れとの双方が正しく表現されていれば、高品質の曲面を生成することが可能である。しかしながら、特に、断面曲線の流れを示す曲線を測定データから正しく表現することが極めて困難であり、高品質の曲面を生成することが容易にはできないという問題があった。
【０００５】
なお、従来、ＣＡＤ等において、ガイドとなる曲線に沿って断面曲線をスイープさせることによって曲面を生成する技術がいくつか知られている（例えば、特許文献１〜３参照）。ガイドとなる曲線は文献により異なる名称（制御曲線、軌道曲線、特徴線など）が与えられているが、以下、それらを総称して、ガイド線とよぶ。
【０００６】
特許文献１に記載の曲面生成装置では、座標入力装置からの指示により、ガイド線に沿って入力曲線をスイープしながら、スイープ位置での指定回転量・倍率で入力曲線を回転・拡大することにより、自由曲面を生成する。特許文献２に記載の３次元曲面形状生成装置では、ガイド線および断面曲線に加え、補間曲線と制御ベクトルとを用いてスイープ処理をすることにより、軌道の曲率変化が激しい場合でも正確なスイープ曲面を生成可能としている。特許文献３に記載の曲面作成装置では、ガイド線に沿って断面曲線が変形移動した曲面で、ガイド線上で支持曲面と滑らかにつながり、かつ支持曲線上を通過する曲面を作成する。
【０００７】
また、メッシュの主方向を示す曲率線に基づいて曲面データを再生するようになされた曲面再生装置も知られている（例えば、特許文献４参照）。特許文献４に記載の曲面再生装置では、実空間上の曲面をパラメータ空間に写像し、一次基本量と二次基本量とを算出する。次に、曲面の曲率線および曲率線が通過する実空間座標を算出し、パラメータ空間上の逆写像目標点を通過する線とパラメータ空間上に写像された曲率線とのパラメータ空間上での交点の実空間座標を算出する。そして、算出した交点の実空間座標を通過する実空間上の曲線を算出し、これに基づいて曲線上の逆写像目標点の実空間座標値を算出して、実空間上で曲面データを再生する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第２９３８９０９号公報
【特許文献２】特開平５−２５０４４４号公報
【特許文献３】特開２０００−１１２１０号公報
【特許文献４】特開２００５−１４９２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一般にスイープに基づく方法では、意図的に規則正しく制御点を配置できるというメリットがある。しかし、断面曲線のスイープに必要なガイド線を測定データから正しく特定することが難しいという問題がある。スイープ法によって生成される曲面の品質は、特定するガイド線の品質に大きく依存するため、ガイド線を適切に表現することが極めて重要となる。しかし、適切なガイド線を算出する方法が確立されておらず、そのためＣＡＤモデラは、生成した曲面の品質が確保できるまで、試行錯誤によりガイド線の調整を繰り返し行わなければならず、多大な時間と労力がかかっていた。
【００１０】
本発明は、このような問題を解決するために成されたものであり、高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に生成できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記した課題を解決するために、本発明では、モデルの形状データの一部に対してフィッティングされた断面曲線を設定し、所定の条件を満たすように、断面曲線を平行移動および回転移動させ、当該移動された断面曲線の軌跡によって定義される曲面の境界からの内挿により曲面を生成する。ここで、上記所定の条件は、断面曲線上の一点（例えば、中点）により形成される軌跡が、生成しようとする曲面の曲率線になるという条件としている。
【発明の効果】
【００１２】
モデルの形状データと断面曲線とが設定されていて、断面曲線のスイープに必要なガイド線が不明の場合、上記のように構成した本発明の処理を行えば、ガイド線に相当する、断面曲線上の一点の軌跡に沿って、設定された断面曲線をスイープしたものに相当する面が生成される。ガイド線に相当する軌跡は曲面の流れを表す曲率線として与えられることになり、曲面の流れを表す曲率線をスイープ法のガイド線とするような高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に生成することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態による曲面生成装置の機能構成例を示すブロック図である。
【図２】第１の実施形態による曲面生成装置の処理の概要を示す図である。
【図３】第１の実施形態による第１の移動処理部の処理内容を説明するための図である。
【図４】第１の実施形態による第２の移動処理部によって実行される断面曲線の移動の一例を示す模式図である。
【図５】第２の実施形態による曲面生成装置の機能構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
以下、本発明による第１の実施形態を図面に基づいて説明する。図１は、第１の実施形態による曲面生成装置の機能構成例を示すブロック図である。図１に示すように、第１の実施形態による曲面生成装置は、その機能構成として、形状データ入力部１、断面曲線設定部２、断面曲線移動部３および曲面生成部４を備えて構成されている。断面曲線移動部３は、第１の移動処理部３１および第２の移動処理部３２を備えている。
【００１５】
上記各機能ブロック１〜４は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１〜４は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【００１６】
形状データ入力部１は、モデルの形状データを入力する。第１の実施形態では、形状データ入力部１は、クレイモデルなどの形状の測定データ（点群データまたはポリゴンデータ）を入力する。
【００１７】
断面曲線設定部２は、形状データ入力部１により入力された形状データの一部にフィッティングした断面曲線を設定する。ここで設定する断面曲線は、意匠デザイナ（クレイモデラ）が自動車のクレイモデルを作成する際に使用するカーブ定規を模して作成したものである。図２は、第１の実施形態による曲面生成装置の処理の概要を示す図である。この図２の中に、断面曲線設定部２によりカーブ定規２００を模して設定された断面曲線Ｃ(s)の一例が示されている。
【００１８】
第１の実施形態では、この断面曲線設定部２により形状データの一部にフィッティングした断面曲線Ｃ(s)を後述するように移動させ、移動によってできる断面曲線Ｃ(s)の軌跡から定義される境界線からの内挿によって、目的の曲面（以下、目的曲面という）Ｓ(u, v)を生成する。
【００１９】
第１の実施形態では、目的曲面Ｓ(u, v)をＢ−ｓｐｌｉｎｅ曲面で表現する。図２に示すように、目的曲面Ｓ(u, v)のｕ方向の形状は、断面曲線設定部２により設定された断面曲線Ｃ(s)によって完全に特徴付けられる。また、目的曲面Ｓ(u, v)のｖ方向に対する２つの境界線Ｃs，Ｃeは、断面曲線Ｃ(s)の両端点が移動した際の軌跡として定義する。
【００２０】
断面曲線移動部３は、断面曲線設定部２により初期設定された断面曲線Ｃ(s)を、所定の条件を満たすように移動させる処理を行う。第１の実施形態では、この断面曲線Ｃ(s)の移動を、第１の移動処理部３１および第２の移動処理部３２によって行う。このときの移動は、第１の移動処理部３１では平行移動のみ、第２の移動処理部３２では平行移動および回転移動の双方を行う。これらの処理の詳細を以下に説明する。
【００２１】
第１の移動処理部３１は、形状データ入力部１により入力された形状データとの誤差が最小となるように、断面曲線設定部２により初期設定された断面曲線Ｃ(s)を平行移動させ、断面曲線Ｃ(s)上の一点が平行移動した軌跡の方向を示す接線ベクトルを所定の間隔毎に求める。断面曲線Ｃ(s)上の一点は、一例としては断面曲線Ｃ(s)の中点であるが、これに限定されるものではない。所定の間隔は、曲面生成装置にあらかじめ設定された固定値としてもよいし、ユーザが指定可能な可変値としてもよい。
【００２２】
図３は、第１の移動処理部３１の処理内容を説明するための図である。以下、この図３を用いて第１の移動処理部３１の処理例を具体的に説明する。すなわち、第１の移動処理部３１は、断面曲線設定部２により形状データの一部にフィッティングするように設定された断面曲線Ｃ(s)を、次の手順で平行移動させる。
【００２３】
まず、初期設定された断面曲線Ｃ(s)をＣ0(s)とし、これを含む平面Ｐ0の法線ベクトルＴ0~（図３において図示せず）の方向に対し、所定の間隔で断面曲線Ｃ0(s)を平行移動し、得られた移動後の断面曲線Ｃ(s)をＣ1(s)~（図３において図示せず）とする。なお、法線ベクトルＴ0~の方向に断面曲線Ｃ0(s)を単純に平行移動させるだけだと、移動後の断面曲線Ｃ1(s)~は形状データから離れて誤差が生じる可能性がある。そこで、第１の移動処理部３１は、法線ベクトルＴ0~の方向に断面曲線Ｃ0(s)を平行移動させた後、さらに、移動後の断面曲線Ｃ1(s)~を含む平面Ｐ1内で断面曲線Ｃ1(s)~を平行移動させてＣ1(s)とすることにより、断面曲線Ｃ1(s)と形状データとの誤差が最小となるようにする。
【００２４】
次に、移動後の断面曲線Ｃ1(s)を含む平面Ｐ1の法線ベクトルＴ1~（図３において図示せず）の方向に対し、所定の間隔で断面曲線Ｃ1(s)を平行移動し、得られた移動後の断面曲線Ｃ(s)をＣ2(s)~（図３において図示せず）とする。さらに、第１の移動処理部３１は、移動後の断面曲線Ｃ2(s)~を含む平面Ｐ2内で、断面曲線Ｃ2(s)~を平行移動させてＣ2(s)とすることにより、断面曲線Ｃ2(s)と形状データとの誤差が最小となるようにする。
【００２５】
以下、この処理を繰り返し実行する。図３の例では、この処理をｄ回行った例を示している。これにより、第１の移動処理部３１は、所定の間隔毎に存在する複数の断面曲線Ｃi(s)（ｉ＝０〜ｄ）と、各断面曲線Ｃi(s)を含む平面Ｐi（ｉ＝０〜ｄ）と、断面曲線Ｃi(s)の移動方向に対する複数の接線ベクトルＴi（ｉ＝０〜ｄ）とが得られる。
【００２６】
上述のように、ｉ＝０〜ｄの全てについて、同じ法線ベクトルＴ0~の方向に断面曲線Ｃi(s)~を単純に平行移動させるだけだと（Ｔi（ｉ＝０〜ｄ）＝Ｔ0~の場合）、平行移動を重ねるにつれて（ｉが大きくなるにつれて）、断面曲線Ｃi(s)~は形状データから離れて誤差が大きくなってしまう可能性がある。
【００２７】
これに対し、第１の移動処理部３１は、平面Ｐi（ｉ＝０〜ｄ）の法線ベクトル方向に断面曲線Ｃi(s)を平行移動させた後、その平行移動後の断面曲線Ｃi+1(s)~を平面Ｐi+1内でさらに平行移動させることにより、断面曲線Ｃi+1(s)と形状データとの誤差が最小となるようにする。
【００２８】
これにより、図３（ｂ）に示すように、必ずしもＴi（ｉ＝１〜ｄ）＝Ｔ0~になるとは限らなくなり、各断面曲線Ｃi(s)が形状データに極力フィッティングするような条件を満たす接線ベクトルＴi（ｉ＝０〜ｄ）が求められる。こうして所定の間隔毎に求められる接線ベクトルＴiは、断面曲線Ｃi(s)上の一点が平行移動した軌跡の方向を示すベクトルに相当する。
【００２９】
第２の移動処理部３２は、第１の移動処理部３１により算出された接線ベクトルＴi（ｉ＝０〜ｄ）を初期ベクトルとして、所定の条件を満たすように、所定の間隔毎の断面曲線Ｃi(s)をそれぞれ平行移動および回転移動によってさらに移動させる。ここで、第２の移動処理部３２は、断面曲線Ｃi(s)を平行移動させたときに接線ベクトルＴiを更新し、更新後の接線ベクトルＴiに基づいて回転移動を行う。
【００３０】
第１の実施形態では、所定の条件として次の２つの条件を設定する。１つ目の条件は、特許請求の範囲における第１の条件に相当するものであり、第２の移動処理部３２によって移動された所定の間隔毎の断面曲線Ｃi(s)’上の一点により形成される軌跡（断面曲線Ｃ(s)を仮にスイープさせるとした場合のガイド線に相当するもの。以下、疑似ガイド線Ｓc（図２参照）という）を、捩れの小さな曲率線に近づけるための条件である。２つ目の条件は、特許請求の範囲における第３の条件に相当するものであり、曲面生成部４により生成される目的曲面Ｓ(u, v)と、形状データ入力部１により入力された形状データで表される曲面との誤差を最小化するための条件である。
【００３１】
第２の移動処理部３２が行う処理の詳細に関して、まず、断面曲線Ｃi(s)の回転移動について説明する。第２の移動処理部３２は、断面曲線Ｃi(s)上の点Ｃi(s*)を回転中心として、接線ベクトルＴi-1が次の接線ベクトルＴiに一致するように断面曲線Ｃi(s)を回転する。なお、パラメータs*は、断面曲線Ｃi(s)上の一点（例えば、中点）を与える値である。
【００３２】
ここで、断面曲線Ｃi(s)の回転軸Ａ(i)および回転角θはそれぞれ、Ａ(i)＝Ｔi-1×Ｔiおよびθ＝ｃｏｓ-1（Ｔi-1・Ｔi）とする。Ａ(i)＝Ｔi-1×Ｔiは、接線ベクトルＴi-1と次の接線ベクトルＴiとの外積を回転軸Ａ(i)とするという意味である。したがって、回転軸Ａ(i)は、接線ベクトルＴi-1，Ｔiの両方に直交する方向を示すことになるから、接線ベクトルＴiの方向には回転しないということになる。
【００３３】
このとき、回転行列Ｒは、次の（式１）で与えられる。なお、ｌ＝Ａx(i)、ｍ＝Ａy(i)、ｎ＝Ａz(i)とする。θ＝０の場合、Ａ(i)はゼロベクトルとなるが、Ｒは恒等変換（単位行列）となるため、当該変換を適用すれば問題はない。
【００３４】
【数１】
2018112869.tif 000003
【００３５】
上記（式１）に示す回転行列Ｒは、接線ベクトルＴiの方向の回転がない回転最小枠（ＲＭＦ: rotation minimizing frame）を近似していると考えることができる。なぜなら、ある曲線の接線ベクトルＴに垂直な方向を回転軸Ａとする任意回転は、Ａ・Ｔ＝０であり、これはＲＭＦの定義だからである。本実施形態の回転Ａ(i)に関して、接線ベクトルＴi-1，Ｔiの間隔を狭くして、Ｔiが想定している疑似ガイド線Ｓcの接線ベクトルを十分近似できる場合は、行列ＲはＲＭＦによる回転を意味する。
【００３６】
図４は、第２の移動処理部３２によって実行される断面曲線Ｃi(s)の移動（平行移動および回転移動）の一例を示す模式図である。図４（ａ）は、第１の移動処理部３１により断面曲線Ｃi(s)が平行移動された結果（図３（ｂ）と同じ状態）を示している。これに対し、図４（ｂ）は、図４（ａ）に示す断面曲線Ｃi(s)をさらに平行移動および回転移動させた結果を示している。図４（ｂ）に示す断面曲線Ｃi(s)’は、上述した２つの条件（特許請求の範囲における第１の条件および第３の条件）を満たすように移動された結果を示すものである。
【００３７】
次に、１つ目の条件（第１の条件）について説明する。ここでは、クレイモデラがカーブ定規２００を滑らかに動かすという行為を目的曲面Ｓ(u, v)がもつ特徴に関連付けるために、次の２つ条件を想定する。
Ｐ１）疑似ガイド線Ｓcは、生成しようとする目的曲面Ｓ(u, v)上の意図的な流れを意味し、その流れは曲率線として特定される。曲率線は、目的曲面Ｓ(u, v)における最小の主曲率に対する主方向による曲面の流れを示すものである。
Ｐ２）疑似ガイド線Ｓcは捩れが小さい。
【００３８】
条件Ｐ１は、平行移動および回転移動に基づき移動された所定の間隔毎の断面曲線Ｃi(s)’上の一点Ｃi(s*)’をそれぞれ結んでできる軌跡である疑似ガイド線Ｓcが、曲面生成部４によって生成される目的曲面Ｓ(u, v)の曲率線になるという条件である。
【００３９】
条件Ｐ２は、曲面生成部４によって生成される目的曲面Ｓ(u, v)の法線ベクトルから疑似ガイド線Ｓcの主法線ベクトルへの角度が、疑似ガイド線Ｓcの軌跡上において一定になるという条件である。
【００４０】
なお、曲面生成部４は、断面曲線移動部３により移動された断面曲線Ｃ(s)’の軌跡によって定義される境界線からの内挿により曲面を生成する。すなわち、曲面生成部４は、図４（ｂ）において、移動の始点および終点におけるｕ方向に対する２つの断面曲線Ｃ0(s)’，Ｃd(s)’と、ｖ方向に対する２つの境界線Ｃs’，Ｃe’とを用いて、これらの４辺からの内挿により目的曲面Ｓ(u, v)を、例えば公知のＣｏｏｎｓパッチにより生成する。
【００４１】
第２の移動処理部３２は、条件Ｐ１を達成するために、疑似ガイド線Ｓcを曲率線に近づける処理を行う。ここで、曲率線は、次の（式２）で与えられる。
（ＥＭ−ＦＬ）du2 ＋（ＥＮ−ＧＬ）dudv＋（ＦＮ−ＧＭ）dv2＝０  ・・・（式２）
ここで、Ｅ，Ｆ，Ｇはそれぞれ曲面の第１基本形式の係数（第１基本量）であり、Ｌ，Ｍ，Ｎはそれぞれ曲面の第２基本形式の係数（第２基本量）である。疑似ガイド線Ｓcは、断面曲線の一点Ｃ(s*)の軌跡に対応する目的曲面Ｓ(u, v) ｖ方向の等パラメータ線Ｓ(u*, v)（Ｃ(s*)＝Ｓ(u*, 0)）であることから、条件Ｐ１はｄｕ＝０により次の（式３）で表すことができる。この（式３）において、ＶNは目的曲面Ｓ(u, v)の法線ベクトルを示す。
【００４２】
【数２】
2018112869.tif 000004
【００４３】
次に、条件Ｐ２について説明する。曲面上のある曲線Ｃの測地捩率τgは、次の（式４）で与えられる。
τg＝（ｄα／ｄｓ）−τ  ・・・（式４）
ここで、τは曲線Ｃの通常の捩率であり、αは曲面の法線ベクトルＶN から曲線Ｃの主法線ベクトルへの角度である。さらに、曲率線はτg＝０である。したがって、条件Ｐ２を実現するためにｄα／ｄｓをできるだけ小さくすることにより、疑似ガイド線Ｓcは捩率τの小さい曲線となる。
【００４４】
以上のことから、第１の条件に関しては、目的曲面Ｓ(u, v)に対して、疑似ガイド線Ｓcが曲率線になっており、疑似ガイド線Ｓcの捩率τが小さいことを、次の（式５）に示す関数Ψにより評価する。ここで、ｗ1，ｗ2は重み係数である。また、Ｎ2は疑似ガイド線Ｓc上から抽出するサンプリング点の数である。このサンプリング点は、疑似ガイド線Ｓc上から一様に抽出するのが好ましい。
【００４５】
【数３】
2018112869.tif 000005
【００４６】
次に、２つ目の条件（第３の条件）について説明する。第３の条件は、曲面生成部４によって生成される目的曲面Ｓ(u, v)と、形状データ入力部１により入力された形状データで表される曲面との誤差を最小化するという条件である。
【００４７】
この第３の条件に関しては、目的曲面Ｓ(u, v)と形状データ上のサンプリング点Ｑiとの誤差が小さいことを、次の（式６）により評価する。ここで、Ｎは形状データ上から抽出するサンプリング点Ｑiの数である。なお、サンプリング点Ｑiは、形状データの全体から偏りなく抽出するのが好ましく、曲面の全体にいきわたるように適度に抽出する。
【００４８】
【数４】
2018112869.tif 000006
【００４９】
第２の移動処理部３２は、上述した第１の条件および第３の条件を考慮して、次の（式７）で定義される目的関数Ｊを最小化するように断面曲線Ｃ(s)を移動させる。
【００５０】
【数５】
2018112869.tif 000007
【００５１】
以上詳しく説明したように、クレイモデルなどの形状データと、当該形状データにフィッティングした断面曲線Ｃ(s)とを入力して第１の実施形態の処理を実行すれば、目的曲面Ｓ(u, v)を生成するために断面曲線Ｃ(s)を移動させたときに当該断面曲線Ｃ(s)上の一点の軌跡により定義される軌跡（疑似ガイド線Ｓc）が、モデル形状に基づいて生成しようとする目的曲面Ｓ(u, v)における最小の主曲率に対する主方向による曲面の流れを表す曲率線として表現できる。
【００５２】
すなわち、第１の実施形態によれば、ガイド線を入力データとして事前に与えることが要求される従来のスイープ法とは異なり、形状データと断面曲線Ｃ(s)とを与えれば、当該曲線Ｃ(s)の移動による点Ｃ(s*)の軌跡が、生成しようとする目的曲面Ｓ(u, v)の曲率線となり、かつ捩れも小さいという性質をもつような目的曲面Ｓ(u, v)が生成される。つまり、疑似ガイド線Ｓcが捩率の小さい曲率線となるような良好な目的曲面Ｓ(u, v)を、多くの試行錯誤を繰り返すことなく効率的に生成することができる。
【００５３】
なお、上記第１の実施形態において、（式５）の重み係数ｗ2をゼロとすることにより、疑似ガイド線Ｓcが目的曲面Ｓ(u, v)の曲率線になるという条件Ｐ１のみを第１の条件として用いるようにしてもよい。条件Ｐ１のみとしても、ＲＭＦを近似する回転によって断面曲線Ｃ(s)の移動が行われているので、疑似ガイド線Ｓcの捩率が陽に大きくなることを避けることができる。
【００５４】
また、上記第１の実施形態では、自動車のクレイモデルなどの測定データから目的曲面Ｓ(u, v)を生成する例について説明したが、入力データとして使用する形状データは、クレイモデルの測定データに限定されるものではない。例えば、市販車の測定データから目的曲面Ｓ(u, v)を生成するようにしてもよい。また、形状データは測定データに限定されるものではなく、ＣＡＤデータやその離散近似したものでも構わない。さらに、対象とするモデルは自動車に限らず、あらゆる物を対象とすることが可能である。
【００５５】
また、上記第１の実施形態では、疑似ガイド線Ｓcが捩率の小さな曲率線となるための第１の条件に加え、生成される目的曲面Ｓ(u, v)とクレイモデルなどの形状データとの誤差を最小化するための第３の条件を満たすように各断面曲線Ｃi(s)の位置を調整する例について説明したが、式（７）において第３の条件を表す第１項と第１の条件を表す第２項とに重み係数を設定し、両条件の重みを調整できるようにしてもよい。例えば、入力データとして、現物のモデルに対する測定データではなく、新たに作成しようとするデザインのコンセプトを表したＣＡＤデータを形状データ入力部１より入力して目的曲面Ｓ(u, v)を生成する場合などは、第３の条件の重みを小さくして処理を行うことも可能である。
【００５６】
（第２の実施形態）
次に、本発明による第２の実施形態を図面に基づいて説明する。図５は、第２の実施形態による曲面生成装置の機能構成例を示すブロック図である。なお、この図５において、図１に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。第２の実施形態による曲面生成装置は、第２の移動処理部３２に代えて第２の移動処理部３２’を備えている。
【００５７】
上記第１の実施形態では、形状データ（クレイモデルなどの測定データ）から再構築する目的曲面Ｓ(u, v)の品質を向上させるために、断面曲線Ｃ(s)を移動させたときにできる各断面曲線Ｃi(s)’上の点Ｃi(s*)’の軌跡が、目的曲面Ｓ(u, v)における捩れの小さい曲率線となるように、第１の条件を満たすように各断面曲線Ｃi(s)’の位置を調整する例について説明した。
【００５８】
第２の実施形態では、これに加え、目的曲面Ｓ(u, v)のｖ方向の境界線Ｃs，Ｃeに、第２の条件を課すことによって各断面曲線Ｃi(s)の位置を調整するものである。第２の条件は、境界線Ｃs’，Ｃe’の曲線が曲率単調性を持つという条件である。
【００５９】
すなわち、第１の移動処理部３１によって行われる断面曲線Ｃ(s)の平行移動、および、第２の移動処理部３２によって行われる断面曲線Ｃ(s)の平行移動および回転移動では、それによって生成される曲面Ｓ(u, v)のｖ方向を定義する２つの境界線Ｃs，Ｃeは、複数の断面曲線Ｃi(s)（ｉ＝０〜ｄ）の両端点を補間あるいは近似したものに過ぎず、意匠デザインで求められる曲率単調性が満たされているとは限らない。そこで、両境界線Ｃs，Ｃeが曲率単調性を持つように平面Ｐi内で各断面曲線Ｃi(s)を微調整することによって、最適な接線ベクトルＴiを計算する。
【００６０】
曲面Ｓ(u, v)のｖ方向の２つの境界線Ｃs（＝Ｓ(０, v)），Ｃe（＝Ｓ(１, v)）の曲率が単調増加するとした場合、その評価を行うために、次の（式８）に示す関数Φを導入する。ここで、κiは各境界線Ｃs，Ｃe上で等間隔となるように設定された各サンプリング点における曲率を示し、δ(κi) は（式９）で定義されたペナルティ関数である。（式８）の第１項が一方の境界線Ｃsに関する曲率単調性を定義し、第２項が他方の境界線Ｃeに関する曲率単調性を定義している。Ｎ1はサンプリング点の数を示している。
【００６１】
【数６】
2018112869.tif 000008
【００６２】
第２の実施形態では、第２の移動処理部３２’は、（式７）に代えて（式１０）のように定義される目的関数Ｊを最小化するように断面曲線Ｃ(s)を移動させる。ここで、ε1，ε2は重み係数である。
【００６３】
【数７】
2018112869.tif 000009
【００６４】
以上のように構成した第２の実施形態によれば、断面曲線Ｃi(s)’上の一点Ｃi(s*)’（例えば、中点）の軌跡が、疑似ガイド線Ｓcとして望ましい曲線（捩れの小さい曲率線）となるだけでなく、断面曲線Ｃi(s)’の両端点の軌跡によってできる各境界線Ｃs’，Ｃe’が曲率単調性を有する曲線となる。各境界線Ｃs’，Ｃe’が曲率単調性を有する結果、疑似ガイド線Ｓcも曲率単調性を有するものとなる。このため、形状データから再構築する目的曲面Ｓ(u, v)の品質を更に向上させることができる。
【００６５】
なお、第２の実施形態においても第１の実施形態と同様、（式５）の重み係数ｗ2をゼロとすることにより、条件Ｐ１のみを第１の条件として用いるようにしてもよい。また、入力データとなる形状データは、クレイモデルなどの測定データに限定されるものではなく、ＣＡＤデータやその離散近似したものでも構わない。また、（式１０）において、第３の条件を表す第１項にも重み係数を設定するようにしてもよい。
【００６６】
また、上記第１および第２の実施形態では、曲面生成部４により生成する目的曲面Ｓ(u, v)をＢ−ｓｐｌｉｎｅ曲面で表現する例について説明したが、本発明はこれに限定されない。例えば、目的曲面Ｓ(u, v)をベジエ曲面で表現するようにしてもよい。
【００６７】
また、上記第１および第２の実施形態では、クレイモデルを作成する際に使用するカーブ定規２００を模した断面曲線Ｃ(s)を設定する例について説明したが、本発明はこれに限定されない。すなわち、断面曲線Ｃ(s)は、生成したい目的曲面Ｓ(u, v)の形状に合わせて設定すればよい。
【００６８】
また、上記第１および第２の実施形態では、断面曲線Ｃ(s)の移動を、第１の移動処理部３１と第２の移動処理部３２とに分けて２段階で行う例について説明したが、本発明はこれに限定されない。すなわち、断面曲線Ｃ(s)を所定の間隔で平行移動させながら回転移動させることによって、１段階の処理として断面曲線Ｃ(s)を移動させるようにしてもよい。
【００６９】
また、上記第１および第２の実施形態では、断面曲線Ｃ(s)の回転移動を、（式１）で定義したが、この（式１）に限定されない。すなわち、ＲＭＦを近似する代替式は他にも幾つかある。また、（式１）は、回転軸Ａ(i)の設定方法により、任意の軸まわりの回転にも対応可能である。
【００７０】
また、上記第１および第２の実施形態では、目的曲面Ｓ(u, v)の生成にはＣｏｏｎｓパッチによる境界線からの内挿を利用したが、本発明はこれに限定されない。例えば、断面曲線Ｃ(s)上の一点Ｃ(s*)（例えば、中点）の軌跡をB-spline曲線などで近似し、当該近似曲線に沿って断面曲線Ｃ(s)をスイープしても、上記の議論はすべて適用できる。
【００７１】
また、上記第１および第２の実施形態では、第１の移動処理部３１の処理に関して、平面Ｐiの法線ベクトル方向に断面曲線Ｃi(s)を平行移動させた後、その平行移動後の断面曲線Ｃi+1(s)~を平面Ｐi+1内でさらに平行移動させる例について説明したが、法線ベクトル方向への平行移動のみとしてもよい。この場合、断面曲線Ｃi+1(s)と形状データとの誤差が最小化された接線ベクトルＴiが初期ベクトルとして生成されないものの、第２の移動処理部３２による最適化計算によって、第１の条件〜第３の条件を満たす目的曲面Ｓ(u, v)を生成することができる。なお、第１の移動処理部３１において、断面曲線Ｃi+1(s)と形状データとの誤差が最小となるような接線ベクトルＴiを初期ベクトルとして生成しておくことにより、第２の移動処理部３２による最適化計算の処理時間を短くできる等のメリットを有する。
【００７２】
その他、上記第１および第２の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７３】
１  形状データ入力部
２  断面曲線設定部
３  断面曲線移動部  ４  曲面生成部
３１  第１の移動処理部
３２，３２’  第２の移動処理部
【図１】
2018112869.tif 000010
【図２】
2018112869.tif 000011
【図３】
2018112869.tif 000012
【図４】
2018112869.tif 000013
【図５】
2018112869.tif 000014