TOP > 国内特許検索 > 美的曲線を生成する図形情報処理装置、図形情報処理方法及び図形情報処理プログラム > 明細書

明細書 :美的曲線を生成する図形情報処理装置、図形情報処理方法及び図形情報処理プログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5177771号 (P5177771)
登録日 平成25年1月18日(2013.1.18)
発行日 平成25年4月10日(2013.4.10)
発明の名称または考案の名称 美的曲線を生成する図形情報処理装置、図形情報処理方法及び図形情報処理プログラム
国際特許分類 G06T  11/20        (2006.01)
G06F  17/50        (2006.01)
FI G06T 11/20 110P
G06F 17/50 620A
請求項の数または発明の数 9
全頁数 25
出願番号 特願2010-515940 (P2010-515940)
出願日 平成21年6月5日(2009.6.5)
国際出願番号 PCT/JP2009/060365
国際公開番号 WO2009/148157
国際公開日 平成21年12月10日(2009.12.10)
優先権出願番号 2008148495
優先日 平成20年6月5日(2008.6.5)
優先権主張国 日本国(JP)
審査請求日 平成24年5月25日(2012.5.25)
特許権者または実用新案権者 【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
発明者または考案者 【氏名】三浦 憲二郎
個別代理人の代理人 【識別番号】100088155、【弁理士】、【氏名又は名称】長谷川 芳樹
【識別番号】100108257、【弁理士】、【氏名又は名称】近藤 伊知良
【識別番号】100124800、【弁理士】、【氏名又は名称】諏澤 勇司
【識別番号】100144440、【弁理士】、【氏名又は名称】保坂 一之
審査官 【審査官】岡本 俊威
参考文献・文献 三浦憲二郎,八木麻里子,川田洋平,藤澤誠 ,変曲点を端点とする美的曲線セグメントの入力とG2連続性を保証する美的曲線の生成法,Visual Computing グラフィクスとCAD 合同シンポジウム2007 予稿集,日本,画像電子学会 ,社団法人情報処理学会,2007年,p297-302
八木麻理子,川田洋平,藤澤誠,三浦憲二郎,ペンタブレット入力による美的曲線の生成,CGAC2007,日本,芸術科学会,2007年 3月23日
調査した分野 G06T 11/00-11/80
G06F 17/50
特許請求の範囲 【請求項1】
曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、
前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、
前記複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、前記複数のセグメント情報を変換し、美的曲線を生成する第1整形手段と、
前記第1整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第2整形手段と、
前記第2整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第3整形手段と、
前記第3整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、
を備える、美的曲線を生成する図形情報処理装置。
【請求項2】
前記第2整形手段が、前記複数のセグメントのそれぞれにおける、端点の座標、端点での接線方向、及びセグメント内の曲線の曲がり具合を示す定数に基づいて、前記複数のセグメント情報を変換する、
請求項1に記載の、美的曲線を生成する図形情報処理装置。
【請求項3】
前記第2整形手段が、前記複数のセグメントのそれぞれにおける端点の位置を固定しつつ該端点での接線方向を変化させるように前記複数のセグメント情報を変換する、
請求項2に記載の、美的曲線を生成する図形情報処理装置。
【請求項4】
前記受付手段が、前記線図形を示す点列データの入力を受け付ける、
請求項1~3のいずれか一項に記載の、美的曲線を生成する図形情報処理装置。
【請求項5】
前記分割手段が、前記線図形の変曲点で該線図形を分割する、
請求項1~4のいずれか一項に記載の、美的曲線を生成する図形情報処理装置。
【請求項6】
前記第1整形手段が、前記曲率半径または曲率を所定量だけシフトした値のべき乗が前記曲線長の一次関数で表されるように前記曲線を整形する、
請求項1~5のいずれか一項に記載の、美的曲線を生成する図形情報処理装置。
【請求項7】
曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、
前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、
前記各セグメントを該セグメントの曲率に基づいて整形することで美的曲線を生成する第1整形手段と、
前記第1整形手段により整形された各セグメントを、該セグメントの端点における曲率に基づいて整形する第2整形手段と、
前記第2整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第3整形手段と、
前記第3整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、
を備える、美的曲線を生成する図形情報処理装置。
【請求項8】
図形情報処理装置が、曲線を含む線図形を示す図形情報の入力を受け付ける受付ステップと、
前記図形情報処理装置が、前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割ステップと、
前記図形情報処理装置が、前記複数のセグメントに対して、前記各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、前記複数のセグメント情報を変換し、美的曲線を生成する第1整形ステップと、
前記図形情報処理装置が、前記第1整形ステップにおいて変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、前記第1整形ステップにおいて整形された複数のセグメントを整形する第2整形ステップと、
前記図形情報処理装置が、前記第2整形ステップにおいて変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第3整形ステップと、
前記図形情報処理装置が、前記第3整形ステップにおいて整形された複数のセグメントから成る線図形の図形情報を出力する出力ステップと、
を含む、美的曲線を生成する図形情報処理方法。
【請求項9】
曲線を含む線図形を示す図形情報の入力を受け付ける受付機能と、
前記線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割機能と、
前記複数のセグメントに対して、前記各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、前記複数のセグメント情報を変換し、美的曲線を生成する第1整形機能と、
前記第1整形機能により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第2整形機能と、
前記第2整形機能により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、前記複数のセグメントを整形する第3整形機能と、
前記第3整形機能により整形された複数のセグメントから成る線図形の図形情報を出力する出力機能と、
をコンピュータに実行させる、美的曲線を生成する図形情報処理プログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、曲線を含む線図形を生成若しくは修正する(美的曲線を生成する)図形情報処理装置、図形情報処理方法及び図形情報処理プログラムに関するものである。
【背景技術】
【0002】
工業製品の設計、作画、グラフィックデザイン、フォント作成、あるいは手書き文字の入力などにおいて、自由曲線は基本的なデザイン要素である。その自由曲線を表現するために一般的に用いられている手法としては、ベジエ曲線やNURBS(Non-Uniform Rational B-Spline)曲線が知られている(下記非特許文献1及び2参照)。これらの曲線は、スカラー変数tをパラメータとする多項式、あるいは分母又は分子を多項式とする有理式である。また、デザインの質を高め得る、整形された曲線(美しい曲線)に関する研究もなされている(下記非特許文献3参照)。
【先行技術文献】
【0003】

