特許第6751029号(P6751029)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本ユニシス株式会社の特許一覧 ▶ 国立大学法人横浜国立大学の特許一覧

特許6751029曲面生成装置および曲面生成用プログラム
<>
  • 特許6751029-曲面生成装置および曲面生成用プログラム 図000009
  • 特許6751029-曲面生成装置および曲面生成用プログラム 図000010
  • 特許6751029-曲面生成装置および曲面生成用プログラム 図000011
  • 特許6751029-曲面生成装置および曲面生成用プログラム 図000012
  • 特許6751029-曲面生成装置および曲面生成用プログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6751029
(24)【登録日】2020年8月17日
(45)【発行日】2020年9月2日
(54)【発明の名称】曲面生成装置および曲面生成用プログラム
(51)【国際特許分類】
   G06F 30/10 20200101AFI20200824BHJP
   G06F 30/12 20200101ALI20200824BHJP
   G06T 17/30 20060101ALI20200824BHJP
【FI】
   G06F17/50 620A
   G06F17/50 624A
   G06T17/30
【請求項の数】12
【全頁数】14
(21)【出願番号】特願2017-2602(P2017-2602)
(22)【出願日】2017年1月11日
(65)【公開番号】特開2018-112869(P2018-112869A)
(43)【公開日】2018年7月19日
【審査請求日】2019年12月2日
(73)【特許権者】
【識別番号】591030237
【氏名又は名称】日本ユニシス株式会社
(73)【特許権者】
【識別番号】504182255
【氏名又は名称】国立大学法人横浜国立大学
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】土江 庄一
(72)【発明者】
【氏名】前川 卓
【審査官】 合田 幸裕
(56)【参考文献】
【文献】 特開2007−156604(JP,A)
【文献】 特開2000−11210(JP,A)
【文献】 特開昭57−5109(JP,A)
【文献】 特開平9−81224(JP,A)
【文献】 特開2000−30082(JP,A)
【文献】 特開2005−149245(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
G06F 30/12
G06T 17/30
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
モデルの形状データを入力する形状データ入力部と、
上記形状データの一部にフィッティングした断面曲線を設定する断面曲線設定部と、
上記断面曲線設定部により設定された上記断面曲線を、所定の条件を満たすように平行移動および回転移動させる断面曲線移動部と、
上記断面曲線移動部により上記断面曲線が動く軌跡によって定義された曲面を生成する曲面生成部とを備え、
上記所定の条件は、上記断面曲線移動部により移動された上記断面曲線上の一点により形成される軌跡が、生成しようとする曲面の曲率線になるという第1の条件であることを特徴とする曲面生成装置。
【請求項2】
上記断面曲線移動部は、
上記断面曲線を平行移動させ、上記断面曲線上の一点が平行移動した軌跡の方向を示す接線ベクトルを所定の間隔毎に求める第1の移動処理部と、
上記第1の移動処理部により算出された上記接線ベクトルを初期ベクトルとして、上記所定の条件を満たすように、上記所定の間隔毎の上記断面曲線をそれぞれ平行移動および回転移動によってさらに移動させる第2の移動処理部とを備えたことを特徴とする請求項1に記載の曲面生成装置。
【請求項3】
上記第1の移動処理部は、上記形状データとの誤差が最小となるように上記断面曲線を平行移動させることを特徴とする請求項2に記載の曲面生成装置。
【請求項4】
上記第1の条件は、上記断面曲線移動部により移動された上記断面曲線上の一点により形成される軌跡が、上記生成しようとする曲面の曲率線になるとともに、上記曲面生成部によって生成される曲面の法線ベクトルから上記軌跡の主法線ベクトルへの角度が、上記軌跡上において一定になるという条件であることを特徴とする請求項1〜3の何れか1項に記載の曲面生成装置。
【請求項5】
上記断面曲線移動部は、上記断面曲線を回転最小枠による回転移動によって移動させることを特徴とする請求項1〜4の何れか1項に記載の曲面生成装置。
【請求項6】
上記所定の条件は、上記断面曲線移動部によって上記断面曲線を移動させたときに上記断面曲線の両端が移動してできる曲線が曲率単調性を持つという第2の条件を更に含むことを特徴とする請求項1〜5の何れか1項に記載の曲面生成装置。
【請求項7】
上記所定の条件は、上記曲面生成部によって生成される曲面と、上記形状データ入力部により入力された上記形状データで表される曲面との誤差を最小化するという第3の条件を更に含むことを特徴とする請求項1〜6の何れか1項に記載の曲面生成装置。
【請求項8】
モデルの形状データを入力する形状データ入力手段、
上記形状データの一部にフィッティングした断面曲線を設定する断面曲線設定手段、
上記断面曲線設定手段により設定された上記断面曲線を、所定の条件を満たすように平行移動および回転移動させる断面曲線移動手段、および
上記断面曲線移動手段により上記断面曲線が動く軌跡によって定義された曲面を生成する曲面生成手段、
としてコンピュータを機能させ、
上記所定の条件が、上記断面曲線移動手段により移動された上記断面曲線上の一点により形成される軌跡が、生成しようとする曲面の曲率線になるという第1の条件であることを特徴とする曲面生成用プログラム。
【請求項9】
上記第1の条件は、上記断面曲線移動手段により移動された上記断面曲線上の一点により形成される軌跡が、上記生成しようとする曲面の曲率線になるとともに、上記曲面生成手段によって生成される曲面の法線ベクトルから上記軌跡の主法線ベクトルへの角度が、上記軌跡上において一定になるという条件であることを特徴とする請求項8に記載の曲面生成用プログラム。
【請求項10】
上記断面曲線移動手段は、上記断面曲線を回転最小枠による回転移動によって移動させることを特徴とする請求項8または9に記載の曲面生成用プログラム。
【請求項11】
上記所定の条件は、上記断面曲線移動手段によって上記断面曲線を移動させたときに上記断面曲線の両端が移動してできる曲線が曲率単調性を持つという第2の条件を更に含むことを特徴とする請求項8〜10の何れか1項に記載の曲面生成用プログラム。
【請求項12】
上記所定の条件は、上記曲面生成手段によって生成される曲面と、上記形状データ入力手段により入力された上記形状データで表される曲面との誤差を最小化するという第3の条件を更に含むことを特徴とする請求項8〜11の何れか1項に記載の曲面生成用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、曲面生成装置および曲面生成用プログラムに関し、特に、意匠デザイン分野で求められる曲率変化の滑らかな曲面を生成するための曲面生成装置に用いて好適なものである。
【背景技術】
【0002】
一般に、製品の設計を行う際には、CAD(Computer Aided Design)によって製品の形状データを生成することが行われている。形状データを生成する1つの方法として、モデルとなる物体の測定データからその物体の曲面モデルをCADによって再構築する方法が広く利用されている。例えば、自動車の曲面形状の場合、クレイモデラが粘土ヘラ(カーブ定規)を使って造形したクレイモデルの測定データからCADデータを作成することが行われている。
【0003】
測定データからCADで曲面モデルを再構築する場合、(i)生成する曲面は指定されたトレランス以内で測定データを十分に近似できていること、(ii)生成する曲面はその曲率変化が滑らかであること、の2点が要求される。特に、(ii)については、意匠デザインにおける曲面の美的性質にとって重要であるのみならず、実際に消費者が商品の購入を検討する際のインパクトにも繋がる点で極めて重要である。
【0004】
自動車の曲面生成の場合、カーブ定規を断面曲線とみなし、当該断面曲線をある流れに沿ってスイープさせることにより、クレイモデルに対するCADによる曲面モデルを再構築することが行われている。断面曲線と、当該断面曲線の流れとの双方が正しく表現されていれば、高品質の曲面を生成することが可能である。しかしながら、特に、断面曲線の流れを示す曲線を測定データから正しく表現することが極めて困難であり、高品質の曲面を生成することが容易にはできないという問題があった。
【0005】
なお、従来、CAD等において、ガイドとなる曲線に沿って断面曲線をスイープさせることによって曲面を生成する技術がいくつか知られている(例えば、特許文献1〜3参照)。ガイドとなる曲線は文献により異なる名称(制御曲線、軌道曲線、特徴線など)が与えられているが、以下、それらを総称して、ガイド線とよぶ。
【0006】
特許文献1に記載の曲面生成装置では、座標入力装置からの指示により、ガイド線に沿って入力曲線をスイープしながら、スイープ位置での指定回転量・倍率で入力曲線を回転・拡大することにより、自由曲面を生成する。特許文献2に記載の3次元曲面形状生成装置では、ガイド線および断面曲線に加え、補間曲線と制御ベクトルとを用いてスイープ処理をすることにより、軌道の曲率変化が激しい場合でも正確なスイープ曲面を生成可能としている。特許文献3に記載の曲面作成装置では、ガイド線に沿って断面曲線が変形移動した曲面で、ガイド線上で支持曲面と滑らかにつながり、かつ支持曲線上を通過する曲面を作成する。
【0007】
また、メッシュの主方向を示す曲率線に基づいて曲面データを再生するようになされた曲面再生装置も知られている(例えば、特許文献4参照)。特許文献4に記載の曲面再生装置では、実空間上の曲面をパラメータ空間に写像し、一次基本量と二次基本量とを算出する。次に、曲面の曲率線および曲率線が通過する実空間座標を算出し、パラメータ空間上の逆写像目標点を通過する線とパラメータ空間上に写像された曲率線とのパラメータ空間上での交点の実空間座標を算出する。そして、算出した交点の実空間座標を通過する実空間上の曲線を算出し、これに基づいて曲線上の逆写像目標点の実空間座標値を算出して、実空間上で曲面データを再生する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特許第2938909号公報
【特許文献2】特開平5−250444号公報
【特許文献3】特開2000−11210号公報
【特許文献4】特開2005−149245号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
一般にスイープに基づく方法では、意図的に規則正しく制御点を配置できるというメリットがある。しかし、断面曲線のスイープに必要なガイド線を測定データから正しく特定することが難しいという問題がある。スイープ法によって生成される曲面の品質は、特定するガイド線の品質に大きく依存するため、ガイド線を適切に表現することが極めて重要となる。しかし、適切なガイド線を算出する方法が確立されておらず、そのためCADモデラは、生成した曲面の品質が確保できるまで、試行錯誤によりガイド線の調整を繰り返し行わなければならず、多大な時間と労力がかかっていた。
【0010】
本発明は、このような問題を解決するために成されたものであり、高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に生成できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記した課題を解決するために、本発明では、モデルの形状データの一部に対してフィッティングされた断面曲線を設定し、所定の条件を満たすように、断面曲線を平行移動および回転移動させ、当該移動された断面曲線の軌跡によって定義される曲面の境界からの内挿により曲面を生成する。ここで、上記所定の条件は、断面曲線上の一点(例えば、中点)により形成される軌跡が、生成しようとする曲面の曲率線になるという条件としている。
【発明の効果】
【0012】
モデルの形状データと断面曲線とが設定されていて、断面曲線のスイープに必要なガイド線が不明の場合、上記のように構成した本発明の処理を行えば、ガイド線に相当する、断面曲線上の一点の軌跡に沿って、設定された断面曲線をスイープしたものに相当する面が生成される。ガイド線に相当する軌跡は曲面の流れを表す曲率線として与えられることになり、曲面の流れを表す曲率線をスイープ法のガイド線とするような高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に生成することができる。
【図面の簡単な説明】
【0013】
図1】第1の実施形態による曲面生成装置の機能構成例を示すブロック図である。
図2】第1の実施形態による曲面生成装置の処理の概要を示す図である。
図3】第1の実施形態による第1の移動処理部の処理内容を説明するための図である。
図4】第1の実施形態による第2の移動処理部によって実行される断面曲線の移動の一例を示す模式図である。
図5】第2の実施形態による曲面生成装置の機能構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
(第1の実施形態)
以下、本発明による第1の実施形態を図面に基づいて説明する。図1は、第1の実施形態による曲面生成装置の機能構成例を示すブロック図である。図1に示すように、第1の実施形態による曲面生成装置は、その機能構成として、形状データ入力部1、断面曲線設定部2、断面曲線移動部3および曲面生成部4を備えて構成されている。断面曲線移動部3は、第1の移動処理部31および第2の移動処理部32を備えている。
【0015】
上記各機能ブロック1〜4は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック1〜4は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0016】
形状データ入力部1は、モデルの形状データを入力する。第1の実施形態では、形状データ入力部1は、クレイモデルなどの形状の測定データ(点群データまたはポリゴンデータ)を入力する。
【0017】
断面曲線設定部2は、形状データ入力部1により入力された形状データの一部にフィッティングした断面曲線を設定する。ここで設定する断面曲線は、意匠デザイナ(クレイモデラ)が自動車のクレイモデルを作成する際に使用するカーブ定規を模して作成したものである。図2は、第1の実施形態による曲面生成装置の処理の概要を示す図である。この図2の中に、断面曲線設定部2によりカーブ定規200を模して設定された断面曲線C(s)の一例が示されている。
【0018】
第1の実施形態では、この断面曲線設定部2により形状データの一部にフィッティングした断面曲線C(s)を後述するように移動させ、移動によってできる断面曲線C(s)の軌跡から定義される境界線からの内挿によって、目的の曲面(以下、目的曲面という)S(u, v)を生成する。
【0019】
第1の実施形態では、目的曲面S(u, v)をB−spline曲面で表現する。図2に示すように、目的曲面S(u, v)のu方向の形状は、断面曲線設定部2により設定された断面曲線C(s)によって完全に特徴付けられる。また、目的曲面S(u, v)のv方向に対する2つの境界線Cs,Ceは、断面曲線C(s)の両端点が移動した際の軌跡として定義する。
【0020】
断面曲線移動部3は、断面曲線設定部2により初期設定された断面曲線C(s)を、所定の条件を満たすように移動させる処理を行う。第1の実施形態では、この断面曲線C(s)の移動を、第1の移動処理部31および第2の移動処理部32によって行う。このときの移動は、第1の移動処理部31では平行移動のみ、第2の移動処理部32では平行移動および回転移動の双方を行う。これらの処理の詳細を以下に説明する。
【0021】
第1の移動処理部31は、形状データ入力部1により入力された形状データとの誤差が最小となるように、断面曲線設定部2により初期設定された断面曲線C(s)を平行移動させ、断面曲線C(s)上の一点が平行移動した軌跡の方向を示す接線ベクトルを所定の間隔毎に求める。断面曲線C(s)上の一点は、一例としては断面曲線C(s)の中点であるが、これに限定されるものではない。所定の間隔は、曲面生成装置にあらかじめ設定された固定値としてもよいし、ユーザが指定可能な可変値としてもよい。
【0022】
図3は、第1の移動処理部31の処理内容を説明するための図である。以下、この図3を用いて第1の移動処理部31の処理例を具体的に説明する。すなわち、第1の移動処理部31は、断面曲線設定部2により形状データの一部にフィッティングするように設定された断面曲線C(s)を、次の手順で平行移動させる。
【0023】
まず、初期設定された断面曲線C(s)をC0(s)とし、これを含む平面P0の法線ベクトルT0~(図3において図示せず)の方向に対し、所定の間隔で断面曲線C0(s)を平行移動し、得られた移動後の断面曲線C(s)をC1(s)~(図3において図示せず)とする。なお、法線ベクトルT0~の方向に断面曲線C0(s)を単純に平行移動させるだけだと、移動後の断面曲線C1(s)~は形状データから離れて誤差が生じる可能性がある。そこで、第1の移動処理部31は、法線ベクトルT0~の方向に断面曲線C0(s)を平行移動させた後、さらに、移動後の断面曲線C1(s)~を含む平面P1内で断面曲線C1(s)~を平行移動させてC1(s)とすることにより、断面曲線C1(s)と形状データとの誤差が最小となるようにする。
【0024】
次に、移動後の断面曲線C1(s)を含む平面P1の法線ベクトルT1~(図3において図示せず)の方向に対し、所定の間隔で断面曲線C1(s)を平行移動し、得られた移動後の断面曲線C(s)をC2(s)~(図3において図示せず)とする。さらに、第1の移動処理部31は、移動後の断面曲線C2(s)~を含む平面P2内で、断面曲線C2(s)~を平行移動させてC2(s)とすることにより、断面曲線C2(s)と形状データとの誤差が最小となるようにする。
【0025】
以下、この処理を繰り返し実行する。図3の例では、この処理をd回行った例を示している。これにより、第1の移動処理部31は、所定の間隔毎に存在する複数の断面曲線Ci(s)(i=0〜d)と、各断面曲線Ci(s)を含む平面Pi(i=0〜d)と、断面曲線Ci(s)の移動方向に対する複数の接線ベクトルTi(i=0〜d)とが得られる。
【0026】
上述のように、i=0〜dの全てについて、同じ法線ベクトルT0~の方向に断面曲線Ci(s)~を単純に平行移動させるだけだと(Ti(i=0〜d)=T0~の場合)、平行移動を重ねるにつれて(iが大きくなるにつれて)、断面曲線Ci(s)~は形状データから離れて誤差が大きくなってしまう可能性がある。
【0027】
これに対し、第1の移動処理部31は、平面Pi(i=0〜d)の法線ベクトル方向に断面曲線Ci(s)を平行移動させた後、その平行移動後の断面曲線Ci+1(s)~を平面Pi+1内でさらに平行移動させることにより、断面曲線Ci+1(s)と形状データとの誤差が最小となるようにする。
【0028】
これにより、図3(b)に示すように、必ずしもTi(i=1〜d)=T0~になるとは限らなくなり、各断面曲線Ci(s)が形状データに極力フィッティングするような条件を満たす接線ベクトルTi(i=0〜d)が求められる。こうして所定の間隔毎に求められる接線ベクトルTiは、断面曲線Ci(s)上の一点が平行移動した軌跡の方向を示すベクトルに相当する。
【0029】
第2の移動処理部32は、第1の移動処理部31により算出された接線ベクトルTi(i=0〜d)を初期ベクトルとして、所定の条件を満たすように、所定の間隔毎の断面曲線Ci(s)をそれぞれ平行移動および回転移動によってさらに移動させる。ここで、第2の移動処理部32は、断面曲線Ci(s)を平行移動させたときに接線ベクトルTiを更新し、更新後の接線ベクトルTiに基づいて回転移動を行う。
【0030】
第1の実施形態では、所定の条件として次の2つの条件を設定する。1つ目の条件は、特許請求の範囲における第1の条件に相当するものであり、第2の移動処理部32によって移動された所定の間隔毎の断面曲線Ci(s)’上の一点により形成される軌跡(断面曲線C(s)を仮にスイープさせるとした場合のガイド線に相当するもの。以下、疑似ガイド線Sc(図2参照)という)を、捩れの小さな曲率線に近づけるための条件である。2つ目の条件は、特許請求の範囲における第3の条件に相当するものであり、曲面生成部4により生成される目的曲面S(u, v)と、形状データ入力部1により入力された形状データで表される曲面との誤差を最小化するための条件である。
【0031】
第2の移動処理部32が行う処理の詳細に関して、まず、断面曲線Ci(s)の回転移動について説明する。第2の移動処理部32は、断面曲線Ci(s)上の点Ci(s*)を回転中心として、接線ベクトルTi-1が次の接線ベクトルTiに一致するように断面曲線Ci(s)を回転する。なお、パラメータs*は、断面曲線Ci(s)上の一点(例えば、中点)を与える値である。
【0032】
ここで、断面曲線Ci(s)の回転軸A(i)および回転角θはそれぞれ、A(i)=Ti-1×Tiおよびθ=cos-1(Ti-1・Ti)とする。A(i)=Ti-1×Tiは、接線ベクトルTi-1と次の接線ベクトルTiとの外積を回転軸A(i)とするという意味である。したがって、回転軸A(i)は、接線ベクトルTi-1,Tiの両方に直交する方向を示すことになるから、接線ベクトルTiの方向には回転しないということになる。
【0033】
このとき、回転行列Rは、次の(式1)で与えられる。なお、l=Ax(i)、m=Ay(i)、n=Az(i)とする。θ=0の場合、A(i)はゼロベクトルとなるが、Rは恒等変換(単位行列)となるため、当該変換を適用すれば問題はない。
【0034】
【数1】
【0035】
上記(式1)に示す回転行列Rは、接線ベクトルTiの方向の回転がない回転最小枠(RMF: rotation minimizing frame)を近似していると考えることができる。なぜなら、ある曲線の接線ベクトルTに垂直な方向を回転軸Aとする任意回転は、A・T=0であり、これはRMFの定義だからである。本実施形態の回転A(i)に関して、接線ベクトルTi-1,Tiの間隔を狭くして、Tiが想定している疑似ガイド線Scの接線ベクトルを十分近似できる場合は、行列RはRMFによる回転を意味する。
【0036】
図4は、第2の移動処理部32によって実行される断面曲線Ci(s)の移動(平行移動および回転移動)の一例を示す模式図である。図4(a)は、第1の移動処理部31により断面曲線Ci(s)が平行移動された結果(図3(b)と同じ状態)を示している。これに対し、図4(b)は、図4(a)に示す断面曲線Ci(s)をさらに平行移動および回転移動させた結果を示している。図4(b)に示す断面曲線Ci(s)’は、上述した2つの条件(特許請求の範囲における第1の条件および第3の条件)を満たすように移動された結果を示すものである。
【0037】
次に、1つ目の条件(第1の条件)について説明する。ここでは、クレイモデラがカーブ定規200を滑らかに動かすという行為を目的曲面S(u, v)がもつ特徴に関連付けるために、次の2つ条件を想定する。
P1)疑似ガイド線Scは、生成しようとする目的曲面S(u, v)上の意図的な流れを意味し、その流れは曲率線として特定される。曲率線は、目的曲面S(u, v)における最小の主曲率に対する主方向による曲面の流れを示すものである。
P2)疑似ガイド線Scは捩れが小さい。
【0038】
条件P1は、平行移動および回転移動に基づき移動された所定の間隔毎の断面曲線Ci(s)’上の一点Ci(s*)’をそれぞれ結んでできる軌跡である疑似ガイド線Scが、曲面生成部4によって生成される目的曲面S(u, v)の曲率線になるという条件である。
【0039】
条件P2は、曲面生成部4によって生成される目的曲面S(u, v)の法線ベクトルから疑似ガイド線Scの主法線ベクトルへの角度が、疑似ガイド線Scの軌跡上において一定になるという条件である。
【0040】
なお、曲面生成部4は、断面曲線移動部3により移動された断面曲線C(s)’の軌跡によって定義される境界線からの内挿により曲面を生成する。すなわち、曲面生成部4は、図4(b)において、移動の始点および終点におけるu方向に対する2つの断面曲線C0(s)’,Cd(s)’と、v方向に対する2つの境界線Cs’,Ce’とを用いて、これらの4辺からの内挿により目的曲面S(u, v)を、例えば公知のCoonsパッチにより生成する。
【0041】
第2の移動処理部32は、条件P1を達成するために、疑似ガイド線Scを曲率線に近づける処理を行う。ここで、曲率線は、次の(式2)で与えられる。
(EM−FL)du2 +(EN−GL)dudv+(FN−GM)dv2=0 ・・・(式2)
ここで、E,F,Gはそれぞれ曲面の第1基本形式の係数(第1基本量)であり、L,M,Nはそれぞれ曲面の第2基本形式の係数(第2基本量)である。疑似ガイド線Scは、断面曲線の一点C(s*)の軌跡に対応する目的曲面S(u, v) v方向の等パラメータ線S(u*, v)(C(s*)=S(u*, 0))であることから、条件P1はdu=0により次の(式3)で表すことができる。この(式3)において、VNは目的曲面S(u, v)の法線ベクトルを示す。
【0042】
【数2】
【0043】
次に、条件P2について説明する。曲面上のある曲線Cの測地捩率τgは、次の(式4)で与えられる。
τg=(dα/ds)−τ ・・・(式4)
ここで、τは曲線Cの通常の捩率であり、αは曲面の法線ベクトルVN から曲線Cの主法線ベクトルへの角度である。さらに、曲率線はτg=0である。したがって、条件P2を実現するためにdα/dsをできるだけ小さくすることにより、疑似ガイド線Scは捩率τの小さい曲線となる。
【0044】
以上のことから、第1の条件に関しては、目的曲面S(u, v)に対して、疑似ガイド線Scが曲率線になっており、疑似ガイド線Scの捩率τが小さいことを、次の(式5)に示す関数Ψにより評価する。ここで、w1,w2は重み係数である。また、N2は疑似ガイド線Sc上から抽出するサンプリング点の数である。このサンプリング点は、疑似ガイド線Sc上から一様に抽出するのが好ましい。
【0045】
【数3】
【0046】
次に、2つ目の条件(第3の条件)について説明する。第3の条件は、曲面生成部4によって生成される目的曲面S(u, v)と、形状データ入力部1により入力された形状データで表される曲面との誤差を最小化するという条件である。
【0047】
この第3の条件に関しては、目的曲面S(u, v)と形状データ上のサンプリング点Qiとの誤差が小さいことを、次の(式6)により評価する。ここで、Nは形状データ上から抽出するサンプリング点Qiの数である。なお、サンプリング点Qiは、形状データの全体から偏りなく抽出するのが好ましく、曲面の全体にいきわたるように適度に抽出する。
【0048】
【数4】
【0049】
第2の移動処理部32は、上述した第1の条件および第3の条件を考慮して、次の(式7)で定義される目的関数Jを最小化するように断面曲線C(s)を移動させる。
【0050】
【数5】
【0051】
以上詳しく説明したように、クレイモデルなどの形状データと、当該形状データにフィッティングした断面曲線C(s)とを入力して第1の実施形態の処理を実行すれば、目的曲面S(u, v)を生成するために断面曲線C(s)を移動させたときに当該断面曲線C(s)上の一点の軌跡により定義される軌跡(疑似ガイド線Sc)が、モデル形状に基づいて生成しようとする目的曲面S(u, v)における最小の主曲率に対する主方向による曲面の流れを表す曲率線として表現できる。
【0052】
すなわち、第1の実施形態によれば、ガイド線を入力データとして事前に与えることが要求される従来のスイープ法とは異なり、形状データと断面曲線C(s)とを与えれば、当該曲線C(s)の移動による点C(s*)の軌跡が、生成しようとする目的曲面S(u, v)の曲率線となり、かつ捩れも小さいという性質をもつような目的曲面S(u, v)が生成される。つまり、疑似ガイド線Scが捩率の小さい曲率線となるような良好な目的曲面S(u, v)を、多くの試行錯誤を繰り返すことなく効率的に生成することができる。
【0053】
なお、上記第1の実施形態において、(式5)の重み係数w2をゼロとすることにより、疑似ガイド線Scが目的曲面S(u, v)の曲率線になるという条件P1のみを第1の条件として用いるようにしてもよい。条件P1のみとしても、RMFを近似する回転によって断面曲線C(s)の移動が行われているので、疑似ガイド線Scの捩率が陽に大きくなることを避けることができる。
【0054】
また、上記第1の実施形態では、自動車のクレイモデルなどの測定データから目的曲面S(u, v)を生成する例について説明したが、入力データとして使用する形状データは、クレイモデルの測定データに限定されるものではない。例えば、市販車の測定データから目的曲面S(u, v)を生成するようにしてもよい。また、形状データは測定データに限定されるものではなく、CADデータやその離散近似したものでも構わない。さらに、対象とするモデルは自動車に限らず、あらゆる物を対象とすることが可能である。
【0055】
また、上記第1の実施形態では、疑似ガイド線Scが捩率の小さな曲率線となるための第1の条件に加え、生成される目的曲面S(u, v)とクレイモデルなどの形状データとの誤差を最小化するための第3の条件を満たすように各断面曲線Ci(s)の位置を調整する例について説明したが、式(7)において第3の条件を表す第1項と第1の条件を表す第2項とに重み係数を設定し、両条件の重みを調整できるようにしてもよい。例えば、入力データとして、現物のモデルに対する測定データではなく、新たに作成しようとするデザインのコンセプトを表したCADデータを形状データ入力部1より入力して目的曲面S(u, v)を生成する場合などは、第3の条件の重みを小さくして処理を行うことも可能である。
【0056】
(第2の実施形態)
次に、本発明による第2の実施形態を図面に基づいて説明する。図5は、第2の実施形態による曲面生成装置の機能構成例を示すブロック図である。なお、この図5において、図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。第2の実施形態による曲面生成装置は、第2の移動処理部32に代えて第2の移動処理部32’を備えている。
【0057】
上記第1の実施形態では、形状データ(クレイモデルなどの測定データ)から再構築する目的曲面S(u, v)の品質を向上させるために、断面曲線C(s)を移動させたときにできる各断面曲線Ci(s)’上の点Ci(s*)’の軌跡が、目的曲面S(u, v)における捩れの小さい曲率線となるように、第1の条件を満たすように各断面曲線Ci(s)’の位置を調整する例について説明した。
【0058】
第2の実施形態では、これに加え、目的曲面S(u, v)のv方向の境界線Cs,Ceに、第2の条件を課すことによって各断面曲線Ci(s)の位置を調整するものである。第2の条件は、境界線Cs’,Ce’の曲線が曲率単調性を持つという条件である。
【0059】
すなわち、第1の移動処理部31によって行われる断面曲線C(s)の平行移動、および、第2の移動処理部32によって行われる断面曲線C(s)の平行移動および回転移動では、それによって生成される曲面S(u, v)のv方向を定義する2つの境界線Cs,Ceは、複数の断面曲線Ci(s)(i=0〜d)の両端点を補間あるいは近似したものに過ぎず、意匠デザインで求められる曲率単調性が満たされているとは限らない。そこで、両境界線Cs,Ceが曲率単調性を持つように平面Pi内で各断面曲線Ci(s)を微調整することによって、最適な接線ベクトルTiを計算する。
【0060】
曲面S(u, v)のv方向の2つの境界線Cs(=S(0, v)),Ce(=S(1, v))の曲率が単調増加するとした場合、その評価を行うために、次の(式8)に示す関数Φを導入する。ここで、κiは各境界線Cs,Ce上で等間隔となるように設定された各サンプリング点における曲率を示し、δ(κi) は(式9)で定義されたペナルティ関数である。(式8)の第1項が一方の境界線Csに関する曲率単調性を定義し、第2項が他方の境界線Ceに関する曲率単調性を定義している。N1はサンプリング点の数を示している。
【0061】
【数6】
【0062】
第2の実施形態では、第2の移動処理部32’は、(式7)に代えて(式10)のように定義される目的関数Jを最小化するように断面曲線C(s)を移動させる。ここで、ε1,ε2は重み係数である。
【0063】
【数7】
【0064】
以上のように構成した第2の実施形態によれば、断面曲線Ci(s)’上の一点Ci(s*)’(例えば、中点)の軌跡が、疑似ガイド線Scとして望ましい曲線(捩れの小さい曲率線)となるだけでなく、断面曲線Ci(s)’の両端点の軌跡によってできる各境界線Cs’,Ce’が曲率単調性を有する曲線となる。各境界線Cs’,Ce’が曲率単調性を有する結果、疑似ガイド線Scも曲率単調性を有するものとなる。このため、形状データから再構築する目的曲面S(u, v)の品質を更に向上させることができる。
【0065】
なお、第2の実施形態においても第1の実施形態と同様、(式5)の重み係数w2をゼロとすることにより、条件P1のみを第1の条件として用いるようにしてもよい。また、入力データとなる形状データは、クレイモデルなどの測定データに限定されるものではなく、CADデータやその離散近似したものでも構わない。また、(式10)において、第3の条件を表す第1項にも重み係数を設定するようにしてもよい。
【0066】
また、上記第1および第2の実施形態では、曲面生成部4により生成する目的曲面S(u, v)をB−spline曲面で表現する例について説明したが、本発明はこれに限定されない。例えば、目的曲面S(u, v)をベジエ曲面で表現するようにしてもよい。
【0067】
また、上記第1および第2の実施形態では、クレイモデルを作成する際に使用するカーブ定規200を模した断面曲線C(s)を設定する例について説明したが、本発明はこれに限定されない。すなわち、断面曲線C(s)は、生成したい目的曲面S(u, v)の形状に合わせて設定すればよい。
【0068】
また、上記第1および第2の実施形態では、断面曲線C(s)の移動を、第1の移動処理部31と第2の移動処理部32とに分けて2段階で行う例について説明したが、本発明はこれに限定されない。すなわち、断面曲線C(s)を所定の間隔で平行移動させながら回転移動させることによって、1段階の処理として断面曲線C(s)を移動させるようにしてもよい。
【0069】
また、上記第1および第2の実施形態では、断面曲線C(s)の回転移動を、(式1)で定義したが、この(式1)に限定されない。すなわち、RMFを近似する代替式は他にも幾つかある。また、(式1)は、回転軸A(i)の設定方法により、任意の軸まわりの回転にも対応可能である。
【0070】
また、上記第1および第2の実施形態では、目的曲面S(u, v)の生成にはCoonsパッチによる境界線からの内挿を利用したが、本発明はこれに限定されない。例えば、断面曲線C(s)上の一点C(s*)(例えば、中点)の軌跡をB-spline曲線などで近似し、当該近似曲線に沿って断面曲線C(s)をスイープしても、上記の議論はすべて適用できる。
【0071】
また、上記第1および第2の実施形態では、第1の移動処理部31の処理に関して、平面Piの法線ベクトル方向に断面曲線Ci(s)を平行移動させた後、その平行移動後の断面曲線Ci+1(s)~を平面Pi+1内でさらに平行移動させる例について説明したが、法線ベクトル方向への平行移動のみとしてもよい。この場合、断面曲線Ci+1(s)と形状データとの誤差が最小化された接線ベクトルTiが初期ベクトルとして生成されないものの、第2の移動処理部32による最適化計算によって、第1の条件〜第3の条件を満たす目的曲面S(u, v)を生成することができる。なお、第1の移動処理部31において、断面曲線Ci+1(s)と形状データとの誤差が最小となるような接線ベクトルTiを初期ベクトルとして生成しておくことにより、第2の移動処理部32による最適化計算の処理時間を短くできる等のメリットを有する。
【0072】
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0073】
1 形状データ入力部
2 断面曲線設定部
3 断面曲線移動部 4 曲面生成部
31 第1の移動処理部
32,32’ 第2の移動処理部
図1
図2
図3
図4
図5