(57)【要約】  本発明は、曲線近似結果に対し更なる近似処理の要否を、従来よりも簡素な手法で判断できる曲線描画装置を提供する。曲線描画装置１は、中心線及び線幅で規定される曲線の輪郭線を直線近似するものであり、中心線を分割する中心線上の複数の分割点を算出するパス分割部１０と、分割点を通り中心線の法線に沿い分割点から等距離にある２つの離隔点を算出する輪郭点算出部１２と、隣り合う２つの分割点について算出された４つの離隔点について、２つの分割点を通る直線に対して同側にある２つの離隔点間の距離をそれぞれ算出し、２つの距離についての短い方を基準とした場合の比が所定値より大きいか否かを判定する判断部１３と、比が所定値より大きいと判定された場合に、輪郭線において２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成部１６を備える。
2012140910.tif 000002
【特許請求の範囲】
【請求項１】
中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置であって、
前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、
前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、
隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、
前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、
前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段とを備える
ことを特徴とする曲線描画装置。
【請求項２】
前記離隔点算出手段は、前記分割点から等距離にある２つの離隔点として、前記分割点から前記線幅の半分ずつ離れた点を算出する
ことを特徴とする請求項１記載の曲線描画装置。
【請求項３】
前記曲線形成手段は、前記部分輪郭線のうち短い方を１本の線分で近似し、
前記分割点算出手段は、前記中心線を分割する場合に、前記部分輪郭線のうち短い方を近似する１本の線分が所定長以下になるよう分割する
ことを特徴とする請求項１記載の曲線描画装置。
【請求項４】
前記曲線形成手段は、前記部分輪郭線のうち長い方を近似する場合に、前記近似に用いる線分の数を、前記判定手段により算出された前記比に応じて決定する
ことを特徴とする請求項１記載の曲線描画装置。
【請求項５】
前記曲線形成手段は、前記部分輪郭線のうち長い方を近似する場合に、前記部分輪郭線の両端点を点ａ0及び点ｂ0とし、ベクトルｓ0を、前記中心線の、点ａ0に対応する分割点における接線ベクトルとし、ベクトルｔ0を、前記中心線の、点ｂ0に対応する分割点における接線ベクトルとし、点ｃ0を、点ａ0を基点としベクトルｓ0方向に伸びる直線と、点ｂ0を基点としベクトルｔ0方向に伸びる直線との交点とし、分割係数をｄとし、ｎが１以上ｄ以下である各整数値について、点ａn、点ｂn、ベクトルｓn、ベクトルｔn、ベクトルｕnを、
ａn  ＝  ａn-1＋２n-1-d（ｃn-1−ａn-1）、
ｂn  ＝  ｂn-1＋２n-1-d（ｃn-1−ｂn-1）、
ｓn  ＝  ２-d｛（２d-(n-1)−１）ｕn-1＋ｓn-1）｝、
ｔn  ＝  ２-d｛（２d-(n-1)−１）（−ｕn-1）＋ｔn-1）｝、
ｕn  ＝  ｓn  ＋（−ｔn）、
ここで、点ｃnは、ａnを基点としベクトルｓn方向に伸びる直線と、ｂnを基点としベクトルｔn方向に伸びる直線との交点である、
とする式を用いて算出し、前記部分輪郭線のうち長い方を、算出した（ｄ＋１）個の点ａm（ｍは０以上ｄ以下の各整数）、点ｃd、及び（ｄ＋１）個の点ｂmを結んだ折れ線で近似する
ことを特徴とする請求項４記載の曲線描画装置。
【請求項６】
前記曲線形成手段は、前記２本の法線における離隔点間の部分が交差する場合には、前記判定手段による判定結果によらずに、前記２つの分割点を通る直線に対し前記交差する点とは同側でない部分輪郭線を複数の曲線で近似する
ことを特徴とする請求項１記載の曲線描画装置。
【請求項７】
分割点算出手段、離隔点算出手段、距離算出手段、判定手段、及び曲線形成手段を備えた、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置に用いられる曲線描画方法であって、
前記分割点算出手段が、前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出ステップと、
前記離隔点算出手段が、前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出ステップと、
前記距離算出手段が、隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出ステップと、
前記判定手段が、前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定ステップと、
前記曲線形成手段が、前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成ステップとを含む
ことを特徴とする曲線描画方法。
【請求項８】
コンピュータを、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置として機能させるための曲線描画プログラムであって、
前記コンピュータを、
前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、
前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、
隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、
前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、
前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段として機能させる
ことを特徴とする曲線描画プログラム。
【請求項９】
中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置に用いられる集積回路であって、
前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、
前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、
隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、
前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、
前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段とを備える
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字、図形等の輪郭線の曲線部分を複数の線分で近似して描画する曲線描画技術に関する。
【背景技術】
【０００２】
近年、フォントなどの文字や、図形等における曲線部分の描画には、その輪郭線の曲線部分を複数の線分で近似して、線分で表した輪郭の内側を塗りつぶすなどの処理を含むベクターグラフィックス技術が用いられる。この技術により近似された文字、図形の品位は、近似に用いられた線分同士の結合部分（以下、エッジという）の滑らかさに左右される。よって、近似処理を一通り行った結果、エッジに滑らかさが不足している場合には、このエッジに膨らみをつけるように、更に線分を用いて更に近似を行うことになる。このように、エッジについての更なる近似の要否判断は、エッジ毎に行われるものであり実行頻度の高い処理といえる。この近似の要否判断に関しては、特許文献１に、エッジを構成する２線分の成す角度が、経験則により導き出された所定条件を満たすか否かによって更なる近似の要否判断を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１７４４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、比較的演算能力の限られた情報処理端末などにおいても、近年のディスプレイ表示能力の向上からベクターグラフィック技術によって文字、図形が描画されるようになってきている。このようなグラフィック処理は、計算負荷が高い上、処理遅れが生じた場合に、ユーザに対し視覚的に違和感を覚えさせやすい処理といえる。よって、上述した近似の要否判断についても、比較的演算能力が限られていても処理遅れが生じないよう、計算負荷の低い簡素な手法で行うことが求められる。【０００５】
しかしながら、上述の技術では、近似の要否判断はできるものの、各エッジを構成する２線分の角度を計算する必要があり、角度を計算するには逆三角関数など複雑な演算を行う必要があるという問題がある。【０００６】
上記課題に鑑み、本発明は、更なる近似の要否を、従来よりも計算負荷の低い簡素な手法で判断する曲線描画装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置であって、前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段とを備える。
【発明の効果】
【０００８】
本発明の曲線描画装置は、上述の構成を備えることにより、部分輪郭線のうち長い方を、短い方よりも多くの線分で近似するか否かを、離隔点間の２つの距離を比較するという従来よりも計算負荷の低い簡素な手法によって判断することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施の形態に係る、描画すべき曲線の一部分を模式的に表した図
【図２】本発明の一実施の形態に係る曲線描画装置の構成を示すブロック図
【図３】本発明の一実施の形態に係る、図１の曲線の一部分を更に拡大した図
【図４】本発明の一実施の形態に係る、曲線形成部により生成される近似曲線を示す図
【図５】本発明の一実施の形態に係る、近似処理を示すフローチャート
【図６】本発明の一実施の形態に係る第２の直線近似手法による近似処理を示すフローチャート
【図７】本発明の一実施の形態に係る、ｎ＝０の場合における基本近似演算終了後の近似曲線について説明するための図
【図８】本発明の一実施の形態に係る、ｎ＝１の場合における基本近似演算終了後の近似曲線について説明するための図
【図９】本発明の一実施の形態に係る、ｎ＝２の場合における基本近似演算終了後の近似曲線について説明するための図
【発明を実施するための形態】
【００１０】
以下、本発明の一実施の形態について、図面を参照しながら説明する。
＜１．実施の形態１＞
＜１−１．概要＞
本発明の一実施の態様である曲線描画装置は、幅を有する曲線について、その曲線の輪郭線を複数の線分で近似して描画する装置である。描画すべき曲線について曲線描画装置に対し与えられる情報は、（ａ）描画すべき曲線の中心線であるパスを表すパス情報、及び（ｂ）描画すべき曲線の線幅を表す線幅情報である。
【００１１】
図１は、描画すべき曲線の一部分を模式的に表した図である。図中、輪郭線１０２及び１０３が描画すべき曲線の輪郭線を示しており、パス１０１が描画すべき曲線の中心線であるパスを示している。輪郭線１０２とパスとは描画すべき曲線の線幅の半分（以下、半幅という。）だけ離隔し、輪郭線１０３とパスとは半幅だけ離隔している。
【００１２】
曲線描画装置は、近似処理を行う場合、まずパスを所定長に区切ることにより分割パス（図中Ｄ１〜Ｄ７）を生成する。曲線描画装置は、この分割パス単位で近似処理を行う。次に、曲線描画装置は、分割パスの端点（分割点Ｐ１〜Ｐ８）それぞれにおけるパスの法線（法線Ｎ１〜Ｎ８）を算出する。これらの法線は、図に示すように輪郭線を区切っている。以下、輪郭線において、法線により区切られた部分のそれぞれを「部分輪郭線」（図中Ｏ１１〜Ｏ１７、Ｏ２１〜Ｏ２７）という。ここで、部分輪郭線のうち、ある分割パスの両端点を通る法線により区切られているもの（以下、「分割パスに対応する部分輪郭線」という。）は、分割パスを挟んで２つ存在する。例えば、分割パスＤ５に対応する部分輪郭線は、Ｏ１５とＯ２５の２つである。ここで、２つの部分輪郭線それぞれについて、部分輪郭線の端点同士を結んだ線分のうち、長い方を「長辺」といい、短い方を「短辺」という。
【００１３】
曲線描画装置は、分割パス毎に、分割パスに対応する部分輪郭線のうち長い方（以下、「長部分輪郭線」という。）について、複数の線分を用いて曲線近似するか、部分輪郭線の端点を結ぶ１本の線分で近似するかの判断（以下、「近似判断」ともいう。）を行う。曲線描画装置は、この近似判断を、分割パスに対応する長辺と短辺の長さの比（α）が所定値（一例として２）より大きいか否かという簡易な計算により行う。なお、本実施の形態では、曲線描画装置は、分割パスに対応する部分輪郭線のうち短い方（以下、「短部分輪郭線」という。）については常に１本の線分で近似し、近似処理に係る演算負荷を低減している。このようにするために、各分割パスは、分割パスに対応する短部分輪郭線については１本の線分で近似した近似曲線が表示デバイスに表示等したときに、スムーズな曲線であるとユーザにより視認される程度の長さに区切られている。
【００１４】
ここで、図１を用い、上述の近似判断に関する補足説明を行う。図１中のαは、分割パスそれぞれについての長辺と短辺の長さの比を表している。例えば、分割パスＤ１に対応する長辺（Ｌ１１）と短辺（Ｌ２１）の比αは１．２である。よって、曲線描画装置は、αが２以下であると判断し、分割パスＤ１に対応する部分輪郭線Ｏ１１、Ｏ２１のうち長い方である部分輪郭線Ｏ１１を１本の線分であるＬ１１で近似する。分割パスＤ２〜Ｄ３、Ｄ６〜Ｄ７についても同様にαが２以下であると判断するので、曲線描画装置は、各分割パスに対応する長部分輪郭線を１本の線分で近似する。
【００１５】
一方、分割パスＤ４については、曲線描画装置は、長辺（Ｌ１４）と短辺（Ｌ２４）の長さの比αが３であり、２より大きいと判断する。よって、曲線描画装置は、分割パスＤ４に対応する部分輪郭線Ｏ１４、Ｏ２４のうち長い方であるＯ１４を、複数の線分が連結して成る近似線Ａ１４で近似する。また分割パスＤ５についても、曲線描画装置は、長辺（Ｌ１５）と短辺（Ｌ２５）の長さの比αが３．２であり所定値２より大きいと判断する。よって、曲線描画装置は、分割パスＤ５に対応する部分輪郭線Ｏ１５、Ｏ２５のうち長い方を、複数の線分が連結して成る近似線Ａ１５で近似する。以上の処理によって、曲線描画装置は、輪郭線１０２を近似する近似曲線として、Ｌ１１、Ｌ１２、Ｌ１３、Ａ１４、Ａ１５、Ｌ１６、及びＬ１７が連結してなる近似曲線を生成する。また、輪郭線１０３を近似する近似曲線として、Ｌ２１、Ｌ２２、Ｌ２３、Ｌ２４、Ｌ２５、Ｌ２６、及びＬ２７が連結してなる近似曲線を生成する。以下、曲線描画装置について詳細に説明する。
＜１−２．構成＞
図２は、本発明の一実施の態様である曲線描画装置１の構成を示すブロック図である。曲線描画装置１は、パス分割部１０、接線ベクトル算出部１１、輪郭点算出部１２、判断部１３、輪郭近似線生成部１４、分割係数決定部１５、曲線形成部１６、及び描画部１７を含んで構成される。
【００１６】
パス分割部１０は、入力として、描画すべき曲線の中心線であるパスを表すパス情報、及び描画すべき曲線の線幅を表す線幅情報を取得する。パス情報は、一例として、３次ベジェ曲線の端点と制御点の座標列などで表現される。パス分割部１０は、パス情報を取得するとパスを所定長に区切ることにより分割パスを生成する。このとき、パス分割部１０は、パスを所定長に区切る分割点を保持しておく。なお、本実施の形態では、曲線描画装置１において、分割点、直線及び曲線上の点、その他の点については（ｘ座標，ｙ座標）のような座標形式で表現するものとするが、他の形式で表現してもよい。また、以下では「座標軸上の点の座標を算出する」ことを便宜上「点を算出する」と表現する。
【００１７】
接線ベクトル算出部１１は、パス分割部１０により算出された各分割点における、パスについての接線（接線ベクトルで表す）及び法線（法線ベクトルで表す）を算出する。
【００１８】
輪郭点算出部１２は、各分割点に対応する輪郭点を算出する。ここで、輪郭点は、分割点から、その分割点におけるパスの法線ベクトルに沿って半幅ずつ離隔した点である。すなわち、１つの分割点に対応する輪郭点は２個存在する。
【００１９】
ここで、図３を用いて、描画すべき曲線、パス、分割点、接線ベクトル、法線ベクトルなどについて具体的に説明する。図３は、描画すべき曲線の一部分（以下、部分曲線という。）を模式的に表した図であり、図１の一部を拡大したものである。なお、図３と図１とで同じものを指し示している場合には、同じ符号を付している。
【００２０】
部分曲線の輪郭は、輪郭線１０２及び輪郭線１０３である。パス１０１は、部分曲線のパスを示している。
【００２１】
分割点Ｐ４〜Ｐ７は、パス１０１を分割する各分割点を示す。分割パスＤ４は、パス１０１が分割点Ｐ４及びＰ５により区切られた分割パスを示す。分割パスＤ５及び分割パスＤ６は、それぞれ、パス１０１が分割点Ｐ５及びＰ６により区切られた分割パス、パス１０１が分割点Ｐ６及びＰ７により区切られた分割パスを示す。セグメント１３１〜１３３は、それぞれ、隣り合う分割点Ｐ４と分割点Ｐ５とを結ぶ線分、分割点Ｐ５と分割点Ｐ６とを結ぶ線分、分割点Ｐ６と分割点Ｐ７とを結ぶ線分である。以下、２つの分割点を結ぶ線分を「セグメント」という。
【００２２】
接線ベクトル１４１は、パス１０１についての分割点Ｐ５における接線ベクトルを示す。また、接線ベクトル１４２は、パス１０１についての分割点Ｐ６における接線ベクトルを示す。ここで、各分割点における接線ベクトルの向きは、一例として、パスの始点から終点へ向かう向きに一致するものと規定する。パス１０１について、始点が分割点Ｐ４であり、終点が分割点Ｐ７であるとする。また、各分割点における接線ベクトルは、大きさが１の単位ベクトルである。
【００２３】
法線ベクトル１５１及び１５２は、パス１０１についての分割点Ｐ５における法線ベクトルを示す。また、法線ベクトル１５３及び１５４は、パス１０１についての分割点Ｐ６における法線ベクトルを示す。ここで、各分割点における法線ベクトルは、大きさが１の単位ベクトルである。
【００２４】
輪郭点１６２及び輪郭点１７２は、分割点Ｐ５から法線に沿い、即ち法線ベクトル１５１及び法線ベクトル１５２の２つの方向に、半幅ずつ離隔した輪郭点である。このように、「分割点から法線に沿って半幅離隔した輪郭点」を以下「分割点に対応する輪郭点」という。分割点Ｐ５の場合と同様に、分割点Ｐ４に対応する輪郭点が、輪郭点１６１及び輪郭点１７１であり、分割点Ｐ６に対応する輪郭点が、輪郭点１６３及び輪郭点１７３であり、分割点Ｐ７に対応する輪郭点が、輪郭点１６４及び輪郭点１７４である。なお、各輪郭点は、輪郭線１０２及び輪郭線１０３のいずれか一方の線上の点となる。ここで、図２の説明に戻る。
【００２５】
判断部１３は、輪郭点算出部１２において算出された輪郭点について、隣り合う２つの輪郭点間を、第１の直線近似手法及び第２の直線近似手法のいずれで近似するか判断する。この判断は、分割パス毎に行う。具体的には、判断部１３は、まず、分割パスの端点である２つの分割点（一例として、図３の分割点Ｐ５及びＰ６）を選出する。次に、判断部１３は、選出した２つの分割点それぞれに対応する４つの輪郭点（一例として輪郭点１６２、１７２、１６３、及び１７３）について、２つの分割点を通る直線に対して同側にある分割点同士を組（一例として、輪郭点１６２と１６３の組、及び輪郭点１７２と１７３の組）とした場合の、各組の輪郭点間の距離（Ｌ１５及びＬ２５の長さに相当）をそれぞれ算出する。ここで、算出された２つの距離のうち長い方の輪郭点間を結ぶ線分が前述の長辺（一例としてＬ１５）であり、短い方の輪郭点間を結ぶ線分が前述の短辺（一例としてＬ２５）である。そして、判断部１３は、算出した２つの距離の比、すなわち長辺と短辺の長さの比が所定値より大きいか否かを判定する。所定値は、一例として２とする。ここで、算出される比は、長辺の短辺に対する比であり、常に１以上となる。判断部１３は、算出した比が所定値より大きいと判定した場合には、更なる直線近似が必要とみなして第２の直線近似手法を用い、所定値以下であると判定した場合には、更なる直線近似は不要とみなして第１の直線近似手法を用いると決定する。本実施の形態では、第１の直線近似手法は、隣り合う２つの輪郭点間を１本の線分で結ぶ手法とする。なお、上述の通り、長部分輪郭線については、第１の直線近似手法及び第２の直線近似手法のいずれかの手法により近似するものの、短部分輪郭線については常に第１の直線近似手法により近似する。
【００２６】
輪郭近似線生成部１４は、判断部１３において、長辺と短辺の長さの比が所定値以下であると判断された場合に、長部分輪郭線を第１の直線近似手法により近似する。例えば、図３の輪郭点１６２と輪郭点１６３との間を第１の直線近似手法により近似する場合、輪郭点１６２と輪郭点１６３との間を、輪郭点１６２と輪郭点１６３を結ぶ輪郭近似線Ｌ１５で近似することになる。
【００２７】
なお、判断部１３において、長辺と短辺の長さの比が所定値より大きいと判断された場合には、長部分輪郭線について曲線形成部１６による近似演算が行われる。輪郭近似線生成部１４は、曲線形成部１６による演算の結果を用いて長部分輪郭線を複数の線分で近似することになる。
【００２８】
分割係数決定部１５は、判断部１３において、長辺と短辺の長さの比が所定値より大きいと判断された場合に、長部分輪郭線を何本の線分で近似するかを決定づける係数である分割係数ｄを決定する。長部分輪郭線は、２（ｄ＋１）本の線分で近似されることになる。
【００２９】
ここで、分割係数ｄは、一例として、下式により算出される。
【００３０】
ｄ  ＝  ｆｌｏｏｒ（ｇ×長辺の長さ／短辺の長さ  −  ｆ）      （式１）
ここで、ｆｌｏｏｒ（ｘ）は、実数ｘ以下である最大の整数を表す。また、ｇ、ｆは、一例としてｇ＝０．８０９、ｆ＝−０．５である。
【００３１】
曲線形成部１６は、判断部１３において長辺と短辺の長さの比が所定値より大きいと判断された場合に、長部分輪郭線を第２の直線近似手法により近似する。曲線形成部１６は、図２に示すように、副輪郭点算出部２０、接線ベクトル算出部２１、交点算出部２２、及び交点ベクトル算出部２３を含んで構成される。曲線形成部１６の各構成の説明は、説明の便宜上、図４を補足的に用い第２の直線近似手法について説明しつつ行う。図４は、曲線形成部により生成される近似曲線について示す図である。図４の点ａ0、ｂ0が、近似処理の対象となっている長部分輪郭線の端点を示す。例えば、点ａ0、ｂ0が、図３の輪郭点１６２及び１６３に相当し、点ａ0とｂ0とを結ぶ線分が、近似処理の対象となっている長辺であるＬ１５に相当する。
【００３２】
曲線形成部１６は、第２の直線近似手法による近似処理として、下記（Ａ）〜（Ｄ）の演算（以下、「（Ａ）〜（Ｄ）の演算」を総称して「基本近似演算」という。）を、ｎ＝０からｎ＝ｄまでのｎの値それぞれについて行うことによりａn、ｂn、ｃnを算出し、結果として、近似曲線ａ0−ａ1−・・・ａd−ｃd−ｂd・・・−ｂ1−ｂ0を得る。
【００３３】
（Ａ）副輪郭点ａn、ｂnの算出
副輪郭点算出部２０が、下記の式２及び式３を用いて副輪郭点ａn、ｂnを算出する。副輪郭点ａn、ｂnは、輪郭点ａ0、ｂ0間を複数の線分で近似する場合の、線分の端点となる点である。
【００３４】
ａn  ＝  ａn-1＋２n-1-d（ｃn-1−ａn-1）    （式２）
ｂn  ＝  ｂn-1＋２n-1-d（ｃn-1−ｂn-1）    （式３）
但し、ｎ＝０の場合には、上述の通り輪郭点ａ0、ｂ0が初期値として与えられており、式２及び式３を用いた演算は行わない。交点ｃn（或いはｃn-1）については後述する。
【００３５】
（Ｂ）接線ベクトルｓn、ｔnの算出
接線ベクトル算出部２１が、下記の式４及び式５を用い、副輪郭点ａnにおける接線ベクトルｓn、及び副輪郭点ｂnにおける接線ベクトルｔnを算出する。接線ベクトルｓn、ｔnは、後述の交点ｃnを算出するために用いられる。
【００３６】
ｓn  ＝  ２-d｛（２d-(n-1)−１）ｕn-1＋ｓn-1）｝          （式４）
ｔn  ＝  ２-d｛（２d-(n-1)−１）（−ｕn-1）＋ｔn-1）｝      （式５）
ここで、式５のベクトル（−ｕn-1）は、後述する交点ベクトルｕn-1について方向を逆にしたベクトルを示している。
【００３７】
また、ｎ＝０の場合、ａ0における接線ベクトルｓ0として、ａ0に対応する分割点における接線ベクトルが用いられる。そして、ｂ0における接線ベクトルｔ0として、ｂ0に対応する分割点における接線ベクトルの向きを逆にしたベクトルが用いられる。よって、ｎ＝０の場合には、式４及び式５を用いた演算は行わない。
【００３８】
なお、接線ベクトルｓn、ｔnについては、「接線ベクトル」との称呼を用いているが、副輪郭点ａn、ｂnにおける接線としての意義を有するものではない。しかし、接線ベクトルｓ0、ｔ0を初期値とした漸化式から算出されていることから便宜上「接線ベクトル」との称呼を用いている。
【００３９】
（Ｃ）交点ｃnの算出
交点算出部２２が、ａnを基点として接線ベクトルｓn方向に伸びる直線と、ｂnを基点として接線ベクトルｔn方向に伸びる直線との交点ｃnを算出する。
【００４０】
（Ｄ）交点ベクトルｕnの算出
交点ベクトル算出部２３が、下記の式６を用い、交点ｃnにおけるベクトルｕn（以下、「交点ベクトル」という。）を算出する。
【００４１】
ｕn  ＝  ｓn  ＋  （−ｔn）          （式６）
式６において、ベクトル（−ｔn）は、接線ベクトルｔnについて方向を反転させたベクトルである。
【００４２】
描画部１７は、輪郭近似線生成部１４により生成された輪郭線１０２を近似する近似曲線、及び輪郭線１０３を近似する近似曲線に挟まれた領域を塗り潰して、ディスプレイ等に表示する。
＜１−３．動作＞
以下、上述のように構成された曲線描画装置１による近似処理について説明する。
【００４３】
図５は、近似処理の手順を示すフローチャートである。
【００４４】
まず、パス分割部１０は、入力としてパス情報及び線幅情報を取得する（Ｓ１０）。パス分割部１０は、入力されたパス情報により表されるパスを所定長に分割する分割点を算出する（Ｓ１１）。次に、接線ベクトル算出部１１は、パス分割部１０により算出された各分割点におけるパスについての接線ベクトル及び法線ベクトルを算出する（Ｓ１２）。そして、輪郭点算出部１２が、パス分割部１０において算出された各分割点について、その分割点から半幅ずつ離隔した輪郭点を算出する（Ｓ１３）。そして、判断部１３は、パス分割部１０により算出された全分割点のうち、隣り合う２つの分割点を選出し（Ｓ１４）、選出した２つの分割点に対応する４つの輪郭点について、２つの分割点で区切られた分割パスに対し同じ側にある輪郭点間の距離（輪郭点同士を結ぶ輪郭近似線の長さに等しい。）を算出する（Ｓ１５）。そして、判断部１３は、算出した輪郭点間の距離の比を算出し、算出した比が所定値より大きいか否かを判定する（Ｓ１６）。算出された比が所定値より大きい場合（Ｓ１６でＹＥＳ）、長部分輪郭線を第２の直線近似手法により近似する処理を行い（Ｓ１７）、比が所定値以下の場合（Ｓ１６でＮＯ）、長部分輪郭線を第１の直線近似手法により近似する（Ｓ１８）。Ｓ１７の詳細は、後に図６を用いて説明する。そして、判断部１３は、隣り合う分割点の組の全てについて、基本近似演算を行ったか否かを判定し（Ｓ１９）、行っていない場合（Ｓ１９でＮＯ）、Ｓ１４に進む。一方、隣り合う分割点の組の全てについて、基本近似演算を完了した場合（Ｓ１９でＹＥＳ）、描画部１７が、近似された輪郭線で挟まれた領域を塗りつぶすことにより近似曲線を生成し描画する（Ｓ２０）。
【００４５】
図６は、図５のＳ１７に相当する第２の直線近似手法による近似処理を示す図である。
【００４６】
まず、曲線形成部１６の制御部が変数ｎを初期値０で初期化する（Ｓ５１）。次に、交点算出部２２は、輪郭点算出部１２により算出された輪郭点ａ0、ｂ0、接線ベクトル算出部１１により算出された輪郭点ａ0、ｂ0における接線ベクトルｓ0、ｔ0を用いて、交点ｃ0を算出する（Ｓ５２）。そして、交点ベクトル算出部２３が、交点ベクトルｕ0を算出する（Ｓ５３）。
【００４７】
曲線形成部１６の制御部は、（ｎ＋１）がｄより大きいか否かを判定し（Ｓ５４）、大きくない場合（Ｓ５４でＮＯ）、ｎに１を加算する（Ｓ５５）。次に、副輪郭点算出部２０は、式２及び式３を用いて副輪郭点ａn、ｂnを算出する（Ｓ５６）。そして、接線ベクトル算出部２１が、式４及び式５を用いて副輪郭点ａn、ｂnにおける接線ベクトルｓn、ｔnを算出する（Ｓ５７）。次に、交点算出部２２が、ａnを基点として接線ベクトルｓn方向に伸びる直線と、ｂnを基点として接線ベクトルｔn方向に伸びる直線とを算出し、両直線の交点ｃnを算出する（Ｓ５８）。そして、交点ベクトル算出部２３が、式６を用い、交点ｃnにおける交点ベクトルｕnを算出する（Ｓ５９）。
【００４８】
また、上述のＳ５４において、（ｎ＋１）がｄより大きいと判定された場合（Ｓ５４でＹＥＳ）、ｎ＝０〜ｄそれぞれについて、副輪郭点ａn、ｂn、接線ベクトルｓn、ｔn、交点ｃn、交点ベクトルｕnが算出されており、最終的な近似曲線ａ0−ａ1−ａ2−ａ3−ｃ3−ｂ3−ｂ2−ｂ1−ｂ0が得られる。このときの、近似曲線ａ0−ａ1−ａ2−ａ3−ｃ3−ｂ3−ｂ2−ｂ1−ｂ0における各輪郭点及び副輪郭点ａ0、ａ1、ａ2、ａ3、ｃ3、ｂ3、ｂ2、ｂ1、ｂ0を保持しておく（Ｓ６０）。
【００４９】
ここで、図６の補足説明として、ｎが０からｄ（ｄは説明の便宜上３であるとする。）まで増加するにつれて、近似処理により算出される点、ベクトルについて図７〜９及び図４を用いて視覚的に説明する。
【００５０】
図７は、ｎ＝０の場合において基本近似演算が終了した後の近似曲線を表している。輪郭点ａ0、ｂ0、接線ベクトルｓ0、ｔ0は、近似処理に入る前に既知である。Ｓ５２において、交点算出部２２によりｃ0が算出され、Ｓ５３において、交点ベクトル算出部２３により交点ベクトルｕ0が算出される。Ｓ５４において、制御部によりｎ＋１（＝１）がｄより大きくないと判定されるので（Ｓ５４でＮＯ）、Ｓ５５において、制御部によりｎに１が加算され、Ｓ５６に進む。
【００５１】
図８は、ｎ＝１の場合において基本近似演算が終了した後の近似曲線を表している。図６のｎ＝１の場合におけるＳ５６において、副輪郭点算出部２０が、副輪郭点ａ1、ｂ1を算出する。次に、Ｓ５７において、接線ベクトル算出部２１が、接線ベクトルｓ1、ｔ1を算出する。そして、Ｓ５８において、交点算出部２２が、交点ｃ1を算出する。そして、Ｓ５９において、交点ベクトル算出部２３が、交点ベクトルｕ1を算出する。そして、Ｓ５４において、制御部によりｎ＋１（＝２）がｄより大きくないと判定されるので（Ｓ５４でＮＯ）、Ｓ５５において、制御部によりｎに１が加算され、Ｓ５６に進む。
【００５２】
図９は、ｎ＝２の場合において基本近似演算が終了した後の近似曲線を表している。図６のｎ＝２の場合におけるＳ５６において、副輪郭点算出部２０が、副輪郭点ａ2、ｂ2を算出する。次に、Ｓ５７において、接線ベクトル算出部２１が、接線ベクトルｓ2、ｔ2を算出する。そして、Ｓ５８において、交点算出部２２が、交点ｃ2を算出する。そして、Ｓ５９において、交点ベクトル算出部２３が、交点ベクトルｕ2を算出する。そして、Ｓ５４において、制御部によりｎ＋１（＝３）がｄより大きくないと判定されるので（Ｓ５４でＮＯ）、Ｓ５５において、制御部によりｎに１が加算され、Ｓ５６に進む。
【００５３】
図４は、既に少し説明しているが、ｎ＝３の場合において基本近似演算が終了した後の近似曲線を表している。図６のｎ＝３の場合におけるＳ５６において、副輪郭点算出部２０が、副輪郭点ａ3、ｂ3を算出する。次に、Ｓ５７において、接線ベクトル算出部２１が、接線ベクトルｓ3、ｔ3を算出する。そして、Ｓ５８において、交点算出部２２が、交点ｃ3を算出する。そして、Ｓ５９において、交点ベクトル算出部２３が、交点ベクトルｕ3を算出する。そして、Ｓ５４において、制御部によりｎ＋１（＝４）がｄより大きいと判定されるので（Ｓ５４でＹＥＳ）、Ｓ６０に進む。
【００５４】
以上の処理により、最終的な近似曲線ａ0−ａ1−ａ2−ａ3−ｃ3−ｂ3−ｂ2−ｂ1−ｂ0が算出され、近似曲線を形成する各点ａ0、ａ1、ａ2、ａ3、ｃ3、ｂ3、ｂ2、ｂ1、ｂ0を保持する。
＜２．変形例その他＞
以上、本発明に係る曲線描画装置の実施形態を説明したが、例示した曲線描画装置を以下のように変形することも可能であり、本発明が上述の実施形態で示した通りの曲線描画装置に限られないことは勿論である。
（１）上記実施形態では、パス分割部１０は、パスを所定長に分割することとしたが、所定長に限らず、パスが近似処理を行うのに適した単位に分割されれば足りる。例えば、近似処理に要する演算負荷の低減と、近似処理結果による描画すべき曲線の再現性とのバランスを考慮して分割長を決定してもよい。具体的には、パスの変曲点近辺については、他の箇所よりも細かく分割することとしてもよいし、パスが直線に近いほど分割パスの長さを長くするなど分割パスの長さを不均一にしてもよいし、パスが直線である部分については分割を行わないこととするなどしてもよい。
（２）上記実施形態では、判断部１３は、長部分輪郭線を更に多くの線分で近似するか否かを、長辺と短辺の長さの比が所定値より大きいか否かによって判定することとしたが、長辺と短辺の長さの乖離度が一定以上か否か判定できれば足りる。例えば、隣り合う２つの分割点を通るパスの各法線に沿い、各分割点から、上記実施形態のように線幅の半分ではない所定の距離ずつ離れて位置する４つの離隔点を算出し、分割パス（或いはセグメント）に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離の比を算出し、この比が所定値より大きいか否かを判定することとしてもよい。また、長辺と短辺との比に代えて、長辺と短辺の比に相当する比、例えば長辺の長さとセグメントの長さとの比や、短辺の長さとセグメントの長さとの比などを用いることとしてもよい。
（３）上記実施形態では、判断部１３は、長辺と短辺の長さの比が所定値より大きいか否かを判定することとしたが、長辺と短辺の比を算出するまでもなく、近似処理を行う必要がないことが明らかな場合を検出し、明らかな場合には長辺と短辺の比の算出を省略することとしてもよい。例えば、長辺と短辺の比が所定値より大きいか否かを判定するのに先立ち、長辺の長さが所定長より短いか否かを判断し、短い場合には、近似してもしなくても視覚的に区別できないとして、更なる近似は行わないと判断するなどしてもよい。
（４）上記実施の形態では、分割係数ｄは、式１によって決定していたが、これに限らず、固定値としてもよいし、装置の演算能力、近似曲線を表示するためのディスプレイの曲線表示能力、近似結果による描画すべき曲線の再現性等に基づいて決定する他の式を用いて決定してもよい。分割係数ｄを増やすほど、近似曲線は、描画すべき曲線に近づけられると考えられるものの、必要とされる演算処理能力も高くなるためである。
（５）本実施の形態では、判断部１３において長辺と短辺の長さの比が所定値より大きいか否かを判定する場合に、一例として所定値を２としたが、これに限るものでは無く、近似について要求される曲線の再現性、近似曲線を表示するためのディスプレイの曲線表示能力、曲線描画装置の演算能力等に応じた適切な値を、シミュレーション等により予め算出して用いることとしてもよい。
（６）本実施の形態では、判断部１３において、隣り合う２つの分割点それぞれを通る法線が、分割点と輪郭点との間で交差してしまう場合についての判断は行っていなかった。このように交差が生じるような特異な場合には、交差が生じない場合とは別個の処理を行うこととしてもよい。具体的には、部分輪郭線のうち、２つの分割点を通るセグメントに対し交差する点と同側でない方（長辺に相当）を、複数の曲線で近似することとし、２つの分割点を通るセグメントに対し交差する点と同側の方（短辺に相当）については、近似しないこととしてよい。また、２つの分割点から所定の距離ずつ離れて位置する４つの輪郭点を算出する場合に、その所定の距離をセグメントの１／２未満の長さと定めれば、上述のような交差は生じない。
（７）本実施の形態では、第２の直線近似手法による近似処理として、式１〜式６などを用いた近似処理について説明したが、これらは近似処理のアルゴリズムの一例であり、長部分輪郭線を曲線近似できる他のアルゴリズムを用いてもよい。また、本実施の形態では、式２〜５において２dなど２を基数とした演算をしているが、これはコンピュータの内部処理など演算の単純化を考慮したものであり、基数を２未満にすることで、結果として得られる近似曲線はより滑らかになり得る。よって、基数として２未満の数を採用することとしてもよい。また、基数として２より大きい数を採用してもよいことは言うまでもない。
（８）本実施の形態では、パス情報は、一例としてパスを３次ベジェ曲線の各制御点の座標列を用いて表現しているものとするが、この表現に限られるものではなく、曲線を表現できるものであれば足りる。
（９）上述の実施形態で示した直線近似処理等を、曲線描画装置のプロセッサ、及びそのプロセッサに接続された各種回路に実行させるための機械語或いは高級言語のプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ＩＣカード、ハードディスク、光ディスク、フレキシブルディスク、ＲＯＭ、フラッシュメモリ等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような各機能が実現されるようになる。なお、プロセッサは、制御プログラムを直接実行する他、コンパイルして実行或いはインタプリタにより実行してもよい。
（１０）上述の実施形態で示した各機能構成要素（パス分割部１０、接線ベクトル算出部１１、輪郭点算出部１２、判断部１３、輪郭近似線生成部１４、分割係数決定部１５、曲線形成部１６、及び描画部１７等）は、その機能を実行する回路として実現されてもよいし、１又は複数のプロセッサによりプログラムを実行することで実現されてもよい。なお、上述の各機能構成要素は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップされてもよいし、一部又は全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
（１１）上述の実施形態及び各変形例を、部分的に組み合せてもよい。
＜３．補足＞
以下、更に本発明の一実施形態としての曲線描画装置の構成及びその変形例と効果について説明する。
（１）本発明の一実施形態に係る曲線描画装置は、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置であって、前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段とを備える。
【００５５】
この構成によると、部分輪郭線のうち長い方を、短い方よりも多くの線分で近似するか否かを、離隔点間の２つの距離を比較するという従来よりも計算負荷の低い簡素な手法によって判断することができる。
（２）前記離隔点算出手段は、前記分割点から等距離にある２つの離隔点として、前記分割点から前記線幅の半分ずつ離れた点を算出することとしてもよい。
【００５６】
この構成によると、離隔点は輪郭線上の点、すなわち部分輪郭線の端点と、離隔点とが一致することとなるので、部分輪郭線の端点を別途算出する処理を省略することができる。
（３）前記曲線形成手段は、前記部分輪郭線のうち短い方を１本の線分で近似し、前記分割点算出手段は、前記中心線を分割する場合に、前記部分輪郭線のうち短い方を近似する１本の線分が所定長以下になるよう分割することとしてもよい。
【００５７】
この構成によると、全ての短部分輪郭線は、１本の線分で近似するという簡易な近似処理となるので、近似処理全体の処理負荷を低減することができる。
（４）前記曲線形成手段は、前記部分輪郭線のうち長い方を近似する場合に、前記近似に用いる線分の数を、前記判定手段により算出された前記比に応じて決定することとしてもよい。
【００５８】
この構成によると、部分輪郭線を比に応じた適当な分割数の線分で近似することができる。
（５）前記曲線形成手段は、前記部分輪郭線のうち長い方を近似する場合に、前記部分輪郭線の両端点を点ａ0及び点ｂ0とし、ベクトルｓ0を、前記中心線の、点ａ0に対応する分割点における接線ベクトルとし、ベクトルｔ0を、前記中心線の、点ｂ0に対応する分割点における接線ベクトルとし、点ｃ0を、点ａ0を基点としベクトルｓ0方向に伸びる直線と、点ｂ0を基点としベクトルｔ0方向に伸びる直線との交点とし、分割係数をｄとし、ｎが１以上ｄ以下である各整数値について、点ａn、点ｂn、ベクトルｓn、ベクトルｔn、ベクトルｕnを、
ａn  ＝  ａn-1＋２n-1-d（ｃn-1−ａn-1）、
ｂn  ＝  ｂn-1＋２n-1-d（ｃn-1−ｂn-1）、
ｓn  ＝  ２-d｛（２d-(n-1)−１）ｕn-1＋ｓn-1）｝、
ｔn  ＝  ２-d｛（２d-(n-1)−１）（−ｕn-1）＋ｔn-1）｝、
ｕn  ＝  ｓn  ＋（−ｔn）、
ここで、点ｃnは、ａnを基点としベクトルｓn方向に伸びる直線と、ｂnを基点としベクトルｔn方向に伸びる直線との交点である、とする式を用いて算出し、前記部分輪郭線のうち長い方を、算出した（ｄ＋１）個の点ａm（ｍは０以上ｄ以下の各整数）、点ｃd、及び（ｄ＋１）個の点ｂmを結んだ折れ線で近似することとしてもよい。
【００５９】
この構成によると、部分輪郭線を複数の線分で近似する近似曲線を単純な漸化式から算出することができる。
（６）前記曲線形成手段は、前記２本の法線における離隔点間の部分が交差する場合には、前記判定手段による判定結果によらずに、前記２つの分割点を通る直線に対し前記交差する点とは同側でない部分輪郭線を複数の曲線で近似することとしてもよい。
【００６０】
この構成によると、前記交差が生じるような特異な状態においても、２つの部分輪郭線のうち一方を確実に複数の曲線で近似するとの判断をすることができる。
（７）本発明の一実施の態様である曲線描画方法は、分割点算出手段、離隔点算出手段、距離算出手段、判定手段、及び曲線形成手段を備えた、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置に用いられる曲線描画方法であって、前記分割点算出手段が、前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出ステップと、前記離隔点算出手段が、前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出ステップと、前記距離算出手段が、隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出ステップと、前記判定手段が、前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定ステップと、前記曲線形成手段が、前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成ステップとを含む。
【００６１】
また、本発明の一実施の態様である曲線描画プログラムは、コンピュータを、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置として機能させるための曲線描画プログラムであって、前記コンピュータを、前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段として機能させる。
【００６２】
また、本発明の一実施の態様である集積回路は、中心線及び線幅で規定される、幅を有する曲線の輪郭線を直線近似する曲線描画装置に用いられる集積回路であって、前記中心線を分割する前記中心線上の複数の分割点を算出する分割点算出手段と、前記分割点それぞれについて、当該分割点を通る前記中心線の法線に沿い当該分割点から等距離にある２つの離隔点を算出する離隔点算出手段と、隣り合う２つの分割点について算出された前記４つの離隔点について、当該２つの分割点を通る直線に対して同側にある離隔点同士を組とした場合の、各組の離隔点間の距離をそれぞれ算出する距離算出手段と、前記算出された２つの距離のうち短い方を基準とした当該２つの距離の比を算出し、当該比が所定値より大きいか否かを判定する判定手段と、前記比が所定値より大きいと判定された場合に、前記輪郭線において前記２つの分割点それぞれを通る法線に挟まれた部分である部分輪郭線のうち長い方を、短い方よりも多くの線分で近似する曲線形成手段とを備える。
【００６３】
この構成によると、部分輪郭線を近似する線分を更に多くの線分で近似するか否かを、離隔点間の２つの距離を比較するという従来よりも計算負荷の低い簡素な手法によって判断することができる。
【産業上の利用可能性】
【００６４】
本発明に係る曲線描画装置は、文字フォント、図形などの輪郭線を従来よりも計算負荷の低い簡素な手法を用いて算出するものであり、このような文字フォント、図形などをディスプレイに表示する情報処理端末などの装置に好適である。
【符号の説明】
【００６５】
１    曲線描画装置
１０    パス分割部
１１    接線ベクトル算出部
１２    輪郭点算出部
１３    判断部
１４    輪郭近似線生成部
１５    分割係数決定部
１６    曲線形成部
１７    描画部
２０    副輪郭点算出部
２１    接線ベクトル算出部
２２    交点算出部
２３    交点ベクトル算出部
１０１    パス
１０２、１０３    輪郭線
Ｐ４〜Ｐ７    分割点
Ｄ４〜Ｄ６    分割パス
１３１〜１３３    セグメント
１４１、１４２    接線ベクトル
１６１〜１６４    輪郭点
１７１〜１７４    輪郭点
Ｌ１５、Ｌ２５    輪郭近似線
【図１】
2012140910.tif 000003
【図２】
2012140910.tif 000004
【図３】
2012140910.tif 000005
【図４】
2012140910.tif 000006
【図５】
2012140910.tif 000007
【図６】
2012140910.tif 000008
【図７】
2012140910.tif 000009
【図８】
2012140910.tif 000010
【図９】
2012140910.tif 000011
【国際調査報告】
2012140910.tif 000012
2012140910.tif 000013