【非特許文献1】Gerald Farin, Curves and Surfaces for CAGD, 5th Ed., Morgan Kaufmann, (2002)
【非特許文献2】Les Piegl, Wayne Tiller, The NURBS Book, 2nd Edition, Springer,(1997)
【非特許文献3】三浦憲二郎,“美しい曲線の一般式とその自己アフィン性,” 精密工学会誌Vol.72, No.7, pp.857-861, 2006
【発明の概要】
【発明が解決しようとする課題】
【0004】
ベジエ曲線やNURBS曲線は曲率を陽的に制御しているわけではない。そのため、曲線の定義に用いる制御点の位置関係によっては曲率(曲率の逆数である曲率半径)が急に変化し、曲線の形状がデザイン上好ましくないものになることがある。例えば、手書きによる自由曲線の入力では手のブレが曲線の形状にそのまま若しくは間接的に反映されるため、上記非特許文献3に開示されているような、いわゆる美しい曲線を入力することが困難である。
【0005】
本発明は、上記課題を解決するためになされたものであり、デザインに好適な曲線(美しい曲線、美的曲線)を簡易に生成することが可能な図形情報処理装置、図形情報処理方法及び図形情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の美的曲線を生成する図形情報処理装置は、曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、複数のセグメント情報を変換し、美的曲線を生成する第1整形手段と、第1整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第2整形手段と、第2整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第3整形手段と、第3整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、を備える。
【0007】
また、本発明の美的曲線を生成する図形情報処理方法は、図形情報処理装置が、曲線を含む線図形を示す図形情報の入力を受け付ける受付ステップと、図形情報処理装置が、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割ステップと、図形情報処理装置が、複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、複数のセグメント情報を変換し、美的曲線を生成する第1整形ステップと、図形情報処理装置が、第1整形ステップにおいて変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、第1整形ステップにおいて整形された複数のセグメントを整形する第2整形ステップと、図形情報処理装置が、第2整形ステップにおいて変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第3整形ステップと、図形情報処理装置が、第3整形ステップにおいて整形された複数のセグメントから成る線図形の図形情報を出力する出力ステップと、を含む。
【0008】
また、本発明の美的曲線を生成する図形情報処理プログラムは、曲線を含む線図形を示す図形情報の入力を受け付ける受付機能と、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割機能と、複数のセグメントに対して、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、複数のセグメント情報を変換し、美的曲線を生成する第1整形機能と、第1整形機能により変換された複数のセグメント情報を、セグメントの一端点での曲率と該一端点に接続している他のセグメントの一端点での曲率との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第2整形機能と、第2整形機能により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第3整形機能と、第3整形機能により整形された複数のセグメントから成る線図形の図形情報を出力する出力機能と、をコンピュータに実行させる。
【0009】
本発明の図形情報処理装置では、受付手段が、線図形を示す点列データの入力を受け付けることが好ましい。
【0010】
本発明の図形情報処理装置では、第1整形手段が、曲率半径または曲率を所定量だけシフトした値のべき乗が曲線長の一次関数で表されるように曲線を整形することが好ましい。
【0011】
このような図形情報処理装置、図形情報処理方法及び図形情報処理プログラムによれば、まず、線図形を複数のセグメントに分割することで複数のセグメント情報が生成される。続いて、各セグメントの曲率半径または曲率のべき乗が該セグメントの曲線長の一次関数で表されるように各セグメントにおける曲線を整形することで、そのセグメント情報が変換される。続いて、互いに接続する二つのセグメントの端点での曲率の差が所定の閾値以下になるようにセグメント情報が変換される。この変換は各セグメントについて行われる。そして、これら二つの変換により整形された複数のセグメントから成る線図形を示す図形情報が出力される。このように、曲線の印象に直接的に影響を及ぼす曲率を用いて各セグメントを整形するとともに、セグメント同士が接続する接続点において曲率が連続するように線図形を整形することで、デザインに好適な曲線を簡易に生成できる。
【0012】
本発明の美的曲線を生成する図形情報処理装置は、曲線を含む線図形を示す図形情報の入力を受け付ける受付手段と、線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する分割手段と、各セグメントを該セグメントの曲率に基づいて整形することで美的曲線を生成する第1整形手段と、第1整形手段により整形された各セグメントを、該セグメントの端点における曲率に基づいて整形する第2整形手段と、第2整形手段により変換された複数のセグメント情報を、セグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、複数のセグメントを整形する第3整形手段と、第3整形手段により整形された複数のセグメントから成る線図形の図形情報を出力する出力手段と、を備える。
【0015】
この場合、互いに接続する二つのセグメントの端点での曲率だけでなく、曲率の曲線長による微分値の差が所定の閾値以下になるようにセグメント情報が変換される。この変換は各セグメントについて行われる。そして、その変換により整形された複数のセグメントから成る線図形を示す図形情報が出力される。このように、セグメント間の曲率の連続性に加えて、上述した微分値の連続性も考慮して各セグメントを整形することで、よりデザインに好適な曲線を生成できる。
【0016】
本発明の図形情報処理装置では、第2整形手段が、複数のセグメントのそれぞれにおける、端点の座標、端点での接線方向、及びセグメント内の曲線の曲がり具合を示す定数に基づいて、複数のセグメント情報を変換することが好ましい。このように、曲線の曲がり具合に影響を与える情報に基づいてセグメント情報を変換することで、デザインに好適な曲線を生成できる。
【0017】
本発明の図形情報処理装置では、第2整形手段が、複数のセグメントのそれぞれにおける端点の位置を固定しつつ該端点での接線方向を変化させるように複数のセグメント情報を変換することが好ましい。一般に、線図形を構成するセグメントの端点の位置はその点での接線方向よりもデザイン上重要であると考えられる。したがって、各セグメントの端点の位置を固定しつつその端点の接線方向を変化させることで、線図形の印象を大きく変えることなくデザインに好適な曲線を生成できる。
【0018】
本発明の図形情報処理装置では、分割手段が、線図形の変曲点で該線図形を分割することが好ましい。このように、曲線の延びる方向が変化する点で図形を分割することにより、よりデザインに好適な曲線を生成できる。
【発明の効果】
【0019】
このような図形情報処理装置、図形情報処理方法及び図形情報処理プログラムによれば、曲線を含む線図形を、曲率を直接的に用いて整形するので、デザインに好適な曲線を簡易に生成できる。
【図面の簡単な説明】
【0020】
【図1】実施形態に係るCADシステムの機能構成を示す図である。
【図2】図1に示すCADシステムに入力される線図形の例を示す図である。
【図3】図2に示す曲線をB-splineに近似する例を示す図である。
【図4】図3に示すB-spline曲線を分割する例を示す図である。
【図5】二つの美的曲線セグメントを整形する例を示す図である。
【図6】方向角θと美的曲線の形状との関係を示す図である。
【図7】図6における曲率κの変化を示すグラフである。
【図8】図6における定数αの変化を示すグラフである。
【図9】セグメント情報の変換による曲率κの変化を示すグラフである。
【図10】線図形の整形例を示す図である。
【図11】図10の線図形に対応する曲率κの推移を示すグラフである。
【図12】図2に示す線図形の整形例を示す図であり、(a)が整形前、(b)が整形後を示す図である。
【図13】図12に対応する曲率κの変化を示すグラフである。
【図14】点列データが入力された場合の、図1に示すCADシステムの処理を示すフローチャートである。
【図15】制御点データが入力された場合の、図1に示すCADシステムの処理を示すフローチャートである。
【図16】図1に示すCADシステムによる整形例を示す図である。
【図17】実施形態に係る図形情報処理プログラムの構成を示す図である。
【発明を実施するための形態】
【0021】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。

