(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121411
(43)【公開日】2024-09-06
(54)【発明の名称】対数美的曲線の近似曲線生成装置および近似曲線生成方法
(51)【国際特許分類】
G06F 30/10 20200101AFI20240830BHJP
G06F 30/20 20200101ALI20240830BHJP
G06T 11/20 20060101ALI20240830BHJP
【FI】
G06F30/10 100
G06F30/20
G06T11/20 300
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023028509
(22)【出願日】2023-02-27
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
(71)【出願人】
【識別番号】591030237
【氏名又は名称】BIPROGY株式会社
(71)【出願人】
【識別番号】899000057
【氏名又は名称】学校法人日本大学
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】土江 庄一
(72)【発明者】
【氏名】吉田 典正
【テーマコード(参考)】
5B080
5B146
【Fターム(参考)】
5B080AA05
5B080CA00
5B146DC04
5B146EA13
(57)【要約】
【課題】対数美的曲線をNURBS形式の曲線で高精度に近似できるようにする。
【解決手段】対数美的曲線の特徴量を表すパラメータをもとに、最適化処理を行う際の初期曲線を設定する初期曲線設定部12と、当該設定された初期曲線を用いて、曲線の4階微分を含む式で定義された目的関数を最小化するように最適化処理を行い、5次以上である高次のNURBS曲線により対数美的曲線を近似する曲線近似部13とを備え、曲線の4階微分を含む式で定義されるαグラフの直線性で対数美的曲線の近似精度を評価することにより、κグラフや曲率対数グラフの直線性による評価よりも近似曲線に対する評価が厳密に行われるようにするとともに、C4連続を保証できる高次のNURBS曲線によって対数美的曲線の近似を行うことにより、NURBS曲線によって対数美的曲線を高精度に近似できるようにする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
最適化処理に基づきNURBS曲線により対数美的曲線を近似する近似曲線生成装置であって、
上記対数美的曲線の特徴量を表すパラメータをもとに、上記最適化処理を行う際の初期曲線を設定する初期曲線設定部と、
上記初期曲線設定部により設定された上記初期曲線を用いて、曲線の4階微分を含む式で定義された目的関数を最小化するように上記最適化処理を行い、5次以上である高次のNURBS曲線により上記対数美的曲線を近似する曲線近似部とを備えた
ことを特徴とする対数美的曲線の近似曲線生成装置。
【請求項2】
上記初期曲線設定部は、
上記対数美的曲線の特徴量を表すパラメータをもとに、上記対数美的曲線上の複数のサンプル点の座標値を抽出するサンプル点抽出部と、
上記サンプル点抽出部により抽出されたサンプル点を用いて、5次未満である低次のNURBS曲線により上記対数美的曲線を近似することによって上記初期曲線を設定する初期曲線近似部とを備えた
ことを特徴とする請求項1に記載の対数美的曲線の近似曲線生成装置。
【請求項3】
上記初期曲線設定部は、
上記対数美的曲線の特徴量を表すパラメータをもとに、曲線の両端点において接線連続または曲率連続になるという拘束条件を満たすように、上記両端点の間の曲線を5次未満である低次のNURBS曲線により近似することによって上記初期曲線を設定する初期曲線近似部を備えた
ことを特徴とする請求項1に記載の対数美的曲線の近似曲線生成装置。
【請求項4】
上記曲線近似部は、5次未満である低次のNURBS曲線により上記対数美的曲線を近似した後、当該近似により得られた低次の近似曲線を5次以上に次数上げし、当該次数上げにより生成された高次の近似曲線を最適化処理の初期値に設定して、上記高次のNURBS曲線により上記対数美的曲線を再近似することを特徴とする請求項1に記載の対数美的曲線の近似曲線生成装置。
【請求項5】
上記曲線近似部は、曲線の4階未満の微分である低階微分を含む式で定義された低階微分による目的関数を最小化するように上記対数美的曲線を近似した後、当該近似により得られた近似曲線を最適化処理の初期値に設定して、上記曲線の4階微分である高階微分を含む式で定義された高階微分による目的関数を最小化するように上記対数美的曲線を再近似することを特徴とする請求項1または4に記載の対数美的曲線の近似曲線生成装置。
【請求項6】
上記曲線近似部は、
上記低階微分による目的関数を最小化するように上記対数美的曲線を近似する低階微分による曲線近似部と、
上記高階微分による目的関数を最小化するように上記対数美的曲線を近似する高階微分による曲線近似部と、
上記初期曲線設定部により設定された上記初期曲線または上記高階微分による曲線近似部により生成された近似曲線を次数上げする次数上げ部とを備え、
上記低階微分による曲線近似部は、上記次数上げにより生成された近似曲線を最適化処理の初期値に設定して、上記低階微分による目的関数を最小化するように上記低次のNURBS曲線または上記高次のNURBS曲線により上記対数美的曲線を近似し、
上記高階微分による曲線近似部は、上記低階微分による曲線近似部により求められた近似曲線を最適化処理の初期値に設定して、上記高階微分による目的関数を最小化するように上記低次のNURBS曲線または上記高次のNURBS曲線により上記対数美的曲線を再近似し、
上記次数上げにより5次以上とされた高次の近似曲線について処理が実行されるまで上記次数上げ部、上記低階微分による曲線近似部および上記高階微分による曲線近似部の処理を繰り返し実行する
ことを特徴とする請求項5に記載の対数美的曲線の近似曲線生成装置。
【請求項7】
最適化処理に基づきNURBS曲線により対数美的曲線を近似する近似曲線生成方法であって、
コンピュータの初期曲線設定部が、上記対数美的曲線の特徴量を表すパラメータをもとに、上記最適化処理を行う際の初期曲線を設定する第1のステップと、
上記コンピュータの曲線近似部が、上記初期曲線設定部により設定された上記初期曲線を用いて、曲線の4階微分を含む式で定義された目的関数を最小化するように上記最適化処理を行い、5次以上である高次のNURBS曲線により上記対数美的曲線を近似する第2のステップとを有する
ことを特徴とする対数美的曲線の近似曲線生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対数美的曲線の近似曲線生成装置および近似曲線生成方法に関し、特に、ベジエ曲線やBスプライン曲線などのNURBS曲線を用いた近似によって対数美的曲線を生成する装置および方法に用いて好適なものである。
【背景技術】
【0002】
多くの工業製品の設計では、CAD(Computer Aided Design)により製品の形状データが製作される。工業製品において外観の美しさをアピールできることは、工業製品がマーケットで成功するために非常に重要な要素の1つである。曲率はそうした判断に大きく影響を与えるため、審美性への高いレベルの要求を満たすためには、曲率変化の滑らかさを適切に制御することが必要となる。
【0003】
ここで、自然界や人工物における審美的な曲線の多くは「曲率対数グラフが直線で近似できる」ことが知られており、曲率対数グラフ(曲率対数分布図)が傾きαの直線となる曲線は対数美的曲線と呼ばれる。対数美的曲線の例として、α=-1はクロソイド曲線、α=1は対数螺旋とよばれる。
【0004】
商用CADシステムで対数美的曲線を扱うためには1つ大きな問題がある。対数美的曲線の一般式は積分形で表現され、CADシステムで広く採用されているNURBS形式では厳密に表現できないため、商用CADシステムに直接に組み込むことができない。そのため、NURBS形式による対数美的曲線の近似が必要となる。これに関し、特許文献1には、3次ベジエ曲線による近似手法が開示されている。
【0005】
この特許文献1に記載のCADシステムでは、入力された曲線データを複数のセグメントに分割し、各セグメントの曲率半径または曲率のべき乗が弧長パラメータの1次式で表されるように、つまり、曲線の2階微分を含む式で定義されたκグラフによる目的関数を最小化するように、分割されたセグメント毎に対数美的曲線(の近似曲線)を生成する。さらに、隣接するセグメントの接続点で曲率連続にするため、互いのセグメント端における曲率値の差が所定の閾値以下となるように、各セグメントを変形する。
【0006】
しかしながら、特許文献1の上記方法では、個々の曲線を生成した後、セグメント間の曲率連続を実現させようと接続部分を強引に調整する結果、最終的に生成される曲線は、対数美的曲線の厳密な近似曲線にはならない。
【0007】
また、複数のパラメータで表現される空間曲線を生成するシステムにおいて、空間曲線の曲率対数グラフにおける傾き、空間曲線の捩率対数グラフにおける傾きおよび当該捩率対数グラフにおけるオフセット成分を示す値を含む複数のパラメータを決定し、決定したパラメータから未決定パラメータを更に探索し、当該探索した未決定パラメータを用いて対数美的曲線を生成するようにした技術が知られている(例えば、特許文献2参照)。
【0008】
しかしながら、特許文献2に記載の技術では、曲率対数グラフの傾きαを入力パラメータの1つとして用い、当該入力された曲率対数グラフの傾きαを用いた所定の計算式によって対数美的曲線を生成するようにしているが、生成される曲線の(3階微分を含む式で定義される)曲率対数グラフが実際に直線状になっているかどうの評価は行っていない。また、特許文献2に記載の技術は、対数美的曲線をNURBS形式で高精度に近似する方法を開示していない。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第5177771号公報
【特許文献2】特許第5487416号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、このような問題を解決するために成されたものであり、CADシステムで広く採用されているNURBS形式の曲線によって対数美的曲線を高精度に近似できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記した課題を解決するために、本発明では、対数美的曲線の特徴量を表すパラメータをもとに、最適化処理を行う際の初期曲線を設定した後、当該初期曲線を用いて、曲線の4階微分を含む式で定義された目的関数を最小化するように最適化処理を行い、5次以上である高次のNURBS曲線により対数美的曲線を近似する。
【発明の効果】
【0012】
上記のように構成した本発明によれば、対数美的曲線の要件を満たすか否かの評価が曲線の4階微分を含む式で定義された目的関数に基づいて行われる。この目的関数は対数曲率グラフの傾きが任意の点で同じ値となっているか否かを評価することになるので、得られる近似曲線の評価を厳密に行える。これに合わせて、高次のNURBS曲線により対数美的曲線の近似を行うことにより、近似精度の向上が見込まれる。その結果、本発明によれば、NURBS曲線による対数美的曲線の高精度な近似が行える。
【図面の簡単な説明】
【0013】
【
図1】本実施形態による対数美的曲線の近似曲線生成装置の機能構成例を示すブロック図である。
【
図2】対数美的曲線とその特徴量を説明するための図である。
【
図3】対数美的曲線に対するκグラフ、曲率対数グラフおよびαグラフの一例を示す図である。
【
図4】本実施形態による初期曲線設定部の具体的な機能構成例を示すブロック図である。
【
図5】本実施形態のサンプル点抽出部により抽出されるサンプル点の一例を示す図である。
【
図6】従来手法による対数美的曲線の近似曲線に対するκグラフ、曲率対数グラフおよびαグラフの一例を示す図である。
【
図7】本実施形態による曲線近似部の具体的な機能構成例を示すブロック図である。
【
図8】本実施形態による対数美的曲線の近似曲線生成装置の動作例を示すフローチャートである。
【
図9】本実施形態による対数美的曲線の近似曲線生成装置により生成される近似曲線に対するκグラフ、曲率対数グラフおよびαグラフの一例を示す図である。
【
図10】本実施形態のサンプル点抽出部により抽出されるサンプル点の他の例を示す図である。
【
図11】対数美的曲線とその特徴量を説明するための図である。
【
図12】本実施形態による対数美的曲線の近似曲線生成装置の他の機能構成例を示すブロック図である。
【
図13】本実施形態による初期曲線設定部の他の機能構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本実施形態による対数美的曲線の近似曲線生成装置1(以下、単に近似曲線生成装置1という)の機能構成例を示すブロック図である。
図1に示すように、本実施形態の近似曲線生成装置1は、機能構成として、パラメータ入力部11、初期曲線設定部12および曲線近似部13を備えている。本実施形態の近似曲線生成装置1は、最適化処理に基づきNURBS曲線C
Nにより対数美的曲線C
LAを近似するものである。
【0015】
これらの機能ブロック11~13は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記機能ブロック11~13は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記憶媒体に記憶されたプログラムが動作することによって実現される。
【0016】
パラメータ入力部11は、NURBS曲線C
Nで近似する対数美的曲線C
LAに関する3つの特徴量α,θ,Λをパラメータとして入力する。αは曲率対数グラフの傾きである。
図2は、対数美的曲線C
LAと特徴量θ,Λを説明するための図である。
図2において、xy座標平面上に表した対数美的曲線C
LAの始点P
sを原点、終点をP
eとし、||P
e-P
s||=1としたとき、θは対数美的曲線C
LA上の点P
eの接線とx軸とのなす角である。なお、
図2には、対数美的曲線C
LA上の各点の曲率κの大きさを曲率櫛の態様で図示している。
【0017】
対数美的曲線C
LAの曲率対数グラフは傾きαの直線を示し、以下の式(1a)で表される。ここで、sは弧長、ρは曲率半径(ρ=ds/dθ)である。また、曲率κ=1/ρを用いて式(1a)を置換すると、曲率対数グラフの直線式を表す次の式(1b)が得られる。さらに、式(1a)の式変形により、Λ=e
-cとして次の式(2)が得られる。cは曲率対数グラフのy切片である(
図3(b)参照)。Λは、
図2の中に記載されていないが、対数美的曲線C
LAとして取り出したい区間(始点P
sと終点P
eとの間)の始点を指定することに相当する。このΛは、α≠1のときは標準形の対数美的曲線(原点における始点P
sの接線がx軸方向かつρ=1の曲線)を回転およびスケール倍させるパラメータであり、α=1のときは曲線形状を変化させるパラメータである。
【0018】
【0019】
標準形の対数美的曲線の場合、式(2)を積分し曲率半径ρを曲率κに置き換えることによって次の式(3)が得られる。この式(3)のκ
-α(もしくはlogκ)を縦軸、弧長sを横軸とするグラフをκグラフと呼ぶ。また、式(1b)のlog(κ|ds/dκ|)を縦軸、-logκを横軸とするグラフを曲率対数グラフと呼ぶ。また、αとκとの間には次の式(4)が成り立つ。この式(4)のαを縦軸、弧長sを横軸とするグラフをαグラフと呼ぶ。
図3(a)~(c)は、対数美的曲線C
LAに対するκグラフ、曲率対数グラフおよびαグラフを例示した図であり、何れのグラフも直線となっている。
【0020】
【0021】
式(1b)および
図3(b)に示す曲率対数グラフの縦軸の値log(κ|ds/dκ|)は、κの1階微分を含む。κは曲線の2階微分で定義されるので、曲率対数グラフは曲線の3階微分に基づく。また、式(4)および
図3(c)に示す曲率対数グラフの傾きαは、κの2階微分を含む。よって、αグラフは曲線の4階微分に基づく。なお、本明細書において、4階微分を高階微分、4階未満の微分を低階微分とする。
【0022】
初期曲線設定部12は、パラメータ入力部11により入力された対数美的曲線C
LAの特徴量α,θ,Λを表すパラメータをもとに、最適化処理を行う際の初期曲線C
N
0を設定する。
図4は、本実施形態による初期曲線設定部12の具体的な機能構成例を示すブロック図である。
図4に示すように、本実施形態の初期曲線設定部12は、具体的な機能構成として、サンプル点抽出部12Aおよび初期曲線近似部12Bを備えている。
【0023】
サンプル点抽出部12Aは、パラメータ入力部11により入力された対数美的曲線CLAの特徴量α,θ,Λを表すパラメータをもとに、対数美的曲線CLA上の複数のサンプル点の座標値を計算する。実際の座標値は、積分形で与えられる対数美的曲線CLAに対する次の式(5)を数値積分して得ることができる。
【0024】
【0025】
ここで、サンプル点抽出部12AはN個のサンプル点の座標値を計算する。サンプル数Nは、あらかじめ決められた値でも良いし、パラメータとして入力するようにしてもよい。
【0026】
図5は、サンプル点抽出部12Aにより抽出した対数美的曲線C
LA上のサンプル点の例を示す図である。8個のサンプル点は、α=0、θ=70°の対数美的曲線C
LAに対して、式(5)でθを10°刻みで計算した例である。
【0027】
初期曲線近似部12Bは、サンプル点抽出部12Aにより抽出されたサンプル点を用いて、5次未満である低次のNURBS曲線CNLにより対数美的曲線CLAを近似する。この近似の詳細に関しては後述する。初期曲線近似部12Bは、求めた低次の近似曲線を初期曲線CN
0として設定する。なお、本明細書において、5次以上の次数を高次、5次未満の次数を低次とする。
【0028】
曲線近似部13は、初期曲線設定部12により設定された初期曲線CN
0を用いて、曲線の4階微分を含む式で定義されたαグラフによる目的関数を最小化するように最適化処理を行い、対数美的曲線CLAを高次のNURBS曲線CNHを使って高精度に近似する。高次の具体的な次数については、あらかじめ決めておいてもよいし、オペレータが自由に決められるようにしてもよい。
【0029】
以下に、本実施形態で用いる目的関数について詳述する。いま、曲線Cに対して、次の式(6a)~(6c)に示す3つの目的関数Φ(C)、Ψ(C)、Ω(C)を考える。これらは、それぞれ
図3(a)~(c)に示すκグラフ、曲率対数グラフ、αグラフの直線に対するN個のサンプル点の誤差を示す。なお、κグラフによる目的関数Φ(C)および曲率対数グラフによるΨ(C)は特許請求の範囲の「低階微分による目的関数」に相当し、αグラフによる目的関数Ω(C)は特許請求の範囲の「高階微分による目的関数」に相当する。
【0030】
【0031】
曲線Cが対数美的曲線CLAと厳密に一致するならば、3つの目的関数Φ(C)、Ψ(C)、Ω(C)に関して次の何れの条件も満足する。
条件LA0:Φ(CLA)=0(κグラフの直線性)
条件LA1:Ψ(CLA)=0(曲率対数グラフの直線性)
条件LA2:Ω(CLA)=0(αグラフの直線性)
【0032】
しかしながら、曲線Cが対数美的曲線CLAに等しくなければ、3つの目的関数Φ(C)、Ψ(C)、Ω(C)はどれも値がゼロにならない。つまり、NURBS曲線CNによって対数美的曲線CLAを高精度で近似するということは、3つの目的関数Φ(C)、Ψ(C)、Ω(C)がどれも十分小さな値となるようなNURBS曲線CNを求めるということを意味する。
【0033】
曲線Cが対数美的曲線CLAを十分に近似できているか否かを判断するために、従来から条件LA0や条件LA1が用いられてきた。これに対し、本発明者らは、条件LA0や条件LA1が十分に満足されている場合でも、条件LA2も十分に満足される訳ではないことを見出した。
【0034】
図6(a)~(c)は、従来の方法を用いて対数美的曲線C
LAをNURBS曲線C
Nで近似した場合のκグラフ、曲率対数グラフおよびαグラフの一例を示す図である。
図6(a)のκグラフは、条件LA
0を十分に満足するような直線グラフとなっているが、
図6(b)の曲率対数グラフと
図6(c)のαグラフは波打っており、それぞれ条件LA
1および条件LA
2を満足していない。本実施形態では、条件LA
2をできるだけ満たすように、すなわち、最適化手法で式(6c)の目的関数Ω(C)を最小化する曲線Cを対数美的曲線C
LAの近似曲線として求める。
【0035】
上述の初期曲線近似部12Bは、サンプル点抽出部12Aにより抽出されたサンプル点を用いて、例えば式(6a)に示すκグラフによる目的関数Φ(C)または式(6b)に示す曲率対数グラフによる目的関数Ψ(C)を最小化するように、低次のNURBS曲線CNLにより対数美的曲線CLAを近似する。初期曲線近似部12Bは、求めた低次の近似曲線を初期曲線CN
0として設定する。
【0036】
また、初期曲線近似部12Bは、次の式(7)で示すように、サンプル点抽出部12Aにより抽出されたN個のサンプル点を用いて、最小二乗法による近似(あるいは補間)によって得られるNURBS曲線CNを、低次のNURBS曲線CNLとして生成すようにしてもよい。ここで、tnは等分割点CLA(sn)への最近点CN(tn)となるパラメータ値である。最小二乗法による近似曲線を用いる場合、初期曲線近似部12Bは、式(7)で示される目的関数を最小化するように近似曲線を求め、求めた低次の近似曲線を初期曲線CN
0として設定する。
【0037】
【0038】
上述したように、曲線近似部13は、初期曲線設定部12により設定された初期曲線CN
0を用いて、αグラフによる目的関数Ω(C)を最小化するように最適化処理を行うことによって対数美的曲線CLAを近似する。
【0039】
αグラフの目的関数Ω(C)を用いて近似曲線の評価を行う場合、式(4)で示したように曲率対数グラフの傾きαは曲率κの2階微分を含むので、Bスプライン曲線で近似曲線を生成する場合にはセグメント間の連続性を保証するために、少なくともC4連続でなければならない。また、ベジエ曲線で近似曲線を生成する場合には高次式を用いることにより、近似のための形状表現の自由度が上がる。そうした理由から、本実施形態では、高次のNURBS曲線CNHによって近似計算を実行する。
【0040】
なお、近似曲線に用いる高次のNURBS曲線CNHの構成要素(制御点、ウェイト、ノットなど)は、汎用の最適化手法で求めることが可能である。ただし、高次であるほど構成要素の初期値の設定に自由度があり過ぎて、結果、局所解に陥り所望の解を得ることが難しくなる。これに対し、探索範囲を広くして最適化計算を実行すれば、局所解に陥るリスクを低減可能であるが、計算負荷が増大する。
【0041】
そこで、まず低次のNURBS曲線CNLを用いた最適化計算により近似曲線を求め、得られた曲線を次数上げし、その曲線の構成要素を高次のNURBS曲線CNHの初期値に設定して再度最適化計算による近似曲線の生成を行うようにしてもよい。また、4階微分値は曲線の構成要素の変化に敏感なため、4階微分を含むαグラフに基づいた最適化計算では、結果が初期値の違いに左右されるという問題が顕著に現れてしまうことから、より微分階数の低い低階微分による目的関数を最小化する最適化計算と高階微分による目的関数を最小化する最適化計算との2段階の評価を行うようにしてもよい。また、曲線の次数上げと低階微分および高階微分による2段階評価とを組み合わせて適用するようにしてもよい。なお、次数上げとは、曲線の形状はそのままに(曲線の座標値を変えずに)次数を上げる公知の処理をいう。
【0042】
図7は、曲線の次数上げと低階微分および高階微分の2段階評価とを組み合わせて適用した場合における曲線近似部13の具体的な機能構成例を示すブロック図である。
図7に示すように、曲線近似部13は、次数上げ部13A、低階微分による曲線近似部13Bおよび高階微分による曲線近似部13Cを備えている。
【0043】
図7に示す曲線近似部13は、初期曲線設定部12により生成された初期曲線C
N
0を最適化処理の初期値に設定し、初期設定された曲線の次数dが指定された高次の次数Dに達するまで次数上げ部13Aによる次数上げを順次行いながら、低階微分による曲線近似部13Bおよび高階微分による曲線近似部13Cによる最適化処理を繰り返し実行する。
【0044】
次数上げ部13Aは、初期曲線設定部12により設定された初期曲線CN
0または高階微分による曲線近似部13Cにより生成された近似曲線を次数上げする。すなわち、次数上げ部13Aは、最初の段階では初期曲線設定部12により設定された初期曲線CN
0を次数上げし、次以降の段階では高階微分による曲線近似部13Cにより生成された近似曲線を次数上げする。
【0045】
低階微分による曲線近似部13Bは、次数上げ部13Aの次数上げにより生成された曲線(低次または高次の近似曲線)の構成要素を最適化処理の初期値に設定して、式(6a)に示すκグラフによる目的関数Φ(C)、式(6b)に示す曲率対数グラフによる目的関数Ψ(C)、または式(7)に示す最小二乗法による目的関数を最小化するように、低次のNURBS曲線CNLまたは高次のNURBS曲線CNHにより対数美的曲線CLAを近似する。
【0046】
ここで、低階微分による曲線近似部13Bは、繰り返し処理の中で、低次のNURBS曲線CNLにより対数美的曲線CLAを近似することもあるし、高次のNURBS曲線CNHにより対数美的曲線CLAを近似することもある。すなわち、低階微分による曲線近似部13Bは、低次の近似曲線を最適化処理の初期値に設定する場合は、低階微分による目的関数を最小化するように低次のNURBS曲線CNLにより対数美的曲線CLAを近似する。一方、高次の近似曲線を最適化処理の初期値に設定する場合は、低階微分による目的関数を最小化するように高次のNURBS曲線CNHにより対数美的曲線CLAを近似する。
【0047】
例えば、初期曲線設定部12において3次のNURBS曲線CN3により低次の近似曲線CL3を近似してこれを初期曲線CN
0として設定した場合、次数上げ部13Aは、この初期曲線CN
0を3次から4次に次数上げする。そして、低階微分による曲線近似部13Bは、次数上げにより生成された曲線CL4を最適化処理の初期値に設定して、κグラフによる目的関数Φ(C)または曲率対数グラフによる目的関数Ψ(C)を最小化するように4次のNURBS曲線CN4により対数美的曲線CLAを近似する。
【0048】
2回目以降の繰り返し処理を実行する際は、次数上げ部13Aは1つ前の処理で生成された近似曲線を次数上げする。例えば、1つ前の処理で4次の近似曲線CL4が生成された場合、次数上げ部13Aは、この4次の近似曲線CL4を4次から5次に次数上げする。そして、低階微分による曲線近似部13Bは、次数上げにより生成された曲線CH5を最適化処理の初期値に設定して、κグラフによる目的関数Φ(C)または対数曲率グラフによる目的関数Ψ(C)を最小化するように5次のNURBS曲線CN5により対数美的曲線CLAを近似する。
【0049】
高階微分による曲線近似部13Cは、低階微分による曲線近似部13Bにより求められた近似曲線を最適化処理の初期値に設定して、式(6c)に示すαグラフによる目的関数Ω(C)を最小化するように、低次のNURBS曲線CNLまたは高次のNURBS曲線CNHにより対数美的曲線CLAを再近似する。
【0050】
ここで、高階微分による曲線近似部13Cは、繰り返し処理の中で、低次のNURBS曲線CNLにより対数美的曲線CLAを近似することもあるし、高次のNURBS曲線CNHにより対数美的曲線CLAを近似することもある。すなわち、高階微分による曲線近似部13Cは、低次の近似曲線を最適化処理の初期値に設定する場合は、高階微分による目的関数を最小化するように低次のNURBS曲線CNLにより対数美的曲線CLAを近似する。一方、高次の近似曲線を最適化処理の初期値に設定する場合は、高階微分による目的関数を最小化するように高次のNURBS曲線CNHにより対数美的曲線CLAを近似する。
【0051】
例えば、1回目の繰り返し処理で低階微分による曲線近似部13Bにより4次の近似曲線CL4が生成された場合、高階微分による曲線近似部13Cは、この4次の近似曲線CL4を最適化処理の初期値に設定して、αグラフによる目的関数Ω(C)を最小化するように4次のNURBS曲線CN4により対数美的曲線CLAを近似する。また、2回目の繰り返し処理において高階微分による曲線近似部13Cは、低階微分による曲線近似部13Bにより生成された5次の近似曲線CH5を最適化処理の初期値に設定して、αグラフによる目的関数Ω(C)を最小化するように5次のNURBS曲線CN5により対数美的曲線CLAを近似する。これにより、αグラフによる目的関数Ω(C)を最小化するように高次のNURBS曲線CNHにより対数美的曲線CLAを近似する曲線近似部13の処理が完了する。
【0052】
なお、7次のNURBS曲線CN7により対数美的曲線CLAを近似することが設定されている場合は、5次のNURBS曲線CN5による対数美的曲線CLAの近似が行われた後も、次数上げ部13A、低階微分による曲線近似部13Bおよび高階微分による曲線近似部13Cの繰り返し処理を引き続き実行する。ここで、5次から6次への次数上げを行わず、5次から7次への次数上げを行うようにしてもよい。
【0053】
図8は、以上のように構成した本実施形態による近似曲線生成装置1の動作例を示すフローチャートである。まず、パラメータ入力部11は、生成目標とする対数美的曲線C
LAに関する3つの特徴量α,θ,Λをパラメータとして入力する(ステップS1)。ここで、サンプル点の数Nおよび高次のNURBS曲線C
NHの次数Dをパラメータとして入力するようにしてもよい。
【0054】
次に、初期曲線設定部12のサンプル点抽出部12Aは、パラメータ入力部11により入力されたパラメータα,θ,Λをもとに、対数美的曲線CLA上のサンプル点の座標値を計算する(ステップS2)。
【0055】
次いで、初期曲線近似部12Bは、サンプル点抽出部12Aにより抽出されたサンプル点を用いて、低階微分による目的関数を最小化するように低次のNURBS曲線CNLにより対数美的曲線CLAを近似し、当該NURBS曲線CNLを初期曲線CN
0として設定する(ステップS3)。
【0056】
次に、次数上げ部13Aは、初期曲線近似部12Bにより生成された初期曲線CN
0または1つ前の繰り返し処理で生成された近似曲線を次数上げする(ステップS4)。そして、低階微分による曲線近似部13Bは、次数上げにより生成された曲線を最適化処理の初期値に設定して、低階微分による目的関数を最小化するようにNURBS曲線CNにより対数美的曲線CLAを近似する(ステップS5)。
【0057】
さらに、高階微分による曲線近似部13Cは、低階微分による曲線近似部13Bにより求められた近似曲線を最適化処理の初期値に設定して、高階微分による目的関数を最小化するようにNURBS曲線CNにより対数美的曲線CLAを再近似する(ステップS6)。
【0058】
その後、曲線近似部13は、ステップS4で行われた次数上げ後の次数dが、所定の次数Dになったか否かを判定する(ステップS7)。d<Dの場合、処理はステップS4に戻り、次数上げ部13A、低階微分による曲線近似部13Bおよび高階微分による曲線近似部13Cの繰り返し処理を引き続き実行する。一方、d=Dの場合、
図8に示すフローチャートの処理は終了する。
【0059】
以上詳しく説明したように、本実施形態では、生成目標とする対数美的曲線CLAの特徴量α,θ,Λを表す入力パラメータをもとに、当該対数美的曲線CLA上のサンプル点の座標値を求めた後、当該複数のサンプル点を用いて初期曲線CN
0を求め、当該初期曲線CN
0を最適化計算の初期値に設定して、αグラフの直線性を評価するために曲線の4階微分を含む式で定義された目的関数Ω(C)を最小化するように、高次のNURBS曲線CNHにより対数美的曲線CLAを近似する。
【0060】
このように構成した本実施形態によれば、対数美的曲線CLAの要件を満たすか否かの評価が曲線の4階微分を含む式で定義された目的関数Ω(C)を用いたαグラフの直線性に基づいて行われる。αグラフは対数曲率グラフの任意の点で傾きαとなっているか否かを示すことになるので、得られる近似曲線の評価を厳密に行える。これに合わせて、高次のNURBS曲線CNHにより対数美的曲線CLAの近似を行うことにより、近似精度の向上が見込まれ、Bスプライン曲線による近似ではαグラフの連続性も保証できる。その結果、本実施形態によれば、ベジエ曲線やBスプライン曲線などのNURBS曲線CNによる対数美的曲線CLAの高精度な近似が行える。
【0061】
図9(a)~(c)は、本実施形態の近似曲線生成装置1により生成した近似曲線に対するκグラフ、曲率対数グラフおよびαグラフを例示した図であり、何れのグラフも直線となっている。特に、
図6(b)と(c)では曲率対数グラフとαグラフが共に波打っているが、
図9(b)と(c)では波打ちが解消されて綺麗な直線グラフとなり、対数美的曲線C
LAを高精度に近似できていることを示している。
【0062】
また、本実施形態では、低次のNURBS曲線CNLを用いて最適化を行った後、次数上げしてその曲線の構成要素を高次のNURBS曲線CNHの初期値に設定して再度最適化を行うようにするとともに、曲線の低階微分による評価と高階微分による評価との2段階の最適化計算を行うようにしている。これにより、探索範囲を広くして最適化計算を実行しなくても、不適当な局所解に陥って所望の解が得られないというリスクを低減することができる。
【0063】
なお、上述した通り、低次のNURBS曲線CNLを用いて最適化を行った後に次数上げをして高次のNURBS曲線CNHを用いて再度最適化を行う処理のみを適用してもよいし、曲線の低階微分による最適化を行った後に高階微分による最適化を再度行う処理のみを適用してもよい。
【0064】
前者の場合、曲線近似部13は、低次のNURBS曲線CNLにより対数美的曲線CLAを近似した後、当該近似により求められた低次の近似曲線を次数上げし、当該次数上げにより生成された高次の近似曲線を最適化処理の初期値に設定して、高次のNURBS曲線CNHにより対数美的曲線CLAを再近似する。この場合、曲線近似部13は、低次のNURBS曲線CNLを用いる場合も高次のNURBS曲線CNHを用いる場合も、αグラフによる目的関数Ω(C)を最小化するように対数美的曲線CLAを近似する。
【0065】
後者の場合、曲線近似部13は、例えばκグラフ/対数曲率グラフによる目的関数Φ(C)/Ψ(C)を最小化するように対数美的曲線CLAを近似した後、当該近似により生成された近似曲線を最適化処理の初期値に設定して、αグラフによる目的関数Ω(C)を最小化するように対数美的曲線CLAを再近似する。この場合、曲線近似部13は、κグラフ/対数曲率グラフによる目的関数Φ(C)/Ψ(C)を用いる場合もαグラフによる目的関数Ω(C)を用いる場合も、高次のNURBS曲線CNHを用いて対数美的曲線CLAを近似する。
【0066】
なお、上記実施形態では、サンプル点抽出部12Aが式(5)により対数美的曲線CLA上のサンプル点の座標値を計算する例について説明したが、本発明はこれに限定されない。例えば、対数美的曲線CLAを弧長パラメータsで表した以下の式(8)によりサンプル点の座標値を計算してもよい。
【0067】
【0068】
図10は、式(8)に基づいて抽出したサンプル点の例を示す図である。
図10に示す対数美的曲線C
LAは
図5と同一の曲線で、α=0、θ=70°である。
図10に示すように、対数美的曲線C
LA上に等間隔でサンプル点を抽出できるため、曲線全体でバランスのとれた誤差評価が可能となる。
【0069】
また、上記実施形態では、パラメータ入力部11が対数美的曲線CLAに関する3つの特徴量α,θ,Λをパラメータとして入力する例について説明したが、本発明はこれに限定されない。ユーザによりイメージされた対数美的曲線CLAを生成するべく特徴量Λのパラメータを試行錯誤しながら入力するのは、煩雑な作業である。そこで、パラメータ入力部11が3つの特徴量α,θ,Λをパラメータとして入力することに代えて、3つの特徴量α,θd,θeをパラメータとして入力し、これらのパラメータからΛを計算するようにしてもよい。例えば、論文“Interactive Aesthetic Curve Segments”, The Visual Computer (Pacific Graphics), Vol. 22, No.9-11, pp.896-905, 2006.(Norimasa Yoshida,Takafumi Saito)に記載されている公知の2分法アルゴリズムによって、特徴量α,θd,θeからΛを計算することが可能である。
【0070】
図11は、特徴量θ
d,θ
eを説明するための図である。
図11に示すxy座標平面上において、P
sは対数美的曲線C
LAの始点、P
eは対数美的曲線C
LAの終点である。θ
dは||P
e-P
s||=1としたときにおける対数美的曲線C
LA上の点P
eの接線とx軸とのなす角であり、
図2に示したθと同値である。θ
eは対数美的曲線C
LAの始点P
sおよび終点P
eを結ぶ直線とx軸とのなす角である。
【0071】
また、上記実施形態では、初期曲線設定部12がサンプル点抽出部12Aおよび初期曲線近似部12Bを備え、対数美的曲線C
LAの特徴量α,θ,Λを表すパラメータをもとに、対数美的曲線C
LA上の複数のサンプル点の座標値を求めた後に、低次のNURBS曲線C
NLにより対数美的曲線C
LAを近似することによって初期曲線C
N
0を設定する例について説明したが、本発明はこれに限定されない。例えば、近似曲線生成装置1を
図12のように構成にしてもよい。
【0072】
図12に示す例において、近似曲線生成装置1は、
図1に示したパラメータ入力部11および初期曲線設定部12に代えて、パラメータ入力部11’および初期曲線設定部12’を備える。初期曲線設定部12’は
図13に示すように、具体的な機能構成として、初期曲線近似部12Cを備えている。
【0073】
パラメータ入力部11’は、NURBS曲線C
Nで近似する対数美的曲線C
LAの特徴量を表す4つのパラメータP
s,P
e,θ
d,θ
eを入力する(
図11参照)。
【0074】
初期曲線設定部12’の初期曲線近似部12Cは、パラメータ入力部11’により入力された4つのパラメータPs,Pe,θd,θeをもとに、曲線の両端点Ps,Peにおいて接線連続(G1連続)または曲率連続(G2連続)になるという拘束条件を満たすように、両端点Ps,Peの間の曲線を低次のNURBS曲線CNLにより近似することによって初期曲線CN
0を設定する。
【0075】
G1連続の条件を満たす次数D(≧3)のNURBS曲線CNは、次に示すM+1個の制御点を持つ。
P0=Ps
P1=Ps+ts(Pm-Pe)
Pi=(xi,yi)
PM-1=Pe+te(Pm-Pe)
PM=Pe
【0076】
ここで、ts,te(0≦ts, te≦1)とPi(i=2,・・・,M-2)は最適化計算で求める変数であり、最適値によるNURBS曲線CNが求める近似曲線となる。例えば、D=5のベジエ曲線の場合、求める変数はts,te,P2(x2,y2),P3(x3,y3)の計6個である。
【0077】
有理ベジエ曲線の場合は、各制御点Piの重みwiも決める必要がある。例えば、w0=wD=1とし、残りの重みを最適化変数に追加する。例えば、D=5の場合、求める変数はts,te,P2,P3,wi(i=1,2,3,4)の計10個である。G2連続の条件として両端点Ps,Peの曲率値κs
*,κe
*が指定されると、重み係数w1,wD-1は次の式(9)で与えられるため、求める変数は2つ減る。
【0078】
【0079】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0080】
1 近似曲線生成装置
11,11’ パラメータ入力部
12,12’ 初期曲線設定部
12A サンプル点抽出部
12B 初期曲線近似部
12C 初期曲線近似部
13 曲線近似部
13A 次数上げ部
13B 低階微分による曲線近似部
13C 高階微分による曲線近似部