(57)【要約】【課題】デザインに好適な曲線（美しい曲線、美的曲線）を簡易に生成すること。【解決手段】ＣＡＤシステム１は、曲線を含む線図形を示す図形情報の入力を受け付ける受付部１１と、その線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割部１２と、複数のセグメント情報のそれぞれを、曲率を用いて定義される関数により変換することで、各セグメント内の曲線を整形する第１整形部１３と、変換された複数のセグメント情報を、該セグメント情報で示されるセグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、複数のセグメントを更に整形する第２整形部１４と、整形された複数のセグメントから成る線図形を示す図形情報を出力する表示部１６と、を備える。
2009148157.tif 000002
【特許請求の範囲】
【請求項１】
曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、
前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、
前記複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、前記複数のセグメント情報を変換し、美的曲線を生成する第１整形手段と、
前記第１整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第２整形手段と、
前記第２整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、
を備える、美的曲線を生成する図形情報処理装置。
【請求項２】
前記第２整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第３整形手段を更に備え、
前記出力手段が、前記第３整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する、
請求項１に記載の、美的曲線を生成する図形情報処理装置。
【請求項３】
前記第２整形手段が、前記複数のセグメントのそれぞれにおける、端点の座標、端点での接線方向、及びセグメント内の曲線の曲がり具合を示す定数に基づいて、前記複数のセグメント情報を変換する、
請求項１又は２に記載の、美的曲線を生成する図形情報処理装置。
【請求項４】
前記第２整形手段が、前記複数のセグメントのそれぞれにおける端点の位置を固定しつつ該端点での接線方向を変化させるように前記複数のセグメント情報を変換する、
請求項３に記載の、美的曲線を生成する図形情報処理装置。
【請求項５】
前記受付手段が、前記線図形を示す点列データの入力を受け付ける、
請求項１〜４のいずれか一項に記載の、美的曲線を生成する図形情報処理装置。
【請求項６】
前記分割手段が、前記線図形の変曲点で該線図形を分割する、
請求項１〜５のいずれか一項に記載の、美的曲線を生成する図形情報処理装置。
【請求項７】
前記第１整形手段が、前記曲率半径または曲率を所定量だけシフトした値のべき乗が前記曲線長の一次関数で表されるように前記曲線を整形する、
請求項１〜６のいずれか一項に記載の、美的曲線を生成する図形情報処理装置。
【請求項８】
曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、
前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、
前記各セグメントを該セグメントの曲率に基づいて整形することで美的曲線を生成する第１整形手段と、
前記第１整形手段により整形された各セグメントを、該セグメントの端点における曲率に基づいて整形する第２整形手段と、
前記第２整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、
を備える、美的曲線を生成する図形情報処理装置。
【請求項９】
図形情報処理装置が、曲線を含む線図形を示す図形情報の入力を受け付ける受付ステップと、
前記図形情報処理装置が、前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割ステップと、
前記図形情報処理装置が、前記複数のセグメントに対して、前記各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、前記複数のセグメント情報を変換し、美的曲線を生成する第１整形ステップと、
前記図形情報処理装置が、前記第１整形ステップにおいて変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、前記第１整形ステップにおいて整形された複数のセグメントを整形する第２整形ステップと、
前記図形情報処理装置が、前記第２整形ステップにおいて整形された複数のセグメントから成る線図形の図形情報を出力する出力ステップと、
を含む、美的曲線を生成する図形情報処理方法。
【請求項１０】
曲線を含む線図形を示す図形情報の入力を受け付ける受付機能と、
前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割機能と、
前記複数のセグメントに対して、前記各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、前記複数のセグメント情報を変換し、美的曲線を生成する第１整形機能と、
前記第１整形機能により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第２整形機能と、
前記第２整形機能により整形された複数のセグメントから成る線図形の図形情報を出力する出力機能と、
をコンピュータに実行させる、美的曲線を生成する図形情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲線を含む線図形を生成若しくは修正する（美的曲線を生成する）図形情報処理装置、図形情報処理方法及び図形情報処理プログラムに関するものである。
【背景技術】
【０００２】
工業製品の設計、作画、グラフィックデザイン、フォント作成、あるいは手書き文字の入力などにおいて、自由曲線は基本的なデザイン要素である。その自由曲線を表現するために一般的に用いられている手法としては、ベジエ曲線やＮＵＲＢＳ（Non-Uniform Rational B-Spline）曲線が知られている（下記非特許文献１及び２参照）。これらの曲線は、スカラー変数ｔをパラメータとする多項式、あるいは分母又は分子を多項式とする有理式である。また、デザインの質を高め得る、整形された曲線（美しい曲線）に関する研究もなされている（下記非特許文献３参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Gerald Farin, Curves and Surfaces for CAGD, 5th Ed., Morgan Kaufmann, (2002)
【非特許文献２】Les Piegl, Wayne Tiller, The NURBS Book, 2nd Edition, Springer,(1997)
【非特許文献３】三浦憲二郎,“美しい曲線の一般式とその自己アフィン性,” 精密工学会誌Vol.72, No.7, pp.857-861, 2006
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ベジエ曲線やＮＵＲＢＳ曲線は曲率を陽的に制御しているわけではない。そのため、曲線の定義に用いる制御点の位置関係によっては曲率（曲率の逆数である曲率半径）が急に変化し、曲線の形状がデザイン上好ましくないものになることがある。例えば、手書きによる自由曲線の入力では手のブレが曲線の形状にそのまま若しくは間接的に反映されるため、上記非特許文献３に開示されているような、いわゆる美しい曲線を入力することが困難である。【０００５】
本発明は、上記課題を解決するためになされたものであり、デザインに好適な曲線（美しい曲線、美的曲線）を簡易に生成することが可能な図形情報処理装置、図形情報処理方法及び図形情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の美的曲線を生成する図形情報処理装置は、曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、複数のセグメント情報を変換し、美的曲線を生成する第１整形手段と、第１整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第２整形手段と、第２整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、を備える。【０００７】
また、本発明の美的曲線を生成する図形情報処理方法は、図形情報処理装置が、曲線を含む線図形を示す図形情報の入力を受け付ける受付ステップと、図形情報処理装置が、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割ステップと、図形情報処理装置が、複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、複数のセグメント情報を変換し、美的曲線を生成する第１整形ステップと、図形情報処理装置が、第１整形ステップにおいて変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、第１整形ステップにおいて整形された複数のセグメントを整形する第２整形ステップと、図形情報処理装置が、第２整形ステップにおいて整形された複数のセグメントから成る線図形の図形情報を出力する出力ステップと、を含む。【０００８】
また、本発明の美的曲線を生成する図形情報処理プログラムは、曲線を含む線図形を示す図形情報の入力を受け付ける受付機能と、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割機能と、複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、複数のセグメント情報を変換し、美的曲線を生成する第１整形機能と、第１整形機能により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第２整形機能と、第２整形機能により整形された複数のセグメントから成る線図形の図形情報を出力する出力機能と、をコンピュータに実行させる。【０００９】
本発明の図形情報処理装置では、受付手段が、線図形を示す点列データの入力を受け付けることが好ましい。【００１０】
本発明の図形情報処理装置では、第１整形手段が、曲率半径または曲率を所定量だけシフトした値のべき乗が曲線長の一次関数で表されるように曲線を整形することが好ましい。【００１１】
このような図形情報処理装置、図形情報処理方法及び図形情報処理プログラムによれば、まず、線図形を複数のセグメントに分割することで複数のセグメント情報が生成される。続いて、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、そのセグメント情報が変換される。続いて、互いに接続する二つのセグメントの端点での曲率の差が所定の閾値以下になるようにセグメント情報が変換される。この変換は各セグメントについて行われる。そして、これら二つの変換により整形された複数のセグメントから成る線図形を示す図形情報が出力される。このように、曲線の印象に直接的に影響を及ぼす曲率を用いて各セグメントを整形するとともに、セグメント同士が接続する接続点において曲率が連続するように線図形を整形することで、デザインに好適な曲線を簡易に生成できる。【００１２】
本発明の美的曲線を生成する図形情報処理装置は、曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、各セグメントを該セグメントの曲率に基づいて整形することで美的曲線を生成する第１整形手段と、第１整形手段により整形された各セグメントを、該セグメントの端点における曲率に基づいて整形する第２整形手段と、第２整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、を備える。【００１３】
このような図形情報処理装置によれば、線図形が複数のセグメントに分割され、それらのセグメントの曲率に基づいて各セグメントにおける曲線が整形される。続いて、互いに各セグメントの端点での曲率に基づいて各セグメントが整形される。そして、これら二つの変換により整形された複数のセグメントから成る線図形を示す図形情報が出力される。このように、曲線の印象に直接的に影響を及ぼす曲率を用いて各セグメントを整形することで、デザインに好適な曲線を簡易に生成できる。【００１４】
本発明の図形情報処理装置では、第２整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第３整形手段を更に備え、出力手段が、第３整形手段により整形された複数のセグメントから成る線図形の図形情報を出力することが好ましい。【００１５】
この場合、互いに接続する二つのセグメントの端点での曲率だけでなく、曲率の曲線長による微分値の差が所定の閾値以下になるようにセグメント情報が変換される。この変換は各セグメントについて行われる。そして、その変換により整形された複数のセグメントから成る線図形を示す図形情報が出力される。このように、セグメント間の曲率の連続性に加えて、上述した微分値の連続性も考慮して各セグメントを整形することで、よりデザインに好適な曲線を生成できる。【００１６】
本発明の図形情報処理装置では、第２整形手段が、複数のセグメントのそれぞれにおける、端点の座標、端点での接線方向、及びセグメント内の曲線の曲がり具合を示す定数に基づいて、複数のセグメント情報を変換することが好ましい。このように、曲線の曲がり具合に影響を与える情報に基づいてセグメント情報を変換することで、デザインに好適な曲線を生成できる。【００１７】
本発明の図形情報処理装置では、第２整形手段が、複数のセグメントのそれぞれにおける端点の位置を固定しつつ該端点での接線方向を変化させるように複数のセグメント情報を変換することが好ましい。一般に、線図形を構成するセグメントの端点の位置はその点での接線方向よりもデザイン上重要であると考えられる。したがって、各セグメントの端点の位置を固定しつつその端点の接線方向を変化させることで、線図形の印象を大きく変えることなくデザインに好適な曲線を生成できる。【００１８】
本発明の図形情報処理装置では、分割手段が、線図形の変曲点で該線図形を分割することが好ましい。このように、曲線の延びる方向が変化する点で図形を分割することにより、よりデザインに好適な曲線を生成できる。
【発明の効果】
【００１９】
このような図形情報処理装置、図形情報処理方法及び図形情報処理プログラムによれば、曲線を含む線図形を、曲率を直接的に用いて整形するので、デザインに好適な曲線を簡易に生成できる。
【図面の簡単な説明】
【００２０】
【図１】実施形態に係るＣＡＤシステムの機能構成を示す図である。
【図２】図１に示すＣＡＤシステムに入力される線図形の例を示す図である。
【図３】図２に示す曲線をB-splineに近似する例を示す図である。
【図４】図３に示すB-spline曲線を分割する例を示す図である。
【図５】二つの美的曲線セグメントを整形する例を示す図である。
【図６】方向角θと美的曲線の形状との関係を示す図である。
【図７】図６における曲率κの変化を示すグラフである。
【図８】図６における定数αの変化を示すグラフである。
【図９】セグメント情報の変換による曲率κの変化を示すグラフである。
【図１０】線図形の整形例を示す図である。
【図１１】図１０の線図形に対応する曲率κの推移を示すグラフである。
【図１２】図２に示す線図形の整形例を示す図であり、（ａ）が整形前、（ｂ）が整形後を示す図である。
【図１３】図１２に対応する曲率κの変化を示すグラフである。
【図１４】点列データが入力された場合の、図１に示すＣＡＤシステムの処理を示すフローチャートである。
【図１５】制御点データが入力された場合の、図１に示すＣＡＤシステムの処理を示すフローチャートである。
【図１６】図１に示すＣＡＤシステムによる整形例を示す図である。
【図１７】実施形態に係る図形情報処理プログラムの構成を示す図である。
【発明を実施するための形態】
【００２１】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２２】
まず、図１〜１３を用いて、本発明に係る図形情報処理装置を適用したＣＡＤ（Computer Aided Design）システム１の構成を説明する。
【００２３】
図１はＣＡＤシステム１の機能構成を示す図である。図２はＣＡＤシステム１に入力される線図形の例を示す図である。図３は図２に示す曲線をB-spline（Ｂスプライン）曲線に近似する例を示す図である。図４は図３に示すB-spline曲線を分割する例を示す図である。図５は二つの美的曲線セグメント（後述）の整形の例を示す図である。図６は方向角θと美的曲線の形状との関係を示す図である。図７は図６における曲率κの変化を示すグラフである。図８は図６における定数α（後述）の変化を示すグラフである。図９はセグメント情報の変換による曲率κの変化を示すグラフである。図１０は線図形の整形例を示す図である。図１１は図１０の線図形に対応する曲率κの推移を示すグラフである。図１２は図２に示す線図形の整形例を示す図である。図１３は図１２に対応する曲率κの変化を示すグラフである。
【００２４】
ＣＡＤシステム１は、平面上に表現された二次元モデル又は三次元モデルの図形を規定するデータを受け付け、そのデータで表現される図形を整形して出力するコンピュータシステムである。言い換えれば、ＣＡＤシステム１はデザインに好適な曲線を生成するコンピュータシステムである。
【００２５】
ＣＡＤシステム１の構成を具体的に説明する前に、そのＣＡＤシステム１により生成される、デザインに好適な曲線について説明する。
【００２６】
自由曲線は、単一のセグメント（パラメータｔを用いた一つの式で表現できる形状）、あるいは複数のセグメントにより表現される。
【００２７】
単一セグメントにおいては、そのセグメント内の曲線の曲がり具合を示す（曲線の印象を左右する）定数αが存在し、曲率半径のα乗を曲線長の一次関数で表すことにより曲線を定義すれば、デザインに好適な曲線（人が美しいと感じる曲線）が得られる。このとき、単一セグメントの曲率対数分布図における直線の傾きは上記定数αで表される。
【００２８】
曲線の曲線長（弧長、路長）をｓ、曲率半径をρとすると、曲率対数分布図の横軸はｌｏｇρ、縦軸はｌｏｇ（ｄｓ／ｄ（ｌｏｇρ））＝ｌｏｇ（ρｄｓ／ｄρ)となる。曲率対数分布図が直線で与えられることから、ある定数αが存在し、下記式が成り立つ。
【数１】
2009148157.tif 000003
【００２９】
なお、Ｃは定数である。上記式（１）を「美しい曲線の基本方程式」という。この式（１）を変形すると以下のようになる。
【数２】
2009148157.tif 000004
【００３０】
したがって、ある定数ｃ０が存在し、下記式が成り立つ。
【数３】
2009148157.tif 000005
【００３１】
上記式（３）より、α≠０であれば、美しい曲線の第１一般式（以下では単に「第１一般式」という）
【数４】
2009148157.tif 000006
が得られ、α＝０の場合には、美しい曲線の第２一般式（以下では単に「第２一般式」という）
【数５】
2009148157.tif 000007
が得られる。以下では、これら第１一般式又は第２一般式に従う曲線を美的曲線という。
【００３２】
それぞれが美的曲線である複数のセグメントを用いて一本の自由曲線を表現する場合、その自由曲線が以下の性質を有しているならばデザインに好適な曲線といえる。
１．セグメント間の接線が連続であること（以下「Ｇ１連続性」という）
２．セグメント間の端点での曲率（曲率半径）が一致していること（以下「Ｇ２連続性」という）
３．セグメント間の曲率の曲線長による微分値が一致していること（以下「Ｇ３連続性」という）
【００３３】
Ｇ２連続性はＧ１連続性が保証されていることを前提とし、Ｇ３連続性はＧ２連続性が保証されていることを前提とする。したがってＧ１連続性のみが保証されている曲線よりもＧ２連続性が保証されている曲線の方がよりデザインに好適であるといえ、更にＧ３連続性が保証されればよりデザインに好適であるといえる。
【００３４】
次に、ＣＡＤシステム１の構成を説明する。ＣＡＤシステム１は、機能的構成要素として受付部（受付手段）１１、分割部（分割手段）１２、第１整形部（第１整形手段）１３、第２整形部（第２整形手段）１４、第３整形部（第３整形手段）１５及び表示部（出力手段）１６を備えている。
【００３５】
受付部１１は、スタイラスペンを有するペンタブレットで構成される入力装置から入力された、曲線を含む線図形を示す図形情報を受け付ける手段である。線図形に含まれる曲線は限定されず、例えば自由曲線や円弧などでもよい。例えば、受付部１１は図２に示されるような線図形を示す図形情報を受け付ける。図形情報の形式としては、例えば、整形しようとする線図形を示す点列データや、生成しようとする線図形（曲線部分が美的曲線である線図形）を規定する制御点のデータ（以下「制御点データ」という）などが考えられる。入力装置の種類も限定されず、ペンタブレット以外にキーボードやマウスなどを用いて図形情報を入力してもよい。
【００３６】
受付部１１は受け付けた図形情報を分割部１２に出力する。もっとも、受付部１１は、図示しない記憶装置（例えばメモリやハードディスク）に図形情報を出力して記憶させてもよい。
【００３７】
分割部１２は、受付部１１により受け付けられた図形情報で示される線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する手段である。分割部１２は、受付部１１により受け付けられた図形情報をその受付部１１から受動的に取得するか、あるいは能動的に記憶装置から読み出すことで取得する。分割部１２は生成したセグメント情報を第１整形部１３に出力する。
【００３８】
まず、取得した図形情報が点列データである場合における線図形の分割について説明する。この場合、分割部１２はまず、最小自乗法を利用して、入力された線図形（点列）を代表的なパラメトリック曲線の一つであるB-spline曲線で近似する。
【００３９】
最小自乗法の目的関数Ｒは、入力された点列と、その点列に対応するB-spline曲線上の点列との距離の二乗和とする。この二乗和は下記式により得られる。
【数６】
2009148157.tif 000008
【００４０】
ここで、ｍは入力された点列に含まれる点の個数、Ｃｂ（ｔ）は生成すべきB-spline曲線、Ｑｉ（ｉ＝０，…，ｍ−１）は入力された点列の各点の座標、ｔｉはその点列の各点に対応するパラメータ値である。このパラメータ値ｔｉは、パラメータ区間（通常は０≦ｔ≦１）に応じて、点列の距離の総和に対するその点までの距離の和の割合である。上記式（６）はB-spline曲線の制御点に関する二次式となっているので、最小自乗法を用いてB-spline制御点の座標を決定できる。
【００４１】
B-spline曲線の形状を制御するためのパラメータは、B-spline曲線の次数と、セグメント数と、B-spline曲線の端点での拘束条件の三つである。
【００４２】
次数としては３を用いる。これは、入力された点列データで示される点列を通過する曲線の歪みエネルギを最小化する次数が３であることによる。
【００４３】
近似度を上げるためには（目的関数Ｒをより小さくするためには）、セグメント数を増加させればよい。しかし、セグメント数を増加させ過ぎると、例えばペン入力の際の手ブレの影響を受けやすくなり、その結果B-spline曲線がうねり易くなる。したがって、まずはセグメント数を１として近似し、目的関数Ｒが所定の閾値Ｒｔより小さくなるまでセグメント数を一つずつ増加させることで、最適なセグメント数を導出する。
【００４４】
端点での拘束条件としては、端点の座標、端点での接線ベクトル、及び自然終端条件（端点での曲率を０にすること）を指定することが可能である。これらの条件を定式化してラグランジュの未定乗数法を用いることで、これらの拘束条件を満足させることが可能になる。
【００４５】
このような近似手法を用いることにより、分割部１２は入力された点列データからB-spline曲線を示す近似データを生成する。続いて。分割部１２はその近似データで示されるB-spline曲線を複数のセグメントに分割する。以下では、分割部１２が用いる分割アルゴリズムについて詳述する。
【００４６】
美的曲線では曲率が単調増加または単調減少するが、B-spline曲線では曲率が増減するのが一般的である。したがって、B-spline曲線を美的曲線に整形するには、曲率の正負を区別し、曲率が極値（局地的な最大値若しくは最小値）になる点と変曲点とでB-spline曲線を分割する必要がある。ｎ次B-spline曲線の各セグメントは一本のｎ次ベジエ曲線と等価である。以下では特に、３次ベジエ曲線の変曲点及び極値を求める方法を説明する。
【００４７】
まず、変曲点について説明する。３次ベジエ曲線をＣ（ｔ）＝（ｘ（ｔ），ｙ（ｔ））（０≦ｔ≦１）とする。ｘ（ｔ）及びｙ（ｔ）のｔによる一次微分及び二次微分を
【数７】
2009148157.tif 000009
とし、
【数８】
2009148157.tif 000010
とすると、正負を考慮した曲率κ（ｔ）は次式で表される。
【数９】
2009148157.tif 000011
【００４８】
曲線が縮退していなければｆ（ｔ）≠０と仮定でき、曲率が０となるパラメータ値はｇ（ｔ）＝０を解くことにより得られる。ｇ（ｔ）はｔの３次式であるので解析的に解を求めることが可能である。
【００４９】
次に極値について説明する。曲率の極値は、ｄκ（ｔ）／ｄｔ＝０を満たすパラメータ値を求めることにより得られる。
【００５０】
まず、
【数１０】
2009148157.tif 000012
であり、曲率κ（ｔ）が０になる場合は変曲点であるので、
【数１１】
2009148157.tif 000013
を解けばよい。
【００５１】
ｆ（ｔ）が４次式であることからｈ（ｔ）は６次式となる。分割部１２はこの式の解を数値計算により導出する。例えば、分割部１２は、０から１の区間を等分割し、分割された各区間の両端点でのｈ（ｔ）の符号が異なる場合には、区間の中点を初期値とした上でニュートン法を用いて精度を高める。
【００５２】
分割部１２は、このような理論を規定したプログラムを用いて近似データで示されるB-spline曲線を複数のセグメントに分割し、分割されたセグメント（ベジエ曲線）を規定する係数をセグメント情報として生成する。
【００５３】
次に、取得した図形情報が制御点データである場合を説明する。この場合、分割部１２は制御点データに基づいて、複数のｎ次ベジエ曲線（例えば３次ベジエ曲線）から成る線図形を生成する。その後、図形情報が点列データである場合と同様に、その線図形における変曲点及び極値を求めることで線図形を複数のセグメントに分割する。このとき、分割部１２は複数のセグメントのそれぞれについて、そのセグメントを表すベジエ曲線を規定する係数をセグメント情報として生成する。
【００５４】
B-spline曲線から３次ベジエ曲線群への変換の一例を図３に示す。この図３において、破線Ｌinは入力された点列データで示される線図形、十字印ＰはB-spline曲線を生成するための制御点、一点鎖線Ｈは複数の制御点Ｐを結ぶ直線群、実線ＬＢはB-spline曲線である。図３で示されるB-spline曲線の分割例を図４に示す。図４における十字印Ｄは、B-spline曲線ＬＢの分割点である。
【００５５】
第１整形部１３は、分割部１２により生成された複数のセグメント情報のそれぞれを、曲率を用いて定義される関数により変換することで、各セグメントにおける曲線を整形する手段である。なお、セグメント内の曲線を整形するということは、セグメント内の曲線を美的曲線にすることを意味する。なお、本明細書では、美的曲線を含むセグメントを美的曲線セグメントと定義する。以下では第１一般式を満たす美的曲線セグメントについて説明するが、第２一般式についても同様の議論が成り立つ。
【００５６】
第１一般式（上記式（４））で示される美的曲線は、セグメントの始点の座標と、その始点での接線方向と、セグメントの全長ｓｌとを指定することにより一意に定まる。したがって、美的曲線セグメントを決定するパラメータは以下の７つである。
１．始点の座標（ｘ，ｙ）：パラメータ数＝２
２．始点での接線方向：パラメータ数＝１
３．セグメント（曲線）の曲がり具合を示す定数（曲率対数分布図における直線の傾き）α：パラメータ数＝１
４．積分定数ｃ０，ｃ１：パラメータ数＝２
５．全長ｓｌ：パラメータ数＝１
【００５７】
これら７つのパラメータは制御可能である。定数α、積分定数ｃ０，ｃ１及び全長ｓｌにより曲線の形状が定まり、更に始点の座標（ｘ，ｙ）及び始点での接線方向を考慮することで、形状が定まっている曲線の具体的な位置が定まる。例えば、セグメントの始点及び終点の座標と、各端点での接線方向とを指定した場合には拘束条件の数は６となるので、任意の定数αに対して曲率（曲線の形状）を一意に決定できる。
【００５８】
ここでは、セグメントの端点の一つが変曲点である場合の美的曲線の定式化について述べる。なお、両端点共に変曲点でない場合の定式化の詳細は、例えばN.Yoshida and T.Saito, Interactive Aesthetic Curve Segments, The Visual Computer (Pacific Graphics), Vol.22, No.9-11, pp.896-905, 2006に記載されている。
【００５９】
曲線長を有限とすると、美的曲線セグメントが変曲点をもつための必要十分条件は、曲率対数分布図における直線の傾きα＜０である。以下ではα＜０と仮定する。複素平面内において曲線長をｓ（＞０）とすると、美的曲線の第１一般式は次のように変形される。
【数１２】
2009148157.tif 000014
【００６０】
ここで、Ｐ０はセグメントの始点、ａ，ｂは定数、ｅibは始点での接線方向である。上記式（７）の標準形としてａ＞０に限定し、原点を始点とし、実軸の正方向を原点での接線方向とする曲線を考える。定数ａを変化させても曲線は相似となることからａ＝１とすると、上記式（７）は以下のようになる。
【数１３】
2009148157.tif 000015
【００６１】
上記式（８）で表される曲線の方向角θは
【数１４】
2009148157.tif 000016
であり、その曲線の曲率κは
【数１５】
2009148157.tif 000017
となる。
【００６２】
したがって、任意の負の値αに対して、ｓ＝０の場合にはκ＝０となるので、始点は変曲点である。曲線長ｓ及び方向角θを曲率κの関数で示すとそれぞれ以下のようになる。
【数１６】
2009148157.tif 000018
【００６３】
また、方向角θを用いて曲率κを表すと以下のようになる。
【数１７】
2009148157.tif 000019
【００６４】
美的曲線セグメントからなる線図形のＧ２連続性及びＧ３連続性を保証することを考えると、美的曲線セグメントの一端点を変曲点とすることはその一端点での曲率を０に指定することと等価であり、よって、一つの拘束条件を追加したことになる。したがって、例えば、セグメントの始点及び終点の座標と各端点での接線方向とを指定し、更に始点での曲率を０とすると、拘束条件の数が７になり、定数αを含む第１一般式のパラメータの数と一致する。したがって、曲率（曲線の形状）が一意に定まる。
【００６５】
このような理論に基づく美的曲線セグメントの具体的な生成方法は次の通りである。すなわち、第１整形部１３は、入力された複数のセグメント情報（ベジエ曲線を規定する係数）のそれぞれについて、そのセグメント情報で示されるセグメントの両端点での接線を算出し、続いて二つの接線の交点を算出する。続いて第１整形部１３は、ベジエ曲線から曲率対数分布図上の点を離散的に算出し、最小自乗法を用いて各点に近似する直線の傾きαを算出する。このとき、第１整形部１３は微分を用いない数値解法により最適な定数αを算出してもよい。
【００６６】
続いて、第１整形部１３は算出されたαと、両端点の情報と、交点の情報と、上記式（４），（７）〜（１０）とを用いて、両端の位置及び各端点での接線方向が元のベジエ曲線に一致する美的曲線セグメントを生成する。なお、式（４）は曲率を用いて定義される関数である。式（４）からは、セグメントの曲率半径のべき乗がそのセグメントの曲線長の一次関数で示されることがわかる。式（７）〜（１０）は式（４）から派生する関数である。これにより、入力されたセグメント情報が、それら式（４），（７）〜（１０）を規定したプログラムにより変換され、美的曲線セグメントを示すセグメント情報（始点の座標、始点での接線方向、定数α、曲線長ｓ、曲率κ及び方向角θを含む情報）が生成される。このとき、方向角θは式（９）により、曲率κは式（１０）によりそれぞれ導出される。
【００６７】
第１整形部１３は各セグメントに対してこのような美的曲線セグメントの生成を実行する。これにより、互いに接続する美的曲線セグメントの接続点における接線は連続になるが、その接続点における曲率は不連続となる。
【００６８】
第２整形部１４は、第１整形部１３により変換された複数のセグメント情報を、該セグメント情報で示されるセグメント（美的曲線セグメント）の一端点での曲率と該一端点に接続している他のセグメント（美的曲線セグメント）の一端点での曲率との差が所定の閾値以下になるように変換することで、第１整形部１３により整形された複数の美的曲線セグメントを整形する手段である。すなわち、第２整形部１４は美的セグメント間のＧ２連続性を保証する手段である。第２整形部１４は変換されたセグメント情報を第３整形部１５に出力する。
【００６９】
Ｇ２連続性を保証しつつ二つの美的曲線セグメントを接続する場合のパラメータ数は、各セグメントにおけるパラメータ数の合計なので１４である。これに対し、拘束条件の数は以下の通り１０である。
１．第１セグメントの始点の座標及び始点での接線方向：拘束条件数＝３
２．第２セグメントの終点の座標及び終点での接線方向：拘束条件数＝３
３．第１セグメントと第２セグメントとの接続点において、第１セグメントの端点（始点ではない端点）と第２セグメントの端点（終点ではない端点）との間で位置、接線方向、及び曲率が一致すること：拘束条件数＝４
【００７０】
これらに加えて、第１セグメント及び第２セグメントにおいて定数αを指定可能とすれば、拘束条件数は２つ追加される。
【００７１】
したがって、パラメータ数１４に対して拘束条件数は１２であり、拘束条件を更に２つ追加する必要がある。例えば、接続点の座標を指定したり、接続点をある線上に限定した上で接線方向を具体的に指定したりすることで、拘束条件を２つ追加できる。
【００７２】
Ｇ２連続性を保証しつつ三つ以上の美的曲線セグメントを接続する場合のパラメータ数は、ｎ個のセグメントのパラメータ数の合計なので７ｎ個である。一方、拘束条件の数は以下の通りである。
１．第１セグメントの始点の座標及び始点での接線方向：拘束条件数＝３
２．第ｎセグメントの終点の座標及び終点での接線方向：拘束条件数＝３
３．第ｉセグメント第ｉ＋１セグメントとの接続点において、第ｉセグメントの一端点と第ｉ＋１セグメントの一端点との間で位置、接線方向、及び曲率が一致すること：拘束条件数＝４（ｎ−１）
【００７３】
これらに加えて、各セグメントにおける定数α（拘束条件数はｎ）と各接続点の座標（拘束条件数は２（ｎ−１））を指定すると、拘束条件数は３＋３＋４（ｎ−１）＋ｎ＋２（ｎ−１）＝７ｎとなり、一意に曲線の形状を設定できる。
【００７４】
２つの美的曲線セグメント間の曲率を連続にするための変形を説明する。端点が変曲点でない場合には、曲線の曲がり方向（左曲がり又は右曲がり）は変化せず、単一セグメント内では曲率が単調増加又は単調減少するので、２つの美的曲線セグメントから成る線図形の両端点において曲率の符号は一致する。これら両端点の位置（座標）と各端点での接線方向とを指定した場合には、２次ベジエ曲線の定義と同様に、順序付けられた３点を制御点として曲線を指定できる。
【００７５】
この場合、線図形の両端点での曲率の大小は制御点間の距離に依存する。すなわち、任意の定数αに対して、第１制御点と第２制御点との距離ｄ１が第２制御点と第３制御点との距離ｄ２よりも大きければ終点側の曲率が大きく（曲率半径が小さく）なり、距離ｄ１が距離ｄ２よりも小さければ始点側の曲率が大きく（曲率半径が小さく）なる。距離ｄ１と距離ｄ２とが等しければ、２個の美的曲線セグメントから成る線図形は円弧となる。
【００７６】
図５は、破線で示される二つの美的曲線セグメントＳ１及びＳ２から構成される線図形を示す図である。この線図形の始点ＰＳ及び終点ＰＥは変曲点である。
【００７７】
美的曲線セグメントを生成するために定数αを含めてすべてのパラメータを用いているので、二つの美的曲線セグメントＳ１，Ｓ２間の曲率を連続にするためには、各美的曲線セグメントＳ１，Ｓ２の制御点ＣＰ１及びＣＰ２の位置を変化させる必要がある。できるだけ元の形状を維持する方法として、次の二つの方法が考えられる。
１．二つのセグメントが接続する接続点（二つのセグメントで共通の端点）ＰＣを移動させる（この場合、変更可能なパラメータ数は２）
２．接続点ＰＣの位置を固定しつつその接続点ＰＣの接線方向を変化させる（この場合、変更可能なパラメータ数は１）
【００７８】
通常、接続点ＰＣの位置は接続点ＰＣでの接線方向よりもデザイン上重要と考えられるので、接続点ＰＣを移動させるよりも接線方向を変化させる方が好ましいといえる。したがって本実施形態では、接続点ＰＣの位置を固定しつつその接続点ＰＣでの接線方向を変化させる手法について説明する。
【００７９】
一端点が変曲点である左曲がり（右曲がり）の美的曲線セグメントにおいては、方向角θに対して端点での曲率が単調に増加（減少）する。図６は、座標（０，０）を変曲点である一端点Ｐｉとし、他方の端点Ｐｊの座標を（√２＋１，１）とし、方向角θを５０〜１３０°に変化させて生成した美的曲線セグメント群を示している。図７はその方向角θに対する曲率κの推移を示すグラフであり、横軸が方向角θ、縦軸が曲率κである。図８は方向角θに対する定数αの推移を示すグラフであり、横軸が方向角θ、縦軸が定数αである。これら図６〜８で示されるように、方向角θの増加に対して曲率κ及び定数αは共に増加している。
【００８０】
定性的にこれら三つの変数θ，κ，αの関係が保たれているならば、図５に示す美的曲線セグメントＳ１の曲率が美的曲線セグメントＳ２の曲率よりも相対的に小さいので（図９の破線ＫＡを参照）、図５のように接続点ＰＣを中心に左回りに方向角を回転させることにより、美的曲線セグメントＳ１の曲率を増加させ、美的曲線セグメントＳ２の曲率を減少させることができ、これらの曲率を二分法により高速に一致させることが可能である（図９実線ＫＢを参照）。このとき、美的曲線セグメントＳ１及びＳ２は、図５の実線Ｓ１´及びＳ２´で示すように整形される。
【００８１】
一端点が変曲点である２つの美的曲線セグメントからなる線図形では、端点での曲率が０に固定されているので、変曲点において他の美的曲線セグメントに接続していても、変形による曲率の変化は２つのセグメント内に限定され、曲率の連続性に影響を与えない。しかし、端点が変曲点でない場合には、一端点での曲率の連続性を保証するための変形が他端点での曲率の大きさを変化させることになり、他端点における曲率の連続性が損なわれてしまう。
【００８２】
したがって、セグメント間の方位角を変数とし、目的関数を各セグメント間の曲率の差の２乗とし、Powell法のような目的関数の微分を必要としない数値的な最適化手法を用いることが望ましい。しかしながら、一般的に数値的な最適化手法は処理が遅く、さらに目的関数の微分が求められない場合には処理速度は非常に遅くなる。そこで、接続点において互いに接続する美的曲線セグメントを回転させる手法（図５参照）を曲率の差の大きいセグメント間に順次適用し、すべてのセグメント間の曲率の差が所定の閾値以下に収束したら美的曲線セグメントの変換を終了する手法を用いる。第２整形部１４は入力されたセグメント情報をこのような変換処理を規定するプログラムにより変換し、変換後のセグメント情報を第３整形部１５に出力する。
【００８３】
この手法による線図形の整形例を図１０に示す。図１０において、線図形ＬＥ及び線図形ＬＥの制御点を結ぶ補助線ＨＥは整形前の状態を示しており、線図形ＬＥ´及び線図形ＬＥ´の制御点を結ぶ補助線ＨＥ´は整形後の状態を示している。このとき、図１１に示すように、線図形ＬＥの曲率分布ＫＥは実線ＫＥ´で示すように変わる。このことは、すべての美的曲線セグメント間で曲率が連続しＧ２連続性が保証されたことを意味する。なお、図１１のグラフの縦軸は曲率κであり、横軸はパラメータｔである。
【００８４】
図１２（ａ）は、図２に示す線図形と同様のものであり、図１２（ｂ）は、その線図形の各セグメントを美的曲線に整形し、更にＧ２連続性を保証させた整形後の線図形である。また、図１３に、図１２（ａ）に示す線図形に基づいて生成したB-spline曲線の曲率、変曲点、及び曲率の極値と、図１２（ｂ）に示す整形後の線図形の曲率を示す。なお、図１３のグラフの縦軸は曲率κであり、横軸はパラメータｔである。図１３において、実線Ｋｉは美的曲線の曲率を示し、破線ＫｊはB-spline曲線の曲率を示している。十字印Ｐｒで示される点は変曲点であり、ｘ印で示される点Ｐｓは曲率が極値となる点であり、＊印で示される点ＰｔはB-splineセグメントの端点である。B-spline曲線の場合は端点Ｐｒ，Ｐｓ付近の曲率がなだらかに変化しているのに対し、美的曲線ではそれら端点Ｐｒ，Ｐｓ付近の曲率が瞬間的に変化している。
【００８５】
第３整形部１５は、第２整形部１４により変換された複数のセグメント情報を、該セグメント情報で示されるセグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、第２整形部１４により整形された複数のセグメントを整形する手段である。すなわち、第３整形部１５は美的セグメント間のＧ３連続性を保証する手段である。第３整形部１５は変換されたセグメント情報（Ｇ３連続性を満たす線図形を構成するセグメント情報）を表示部１６に出力する。
【００８６】
Ｇ３連続性を保証することができれば、隣接する２本のセグメントに対して符号の異なる定数αを指定することで複合リズム曲線を生成することができる。なお、複合リズム曲線とは、互いに異なる定数αを有する複数のセグメントから成り、且つＧ３連続性が保証されている曲線のことである。
【００８７】
２つの美的曲線セグメント間のＧ３連続性を保証する場合のパラメータ数は、２本のセグメントのパラメータ数を合計した１４である。これに対し、拘束条件数は以下の１１である。
１．第１セグメントの始点の座標及び始点での接線方向：拘束条件数＝３
２．第２セグメントの終点の座標及び終点での接線方向：拘束条件数＝３
３．互いに接続する、第１セグメントの端点（始点ではない端点）と第２セグメントの端点（終点ではない端点）との間で、座標、接線方向、曲率、及びその曲率の微分値が一致すること：拘束条件数＝５
【００８８】
さらに、第１セグメント及び第２セグメントそれぞれにおける定数αを指定可能とすると、拘束条件数は更に２つ追加される。したがって、パラメータ数１４に対して拘束条件数は１３であり、拘束条件を更に一つ追加する必要がある。このために、例えば、接続点での接線方向を具体的に指定することが考えられる。
【００８９】
例として、４個の制御点で複合リズム曲線を生成することを考える。まず、４個の制御点により両端点の座標及び接線方向を指定する。これに加えて、接続点での接線方向として第２制御点から第３制御点への方向を指定すると、パラメータ数と拘束条件数が一致し、一意に曲線の形状を決定できる。
【００９０】
ｎ（ｎ≧３）個の美的曲線セグメントに対してＧ３連続性を保証しつつ接続する場合のパラメータ数は、ｎ個のセグメントのパラメータ数の合計である７ｎである。これに対し、拘束条件の数は以下の通りである。
１．第１セグメントの始点の座標及び始点での接線方向：拘束条件数＝３
２．第ｎセグメントの終点の座標及び終点での接線方向：拘束条件数＝３
３．互いに接続する第ｉセグメントの一端点と第ｉ＋１セグメントの一端点との間で、座標、接線方向、曲率、及びその曲率の微分値が一致すること：拘束条件数＝５（ｎ−１）
【００９１】
これらに加えて、各セグメントの定数α（拘束条件数はｎ）と、各接続点での接線方向（拘束条件数はｎ−１)とを指定すると、拘束条件数は３＋３＋５（ｎ−１）＋ｎ＋（ｎ−１）＝７ｎとなり、一意に曲線の形状を決定することができる。例えば、２個のセグメントを指定するために４個の制御点を用いたように、ｎ個のセグメントを指定するためにｎ＋２個の制御点を用いることを考え、それらの制御点をベジエ曲線あるいは３次B-spline曲線の制御点とした上で、接続点での接線方向を決定できる。
【００９２】
なお、第３整形部１５は、セグメント間の曲率の微分値を一致させる場合に、すべてのセグメント間の曲率の微分値の差が所定の閾値以下に収束したらセグメント情報の変換を終了する手法を用いてもよい。
【００９３】
表示部１６は、第３整形部１５により整形された複数のセグメントから成る線図形を示す図形情報をモニタやプリンタなどに出力する手段である。具体的には、表示部１６は第３整形部１５から入力された複数のセグメント情報（セグメントの始点の座標、その始点での接線方向、セグメントの曲線長、曲率及び方向角）に基づいて、整形された線図形を示す点列データを生成する。これにより、ＣＡＤシステム１のユーザは整形された線図形（複数の美的曲線セグメントから成る線図形）を視認できる。
【００９４】
次に、図１４及び１５を用いて、図１に示すＣＡＤシステム１の処理を説明するとともに本実施形態に係る図形情報処理方法について説明する。図１４は点列データが入力された場合の処理を示すフローチャートであり、図１５は制御点データが入力された場合の処理を示すフローチャートである。
【００９５】
まず、図１４を参照しながら、線図形を示す点列データが入力された場合の処理を説明する。この場合には、まず、受付部１１が点列データを受け付ける（ステップＳ１１、受付ステップ）。続いて、分割部１２がその点列データで示される線図形に近似するB-spline曲線を生成し（ステップＳ１２）、そのB-spline曲線を複数のセグメントに分割する（ステップＳ１３、分割ステップ）。続いて、第１整形部１３が曲率対数分布図の直線の傾きαを算出し（ステップＳ１４）、算出したαに基づいて、各セグメントについて美的曲線セグメントを生成する（ステップＳ１５、第１整形ステップ）。
【００９６】
続いて、第２整形部１４が、隣接する美的曲線セグメントの接続点における二端点の曲率の差が所定の閾値以下になるように（好ましくは二つの曲率を一致させるように）各セグメントを変換する（ステップＳ１６、第２整形ステップ）。これにより、美的曲線セグメント間のＧ２連続性が保証される。
【００９７】
続いて、第３整形部１５が、隣接する美的曲線セグメントの接続点における二端点の曲率の曲線長による微分値が所定の閾値以下になるように（好ましくは二つの微分値を一致させるように）各セグメントを変換する（ステップＳ１７）。これにより、美的曲線セグメント間のＧ３連続性が保証される。そして最後に、表示部１６が整形された線図形（美的曲線を含む線図形）を表示する（ステップＳ１８、出力ステップ）。
【００９８】
次に、図１５を参照しながら、線図形を示す制御点データが入力された場合の処理を説明する。この場合には、まず、受付部１１が制御点データを受け付ける（ステップＳ２１、受付ステップ）。更に受付部１１は、曲率対数分布図の直線の傾きαも受け付ける（ステップＳ２２）。続いて、分割部がその制御点データに基づいて複数のセグメントを設定する（ステップＳ２３、分割ステップ）。その後に行われるステップＳ２４〜Ｓ２７の処理は、図１４におけるステップＳ１５〜Ｓ１８の処理と同様である。
【００９９】
以上説明したように、本実施形態によれば、曲線の印象に直接的に影響を及ぼす曲率を直接的に用いて各セグメントを整形するとともに、セグメント同士が接続する接続点において曲率が連続するように線図形を整形することで、デザインに好適な曲線を簡易に生成できる。
【０１００】
従来、例えば図１６に示される車体などの複雑なデザインの修正は、オペレータが線図形を直接編集することで行われており多大な労力と時間が掛かっていた。これに対し、本実施形態では、ＣＡＤシステム１が手書き入力された線図形（破線Ｌ参照）の手ブレを自動的に除去して整形するので（実線Ｌ´参照）、非常に短時間でデザインを修正できる。なお、このような線図形の生成あるいは修正は、車体デザインに限らず、様々な物品のデザインやグラフィックデザインに対して適用可能である。
【０１０１】
また本実施形態では、セグメント間の曲率の連続性に加えて、曲率の曲線長による微分値の連続性も考慮して各セグメントを整形することで、よりデザインに好適な曲線を生成できる。
【０１０２】
また本実施形態では、曲線の曲がり具合に影響を与える情報（各セグメントの端点の座標、その端点での接線方向、及び定数α）に基づいてセグメント情報を変換することで、デザインに好適な曲線を生成できる。
【０１０３】
また本実施形態では、各セグメントの端点の位置を固定しつつその端点の接線方向を変化させることでＧ２連続性を保証するので、線図形の印象を大きく変えることなくデザインに好適な曲線を生成できる。
【０１０４】
引き続いて、上述した一連の図形情報処理をコンピュータに実行させるための図形情報処理プログラムを説明する。図１７に示すように、図形情報処理プログラム８１は、コンピュータが備える記録媒体８０に形成されたプログラム格納領域８０ａ内に格納されている。
【０１０５】
図形情報処理プログラム８１は、上述した一連の図形情報処理を統括的に制御するメインモジュール８１０と、受付モジュール８１１と、分割モジュール８１２と、第１整形モジュール８１３と、第２整形モジュール８１４と、第３整形モジュール８１５と、表示モジュール８１６とを備えて構成される。受付モジュール８１１、分割モジュール８１２、第１整形モジュール８１３、第２整形モジュール８１４、第３整形モジュール８１５、及び表示モジュール８１６を実行させることにより実現される機能は、上述したＣＡＤシステム１の受付部１１、分割部１２、第１整形部１３、第２整形部１４、第３整形部１５及び表示部１６の機能とそれぞれ同様である。
【０１０６】
なお、図形情報処理プログラム８１は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録（インストールを含む）される構成としてもよい。
【０１０７】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
【０１０８】
上記実施形態では、表示部１６はＧ３連続性が保証された線図形を出力したが、第２整形部１４から出力された図形情報を出力することで、Ｇ２連続性のみが保証された線図形を出力してもよい。
【０１０９】
上記実施形態では、第１整形部１３が上記式（４），（５）で示される美的曲線を生成したが、第１整形手段は他の式で示される美的曲線を生成してもよい。以下では、一般化コルニュらせん（generalized Cornu spiral：ＧＣＳ）の性質に基づく美的曲線の生成の理論を説明する。
【０１１０】
曲線長がｓであるＧＣＳの曲率半径ρ（ｓ）は下記式（１１）で表される。
【数１８】
2009148157.tif 000020
ただし、ｐ，ｑ，ｒ，Ｓは定数であり、ｐ，ｑ，ｒ＞−１、Ｓ＞０である。式（１１）は、ｑ＝０であれば対数らせんに関する式となり、ｒ＝０であればクロソイド曲線に関する式となる。
【０１１１】
ｅ＝ｒ／ｑ、ｆ＝Ｓ−ｐｒ／ｑとすると、上記式（１１）は以下のように変形される。
【数１９】
2009148157.tif 000021
【０１１２】
よって、下記式（１２）が成立する。
【数２０】
2009148157.tif 000022
ただし、ｃ＝ｑ／ｆ、ｄ＝ｐ／ｆである。したがって、ρ（ｓ）に対して所定量ｅだけシフトした値は曲線長ｓの１次式で与えられる。式（１２）に定数αを導入すると下記式（１３）が成立する。
【数２１】
2009148157.tif 000023
【０１１３】
上記式（１３）より、パラメータｅが曲率半径ρのシフト量であること、及び、曲率半径を所定量だけシフトした値のべき乗が曲線長の一次関数で表されることが分かる。
【０１１４】
曲率半径ρの逆数である曲率κ（ｓ）についても同様に拡張でき、下記式（１４）が成立する。
【数２２】
2009148157.tif 000024
【０１１５】
第１整形手段は、各パラメータｅ，ｃ，ｄの入力を受け付けて、上記式（１３）又は式（１４）で示される美的曲線を生成してもよい。ここで、上記式（１４）より、方向角θ（ｓ）は次式で表される。なお、α≠０，１と仮定する。
【数２３】
2009148157.tif 000025
この式は解析的に積分可能であり、以下のように変形できる。
【数２４】
2009148157.tif 000026
したがって、方向角θ（ｓ）を数値積分で求める必要がなく、処理速度の点で有利である。
【符号の説明】
【０１１６】
１…ＣＡＤシステム（美的曲線を生成する図形情報処理装置）、１１…受付部（受付手段）、１２…分割部（分割手段）、１３…第１整形部（第１整形手段）、１４…第２整形部（第２整形手段）、１５…第３整形部（第３整形手段）、１６…表示部（出力手段）、８１…図形情報処理プログラム、８１０…メインモジュール、８１１…受付モジュール、８１２…分割モジュール、８１３…第１整形モジュール、８１４…第２整形モジュール、８１５…第３整形モジュール、８１６…表示モジュール
【図１】
2009148157.tif 000027
【図２】
2009148157.tif 000028
【図３】
2009148157.tif 000029
【図４】
2009148157.tif 000030
【図５】
2009148157.tif 000031
【図６】
2009148157.tif 000032
【図７】
2009148157.tif 000033
【図８】
2009148157.tif 000034
【図９】
2009148157.tif 000035
【図１０】
2009148157.tif 000036
【図１１】
2009148157.tif 000037
【図１２】
2009148157.tif 000038
【図１３】
2009148157.tif 000039
【図１４】
2009148157.tif 000040
【図１５】
2009148157.tif 000041
【図１６】
2009148157.tif 000042
【図１７】
2009148157.tif 000043
【国際調査報告】
2009148157.tif 000044
2009148157.tif 000045