【0022】
まず、図1~13を用いて、本発明に係る図形情報処理装置を適用したCAD(Computer Aided Design)システム1の構成を説明する。

【0023】
図1はCADシステム1の機能構成を示す図である。図2はCADシステム1に入力される線図形の例を示す図である。図3は図2に示す曲線をB-spline(Bスプライン)曲線に近似する例を示す図である。図4は図3に示すB-spline曲線を分割する例を示す図である。図5は二つの美的曲線セグメント(後述)の整形の例を示す図である。図6は方向角θと美的曲線の形状との関係を示す図である。図7は図6における曲率κの変化を示すグラフである。図8は図6における定数α(後述)の変化を示すグラフである。図9はセグメント情報の変換による曲率κの変化を示すグラフである。図10は線図形の整形例を示す図である。図11は図10の線図形に対応する曲率κの推移を示すグラフである。図12は図2に示す線図形の整形例を示す図である。図13は図12に対応する曲率κの変化を示すグラフである。

【0024】
CADシステム1は、平面上に表現された二次元モデル又は三次元モデルの図形を規定するデータを受け付け、そのデータで表現される図形を整形して出力するコンピュータシステムである。言い換えれば、CADシステム1はデザインに好適な曲線を生成するコンピュータシステムである。

【0025】
CADシステム1の構成を具体的に説明する前に、そのCADシステム1により生成される、デザインに好適な曲線について説明する。

【0026】
自由曲線は、単一のセグメント(パラメータtを用いた一つの式で表現できる形状)、あるいは複数のセグメントにより表現される。

【0027】
単一セグメントにおいては、そのセグメント内の曲線の曲がり具合を示す(曲線の印象を左右する)定数αが存在し、曲率半径のα乗を曲線長の一次関数で表すことにより曲線を定義すれば、デザインに好適な曲線(人が美しいと感じる曲線)が得られる。このとき、単一セグメントの曲率対数分布図における直線の傾きは上記定数αで表される。

【0028】
曲線の曲線長(弧長、路長)をs、曲率半径をρとすると、曲率対数分布図の横軸はlogρ、縦軸はlog(ds/d(logρ))=log(ρds/dρ)となる。曲率対数分布図が直線で与えられることから、ある定数αが存在し、下記式が成り立つ。
【数1】
JP0005177771B2_000002t.gif

【0029】
なお、Cは定数である。上記式(1)を「美しい曲線の基本方程式」という。この式(1)を変形すると以下のようになる。
【数2】
JP0005177771B2_000003t.gif

【0030】
したがって、ある定数cが存在し、下記式が成り立つ。
【数3】
JP0005177771B2_000004t.gif

【0031】
上記式(3)より、α≠0であれば、美しい曲線の第1一般式(以下では単に「第1一般式」という)
【数4】
JP0005177771B2_000005t.gif
が得られ、α=0の場合には、美しい曲線の第2一般式(以下では単に「第2一般式」という)
【数5】
JP0005177771B2_000006t.gif
が得られる。以下では、これら第1一般式又は第2一般式に従う曲線を美的曲線という。

【0032】
それぞれが美的曲線である複数のセグメントを用いて一本の自由曲線を表現する場合、その自由曲線が以下の性質を有しているならばデザインに好適な曲線といえる。
1.セグメント間の接線が連続であること(以下「G連続性」という)
2.セグメント間の端点での曲率(曲率半径)が一致していること(以下「G連続性」という)
3.セグメント間の曲率の曲線長による微分値が一致していること(以下「G連続性」という)

【0033】
連続性はG連続性が保証されていることを前提とし、G連続性はG連続性が保証されていることを前提とする。したがってG連続性のみが保証されている曲線よりもG連続性が保証されている曲線の方がよりデザインに好適であるといえ、更にG連続性が保証されればよりデザインに好適であるといえる。

【0034】
次に、CADシステム1の構成を説明する。CADシステム1は、機能的構成要素として受付部(受付手段)11、分割部(分割手段)12、第1整形部(第1整形手段)13、第2整形部(第2整形手段)14、第3整形部(第3整形手段)15及び表示部(出力手段)16を備えている。

【0035】
受付部11は、スタイラスペンを有するペンタブレットで構成される入力装置から入力された、曲線を含む線図形を示す図形情報を受け付ける手段である。線図形に含まれる曲線は限定されず、例えば自由曲線や円弧などでもよい。例えば、受付部11は図2に示されるような線図形を示す図形情報を受け付ける。図形情報の形式としては、例えば、整形しようとする線図形を示す点列データや、生成しようとする線図形(曲線部分が美的曲線である線図形)を規定する制御点のデータ(以下「制御点データ」という)などが考えられる。入力装置の種類も限定されず、ペンタブレット以外にキーボードやマウスなどを用いて図形情報を入力してもよい。

