IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本ユニシス株式会社の特許一覧

特許7113654曲面生成装置および曲面生成用プログラム
<>
  • 特許-曲面生成装置および曲面生成用プログラム 図1
  • 特許-曲面生成装置および曲面生成用プログラム 図2
  • 特許-曲面生成装置および曲面生成用プログラム 図3
  • 特許-曲面生成装置および曲面生成用プログラム 図4
  • 特許-曲面生成装置および曲面生成用プログラム 図5
  • 特許-曲面生成装置および曲面生成用プログラム 図6
  • 特許-曲面生成装置および曲面生成用プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-28
(45)【発行日】2022-08-05
(54)【発明の名称】曲面生成装置および曲面生成用プログラム
(51)【国際特許分類】
   G06F 30/10 20200101AFI20220729BHJP
   G06F 30/12 20200101ALI20220729BHJP
   G06T 19/00 20110101ALI20220729BHJP
【FI】
G06F30/10
G06F30/12
G06T19/00 A
【請求項の数】 8
(21)【出願番号】P 2018081565
(22)【出願日】2018-04-20
(65)【公開番号】P2019191750
(43)【公開日】2019-10-31
【審査請求日】2021-02-03
(73)【特許権者】
【識別番号】591030237
【氏名又は名称】BIPROGY株式会社
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】土江 庄一
【審査官】田中 幸雄
(56)【参考文献】
【文献】TSUCHIE, Shoichi,Reconstruction of underlying surfaces from scanned data using lines of curvature,Computers & Graphics,2017年11月,Volume 68,Pages108-118
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
G06F 30/12
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
モデルの形状データを入力する形状データ入力部と、
上記形状データの一部にフィッティングした断面曲線を設定する断面曲線設定部と、
上記断面曲線設定部により設定された上記断面曲線を、所定の条件を満たすように平行移動および回転移動させる断面曲線移動部と、
上記断面曲線移動部により上記断面曲線が動く軌跡によって定義された曲面を生成する曲面生成部とを備え、
上記所定の条件は、上記断面曲線移動部による上記断面曲線の移動により生成される曲面どうしの交線の捩率を含む所定の評価関数を最小化するという第1の条件であることを特徴とする曲面生成装置。
【請求項2】
上記所定の条件は、上記断面曲線移動部により移動された上記断面曲線上の一点の軌跡により定義される疑似ガイド線が、生成しようとする曲面の曲率線になるという第2の条件を更に含むことを特徴とする請求項1に記載の曲面生成装置。
【請求項3】
上記第2の条件は、上記疑似ガイド線が上記生成しようとする曲面の曲率線になるとともに、上記曲面生成部によって生成される曲面の法線ベクトルから上記疑似ガイド線の主法線ベクトルへの角度が上記疑似ガイド線の軌跡上において一定になるという条件であることを特徴とする請求項2に記載の曲面生成装置。
【請求項4】
上記所定の条件は、上記断面曲線移動部により移動された上記断面曲線の両端点の軌跡によって定義される境界線の曲線が曲率単調性を持つという第3の条件を更に含むことを特徴とする請求項1~3の何れか1項に記載の曲面生成装置。
【請求項5】
上記所定の条件は、上記曲面生成部によって生成される曲面と、上記形状データ入力部により入力された上記形状データで表される曲面との誤差を最小化するという第4の条件を更に含むことを特徴とする請求項1~4の何れか1項に記載の曲面生成装置。
【請求項6】
上記生成しようとする曲面に隣接する他の曲面を表す曲面データを入力する曲面データ入力部を更に備え、
上記第1の条件は、上記曲面データ入力部により入力された上記他の曲面との交線の捩率を含む所定の評価関数を最小化するという条件であることを特徴とする請求項1~5の何れか1項に記載の曲面生成装置。
【請求項7】
上記生成しようとする曲面に交わる平面を表す平面データを生成する平面データ生成部を更に備え、
上記第1の条件は、上記平面データ生成部により生成された上記平面と上記生成しようとする曲面について仮生成された曲面とが交わってできる平面曲線を参考線として、上記参考線と上記生成しようとする曲面の交線との誤差が最小化するという条件であることを特徴とする請求項1~5の何れか1項に記載の曲面生成装置。
【請求項8】
モデルの形状データを入力する形状データ入力手段、
上記形状データの一部にフィッティングした断面曲線を設定する断面曲線設定手段、
上記断面曲線設定手段により設定された上記断面曲線を、所定の条件を満たすように平行移動および回転移動させる断面曲線移動手段、および
上記断面曲線移動手段により上記断面曲線が動く軌跡によって定義された曲面を生成する曲面生成手段、
としてコンピュータを機能させ、
上記所定の条件が、上記断面曲線移動手段による上記断面曲線の移動により生成される曲面どうしの交線の捩率を含む所定の評価関数を最小化するという第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】
一般に、スイープに基づく方法では、意図的に規則正しく制御点を配置できるというメリットがある。しかし、断面曲線のスイープに必要なガイド線を測定データから正しく特定することが難しいという問題がある。スイープ法によって生成される曲面の品質は、特定するガイド線の品質に大きく依存するため、ガイド線を適切に表現することが極めて重要となる。しかし、適切なガイド線を算出する方法が確立されておらず、そのためCADモデラは、生成した曲面の品質が確保できるまで、試行錯誤によりガイド線の調整を繰り返し行わなければならず、多大な時間と労力がかかっていた。
【0009】
本発明者は、このような問題点に鑑みて、高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に生成できるようにした手法を提案している(例えば、非特許文献1参照)。この非特許文献1に記載の手法では、クレイモデルの形状データの一部に対してフィッティングされた断面曲線を設定し、「断面曲線上の中点により形成される軌跡が、生成しようとする曲面の曲率線になる」という条件を満たすように、断面曲線を平行移動および回転移動させ、当該移動された断面曲線の軌跡によって定義される曲面の境界からの内挿により曲面を生成する。
【0010】
クレイモデルの形状データと断面曲線とが設定されていて、断面曲線のスイープに必要なガイド線が不明の場合、上記非特許文献1に記載の手法に基づいて処理を行えば、断面曲線上の一点の軌跡(これがガイド線に相当するものとなる)に沿って断面曲線をスイープしたものに相当する面が生成される。ここで、ガイド線に相当する軌跡は、曲面の流れを表す曲率線として与えられることになるので、曲面の流れを表す曲率線をスイープ法のガイド線とするような高品質の曲面を、多くの試行錯誤を繰り返すことなく効率的に生成することが可能である。
【0011】
ところで、物体またはその形状を表したモデルの測定データからCADデータを生成する場合、物体形状の様々な面に対応して複数の曲面のCADデータを生成する必要がある。この場合、個々の曲面の内部を高品質に生成するのみならず、隣り合う曲面どうしの交線も高品質に仕上げることが求められる。しかしながら、非特許文献1では、設定した1つの断面曲線をスイープさせて1つの高品質な曲面を生成することを開示しているが、高品質なCADデータを生成するために隣り合う複数の曲面をどのように生成すべきかについては言及していない。
【0012】
なお、2つ曲面の境界線を連続にする(滑らかにする)ための処理について開示した文献がいくつか知られている(例えば、特許文献5,6参照)。特許文献5には、デザイナがデザインした凹を含む境界曲線に対し、曲面内部では滑らかで、かつ、外部の曲面とも適切な連続性を保持する曲面を生成可能とする曲面内挿方法が開示されている。
【0013】
特許文献6に記載の自由曲面生成方法では、境界曲線と各境界曲線に繋がる曲線から境界での連続性を判断し、求められた連続性から境界での接続条件を求める。そして、求められた接続条件から面の内部制御点を生成し、隣り合う2つの自由曲面形状を滑らかに接続する。これにより、NURBS曲線を共有境界とする2つの曲面間を滑らかに接続することができるようにしている。
【先行技術文献】
【特許文献】
【0014】
【文献】特許第2938909号公報
【文献】特開平5-250444号公報
【文献】特開2000-11210号公報
【文献】特開2005-149245号公報
【文献】特開2000-194877号公報
【文献】特開平7-282117号公報
【非特許文献】
【0015】
【文献】“Reconstruction of underlying surfaces from scanned data using lines of curvature”, Shoichi Tsuchie(Computers & Graphics, Volume 68, November 2017, Pages 108-118)
【発明の概要】
【発明が解決しようとする課題】
【0016】
上記特許文献5,6に記載の技術は、境界曲線があることを前提として、その境界曲線に繋がる複数の曲面を適切な連続性をもって滑らかに接続するものである。しかしながら、断面曲線のスイープに必要なガイド線を測定データから正しく特定することが難しいのと同様、測定データから最初に適切な境界曲線を作成すること自体がそもそも難しい。そのため、特許文献5,6に記載の技術を用いたとしても、隣り合う複数の曲面どうしの交線を高品質に生成することは困難である。
【0017】
本発明は、このような問題を解決するために成されたものであり、隣り合う曲面の交線が高品質の曲面を、ユーザによる多くの試行錯誤を繰り返すことなく効率的に生成できるようにすることを目的とする。
【課題を解決するための手段】
【0018】
上記した課題を解決するために、本発明では、モデルの形状データの一部に対してフィッティングされた断面曲線を設定し、所定の条件を満たすように、断面曲線を平行移動および回転移動させ、当該移動された断面曲線の軌跡によって定義される境界線からの内挿により曲面を生成する。ここで、上記所定の条件は、隣り合う曲面が互いに交差し、その交線の捩率を含む所定の評価関数を最小化するという条件としている。
【発明の効果】
【0019】
上記のように構成した本発明によれば、断面曲線の移動によって生成しようとする曲面と曲面との交線は、捩れが最小化されたものとなる。これにより、隣り合う曲面どうしの交線の捩れが小さい高品質な曲面を、多くの試行錯誤を繰り返すことなく効率的に生成することができる。
【図面の簡単な説明】
【0020】
図1】第1の実施形態による曲面生成装置の機能構成例を示すブロック図である。
図2】本実施形態の曲面生成装置により生成する曲面の一例を示す図である。
図3】第1の実施形態による曲面生成装置の処理の概要を示す図である。
図4】第1の実施形態による第1の移動処理部の処理内容を説明するための図である。
図5】第1の実施形態による曲面生成装置の変形例を示すブロック図である。
図6】第1の実施形態による曲面生成装置の変形例を示すブロック図である。
図7】第2の実施形態による曲面生成装置の機能構成例を示すブロック図である。
【発明を実施するための形態】
【0021】
(第1の実施形態)
以下、本発明による第1の実施形態を図面に基づいて説明する。図1は、第1の実施形態による曲面生成装置の機能構成例を示すブロック図である。図1に示すように、第1の実施形態による曲面生成装置は、その機能構成として、形状データ入力部1、断面曲線設定部2、断面曲線移動部3および曲面生成部4を備えて構成されている。断面曲線移動部3は、第1の移動処理部31および第2の移動処理部32を備えている。
【0022】
上記各機能ブロック1~4は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック1~4は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0023】
図2は、本実施形態の曲面生成装置により生成する曲面の一例を示す図である。本実施形態では、隣接する2つの曲面M1,M2を生成する。図2(a)に示すように、2つの曲面M1,M2は、交線C1∩2において互いに接している。図2(b)に示すように、交線C1∩2は、第1の曲面M1を含む基準曲面と、第2の曲面M2を含む基準曲面とが交差してできる曲線であり、図2(a)に示すトリム曲面の境界の一部を示すものである。なお、基準曲面とは、後述する断面曲線をスイープさせたときに、当該断面曲線の軌跡によって定義される境界線からの内挿により生成される曲面のことをいう。
【0024】
本実施形態では、以下に詳しく説明するように、個々の曲面M1,M2の内部を高品質に生成するのみならず、隣り合う曲面どうしの交線C1∩2も高品質となるようにする。すなわち、設定した断面曲線を後述する所定の条件を満たすようにスイープさせることにより、面の内部と、隣り合う各曲面の交線C1∩2とが共に高品質な曲面M1,M2を生成する。なお、本明細書では便宜上、隣り合う2つの曲面M1,M2の生成について説明するが、3つ以上の隣接する曲面も同様に生成可能であることは言うまでもない。
【0025】
形状データ入力部1は、モデルの形状データを入力する。本実施形態では、形状データ入力部1は、クレイモデルなどの形状の測定データ(点群データまたはポリゴンデータ)を入力する。特に、本実施形態では、交線において隣接する複数の曲面を含む形状データを入力する。
【0026】
断面曲線設定部2は、形状データ入力部1により入力された形状データの一部にフィッティングした断面曲線を設定する。2つの曲面M1,M2を生成する場合、断面曲線設定部2は、第1の曲面M1の生成に用いる断面曲線と、第2の曲面M2の生成に用いる断面曲線とを設定する。ここで設定する断面曲線は、意匠デザイナ(クレイモデラ)が自動車のクレイモデルを作成する際に使用するカーブ定規を模して作成したものである。
【0027】
図3は、第1の実施形態による曲面生成装置の処理の概要を示す図である。なお、この図3では、1つの曲面(第1の曲面M1または第2の曲面M2の何れか一方を含む基準曲面)を生成する処理の概要を示している。この図3の中に、断面曲線設定部2によりカーブ定規200を模して設定された断面曲線C(s)の一例が示されている。
【0028】
第1の実施形態では、この断面曲線設定部2により形状データの一部にフィッティングした断面曲線C(s)を後述するように移動させ、移動によってできる断面曲線C(s)の軌跡から定義される境界線からの内挿によって、目的の曲面(以下、目的曲面という)S(u, v)を生成する。この目的曲面S(u, v)が、第1の曲面M1または第2の曲面M2の何れか一方を含む基準曲面である。
【0029】
第1の実施形態では、目的曲面S(u, v)をB-spline曲面で表現する。図3に示すように、目的曲面S(u, v)のu方向の形状は、断面曲線設定部2により設定された断面曲線C(s)によって完全に特徴付けられる。また、目的曲面S(u, v)のv方向に対する2つの境界線Cs,Ceは、断面曲線C(s)の両端点が移動した際の軌跡として定義する。
【0030】
断面曲線移動部3は、断面曲線設定部2により初期設定された断面曲線C(s)を、所定の条件を満たすように移動させる処理を行う。第1の実施形態では、この断面曲線C(s)の移動を、第1の移動処理部31および第2の移動処理部32によって行う。このときの移動は、第1の移動処理部31では平行移動のみ、第2の移動処理部32では平行移動および回転移動の双方を行う。これらの処理の詳細を以下に説明する。
【0031】
第1の移動処理部31は、形状データ入力部1により入力された形状データとの誤差が最小となるように、断面曲線設定部2により初期設定された断面曲線C(s)を平行移動させ、断面曲線C(s)上の一点が平行移動した軌跡の方向を示す接線ベクトルを所定の間隔毎に求める。断面曲線C(s)上の一点は、一例としては断面曲線C(s)の中点であるが、これに限定されるものではない。所定の間隔は、曲面生成装置にあらかじめ設定された固定値としてもよいし、ユーザが指定可能な可変値としてもよい。
【0032】
図4は、第1の移動処理部31の処理内容を説明するための図である。以下、この図4を用いて第1の移動処理部31の処理例を具体的に説明する。すなわち、第1の移動処理部31は、断面曲線設定部2により形状データの一部にフィッティングするように設定された断面曲線C(s)を、次の手順で平行移動させる。
【0033】
まず、初期設定された断面曲線C(s)をC0(s)とし、これを含む平面P0の法線ベクトルT0~(図4において図示せず)の方向に対し、所定の間隔で断面曲線C0(s)を平行移動し、得られた移動後の断面曲線C(s)をC1(s)~(図4において図示せず)とする。なお、法線ベクトルT0~の方向に断面曲線C0(s)を単純に平行移動させるだけだと、移動後の断面曲線C1(s)~は形状データから離れて誤差が生じる可能性がある。そこで、第1の移動処理部31は、法線ベクトルT0~の方向に断面曲線C0(s)を平行移動させた後、さらに、移動後の断面曲線C1(s)~を含む平面P1内で断面曲線C1(s)~を平行移動させてC1(s)とすることにより、断面曲線C1(s)と形状データとの誤差が最小となるようにする。平面P1は平面P0に対して平行な面である。
【0034】
次に、移動後の断面曲線C1(s)を含む平面P1の法線ベクトルT1~(図4において図示せず)の方向に対し、所定の間隔で断面曲線C1(s)を平行移動し、得られた移動後の断面曲線C(s)をC2(s)~(図4において図示せず)とする。さらに、第1の移動処理部31は、移動後の断面曲線C2(s)~を含む平面P2内で、断面曲線C2(s)~を平行移動させてC2(s)とすることにより、断面曲線C2(s)と形状データとの誤差が最小となるようにする。平面P2は平面P1に対して平行な面である。
【0035】
以下、この処理を繰り返し実行する。図4の例では、この処理をd回行った例を示している。これにより、第1の移動処理部31は、所定の間隔毎に存在する複数の断面曲線Ci(s)(i=0~d)と、各断面曲線Ci(s)を含む平面Pi(i=0~d)と、断面曲線Ci(s)の移動方向に対する複数の接線ベクトルTi(i=0~d)とが得られる。
【0036】
上述のように、i=0~dの全てについて、同じ法線ベクトルT0~の方向に断面曲線Ci(s)~を単純に平行移動させるだけだと(Ti(i=0~d)=T0~の場合)、平行移動を重ねるにつれて(iが大きくなるにつれて)、断面曲線Ci(s)~は形状データから離れて誤差が大きくなってしまう可能性がある。
【0037】
これに対し、第1の移動処理部31は、平面Pi(i=0~d)の法線ベクトル方向に断面曲線Ci(s)を平行移動させた後、その平行移動後の断面曲線Ci+1(s)~を平面Pi+1内でさらに平行移動させることにより、断面曲線Ci+1(s)と形状データとの誤差が最小となるようにする。
【0038】
これにより、図4(b)に示すように、必ずしもTi(i=1~d)=T0~になるとは限らなくなり、各断面曲線Ci(s)が形状データに極力フィッティングするような条件を満たす接線ベクトルTi(i=0~d)が求められる。こうして所定の間隔毎に求められる接線ベクトルTiは、断面曲線Ci(s)上の一点が平行移動した軌跡の方向を示すベクトルに相当する。
【0039】
第2の移動処理部32は、第1の移動処理部31により算出された接線ベクトルTi(i=0~d)を初期ベクトルとして、所定の条件を満たすように、所定の間隔毎の断面曲線Ci(s)をそれぞれ平行移動および回転移動によってさらに移動させる。ここで、第2の移動処理部32は、断面曲線Ci(s)を平行移動させたときに接線ベクトルTiを更新し、更新後の接線ベクトルTiに基づいて回転移動を行う。
【0040】
第1の実施形態では、所定の条件として次の3つの条件を設定する。1つ目の条件は、特許請求の範囲における第2の条件に相当するものであり、第2の移動処理部32によって移動された所定の間隔毎の断面曲線Ci(s)’上の一点により形成される軌跡(断面曲線C(s)を仮にスイープさせるとした場合のガイド線に相当するもの。以下、疑似ガイド線Sc(図3参照)という)を捩れの小さな曲率線に近づけるための条件である。
【0041】
2つ目の条件は、特許請求の範囲における第1の条件に相当するものであり、第2の移動処理部32による断面曲線Ci(s)’(第1の曲面M1の生成に用いる断面曲線および第2の曲面M2の生成に用いる断面曲線)の移動によって生成される隣り合う曲面が互いに交差し、その交線C1∩2の捩率の大きさを最小化するという条件である。
【0042】
3つ目の条件は、特許請求の範囲における第4の条件に相当するものであり、曲面生成部4により生成される目的曲面S(u, v)と、形状データ入力部1により入力された形状データで表される曲面との誤差を最小化するための条件である。
【0043】
以下に、第2の移動処理部32が断面曲線Ci(s)の移動処理を行う際の3つの条件を順に説明する。まず、前提として、断面曲線Ci(s)の回転移動について説明する。第2の移動処理部32は、断面曲線Ci(s)上の点Ci(s*)を回転中心として、接線ベクトルTi-1が次の接線ベクトルTiに一致するように平面Pi内で断面曲線Ci(s)を回転角θだけ回転する。なお、パラメータs*は、断面曲線Ci(s)上の一点(例えば、中点)を与える値である。断面曲線Ci(s)の回転角θは、θ=cos-1(Ti-1・Ti)とする。また、第2の移動処理部32によって断面曲線Ci(s)を平行移動および回転移動させた結果の断面曲線をCi(s)’と表記するものとする。
【0044】
<1つ目の条件(第2の条件)>
次に、所定の間隔毎の断面曲線Ci(s)をそれぞれ平行移動および回転移動させる際の1つ目の条件(第2の条件)について説明する。ここでは、クレイモデラがカーブ定規200を滑らかに動かすという行為を目的曲面S(u, v)がもつ特徴に関連付けるために、次の2つ条件を想定する。
P1)疑似ガイド線Scは、生成しようとする目的曲面S(u, v)上の意図的な流れを意味し、その流れは曲率線として特定される。曲率線は、目的曲面S(u, v)における最小の主曲率に対する主方向による曲面の流れを示すものである。
P2)疑似ガイド線Scは捩れが小さい。
【0045】
条件P1は、平行移動および回転移動に基づき移動された所定の間隔毎の断面曲線Ci(s)’上の一点Ci(s*)’をそれぞれ結んでできる軌跡である疑似ガイド線Scが、曲面生成部4によって生成される目的曲面S(u, v)の曲率線になるという条件である。
【0046】
条件P2は、曲面生成部4によって生成される目的曲面S(u, v)の法線ベクトルから疑似ガイド線Scの主法線ベクトルへの角度が、疑似ガイド線Scの軌跡上において一定になるという条件である。
【0047】
なお、曲面生成部4は、断面曲線移動部3により移動された断面曲線C(s)’の軌跡によって定義される境界線からの内挿により曲面を生成する。すなわち、曲面生成部4は、移動の始点および終点におけるu方向に対する2つの断面曲線C0(s)’,Cd(s)’と、v方向に対する2つの境界線Cs’,Ce’とを用いて、これらの4辺からの内挿により目的曲面S(u, v)を、例えば公知のCoonsパッチにより生成する。
【0048】
第2の移動処理部32は、条件P1を達成するために、疑似ガイド線Scを曲率線に近づける処理を行う。ここで、曲率線は、次の(式1)で与えられる。
(EM-FL)du2 +(EN-GL)dudv+(FN-GM)dv2=0 ・・・(式1)
ここで、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により次の(式2)で表すことができる。この(式2)において、VNは目的曲面S(u, v)の法線ベクトルを示す。
【0049】
【数1】
【0050】
次に、条件P2について説明する。曲面上のある曲線Cの測地捩率τgは、次の(式3)で与えられる。
τg=(dα/ds)-τ ・・・(式3)
ここで、τは曲線Cの通常の捩率であり、αは曲面の法線ベクトルVN から曲線Cの主法線ベクトルへの角度である。さらに、曲率線はτg=0である。したがって、条件P2を実現するためにdα/dsをできるだけ小さくすることにより、疑似ガイド線Scは捩率τの大きさが小さい曲線となる。
【0051】
以上のことから、第2の条件に関しては、目的曲面S(u, v)に対して、疑似ガイド線Scが曲率線になっており、疑似ガイド線Scの捩率τの大きさが小さいことを、次の(式4)に示す関数Ψにより評価する。ここで、w1,w2は重み係数である。また、N2は疑似ガイド線Sc上から抽出するサンプリング点の数である。このサンプリング点は、疑似ガイド線Sc上から一様に抽出するのが好ましい。
【0052】
【数2】
【0053】
<2つ目の条件(第1の条件)>
次に、2つ目の条件(第1の条件)について説明する。第1の条件は、第2の移動処理部32による断面曲線Ci(s)’の移動によって生成される隣り合う曲面が互いに交差し、その交線C1∩2の捩率の大きさを最小化するという条件である。
【0054】
第1の条件に関しては、目的曲面S(u, v)上にできる交線C1∩2の捩率τ~の大きさが小さいことを、次の(式5)に示す関数Ωにより評価する。ここで、w3は重み係数である。
【0055】
【数3】
【0056】
<3つ目の条件(第4の条件)>
次に、3つ目の条件(第4の条件)について説明する。第4の条件は、曲面生成部4によって生成される目的曲面S(u, v)と、形状データ入力部1により入力された形状データで表される曲面との誤差を最小化するという条件である。
【0057】
この第4の条件に関しては、目的曲面S(u, v)と形状データ上のサンプリング点Qiとの誤差が小さいことを、次の(式6)により評価する。ここで、Nは形状データ上から抽出するサンプリング点Qiの数である。なお、サンプリング点Qiは、形状データの全体から偏りなく抽出するのが好ましく、曲面の全体にいきわたるように適度に抽出する。
【0058】
【数4】
【0059】
第2の移動処理部32は、上述した第1の条件、第2の条件および第4の条件を考慮して、次の(式7)で定義される目的関数Jを最小化するように断面曲線C(s)を移動させる。
【0060】
【数5】
【0061】
以上詳しく説明したように、クレイモデルなどの形状データと、当該形状データにフィッティングした断面曲線C(s)とを入力して第1の実施形態の処理を実行すれば、目的曲面S(u, v)を生成するために断面曲線C(s)を移動させたときに当該断面曲線C(s)上の一点の軌跡により定義される軌跡(疑似ガイド線Sc)が、モデル形状に基づいて生成しようとする目的曲面S(u, v)における最小の主曲率に対する主方向による曲面の流れを表す曲率線として表現でき、かつ、2つの曲面M1,M2の交線C1∩2の捩れを最小にすることができる。
【0062】
すなわち、第1の実施形態によれば、ガイド線を入力データとして事前に与えることが要求される従来のスイープ法とは異なり、形状データと断面曲線C(s)とを与えれば、当該断面曲線C(s)の移動による一点C(s*)の軌跡が、生成しようとする目的曲面S(u, v)の曲率線となり、かつ捩れも小さいという性質を持ち、しかも、隣り合う曲面の交線C1∩2の捩れが小さいという性質を持つような目的曲面S(u, v)が生成される。つまり、疑似ガイド線Scが捩率の大きさが小さい曲率線となり、かつ、交線C1∩2も捩率の大きさが小さい曲線となるような良好な目的曲面S(u, v)を、多くの試行錯誤を繰り返すことなく効率的に生成することができる。
【0063】
なお、上記第1の実施形態において、(式4)の重み係数w2をゼロとすることにより、疑似ガイド線Scが目的曲面S(u, v)の曲率線になるという条件P1のみを第1の条件として用いるようにしてもよい。条件P1のみとしても、疑似ガイド線Scの捩率の大きさが陽に大きくなることを避けることができる。
【0064】
また、上記第1の実施形態では、自動車のクレイモデルなどの測定データから目的曲面S(u, v)を生成する例について説明したが、入力データとして使用する形状データは、クレイモデルの測定データに限定されるものではない。例えば、市販車の測定データから目的曲面S(u, v)を生成するようにしてもよい。また、形状データは測定データに限定されるものではなく、CADデータやその離散近似したものでも構わない。さらに、対象とするモデルは自動車に限らず、あらゆる物を対象とすることが可能である。
【0065】
また、上記第1の実施形態では、疑似ガイド線Scが捩率の大きさが小さな曲率線となるための第2の条件および交線C1∩2が捩率の大きさが小さい曲線となるための第1の条件に加え、生成される目的曲面S(u, v)とクレイモデルなどの形状データとの誤差を最小化するための第4の条件を満たすように各断面曲線Ci(s)の位置を調整する例について説明したが、(式7)において第4の条件を表す第1項と第2の条件を表す第2項と第1の条件を表す第3項とに重み係数を設定し、各条件の重みを調整できるようにしてもよい。
【0066】
例えば、入力データとして、現物のモデルに対する測定データではなく、新たに作成しようとするデザインのコンセプトを表したCADデータを形状データ入力部1より入力して目的曲面S(u, v)を生成する場合などは、第4の条件の重みを小さくして処理を行うことも可能である。また、2つの曲面M1,M2を生成するのではなく、1つの曲面のみを生成する場合は、第1の条件の重みをゼロにして処理を行うことも可能である。また、第2の条件の重みをゼロにして処理を行うことも可能である。この場合は、少なくとも交線C1∩2の捩れが小さくなる目的曲面S(u, v)を、多くの試行錯誤を繰り返すことなく効率的に生成することが可能である。
【0067】
なお、上記第1実施形態において、第1の条件、第2の条件および第4の条件を考慮して2つの曲面M1,M2を同時に生成することも可能であるし、順番に生成することも可能である。2つの曲面M1,M2を同時に生成する場合、断面曲線設定部2は、第1の曲面M1用の断面曲線と第2の曲面M2用の断面曲線とを一度に設定する。そして、断面曲線移動部3が、第1の曲面M1用の断面曲線の移動によって生成される基準曲面と、第2の曲面M2用の断面曲線の移動によって生成される基準曲面との交線C1∩2が第1の条件を満たすようにして2つの断面曲線を移動させ、それによってできた軌跡を曲面生成部4が内挿することにより、捩れの小さい交線C1∩2を有する2つの基準曲面を生成する。その後、トリム処理を行うことによって2つの曲面M1,M2を生成する。
【0068】
一方、2つの曲面M1,M2を順次生成する場合は、図5に示すように、曲面生成装置は曲面データ入力部5を更に備える。曲面データ入力部5は、生成しようとする曲面(後から生成する曲面)に隣接する他の曲面(先に生成した曲面)を表す曲面データを入力する。例えば、先に第1の曲面M1を生成した後、次に第2の曲面M2を生成する場合、第1の曲面M1を含む基準曲面を生成するときは、曲面データ入力部5から曲面データは入力せず、断面曲線設定部2により第1の曲面M1用の断面曲線を設定して上記のように説明した処理を実行する。ただし、このとき第2の条件は考慮せずともよい(第1の条件の重みをゼロにして処理を行ってもよい)。
【0069】
続いて、第2の曲面M2を生成するときは、断面曲線設定部2により第2の曲面M2用の断面曲線を設定するとともに、曲面データ入力部5から第1の曲面M1を含む基準曲面の曲面データを入力する。そして、第2の曲面M2用の断面曲線を移動した場合に生成される基準曲面と、曲面データ入力部5から入力した第1の曲面M1を含む基準曲面との交線C1∩2になる曲線に対して第1の条件を適用して第2の曲面M2用の断面曲線を移動させ、それによってできた軌跡を曲面生成部4が内挿することにより、捩れの小さい交線C1∩2を有する第2の曲面M2を含む基準曲面を生成する。その後、トリム処理を行うことによって2つの曲面M1,M2を生成する。
【0070】
ところで、形状データ入力部1により入力される形状データにおいて、ある曲面が端面となっていて、これに隣接する他の曲面が存在しない、つまり他の曲面の形状データが存在しない場合がある。この場合においても、当該ある曲面に隣接する曲面があると仮定した場合の交線に相当する曲線の捩れをゼロに近づけたいというニーズがある。このようなニーズに対応するために、図6に示すように、図5の曲面データ入力部5に代えて平面データ生成部6を備える構成としてもよい。なお、曲面データ入力部5に加えて平面データ生成部6を備える構成としてもよいことは言うまでもない。
【0071】
平面データ生成部6は、端面として生成しようとする曲面に交わる平面を表す平面データを生成する。例えば、第1の曲面M1が端面で、その境界線Csの側には第1の曲面M1に隣接する他の曲面が存在しないとする。この場合は、まず、平面データ生成部6において平面データは生成せず、断面曲線設定部2により第1の曲面M1用の断面曲線を設定して上記のように説明した処理を実行することにより、第1の曲面M1を含む基準曲面を仮生成する。ただし、このとき第2の条件は考慮せずともよい(第2の条件の重みをゼロにして処理を行ってもよい)。
【0072】
その後、平面データ生成部6により、第1の曲面M1に交わる平面を表す平面データを生成する。例えば、平面データ生成部6は、第1の曲面M1と平面との交線が所望の境界線となるように、平面を定義する最適な3点を求め、その3点を通る平面を生成する。あるいは、平面データ生成部6は、第1の曲面M1の端部となる点群に対して、最小2乗法で平面フィッティングをすることにより、第1の曲面M1に交わる平面を生成するようにしてもよい。
【0073】
そして、断面曲線移動部3は、平面データ生成部6により生成された平面と、生成しようとする第1の曲面M1について仮生成された曲面とが交わってできる平面曲線を参考線(疑似的な交線)として、当該生成しようとする第1の曲面M1の交線C1∩2と参考線との誤差が最小化するという条件を第1の条件として断面曲線を移動させる。平面データ生成部6により生成された平面と、生成しようとする第1の曲面M1について仮生成された曲面とが交わってできる交線C1∩2は、平面曲線となる。平面曲線は捩れがゼロである。したがって、交線C1∩2の捩率の大きさを最小化するという条件は考慮せずともよい。
【0074】
ここで、参考線と第1の曲面M1の交線C1∩2との誤差が最小化するということを、次の(式8)により評価する。ここで、C1∩2_iは生成しようとする第1の曲面M1の交線C1∩2上から抽出するサンプリング点、C1∩2_i Rfは参考線上から抽出するサンプリング点、Nは参考線C1∩2 Rfおよび生成しようとする第1の曲面M1の交線C1∩2のそれぞれから抽出するサンプリング点C1∩2_i Rf,C1∩2_iの数である。なお、サンプリング点C1∩2_i Rf,C1∩2_iは、参考線C1∩2 Rfおよび交線C1∩2の全体から偏りなく抽出するのが好ましい。
【0075】
【数6】
【0076】
平面データ生成部6により生成された平面と、生成しようとする第1の曲面M1について仮生成された曲面とが交わってできる平面曲線を参考線C1∩2 Rf(疑似的な交線)として、参考線C1∩2 Rfと第1の曲面M1の交線C1∩2との誤差が最小化するという条件を第1の条件として断面曲線を移動させることにより、端面となっている第1の曲面M1の交線に相当する曲線を、捩れの小さい曲線とすることができる。
【0077】
(第2の実施形態)
次に、本発明による第2の実施形態を図面に基づいて説明する。図7は、第2の実施形態による曲面生成装置の機能構成例を示すブロック図である。なお、この図7において、図1に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。第2の実施形態による曲面生成装置は、第2の移動処理部32に代えて第2の移動処理部32’を備えている。
【0078】
上記第1の実施形態では、形状データ(クレイモデルなどの測定データ)から再構築する目的曲面S(u, v)の品質を向上させるために、断面曲線C(s)を移動させたときにできる各断面曲線Ci(s)’上の一点Ci(s*)’の軌跡が、目的曲面S(u, v)における捩れの小さい曲率線となり、かつ、各断面曲線Ci(s)’上の他点の軌跡が捩れの小さい曲線となるように、第1の条件および第2の条件を満たすように各断面曲線Ci(s)’の位置を調整する例について説明した。
【0079】
第2の実施形態では、これに加え、目的曲面S(u, v)のv方向の境界線Cs,Ceに、第3の条件を課すことによって各断面曲線Ci(s)の位置を調整するものである。第3の条件は、境界線Cs’,Ce’の曲線が曲率単調性を持つという条件である。
【0080】
すなわち、第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を計算する。
【0081】
曲面S(u, v)のv方向の2つの境界線Cs(=S(0, v)),Ce(=S(1, v))の曲率が単調増加するとした場合、その評価を行うために、次の(式9)に示す関数Φを導入する。ここで、κiは各境界線Cs,Ce上で等間隔となるように設定された各サンプリング点における曲率を示し、δ(κi) は(式10)で定義されたペナルティ関数である。(式9)の第1項が一方の境界線Csに関する曲率単調性を定義し、第2項が他方の境界線Ceに関する曲率単調性を定義している。N1はサンプリング点の数を示している。
【0082】
【数7】
【0083】
第2の実施形態では、第2の移動処理部32’は、(式7)に代えて(式11)のように定義される目的関数Jを最小化するように断面曲線C(s)を移動させる。ここで、ε1,ε2,ε3は重み係数である。
【0084】
【数8】
【0085】
以上のように構成した第2の実施形態によれば、断面曲線Ci(s)’上の一点Ci(s*)’(例えば、中点)の軌跡が、疑似ガイド線Scとして望ましい曲線(捩れの小さい曲率線)となるだけでなく、断面曲線Ci(s)’の両端点の軌跡によってできる各境界線Cs’,Ce’が、曲率単調性を有する曲線となる。各境界線Cs’,Ce’が曲率単調性を有する結果、疑似ガイド線Scも曲率単調性を有するものとなる。このため、形状データから再構築する目的曲面S(u, v)の品質を更に向上させることができる。
【0086】
なお、第2の実施形態においても第1の実施形態と同様、(式4)の重み係数w2をゼロとすることにより、条件P1のみを第1の条件として用いるようにしてもよい。また、入力データとなる形状データは、クレイモデルなどの測定データに限定されるものではなく、CADデータやその離散近似したものでも構わない。また、(式11)において、第4の条件を表す第1項にも重み係数を設定するようにしてもよい。
【0087】
また、第2の実施形態においても、図4または図5に示した変形例を適用することが可能である。
【0088】
また、上記第1および第2の実施形態では、曲面生成部4により生成する目的曲面S(u, v)をB-spline曲面で表現する例について説明したが、本発明はこれに限定されない。例えば、目的曲面S(u, v)をベジエ曲面で表現するようにしてもよい。
【0089】
また、上記第1および第2の実施形態では、クレイモデルを作成する際に使用するカーブ定規200を模した断面曲線C(s)を設定する例について説明したが、本発明はこれに限定されない。すなわち、断面曲線C(s)は、生成したい目的曲面S(u, v)の形状に合わせて設定すればよい。
【0090】
また、上記第1および第2の実施形態では、断面曲線C(s)の移動を、第1の移動処理部31と第2の移動処理部32とに分けて2段階で行う例について説明したが、本発明はこれに限定されない。すなわち、断面曲線C(s)を所定の間隔で平行移動させながら回転移動させることによって、1段階の処理として断面曲線C(s)を移動させるようにしてもよい。
【0091】
また、上記第1および第2の実施形態では、目的曲面S(u, v)の生成にはCoonsパッチによる境界線からの内挿を利用したが、本発明はこれに限定されない。例えば、断面曲線C(s)上の一点C(s*)(例えば、中点)の軌跡をB-spline曲線などで近似し、当該近似曲線に沿って断面曲線C(s)をスイープしても、上記の議論はすべて適用できる。
【0092】
また、上記第1および第2の実施形態では、第1の移動処理部31の処理に関して、平面Piの法線ベクトル方向に断面曲線Ci(s)を平行移動させた後、その平行移動後の断面曲線Ci+1(s)~を平面Pi+1内でさらに平行移動させる例について説明したが、法線ベクトル方向への平行移動のみとしてもよい。この場合、断面曲線Ci+1(s)と形状データとの誤差が最小化された接線ベクトルTiが初期ベクトルとして生成されないものの、第2の移動処理部32による最適化計算によって、第1の条件~第4の条件を満たす目的曲面S(u, v)を生成することができる。なお、第1の移動処理部31において、断面曲線Ci+1(s)と形状データとの誤差が最小となるような接線ベクトルTiを初期ベクトルとして生成しておくことにより、第2の移動処理部32による最適化計算の処理時間を短くできる等のメリットを有する。
【0093】
その他、上記第1および第2の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0094】
1 形状データ入力部
2 断面曲線設定部
3 断面曲線移動部
4 曲面生成部
5 曲面データ入力部
6 平面データ生成部
31 第1の移動処理部
32,32’ 第2の移動処理部
図1
図2
図3
図4
図5
図6
図7