【0036】
受付部11は受け付けた図形情報を分割部12に出力する。もっとも、受付部11は、図示しない記憶装置(例えばメモリやハードディスク)に図形情報を出力して記憶させてもよい。

【0037】
分割部12は、受付部11により受け付けられた図形情報で示される線図形を複数のセグメントに分割し、該複数のセグメントに対応する複数のセグメント情報を生成する手段である。分割部12は、受付部11により受け付けられた図形情報をその受付部11から受動的に取得するか、あるいは能動的に記憶装置から読み出すことで取得する。分割部12は生成したセグメント情報を第1整形部13に出力する。

【0038】
まず、取得した図形情報が点列データである場合における線図形の分割について説明する。この場合、分割部12はまず、最小自乗法を利用して、入力された線図形(点列)を代表的なパラメトリック曲線の一つであるB-spline曲線で近似する。

【0039】
最小自乗法の目的関数Rは、入力された点列と、その点列に対応するB-spline曲線上の点列との距離の二乗和とする。この二乗和は下記式により得られる。
【数6】
JP0005177771B2_000007t.gif

【0040】
ここで、mは入力された点列に含まれる点の個数、C(t)は生成すべきB-spline曲線、Q(i=0,…,m-1)は入力された点列の各点の座標、tはその点列の各点に対応するパラメータ値である。このパラメータ値tは、パラメータ区間(通常は0≦t≦1)に応じて、点列の距離の総和に対するその点までの距離の和の割合である。上記式(6)はB-spline曲線の制御点に関する二次式となっているので、最小自乗法を用いてB-spline制御点の座標を決定できる。

【0041】
B-spline曲線の形状を制御するためのパラメータは、B-spline曲線の次数と、セグメント数と、B-spline曲線の端点での拘束条件の三つである。

【0042】
次数としては3を用いる。これは、入力された点列データで示される点列を通過する曲線の歪みエネルギを最小化する次数が3であることによる。

【0043】
近似度を上げるためには(目的関数Rをより小さくするためには)、セグメント数を増加させればよい。しかし、セグメント数を増加させ過ぎると、例えばペン入力の際の手ブレの影響を受けやすくなり、その結果B-spline曲線がうねり易くなる。したがって、まずはセグメント数を1として近似し、目的関数Rが所定の閾値Rより小さくなるまでセグメント数を一つずつ増加させることで、最適なセグメント数を導出する。

【0044】
端点での拘束条件としては、端点の座標、端点での接線ベクトル、及び自然終端条件(端点での曲率を0にすること)を指定することが可能である。これらの条件を定式化してラグランジュの未定乗数法を用いることで、これらの拘束条件を満足させることが可能になる。

【0045】
このような近似手法を用いることにより、分割部12は入力された点列データからB-spline曲線を示す近似データを生成する。続いて。分割部12はその近似データで示されるB-spline曲線を複数のセグメントに分割する。以下では、分割部12が用いる分割アルゴリズムについて詳述する。

【0046】
美的曲線では曲率が単調増加または単調減少するが、B-spline曲線では曲率が増減するのが一般的である。したがって、B-spline曲線を美的曲線に整形するには、曲率の正負を区別し、曲率が極値(局地的な最大値若しくは最小値)になる点と変曲点とでB-spline曲線を分割する必要がある。n次B-spline曲線の各セグメントは一本のn次ベジエ曲線と等価である。以下では特に、3次ベジエ曲線の変曲点及び極値を求める方法を説明する。

【0047】
まず、変曲点について説明する。3次ベジエ曲線をC(t)=(x(t),y(t))(0≦t≦1)とする。x(t)及びy(t)のtによる一次微分及び二次微分を
【数7】
JP0005177771B2_000008t.gif
とし、
【数8】
JP0005177771B2_000009t.gif
とすると、正負を考慮した曲率κ(t)は次式で表される。
【数9】
JP0005177771B2_000010t.gif

【0048】
曲線が縮退していなければf(t)≠0と仮定でき、曲率が0となるパラメータ値はg(t)=0を解くことにより得られる。g(t)はtの3次式であるので解析的に解を求めることが可能である。

【0049】
次に極値について説明する。曲率の極値は、dκ(t)/dt=0を満たすパラメータ値を求めることにより得られる。

【0050】
まず、
【数10】
JP0005177771B2_000011t.gif
であり、曲率κ(t)が0になる場合は変曲点であるので、
【数11】
JP0005177771B2_000012t.gif
を解けばよい。

【0051】
f(t)が4次式であることからh(t)は6次式となる。分割部12はこの式の解を数値計算により導出する。例えば、分割部12は、0から1の区間を等分割し、分割された各区間の両端点でのh(t)の符号が異なる場合には、区間の中点を初期値とした上でニュートン法を用いて精度を高める。

【0052】
分割部12は、このような理論を規定したプログラムを用いて近似データで示されるB-spline曲線を複数のセグメントに分割し、分割されたセグメント(ベジエ曲線)を規定する係数をセグメント情報として生成する。

【0053】
次に、取得した図形情報が制御点データである場合を説明する。この場合、分割部12は制御点データに基づいて、複数のn次ベジエ曲線(例えば3次ベジエ曲線)から成る線図形を生成する。その後、図形情報が点列データである場合と同様に、その線図形における変曲点及び極値を求めることで線図形を複数のセグメントに分割する。このとき、分割部12は複数のセグメントのそれぞれについて、そのセグメントを表すベジエ曲線を規定する係数をセグメント情報として生成する。

【0054】
B-spline曲線から3次ベジエ曲線群への変換の一例を図3に示す。この図3において、破線Linは入力された点列データで示される線図形、十字印PはB-spline曲線を生成するための制御点、一点鎖線Hは複数の制御点Pを結ぶ直線群、実線LはB-spline曲線である。図3で示されるB-spline曲線の分割例を図4に示す。図4における十字印Dは、B-spline曲線Lの分割点である。

【0055】
第1整形部13は、分割部12により生成された複数のセグメント情報のそれぞれを、曲率を用いて定義される関数により変換することで、各セグメントにおける曲線を整形する手段である。なお、セグメント内の曲線を整形するということは、セグメント内の曲線を美的曲線にすることを意味する。なお、本明細書では、美的曲線を含むセグメントを美的曲線セグメントと定義する。以下では第1一般式を満たす美的曲線セグメントについて説明するが、第2一般式についても同様の議論が成り立つ。

【0056】
第1一般式(上記式(4))で示される美的曲線は、セグメントの始点の座標と、その始点での接線方向と、セグメントの全長sとを指定することにより一意に定まる。したがって、美的曲線セグメントを決定するパラメータは以下の7つである。
1.始点の座標(x,y):パラメータ数=2
2.始点での接線方向:パラメータ数=1
3.セグメント(曲線)の曲がり具合を示す定数(曲率対数分布図における直線の傾き)α:パラメータ数=1
4.積分定数c,c:パラメータ数=2
5.全長s:パラメータ数=1

【0057】
これら7つのパラメータは制御可能である。定数α、積分定数c,c及び全長sにより曲線の形状が定まり、更に始点の座標(x,y)及び始点での接線方向を考慮することで、形状が定まっている曲線の具体的な位置が定まる。例えば、セグメントの始点及び終点の座標と、各端点での接線方向とを指定した場合には拘束条件の数は6となるので、任意の定数αに対して曲率(曲線の形状)を一意に決定できる。

【0058】
ここでは、セグメントの端点の一つが変曲点である場合の美的曲線の定式化について述べる。なお、両端点共に変曲点でない場合の定式化の詳細は、例えばN.Yoshida and T.Saito, Interactive Aesthetic Curve Segments, The Visual Computer (Pacific Graphics), Vol.22, No.9-11, pp.896-905, 2006に記載されている。

【0059】
曲線長を有限とすると、美的曲線セグメントが変曲点をもつための必要十分条件は、曲率対数分布図における直線の傾きα<0である。以下ではα<0と仮定する。複素平面内において曲線長をs(>0)とすると、美的曲線の第1一般式は次のように変形される。
【数12】
JP0005177771B2_000013t.gif

【0060】
ここで、Pはセグメントの始点、a,bは定数、eibは始点での接線方向である。上記式(7)の標準形としてa>0に限定し、原点を始点とし、実軸の正方向を原点での接線方向とする曲線を考える。定数aを変化させても曲線は相似となることからa=1とすると、上記式(7)は以下のようになる。
【数13】
JP0005177771B2_000014t.gif

【0061】
上記式(8)で表される曲線の方向角θは
【数14】
JP0005177771B2_000015t.gif
であり、その曲線の曲率κは
【数15】
JP0005177771B2_000016t.gif
となる。

【0062】
したがって、任意の負の値αに対して、s=0の場合にはκ=0となるので、始点は変曲点である。曲線長s及び方向角θを曲率κの関数で示すとそれぞれ以下のようになる。
【数16】
JP0005177771B2_000017t.gif

【0063】
また、方向角θを用いて曲率κを表すと以下のようになる。
【数17】
JP0005177771B2_000018t.gif

【0064】
美的曲線セグメントからなる線図形のG連続性及びG連続性を保証することを考えると、美的曲線セグメントの一端点を変曲点とすることはその一端点での曲率を0に指定することと等価であり、よって、一つの拘束条件を追加したことになる。したがって、例えば、セグメントの始点及び終点の座標と各端点での接線方向とを指定し、更に始点での曲率を0とすると、拘束条件の数が7になり、定数αを含む第1一般式のパラメータの数と一致する。したがって、曲率(曲線の形状)が一意に定まる。

【0065】
このような理論に基づく美的曲線セグメントの具体的な生成方法は次の通りである。すなわち、第1整形部13は、入力された複数のセグメント情報(ベジエ曲線を規定する係数)のそれぞれについて、そのセグメント情報で示されるセグメントの両端点での接線を算出し、続いて二つの接線の交点を算出する。続いて第1整形部13は、ベジエ曲線から曲率対数分布図上の点を離散的に算出し、最小自乗法を用いて各点に近似する直線の傾きαを算出する。このとき、第1整形部13は微分を用いない数値解法により最適な定数αを算出してもよい。

【0066】
続いて、第1整形部13は算出されたαと、両端点の情報と、交点の情報と、上記式(4),(7)~(10)とを用いて、両端の位置及び各端点での接線方向が元のベジエ曲線に一致する美的曲線セグメントを生成する。なお、式(4)は曲率を用いて定義される関数である。式(4)からは、セグメントの曲率半径のべき乗がそのセグメントの曲線長の一次関数で示されることがわかる。式(7)~(10)は式(4)から派生する関数である。これにより、入力されたセグメント情報が、それら式(4),(7)~(10)を規定したプログラムにより変換され、美的曲線セグメントを示すセグメント情報(始点の座標、始点での接線方向、定数α、曲線長s、曲率κ及び方向角θを含む情報)が生成される。このとき、方向角θは式(9)により、曲率κは式(10)によりそれぞれ導出される。

【0067】
第1整形部13は各セグメントに対してこのような美的曲線セグメントの生成を実行する。これにより、互いに接続する美的曲線セグメントの接続点における接線は連続になるが、その接続点における曲率は不連続となる。

【0068】
第2整形部14は、第1整形部13により変換された複数のセグメント情報を、該セグメント情報で示されるセグメント(美的曲線セグメント)の一端点での曲率と該一端点に接続している他のセグメント(美的曲線セグメント)の一端点での曲率との差が所定の閾値以下になるように変換することで、第1整形部13により整形された複数の美的曲線セグメントを整形する手段である。すなわち、第2整形部14は美的セグメント間のG連続性を保証する手段である。第2整形部14は変換されたセグメント情報を第3整形部15に出力する。

【0069】
連続性を保証しつつ二つの美的曲線セグメントを接続する場合のパラメータ数は、各セグメントにおけるパラメータ数の合計なので14である。これに対し、拘束条件の数は以下の通り10である。
1.第1セグメントの始点の座標及び始点での接線方向:拘束条件数=3
2.第2セグメントの終点の座標及び終点での接線方向:拘束条件数=3
3.第1セグメントと第2セグメントとの接続点において、第1セグメントの端点(始点ではない端点)と第2セグメントの端点(終点ではない端点)との間で位置、接線方向、及び曲率が一致すること:拘束条件数=4

【0070】
これらに加えて、第1セグメント及び第2セグメントにおいて定数αを指定可能とすれば、拘束条件数は2つ追加される。

【0071】
したがって、パラメータ数14に対して拘束条件数は12であり、拘束条件を更に2つ追加する必要がある。例えば、接続点の座標を指定したり、接続点をある線上に限定した上で接線方向を具体的に指定したりすることで、拘束条件を2つ追加できる。

【0072】
連続性を保証しつつ三つ以上の美的曲線セグメントを接続する場合のパラメータ数は、n個のセグメントのパラメータ数の合計なので7n個である。一方、拘束条件の数は以下の通りである。
1.第1セグメントの始点の座標及び始点での接線方向:拘束条件数=3
2.第nセグメントの終点の座標及び終点での接線方向:拘束条件数=3
3.第iセグメント第i+1セグメントとの接続点において、第iセグメントの一端点と第i+1セグメントの一端点との間で位置、接線方向、及び曲率が一致すること:拘束条件数=4(n-1)

【0073】
これらに加えて、各セグメントにおける定数α(拘束条件数はn)と各接続点の座標(拘束条件数は2(n-1))を指定すると、拘束条件数は3+3+4(n-1)+n+2(n-1)=7nとなり、一意に曲線の形状を設定できる。

【0074】
2つの美的曲線セグメント間の曲率を連続にするための変形を説明する。端点が変曲点でない場合には、曲線の曲がり方向(左曲がり又は右曲がり)は変化せず、単一セグメント内では曲率が単調増加又は単調減少するので、2つの美的曲線セグメントから成る線図形の両端点において曲率の符号は一致する。これら両端点の位置(座標)と各端点での接線方向とを指定した場合には、2次ベジエ曲線の定義と同様に、順序付けられた3点を制御点として曲線を指定できる。

【0075】
この場合、線図形の両端点での曲率の大小は制御点間の距離に依存する。すなわち、任意の定数αに対して、第1制御点と第2制御点との距離dが第2制御点と第3制御点との距離dよりも大きければ終点側の曲率が大きく(曲率半径が小さく)なり、距離dが距離dよりも小さければ始点側の曲率が大きく(曲率半径が小さく)なる。距離dと距離dとが等しければ、2個の美的曲線セグメントから成る線図形は円弧となる。

【0076】
図5は、破線で示される二つの美的曲線セグメントS1及びS2から構成される線図形を示す図である。この線図形の始点P及び終点Pは変曲点である。

【0077】
美的曲線セグメントを生成するために定数αを含めてすべてのパラメータを用いているので、二つの美的曲線セグメントS1,S2間の曲率を連続にするためには、各美的曲線セグメントS1,S2の制御点CP及びCPの位置を変化させる必要がある。できるだけ元の形状を維持する方法として、次の二つの方法が考えられる。
1.二つのセグメントが接続する接続点(二つのセグメントで共通の端点)Pを移動させる(この場合、変更可能なパラメータ数は2)
2.接続点Pの位置を固定しつつその接続点Pの接線方向を変化させる(この場合、変更可能なパラメータ数は1)

【0078】
通常、接続点Pの位置は接続点Pでの接線方向よりもデザイン上重要と考えられるので、接続点Pを移動させるよりも接線方向を変化させる方が好ましいといえる。したがって本実施形態では、接続点Pの位置を固定しつつその接続点Pでの接線方向を変化させる手法について説明する。

【0079】
一端点が変曲点である左曲がり(右曲がり)の美的曲線セグメントにおいては、方向角θに対して端点での曲率が単調に増加(減少)する。図6は、座標(0,0)を変曲点である一端点Pとし、他方の端点Pの座標を(√2+1,1)とし、方向角θを50~130°に変化させて生成した美的曲線セグメント群を示している。図7はその方向角θに対する曲率κの推移を示すグラフであり、横軸が方向角θ、縦軸が曲率κである。図8は方向角θに対する定数αの推移を示すグラフであり、横軸が方向角θ、縦軸が定数αである。これら図6~8で示されるように、方向角θの増加に対して曲率κ及び定数αは共に増加している。

【0080】
定性的にこれら三つの変数θ,κ,αの関係が保たれているならば、図5に示す美的曲線セグメントS1の曲率が美的曲線セグメントS2の曲率よりも相対的に小さいので(図9の破線Kを参照)、図5のように接続点Pを中心に左回りに方向角を回転させることにより、美的曲線セグメントS1の曲率を増加させ、美的曲線セグメントS2の曲率を減少させることができ、これらの曲率を二分法により高速に一致させることが可能である(図9実線Kを参照)。このとき、美的曲線セグメントS1及びS2は、図5の実線S1´及びS2´で示すように整形される。

【0081】
一端点が変曲点である2つの美的曲線セグメントからなる線図形では、端点での曲率が0に固定されているので、変曲点において他の美的曲線セグメントに接続していても、変形による曲率の変化は2つのセグメント内に限定され、曲率の連続性に影響を与えない。しかし、端点が変曲点でない場合には、一端点での曲率の連続性を保証するための変形が他端点での曲率の大きさを変化させることになり、他端点における曲率の連続性が損なわれてしまう。

【0082】
したがって、セグメント間の方位角を変数とし、目的関数を各セグメント間の曲率の差の2乗とし、Powell法のような目的関数の微分を必要としない数値的な最適化手法を用いることが望ましい。しかしながら、一般的に数値的な最適化手法は処理が遅く、さらに目的関数の微分が求められない場合には処理速度は非常に遅くなる。そこで、接続点において互いに接続する美的曲線セグメントを回転させる手法(図5参照)を曲率の差の大きいセグメント間に順次適用し、すべてのセグメント間の曲率の差が所定の閾値以下に収束したら美的曲線セグメントの変換を終了する手法を用いる。第2整形部14は入力されたセグメント情報をこのような変換処理を規定するプログラムにより変換し、変換後のセグメント情報を第3整形部15に出力する。

【0083】
この手法による線図形の整形例を図10に示す。図10において、線図形L及び線図形Lの制御点を結ぶ補助線Hは整形前の状態を示しており、線図形L´及び線図形L´の制御点を結ぶ補助線H´は整形後の状態を示している。このとき、図11に示すように、線図形Lの曲率分布Kは実線K´で示すように変わる。このことは、すべての美的曲線セグメント間で曲率が連続しG連続性が保証されたことを意味する。なお、図11のグラフの縦軸は曲率κであり、横軸はパラメータtである。

【0084】
図12(a)は、図2に示す線図形と同様のものであり、図12(b)は、その線図形の各セグメントを美的曲線に整形し、更にG連続性を保証させた整形後の線図形である。また、図13に、図12(a)に示す線図形に基づいて生成したB-spline曲線の曲率、変曲点、及び曲率の極値と、図12(b)に示す整形後の線図形の曲率を示す。なお、図13のグラフの縦軸は曲率κであり、横軸はパラメータtである。図13において、実線Kは美的曲線の曲率を示し、破線KはB-spline曲線の曲率を示している。十字印Pで示される点は変曲点であり、x印で示される点Pは曲率が極値となる点であり、*印で示される点PはB-splineセグメントの端点である。B-spline曲線の場合は端点P,P付近の曲率がなだらかに変化しているのに対し、美的曲線ではそれら端点P,P付近の曲率が瞬間的に変化している。

【0085】
第3整形部15は、第2整形部14により変換された複数のセグメント情報を、該セグメント情報で示されるセグメントの一端点での曲率の、該セグメントの曲線長による微分値と、該一端点に接続している他のセグメントの一端点での曲率の、該他のセグメントの曲線長による微分値との差が所定の閾値以下になるように変換することで、第2整形部14により整形された複数のセグメントを整形する手段である。すなわち、第3整形部15は美的セグメント間のG連続性を保証する手段である。第3整形部15は変換されたセグメント情報(G連続性を満たす線図形を構成するセグメント情報)を表示部16に出力する。

【0086】
連続性を保証することができれば、隣接する2本のセグメントに対して符号の異なる定数αを指定することで複合リズム曲線を生成することができる。なお、複合リズム曲線とは、互いに異なる定数αを有する複数のセグメントから成り、且つG連続性が保証されている曲線のことである。

【0087】
2つの美的曲線セグメント間のG連続性を保証する場合のパラメータ数は、2本のセグメントのパラメータ数を合計した14である。これに対し、拘束条件数は以下の11である。
1.第1セグメントの始点の座標及び始点での接線方向:拘束条件数=3
2.第2セグメントの終点の座標及び終点での接線方向:拘束条件数=3
3.互いに接続する、第1セグメントの端点(始点ではない端点)と第2セグメントの端点(終点ではない端点)との間で、座標、接線方向、曲率、及びその曲率の微分値が一致すること:拘束条件数=5

【0088】
さらに、第1セグメント及び第2セグメントそれぞれにおける定数αを指定可能とすると、拘束条件数は更に2つ追加される。したがって、パラメータ数14に対して拘束条件数は13であり、拘束条件を更に一つ追加する必要がある。このために、例えば、接続点での接線方向を具体的に指定することが考えられる。

【0089】
例として、4個の制御点で複合リズム曲線を生成することを考える。まず、4個の制御点により両端点の座標及び接線方向を指定する。これに加えて、接続点での接線方向として第2制御点から第3制御点への方向を指定すると、パラメータ数と拘束条件数が一致し、一意に曲線の形状を決定できる。

【0090】
n(n≧3)個の美的曲線セグメントに対してG連続性を保証しつつ接続する場合のパラメータ数は、n個のセグメントのパラメータ数の合計である7nである。これに対し、拘束条件の数は以下の通りである。
1.第1セグメントの始点の座標及び始点での接線方向:拘束条件数=3
2.第nセグメントの終点の座標及び終点での接線方向:拘束条件数=3
3.互いに接続する第iセグメントの一端点と第i+1セグメントの一端点との間で、座標、接線方向、曲率、及びその曲率の微分値が一致すること:拘束条件数=5(n-1)

【0091】
これらに加えて、各セグメントの定数α(拘束条件数はn)と、各接続点での接線方向(拘束条件数はn-1)とを指定すると、拘束条件数は3+3+5(n-1)+n+(n-1)=7nとなり、一意に曲線の形状を決定することができる。例えば、2個のセグメントを指定するために4個の制御点を用いたように、n個のセグメントを指定するためにn+2個の制御点を用いることを考え、それらの制御点をベジエ曲線あるいは3次B-spline曲線の制御点とした上で、接続点での接線方向を決定できる。

【0092】
なお、第3整形部15は、セグメント間の曲率の微分値を一致させる場合に、すべてのセグメント間の曲率の微分値の差が所定の閾値以下に収束したらセグメント情報の変換を終了する手法を用いてもよい。

【0093】
表示部16は、第3整形部15により整形された複数のセグメントから成る線図形を示す図形情報をモニタやプリンタなどに出力する手段である。具体的には、表示部16は第3整形部15から入力された複数のセグメント情報(セグメントの始点の座標、その始点での接線方向、セグメントの曲線長、曲率及び方向角)に基づいて、整形された線図形を示す点列データを生成する。これにより、CADシステム1のユーザは整形された線図形(複数の美的曲線セグメントから成る線図形)を視認できる。

【0094】
次に、図14及び15を用いて、図1に示すCADシステム1の処理を説明するとともに本実施形態に係る図形情報処理方法について説明する。図14は点列データが入力された場合の処理を示すフローチャートであり、図15は制御点データが入力された場合の処理を示すフローチャートである。

【0095】
まず、図14を参照しながら、線図形を示す点列データが入力された場合の処理を説明する。この場合には、まず、受付部11が点列データを受け付ける(ステップS11、受付ステップ)。続いて、分割部12がその点列データで示される線図形に近似するB-spline曲線を生成し(ステップS12)、そのB-spline曲線を複数のセグメントに分割する(ステップS13、分割ステップ)。続いて、第1整形部13が曲率対数分布図の直線の傾きαを算出し(ステップS14)、算出したαに基づいて、各セグメントについて美的曲線セグメントを生成する(ステップS15、第1整形ステップ)。

【0096】
続いて、第2整形部14が、隣接する美的曲線セグメントの接続点における二端点の曲率の差が所定の閾値以下になるように(好ましくは二つの曲率を一致させるように)各セグメントを変換する(ステップS16、第2整形ステップ)。これにより、美的曲線セグメント間のG連続性が保証される。

【0097】
続いて、第3整形部15が、隣接する美的曲線セグメントの接続点における二端点の曲率の曲線長による微分値が所定の閾値以下になるように(好ましくは二つの微分値を一致させるように)各セグメントを変換する(ステップS17)。これにより、美的曲線セグメント間のG連続性が保証される。そして最後に、表示部16が整形された線図形(美的曲線を含む線図形)を表示する(ステップS18、出力ステップ)。

【0098】
次に、図15を参照しながら、線図形を示す制御点データが入力された場合の処理を説明する。この場合には、まず、受付部11が制御点データを受け付ける(ステップS21、受付ステップ)。更に受付部11は、曲率対数分布図の直線の傾きαも受け付ける(ステップS22)。続いて、分割部がその制御点データに基づいて複数のセグメントを設定する(ステップS23、分割ステップ)。その後に行われるステップS24~S27の処理は、図14におけるステップS15~S18の処理と同様である。

【0099】
以上説明したように、本実施形態によれば、曲線の印象に直接的に影響を及ぼす曲率を直接的に用いて各セグメントを整形するとともに、セグメント同士が接続する接続点において曲率が連続するように線図形を整形することで、デザインに好適な曲線を簡易に生成できる。

【0100】
従来、例えば図16に示される車体などの複雑なデザインの修正は、オペレータが線図形を直接編集することで行われており多大な労力と時間が掛かっていた。これに対し、本実施形態では、CADシステム1が手書き入力された線図形(破線L参照)の手ブレを自動的に除去して整形するので(実線L´参照)、非常に短時間でデザインを修正できる。なお、このような線図形の生成あるいは修正は、車体デザインに限らず、様々な物品のデザインやグラフィックデザインに対して適用可能である。

【0101】
また本実施形態では、セグメント間の曲率の連続性に加えて、曲率の曲線長による微分値の連続性も考慮して各セグメントを整形することで、よりデザインに好適な曲線を生成できる。

【0102】
また本実施形態では、曲線の曲がり具合に影響を与える情報(各セグメントの端点の座標、その端点での接線方向、及び定数α)に基づいてセグメント情報を変換することで、デザインに好適な曲線を生成できる。

【0103】
また本実施形態では、各セグメントの端点の位置を固定しつつその端点の接線方向を変化させることでG連続性を保証するので、線図形の印象を大きく変えることなくデザインに好適な曲線を生成できる。

【0104】
引き続いて、上述した一連の図形情報処理をコンピュータに実行させるための図形情報処理プログラムを説明する。図17に示すように、図形情報処理プログラム81は、コンピュータが備える記録媒体80に形成されたプログラム格納領域80a内に格納されている。

【0105】
図形情報処理プログラム81は、上述した一連の図形情報処理を統括的に制御するメインモジュール810と、受付モジュール811と、分割モジュール812と、第1整形モジュール813と、第2整形モジュール814と、第3整形モジュール815と、表示モジュール816とを備えて構成される。受付モジュール811、分割モジュール812、第1整形モジュール813、第2整形モジュール814、第3整形モジュール815、及び表示モジュール816を実行させることにより実現される機能は、上述したCADシステム1の受付部11、分割部12、第1整形部13、第2整形部14、第3整形部15及び表示部16の機能とそれぞれ同様である。

【0106】
なお、図形情報処理プログラム81は、その一部若しくは全部が、通信回線等の伝送媒体を介して伝送され、他の機器により受信されて記録(インストールを含む)される構成としてもよい。

【0107】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。

【0108】
上記実施形態では、表示部16はG連続性が保証された線図形を出力したが、第2整形部14から出力された図形情報を出力することで、G連続性のみが保証された線図形を出力してもよい。

【0109】
上記実施形態では、第1整形部13が上記式(4),(5)で示される美的曲線を生成したが、第1整形手段は他の式で示される美的曲線を生成してもよい。以下では、一般化コルニュらせん(generalized Cornu spiral:GCS)の性質に基づく美的曲線の生成の理論を説明する。

【0110】
曲線長がsであるGCSの曲率半径ρ(s)は下記式(11)で表される。
【数18】
JP0005177771B2_000019t.gif
ただし、p,q,r,Sは定数であり、p,q,r>-1、S>0である。式(11)は、q=0であれば対数らせんに関する式となり、r=0であればクロソイド曲線に関する式となる。

【0111】
e=r/q、f=S-pr/qとすると、上記式(11)は以下のように変形される。
【数19】
JP0005177771B2_000020t.gif

【0112】
よって、下記式(12)が成立する。
【数20】
JP0005177771B2_000021t.gif
ただし、c=q/f、d=p/fである。したがって、ρ(s)に対して所定量eだけシフトした値は曲線長sの1次式で与えられる。式(12)に定数αを導入すると下記式(13)が成立する。
【数21】
JP0005177771B2_000022t.gif

【0113】
上記式(13)より、パラメータeが曲率半径ρのシフト量であること、及び、曲率半径を所定量だけシフトした値のべき乗が曲線長の一次関数で表されることが分かる。

【0114】
曲率半径ρの逆数である曲率κ(s)についても同様に拡張でき、下記式(14)が成立する。
【数22】
JP0005177771B2_000023t.gif

【0115】
第1整形手段は、各パラメータe,c,dの入力を受け付けて、上記式(13)又は式(14)で示される美的曲線を生成してもよい。ここで、上記式(14)より、方向角θ(s)は次式で表される。なお、α≠0,1と仮定する。
【数23】
JP0005177771B2_000024t.gif
この式は解析的に積分可能であり、以下のように変形できる。
【数24】
JP0005177771B2_000025t.gif
したがって、方向角θ(s)を数値積分で求める必要がなく、処理速度の点で有利である。
【符号の説明】
【0116】
1…CADシステム(美的曲線を生成する図形情報処理装置)、11…受付部(受付手段)、12…分割部(分割手段)、13…第1整形部(第1整形手段)、14…第2整形部(第2整形手段)、15…第3整形部(第3整形手段)、16…表示部(出力手段)、81…図形情報処理プログラム、810…メインモジュール、811…受付モジュール、812…分割モジュール、813…第1整形モジュール、814…第2整形モジュール、815…第3整形モジュール、816…表示モジュール
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16