JP2010113624A - ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム - Google Patents

ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム Download PDF

Info

Publication number
JP2010113624A
JP2010113624A JP2008287183A JP2008287183A JP2010113624A JP 2010113624 A JP2010113624 A JP 2010113624A JP 2008287183 A JP2008287183 A JP 2008287183A JP 2008287183 A JP2008287183 A JP 2008287183A JP 2010113624 A JP2010113624 A JP 2010113624A
Authority
JP
Japan
Prior art keywords
bezier curve
division number
digits
division
length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008287183A
Other languages
English (en)
Other versions
JP5294313B2 (ja
Inventor
Junichi Tamai
潤一 玉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2008287183A priority Critical patent/JP5294313B2/ja
Priority to CA2743039A priority patent/CA2743039C/en
Priority to PCT/JP2009/069048 priority patent/WO2010053176A1/ja
Priority to US13/125,838 priority patent/US20110199381A1/en
Priority to EP09824873.5A priority patent/EP2346000A4/en
Publication of JP2010113624A publication Critical patent/JP2010113624A/ja
Application granted granted Critical
Publication of JP5294313B2 publication Critical patent/JP5294313B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

【課題】描画品質を維持して描画速度を向上できるベジェ曲線描画装置およびその方法を提供する。
【解決手段】制御点座標入力部10は、ベジェ曲線の制御点の座標を取得する。制御点間距離演算部11は、ベジェ曲線を表示する解像度の最小距離を単位として、ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、ベジェ曲線の制御点間について合計した和を含む値を、ベジェ曲線の長さの指標として算出する。分割数設定部12は、制御点間距離演算部11で算出したベジェ曲線の長さの指標に応じて、ベジェ曲線を分割して描画する場合の分割数を設定する。ベジェ分割頂点演算部16は、分割数設定部12で設定した分割数に従って、ベジェ曲線を分割した各部分の端点の座標を算出する。
【選択図】図2

Description

本発明は、ベジェ曲線を表示装置などに描画するベジェ曲線描画装置、ベジェ曲線描画方法およびプログラムに関する。
コンピュータ上で滑らかな曲線を書く場合にベジェ曲線を利用することが多い。任意の曲線を複数のベジェ曲線で近似して滑らかに表示することができる。ベジェ曲線はベクターグラフィクス、とりわけ文字の描画に用いられる。
実際にコンピュータの画面上にベジェ曲線を表示する場合、ベジェ曲線を分割して各部分を線分で近似した折れ線で描くことが行われている。この分割数を決める方法がいくつか提案されている。例えば、特許文献1は、ベジェ曲線の制御点列を用いて当該ベジェ曲線を折れ線近似し、近似された折れ線データの描画を行う構成とする。折れ線近似は、再分割を行うか否かを評価し、再分割が必要と評価された場合にのみ対象となる曲線を再分割する。そして、折れ線近似は、再帰的に実行される。また、再分割を行うか否かの評価は、ベジェ曲線の弦長さ見積値と、ベジェ曲線の弧長さ見積値とを評価基準として利用する。
特許文献2の方法では、標準形のセグメントに対し、2制御点の中点と始点終点を結ぶ直線との距離が許容値以下になるまで再帰的に分割を行い、前記距離が許容値以下になった場合は、当該セグメントを線分近似する。また、特許文献3では、3次のベジェ曲線を予め2分割し、第1および第2のベジェ曲線とする。次いで各ベジェ曲線について、誤差判定ステップと分割ステップからなる直線近似処理を再帰的に繰り返し、最終的に得られた各ベジェ曲線の各定義多角形の外郭辺を元のベジェ曲線の近似直線群とする。
ベジェ曲線を折れ線近似する各分割の近似度を評価して再帰的に分割する方法以外に、特許文献4の方法では、ベジェ曲線を決定する座標点の間の距離の和に比例して、そのベジェ曲線を直線近似する際の近似直線の数であるサンプリング数を決定する。
特開2002−117411号公報 特開平11−203489号公報 特開平10−198811号公報 特開平02−126376号公報
ベジェ曲線を表示装置などに描画する場合、ベジェ曲線を複数の部分に分割して、分割する点を結ぶ線分で近似して表示する方法が用いられている。ベジェ曲線を複数の線分に分割して表示する方法では、ベジェ曲線の大きさに関わらず分割数を一定にしてしまうと、形状の小さいベジェ曲線では過剰な分割数となり演算処理量に比較して表示された曲線の滑らかさの向上効果が小さく、分割数が多いため描画速度が低下する。一方、形状の大きいベジェ曲線に関しては、分割数が不足するといったケースが発生し、結果描画品質として満足できないものとなってしまう。
しかし、前述の各分割の近似度を評価して再帰的に分割する方法では、ベジェ曲線の形状に応じた滑らかな表示を得ることができるが、近似度の評価の演算処理に距離の評価が必要であり、分割数に比例して演算処理量が増大する。また、特許文献4の方法では、制御点間の距離を計算するために、2乗と平方根の計算が必要である。
本発明は上述の事情に鑑みてなされたもので、描画品質を維持して描画速度を向上できるベジェ曲線描画装置およびその方法を提供することを目的とする。
本発明の第1の観点に係るベジェ曲線描画装置は、
ベジェ曲線の制御点の座標を取得する制御点取得手段と、
前記ベジェ曲線を表示する解像度の最小距離を単位として、前記ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、該ベジェ曲線の制御点間について合計した和を含む値を、前記ベジェ曲線の長さの指標として算出する距離指標算出手段と、
前記長さの指標に応じて、前記ベジェ曲線を分割して描画する場合の分割数を設定する分割数設定手段と、
前記分割数設定手段で設定した分割数に従って、前記ベジェ曲線を分割した各部分の端点の座標を算出する分割点演算手段と、
を備えることを特徴とする。
本発明の第2の観点に係るベジェ曲線描画方法は、
ベジェ曲線の制御点の座標を取得する制御点取得ステップと、
前記ベジェ曲線を表示する解像度の最小距離を単位として、前記ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、該ベジェ曲線の制御点間について合計した和を含む値を、前記ベジェ曲線の長さの指標として算出する距離指標算出ステップと、
前記長さの指標に応じて、前記ベジェ曲線を分割して描画する場合の分割数を設定する分割数設定ステップと、
前記分割数設定手段で設定した分割数に従って、前記ベジェ曲線を分割した各部分の端点の座標を算出する分割点演算ステップと、
を備えることを特徴とする。
本発明の第3の観点に係るプログラムは、コンピュータに、
ベジェ曲線の制御点の座標を取得する制御点取得ステップと、
前記ベジェ曲線を表示する解像度の最小距離を単位として、前記ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、該ベジェ曲線の制御点間について合計した和を、前記ベジェ曲線の長さの指標として算出する距離指標算出ステップと、
前記長さの指標に応じて、前記ベジェ曲線を分割して描画する場合の分割数を設定する分割数設定ステップと、
前記分割数設定手段で設定した分割数に従って、前記ベジェ曲線を分割した各部分の端点の座標を算出する分割点演算ステップと、
を実行させることを特徴とする。
本発明によれば、ベジェ曲線の大きさに応じて分割数を設定するので、形状が小さいベジェ曲線では、画質を維持しながら演算処理量を削減し、形状が大きいベジェ曲線では適切な演算処理量で画質を向上させることができる。その結果、描画品質を維持して描画速度を向上できる。
ベクターグラフィックで用いられる滑らかな曲線を描く場合にベジェ曲線が利用される。図1を用いてベジェ曲線の概略を説明する。ベクターグラフィックの曲線描画では、主に2次ベジェ曲線101、3次ベジェ曲線102が利用される。2次ベジェ曲線101はtを媒介変数として次の式(1)で表される。
x = x0・(1 − t) + 2・x1・(1 − t)・t + x2・t
y = y0・(1 − t) + 2・y1・(1 − t)・t + y2・t
0 ≦ t ≦ 1 (1)
2次ベジェ曲線101の制御点の座標は、(x0,y0)、(x1,y1)、(x2,y2)で与えられる。媒介変数tの値を0から1まで変化させることにより、2次ベジェ曲線101が得られる。
また、3次ベジェ曲線102は次の式(2)で表される。
x = x0・(1 − t) + 3・x1・(1 − t)・t
+ 3・x2・(1 − t)・t + x3・t
y = y0・(1 − t) + 3・y1・(1 − t)・t
+ 3・y2・(1 − t)・t + y3・t
0 ≦ t ≦ 1 (2)
3次ベジェ曲線102の制御点の座標は、(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3)で与えられる。媒介変数tの値を0から1まで変化させることにより、3次ベジェ曲線102が得られる。
図2は、本発明の実施の形態に係る描画装置の構成例を示すブロック図である。ベジェ曲線描画装置1は、制御点座標入力部10、制御点間距離演算部11、分割数設定部12およびベジェ分割頂点演算部16を備える。分割数設定部12は、ベジェ分割テーブル12aを含む。
図3は、ベジェ曲線描画装置を含む描画装置の構成例を示すブロック図である。描画装置100は、ベジェ曲線描画装置1、座標変換103、輪郭生成104、アンチエイリアス回路105、アウトラインバッファ106、マスク生成107、塗りつぶし108、合成部109、ディザー110、イメージバッファ111、フィルタ112および色変換113から構成される。ベジェ曲線描画装置1は描画装置100のうち、ベジェ曲線を規定する制御点の座標からベジェ曲線を折れ線近似する分割点の座標を演算する部分である。図2の線分描画部18は、図3の座標変換103以降に相当する。
描画装置100の処理の概要を説明する。ベジェ曲線描画装置1が、ベジェ曲線を折れ線近似する分割点の座標を出力すると、座標変換103は分割点の座標を、表示する画面全体の中の座標に変換する。輪郭生成104は、分割点の座標から各線分が通る画素をアウトラインバッファ106に設定する。表示する解像度に応じて、アンチエイリアシング処理を行い、輪郭データからマスクデータを生成する。そして、マスクデータに従って、塗りつぶし処理を行う。
一方、ビットマップなどの画素ごとの色および輝度のデータで表された画像データと重ね合わせる場合に、その画像データはイメージバッファ111に設定される。画像データはフィルタ112でエッジ強調、特異点除去などの処理が施されて、表示装置に合わせて色変換したのち、輪郭データから生成された画像と合成される。最後に、画面で見やすいようにディザー効果をかけて、描画データ19(図2)を生成する。
図2に戻って、ベジェ曲線描画装置1の構成を説明する。制御点座標入力部10は、ベジェ曲線の制御点の座標を入力する。制御点の組で表されるベジェ曲線は、図示しないベジェ曲線生成部で生成されるか、または、別の装置からデータで与えられる。
制御点間距離演算部11は、制御点座標入力部10で入力されたベジェ曲線の制御点の座標から、ベジェ曲線の長さの指標である距離パラメータ13を算出する。制御点間距離演算部11は、算出した距離パラメータ13を分割数設定部12に入力する。分割数設定部12は、距離パラメータ13を受け取ると、距離パラメータ13に応じた分割数14をベジェ分割頂点演算部16に出力する。この分割数14は、ベジェ曲線の式の媒介変数tの分割数を決定するのに用いられる。
距離パラメータ13は、ベジェ曲線を表示するときの、折れ線で近似する分割数を設定するための値であって、ベジェ曲線の長さの指標である。ベジェ曲線の折れ線近似の分割数は、同じ制御点座標のベジェ曲線であっても、表示する解像度によって変化する。したがって、距離パラメータ13は、ベジェ曲線を表示する解像度の最小距離を単位として算出する。制御点座標入力部10は、制御点座標を表示解像度に換算する尺度を入力する。そして、制御点間距離演算部11は、制御点座標を尺度で換算して、表示する解像度の最小距離を単位として距離パラメータ13を算出する。または、あらかじめ表示する解像度に換算された制御点座標が与えられてもよい。以下では、制御点座標を表示解像度に換算されたものとして説明する。
制御点間距離演算部11は、ベジェ分割頂点演算部16に座標パラメータ15を出力する。この座標パラメータ15は、制御点の座標と同一である。ベジェ分割頂点演算部16は、座標パラメータ15および分割数14を用いて、ベジェ曲線を線分パラメータ17に分割する。この線分パラメータ17を線分描画部18に出力することにより、ベジェ曲線を表示装置に表示するための描画データ19が得られる。
制御点間距離演算部11では、距離パラメータ13を以下のように演算する。ベジェ曲線の長さは、制御点の間の距離の和に概ね比例すると考えられる。さらに、制御点の間の距離は、隣り合う制御点のx座標の差とy座標の差のいずれか大きい方で評価できる。そこで、隣り合う制御点のx座標の差の絶対値(水平距離)とy座標の差の絶対値(垂直距離)のいずれか大きい方を、制御点間について合計した値を、距離パラメータ13として演算する。すなわち、数式で記述すれば、以下のように表せる。
距離パラメータ13をLとして、2次のベジェ曲線の場合は、
L01 = max(|x0 − x1|,|y0 − y1|)
L12 = max(|x1 − x2|,|y1 − y2|)
L = L01 + L12
である。
3次のベジェ曲線の場合の距離パラメータ13(L)は、
L01 = max(|x0 − x1|,|y0 − y1|)
L12 = max(|x1 − x2|,|y1 − y2|)
L23 = max(|x2 − x3|,|y2 − y3|)
L = L01 + L12 + L23
である。
一般に、n次のベジェ曲線の距離パラメータ13(L)は、
L01 = max(|x0 − x1|,|y0 − y1|)
L12 = max(|x1 − x2|,|y1 − y2|)
・・・
Ln-1n = max(|xn-1 − xn|,|yn-1 − yn|)
L = L01 + L12 + ・・・ + Ln-1n
と表される。
上述の距離パラメータ13(L)は、制御点間のユークリッド距離の合計より小さい値になっているが、距離パラメータ13(L)は概ねベジェ曲線の大きさを表しているので、距離パラメータ13(L)に対応する分割数をうまく調節することによって、ベジェ曲線の表示品質を保って折れ線近似できる。
算出された距離パラメータ13(L)は、分割数設定部12に入力される。分割数設定部12は、ベジェ分割テーブル12aを参照して、分割数を算出する。この分割数は、ベジェ曲線の媒介変数tの値の分割数として利用される。
図4は、距離パラメータ13(L)から分割数を設定する一例を示す図である。図4に示すように、距離パラメータ13(L)を2のべき乗の数値で区切って、その段階ごとに分割数を設定する。言い換えれば、距離パラメータ13(L)を2進数で表した場合に、1である最大の桁の桁数に応じて段階的に分割数を設定する。
図4の例では、距離パラメータ13が2進数で4桁以下(0≦L<16)の場合、4桁を超え8桁以下(16≦L<256)の場合、8桁を超え10桁以下(256≦L<1024)の場合、および10桁を超える(1024≦L)場合に分けて、それぞれの場合に対応して分割数を設定する。図4の例は、表示画面横幅の解像度の最大値を2048とした場合に、その1/2(2048・1/2=1024)で区切り、次は1/2の2乗の1/4(1024・1/4=256)で区切っている。さらに同様にして、1/4の2乗の1/16(256・1/16=16)で区切っている。
図4の例ではさらに、分割数を2のべき乗に設定する。すなわち、距離パラメータ13が2進数で
4桁以下(0≦L<16)の場合は、分割数を2=8に、
4桁を超え8桁以下(16≦L<256)の場合は、2=16に、
8桁を超え10桁以下(256≦L<1024)の場合は、2=32に、および、
10桁を超える(1024≦L)場合は、2=64に設定する。
距離パラメータ13の段階と分割数を2のべき乗とすることにより、分割数設定部12の演算処理が極めて簡単になる。これらの演算は、ビットシフトとビットの論理演算でできるので、回路で実装する場合にも極めて簡単である。また、人間の感覚はおおよそ対数関数的であって、以上のようにべき乗で段階と分割数を設定すると、感覚的に均一なスケールが得られる。
分割数設定部12は、分割数14をベジェ分割頂点演算部16に出力する。ベジェ分割頂点演算部16は、与えられた座標パラメータ15および分割数14により線分パラメータ17の算出を行う。
図5を参照して、分割数が2=8、および分割数が2=16の場合を例に説明する。分割数が2のとき、ベジェ分割頂点演算部16では、2+1回=合計9回の演算を行う。媒介変数tの最小値および最大値は、必ず0および1となる。媒介変数tを増加させるたびに、図1のベジェ曲線の演算を行い、それぞれの媒介変数tの値に対する座標(x,y)を算出する。ここで、分割数を2のべき乗に設定すると、媒介変数tの値は、2進数のカウンタで演算することができる。
分割数が2=16の場合は、tの入力回数(合計17回)にしたがって、それぞれ図1の式により(x,y)が合計17回算出される。この(x,y)を線分描画部18で直線につなげたものが描画データ19となる。ここでも、分割数が2のべき乗に設定されているので、媒介変数tの値は、2進数のカウンタで演算することができる。
図6は、本実施の形態に係るベジェ曲線分割処理の動作の一例を示すフローチャートである。図6のベジェ曲線分割処理は、描画処理の中でベジェ曲線を読み込むごとに起動される。ベジェ曲線分割処理が起動されると、制御点座標入力部10は、そのベジェ曲線の制御点の座標を入力する(ステップS1)。前述のとおり、同時に制御点座標を表示解像度に換算する尺度を入力する。
制御点間距離演算部11は、制御点座標を表示解像度の尺度に変換して、隣り合う制御点のx座標の差の絶対値(水平距離)とy座標の差の絶対値(垂直距離)のいずれか大きい方を、制御点間について合計した値を、距離パラメータ13として演算する(ステップS2)。そして、距離パラメータ13を分割数設定部12に入力する。同時に、ベジェ曲線の制御点の座標である座標パラメータ15をベジェ分割頂点演算部16に入力する。
分割数設定部12は、例えば図4に示すようなベジェ分割テーブル12aを参照して、距離パラメータ13からベジェ曲線の分割数14を設定する(ステップS3)。距離パラメータ13を2のべき乗の数値で区切る場合には、2進数で表した距離パラメータ13の桁数で判定できる。また、分割数が2のべき乗の場合は、分割数を2進数のいずれかのビットを1にすることになる。分割数設定部12は、設定した分割数14をベジェ分割頂点演算部16に入力する。
ベジェ分割頂点演算部16は、分割数14と座標パラメータ15から、ベジェ曲線の媒介変数tの定義域を分割数の区間に分割して、各端点(折れ線頂点)のx座標とy座標を演算する(ステップS4)。ベジェ分割頂点演算部16は、ベジェ曲線を近似する折れ線の各頂点の座標を、線分描画部18に送って1つのベジェ曲線の分割処理を終了する。
本実施の形態のベジェ曲線描画装置1によれば、ベジェ曲線の制御点の間の距離に応じたパラメータ(指標)に基づいて、ベジェ曲線を描画するための分割数が設定される。そして、小さいベジェ曲線では分割数を少なく、大きいベジェ曲線は分割数を多く設定することができる。
なお、実施の形態の例に挙げた距離パラメータ13の段階の数値および分割数の数値は、好ましい例であって、表示する画面の大きさ、解像度、およびベジェ曲線に合わせて任意に設定することができる。例えば、ベジェ曲線を印刷する場合には、その解像度に合わせて、距離パラメータ13の段階とその区切りの数値、および分割数を変更することが望ましい。
また、x座標の差の絶対値とy座標の差の絶対値の和を、制御点間について合計した値を距離パラメータとすることもできる。その場合は、距離パラメータは、制御点間のユークリッド距離の合計より大きい値になっているが、距離パラメータに対応する分割数をうまく調節することによって、ベジェ曲線の表示品質を保って折れ線近似できる。この場合は、x座標の差とy座標の差を比較して判断する必要がない。
図7は、ベジェ曲線描画装置1をコンピュータに実装する場合の、物理的な構成の一例を示すブロック図である。本実施の形態に係るベジェ曲線描画装置1は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができる。ベジェ曲線描画装置1は、図7に示すように、制御部21、主記憶部22、外部記憶部23、操作部24、表示部25および入出力部26を備える。主記憶部22、外部記憶部23、操作部24、表示部25および入出力部26はいずれも内部バス20を介して制御部21に接続されている。
制御部21はCPU(Central Processing Unit)等から構成され、外部記憶部23に記憶されているプログラム30に従って、ベジェ曲線を描画するための処理を実行する。
主記憶部22はRAM(Random-Access Memory)等から構成され、外部記憶部23に記憶されているプログラム30をロードし、制御部21の作業領域として用いられる。上述のベジェ分割テーブル12aは、外部記憶部23からロードされて主記憶部22の中に構成される。
外部記憶部23は、フラッシュメモリ、ハードディスク、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、前記の処理を制御部21に行わせるためのプログラム30を予め記憶し、また、制御部21の指示に従って、このプログラム30が記憶するデータを制御部21に供給し、制御部21から供給されたデータを記憶する。
操作部24はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス20に接続するインターフェース装置から構成されている。操作部24を介して、ベジェ曲線を含む画像データの作成、入力、送受信などの指示、表示する画像の指定、描画領域の範囲、拡大率、描画領域の表示装置における位置などが入力され、制御部21に供給される。
表示部25は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、描画された画像を表示する。
入出力部26は、無線送受信機、無線モデムまたは網終端装置、およびそれらと接続するシリアルインタフェースまたはLAN(Local Area Network)インタフェース等から構成されている。入出力部26を介して、ベジェ曲線を含む画像データを受信し、また送信できる。
本発明によるベジェ曲線描画装置1は、上記のベジェ曲線を描画する機能を実現する回路を組み込んだLSI(Large Scale Integration)等のハードウェア部品から構成される回路を実装して、電子回路として構成することができる。また、上記の各機能を行うベジェ曲線描画プログラムを、コンピュータ処理装置上の制御部21で実行することにより、ソフトウェア的にベジェ曲線描画装置1を実現することができる。その場合、制御部21のCPUは、外部記憶部23に格納されているプログラム30を、主記憶部22にロードして実行し、各部の動作を制御して上記の各機能を行わせることによって、ベジェ曲線描画装置1の処理を実行する。
上述のとおり、本実施の形態のベジェ曲線描画装置1では、ベジェ曲線の分割数を算出する処理は、単純な加減算、ビットシフトおよび論理演算で構成できる。媒介変数tの算出までに乗算および除算は現れない。したがって、演算処理および回路が簡単に構成できて、ベジェ曲線描画の演算処理を高速に行うことができる。
以上に説明したように、本実施の形態のベジェ曲線描画装置1によれば、以下に記載するような効果を奏する。
第1の効果は、制御点間距離演算部で、ベジェ曲線の距離パラメータを算出することにより、ベジェ曲線の線分分割数を動的に変更できる。これにより、サイズの比較的小さいベジェ曲線では、分割数を減らすことにより、ベジェ分割頂点演算部の処理回数を減らすことができ、サイズの比較的多いベジェ曲線では、分割数を増やすことにより、描画されるベジェ曲線の品質を向上できる。
第2の効果は、制御点間距離演算部の処理を簡易にすることによりハードウェアでの処理回路を小さくできる。ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、ベジェ曲線の制御点間について合計した和を含む値を、ベジェ曲線の長さの指標として算出するので、ベジェ曲線の大きさの指標の演算が簡単である。さらに、長さの指標を2のべき乗の数で区切って、段階的に分割数を設定するので、分割数を設定する演算が簡単である。
第3の効果は、分割数を2のべき乗にすることにより、ベジェ曲線の媒介変数tの増分が2進数の1桁で表現しやすい形式となり、演算回路をハードウェアに実装しやすい。
第4の効果は、分割数の設定値が可変であることが挙げられる。要求される描画性能や描画品質に応じて、ベジェ曲線の分割数を変更することが容易である。
その他、本発明の好適な変形として、以下の構成が含まれる。
本発明の第1の観点に係るベジェ曲線描画装置について、
好ましくは、前記分割数設定手段は、前記長さの指標を2進数で表した場合に、1である最大の桁の桁数に応じて段階的に前記分割数を設定することを特徴とする。
好ましくは、前記分割数設定手段は、前記長さの指標が2進数で4桁以下の場合、4桁を超え8桁以下の場合、8桁を超え10桁以下の場合、および10桁を超える場合に分けて、それぞれの場合に対応して前記分割数を設定することを特徴とする。
好ましくは、前記分割数設定手段は、前記分割数を2のべき乗の数とすることを特徴とする。
さらに好ましくは、前記分割数設定手段は、前記分割数を8、16、32、または64ののいずれかに設定することを特徴とする。
本発明の第2の観点に係るベジェ曲線描画方法について、
好ましくは、前記分割数設定ステップは、前記長さの指標を2進数で表した場合に、1である最大の桁の桁数に応じて段階的に前記分割数を設定することを特徴とする。
好ましくは、前記分割数設定ステップは、前記長さの指標が2進数で4桁以下の場合、4桁を超え8桁以下の場合、8桁を超え10桁以下の場合、および10桁を超える場合に分けて、それぞれの場合に対応して前記分割数を設定することを特徴とする。
好ましくは、前記分割数設定ステップは、前記分割数を2のべき乗の数とすることを特徴とする。
さらに好ましくは、前記分割数設定ステップは、前記分割数を8、16、32、または64ののいずれかに設定することを特徴とする。
その他、前記のハードウエェア構成やフローチャートは一例であり、任意に変更および修正が可能である。
制御部21、主記憶部22、外部記憶部23、操作部24、入出力部26および内部バス20などから構成されるベジェ曲線描画装置1の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体(フレキシブルディスク、CD−ROM、DVD−ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行するベジェ曲線描画装置1を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することでベジェ曲線描画装置1を構成してもよい。
また、ベジェ曲線描画装置1の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
ベジェ曲線を説明する図である。 本発明の実施の形態に係るベジェ曲線描画装置の構成例を示すブロック図である。 ベジェ曲線描画装置を含む描画装置の構成例を示すブロック図である。 分割数を設定する一例を示す図である。 ベジェ曲線を分割して計算するパラメータの一例を示す図である。 実施の形態に係るベジェ曲線分割処理の動作の一例を示すフローチャートである。 ベジェ曲線描画装置をコンピュータに実装する場合の、物理的な構成の一例を示すブロック図である。
符号の説明
1 ベジェ曲線描画装置
10 制御点座標入力部
11 制御点間距離演算部
12 分割数設定部
12a ベジェ分割テーブル
16 ベジェ分割頂点演算部
18 線分描画部
21 制御部
22 主記憶部
23 外部記憶部
24 操作部
25 表示部
26 入出力部
30 プログラム

Claims (11)

  1. ベジェ曲線の制御点の座標を取得する制御点取得手段と、
    前記ベジェ曲線を表示する解像度の最小距離を単位として、前記ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、該ベジェ曲線の制御点間について合計した和を含む値を、前記ベジェ曲線の長さの指標として算出する距離指標算出手段と、
    前記長さの指標に応じて、前記ベジェ曲線を分割して描画する場合の分割数を設定する分割数設定手段と、
    前記分割数設定手段で設定した分割数に従って、前記ベジェ曲線を分割した各部分の端点の座標を算出する分割点演算手段と、
    を備えることを特徴とするベジェ曲線描画装置。
  2. 前記分割数設定手段は、前記長さの指標を2進数で表した場合に、1である最大の桁の桁数に応じて段階的に前記分割数を設定することを特徴とする請求項1に記載のベジェ曲線描画装置。
  3. 前記分割数設定手段は、前記長さの指標が2進数で4桁以下の場合、4桁を超え8桁以下の場合、8桁を超え10桁以下の場合、および10桁を超える場合に分けて、それぞれの場合に対応して前記分割数を設定することを特徴とする請求項2に記載のベジェ曲線描画装置。
  4. 前記分割数設定手段は、前記分割数を2のべき乗の数とすることを特徴とする請求項1ないし3のいずれか1項に記載のベジェ曲線描画装置。
  5. 前記分割数設定手段は、前記分割数を8、16、32、または64ののいずれかに設定することを特徴とする請求項4に記載のベジェ曲線描画装置。
  6. ベジェ曲線の制御点の座標を取得する制御点取得ステップと、
    前記ベジェ曲線を表示する解像度の最小距離を単位として、前記ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、該ベジェ曲線の制御点間について合計した和を含む値を、前記ベジェ曲線の長さの指標として算出する距離指標算出ステップと、
    前記長さの指標に応じて、前記ベジェ曲線を分割して描画する場合の分割数を設定する分割数設定ステップと、
    前記分割数設定手段で設定した分割数に従って、前記ベジェ曲線を分割した各部分の端点の座標を算出する分割点演算ステップと、
    を備えることを特徴とするベジェ曲線描画方法。
  7. 前記分割数設定ステップは、前記長さの指標を2進数で表した場合に、1である最大の桁の桁数に応じて段階的に前記分割数を設定することを特徴とする請求項6に記載のベジェ曲線描画方法。
  8. 前記分割数設定ステップは、前記長さの指標が2進数で4桁以下の場合、4桁を超え8桁以下の場合、8桁を超え10桁以下の場合、および10桁を超える場合に分けて、それぞれの場合に対応して前記分割数を設定することを特徴とする請求項7に記載のベジェ曲線描画方法。
  9. 前記分割数設定ステップは、前記分割数を2のべき乗の数とすることを特徴とする請求項6ないし8のいずれか1項に記載のベジェ曲線描画方法。
  10. 前記分割数設定ステップは、前記分割数を8、16、32、または64ののいずれかに設定することを特徴とする請求項9に記載のベジェ曲線描画方法。
  11. コンピュータに、
    ベジェ曲線の制御点の座標を取得する制御点取得ステップと、
    前記ベジェ曲線を表示する解像度の最小距離を単位として、前記ベジェ曲線の隣り合う制御点の間の水平方向の距離または垂直方向の距離のいずれか大きい方を、該ベジェ曲線の制御点間について合計した和を、前記ベジェ曲線の長さの指標として算出する距離指標算出ステップと、
    前記長さの指標に応じて、前記ベジェ曲線を分割して描画する場合の分割数を設定する分割数設定ステップと、
    前記分割数設定手段で設定した分割数に従って、前記ベジェ曲線を分割した各部分の端点の座標を算出する分割点演算ステップと、
    を実行させることを特徴とするプログラム。
JP2008287183A 2008-11-07 2008-11-07 ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム Expired - Fee Related JP5294313B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008287183A JP5294313B2 (ja) 2008-11-07 2008-11-07 ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム
CA2743039A CA2743039C (en) 2008-11-07 2009-11-09 Bezier curve drawing device, bezier curve drawing method, and recording medium
PCT/JP2009/069048 WO2010053176A1 (ja) 2008-11-07 2009-11-09 ベジェ曲線描画装置、ベジェ曲線描画方法および記録媒体
US13/125,838 US20110199381A1 (en) 2008-11-07 2009-11-09 Bezier curve drawing device, bezier curve drawing method, and recording medium
EP09824873.5A EP2346000A4 (en) 2008-11-07 2009-11-09 APPARATUS FOR DRAWING BEZIER CURVES, METHOD FOR DRAWING BEZIER CURVES AND RECORDING MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008287183A JP5294313B2 (ja) 2008-11-07 2008-11-07 ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010113624A true JP2010113624A (ja) 2010-05-20
JP5294313B2 JP5294313B2 (ja) 2013-09-18

Family

ID=42152981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008287183A Expired - Fee Related JP5294313B2 (ja) 2008-11-07 2008-11-07 ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム

Country Status (5)

Country Link
US (1) US20110199381A1 (ja)
EP (1) EP2346000A4 (ja)
JP (1) JP5294313B2 (ja)
CA (1) CA2743039C (ja)
WO (1) WO2010053176A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272120A (ja) * 2009-05-25 2010-12-02 Fujitsu Ltd 曲線近似方法及びシステム、並びにグラフィック表示制御方法及び装置
JP2015225670A (ja) * 2014-05-27 2015-12-14 エレクトロビット オートモーティブ ゲーエムベーハー ハードウエアテッセレーションを用いた道路と経路のグラフィック表示方法
JP2016520920A (ja) * 2013-04-30 2016-07-14 マイクロソフト テクノロジー ライセンシング,エルエルシー グラフィックス・パイプラインを用いた2次元曲線のテッセレーション
KR20200010499A (ko) * 2017-09-20 2020-01-30 가부시키가이샤 뉴플레어 테크놀로지 묘화 데이터 생성 방법, 멀티 하전 입자 빔 묘화 장치, 패턴 검사 장치, 및 컴퓨터 판독 가능한 기록 매체
KR20200042398A (ko) * 2018-10-15 2020-04-23 가부시키가이샤 뉴플레어 테크놀로지 묘화 데이터 생성 방법 및 멀티 하전 입자 빔 묘화 장치
TWI807316B (zh) * 2020-09-24 2023-07-01 日商紐富來科技股份有限公司 資料產生方法以及帶電粒子束照射裝置
US11942305B2 (en) 2021-08-10 2024-03-26 Nuflare Technology, Inc. Data generation method, charged particle beam irradiation device, and computer-readable recording medium

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9224218B2 (en) * 2012-06-05 2015-12-29 Apple Inc. System and method for loading and rendering curved features in a map
FR3005775B1 (fr) * 2013-05-15 2015-06-26 Thales Sa Procede et systeme de construction d'au moins une ligne de guidage d'aeronef dans un reseau de navigation aeroportuaire
WO2015087594A1 (ja) * 2013-12-13 2015-06-18 コニカミノルタ株式会社 分光ユニットおよびこれを用いた分光装置
US20160122224A1 (en) 2014-11-03 2016-05-05 Ppg Industries Ohio, Inc. Automated float glass system
CN110297677B (zh) * 2018-03-22 2022-12-23 斑马智行网络(香港)有限公司 绘制方法、装置、设备以及存储介质
CN109408161A (zh) * 2018-08-22 2019-03-01 安徽慧视金瞳科技有限公司 一种模拟毛笔笔触的绘制算法
CN109949393B (zh) * 2019-01-09 2023-09-12 广州小鹏汽车科技有限公司 一种动画效果处理方法、***及装置
CN109933932B (zh) * 2019-03-21 2022-09-20 山东女子学院 一种基于Bézier曲线的路径优化方法及***
CN110716493B (zh) * 2019-09-10 2022-03-04 天津大学 一种五轴微线段加工路径光顺方法
CN111913644B (zh) * 2020-07-29 2022-06-24 北京大麦地信息技术有限公司 一种白板的线条绘制方法及装置、可读存储介质
CN112419444B (zh) * 2020-12-09 2024-03-29 北京维盛视通科技有限公司 服装板片绘制方法、装置、电子设备及存储介质
CN112738627B (zh) * 2020-12-23 2022-05-20 上海哔哩哔哩科技有限公司 播放控制方法及装置
CN114065673B (zh) * 2022-01-18 2022-04-19 北京智芯仿真科技有限公司 集成电路快速计算中贝塞尔积分自适应分段方法及***
CN114818181B (zh) * 2022-04-21 2023-08-25 哈尔滨工程大学 基于齿廓线直齿圆柱齿轮有限元网格自动生成方法和设备
CN116092095B (zh) * 2023-04-13 2023-07-28 江苏中威科技软件***有限公司 原笔迹手写笔锋的生成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002117411A (ja) * 2000-10-12 2002-04-19 Matsushita Electric Ind Co Ltd 曲線描画方法、曲線描画装置および曲線描画プログラムを記録した記録媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381521A (en) * 1993-05-14 1995-01-10 Microsoft Corporation System and method of rendering curves
US5940081A (en) * 1995-01-27 1999-08-17 Sony Corporation Method and apparatus for forming a font and the font produced method and apparatus for drawing a blurred figure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002117411A (ja) * 2000-10-12 2002-04-19 Matsushita Electric Ind Co Ltd 曲線描画方法、曲線描画装置および曲線描画プログラムを記録した記録媒体

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010272120A (ja) * 2009-05-25 2010-12-02 Fujitsu Ltd 曲線近似方法及びシステム、並びにグラフィック表示制御方法及び装置
US8976183B2 (en) 2009-05-25 2015-03-10 Fujitsu Limited Method and system for approximating curve, and graphic display control method and apparatus
JP2016520920A (ja) * 2013-04-30 2016-07-14 マイクロソフト テクノロジー ライセンシング,エルエルシー グラフィックス・パイプラインを用いた2次元曲線のテッセレーション
JP2015225670A (ja) * 2014-05-27 2015-12-14 エレクトロビット オートモーティブ ゲーエムベーハー ハードウエアテッセレーションを用いた道路と経路のグラフィック表示方法
KR20200010499A (ko) * 2017-09-20 2020-01-30 가부시키가이샤 뉴플레어 테크놀로지 묘화 데이터 생성 방법, 멀티 하전 입자 빔 묘화 장치, 패턴 검사 장치, 및 컴퓨터 판독 가능한 기록 매체
KR102323815B1 (ko) 2017-09-20 2021-11-09 가부시키가이샤 뉴플레어 테크놀로지 묘화 데이터 생성 방법, 멀티 하전 입자 빔 묘화 장치, 패턴 검사 장치, 및 컴퓨터 판독 가능한 기록 매체
KR102305250B1 (ko) * 2018-10-15 2021-09-27 가부시키가이샤 뉴플레어 테크놀로지 묘화 데이터 생성 방법 및 멀티 하전 입자 빔 묘화 장치
KR20200042398A (ko) * 2018-10-15 2020-04-23 가부시키가이샤 뉴플레어 테크놀로지 묘화 데이터 생성 방법 및 멀티 하전 입자 빔 묘화 장치
US11327408B2 (en) 2018-10-15 2022-05-10 Nuflare Technology, Inc. Writing data generating method and multi charged particle beam writing apparatus
US11789372B2 (en) 2018-10-15 2023-10-17 Nuflare Technology, Inc. Writing data generating method and multi charged particle beam writing apparatus
TWI807316B (zh) * 2020-09-24 2023-07-01 日商紐富來科技股份有限公司 資料產生方法以及帶電粒子束照射裝置
US11749499B2 (en) 2020-09-24 2023-09-05 Nuflare Technology, Inc. Data generation method and charged particle beam irradiation device
US11942305B2 (en) 2021-08-10 2024-03-26 Nuflare Technology, Inc. Data generation method, charged particle beam irradiation device, and computer-readable recording medium

Also Published As

Publication number Publication date
CA2743039A1 (en) 2010-05-14
EP2346000A1 (en) 2011-07-20
US20110199381A1 (en) 2011-08-18
WO2010053176A1 (ja) 2010-05-14
EP2346000A4 (en) 2016-10-05
JP5294313B2 (ja) 2013-09-18
CA2743039C (en) 2014-07-08

Similar Documents

Publication Publication Date Title
JP5294313B2 (ja) ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム
JP2910979B2 (ja) コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置
US7903112B2 (en) Drawing processing apparatus, texture processing apparatus, and tessellation method
JP3763136B2 (ja) 描画方法および描画装置
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
US7986330B2 (en) Method and apparatus for generating gammacorrected antialiased lines
JP4937359B2 (ja) 図形描画装置及び図形描画方法
US7554546B1 (en) Stippled lines using direct distance evaluation
JPH05307610A (ja) テクスチャマッピング方法およびその装置
JPH1186007A (ja) プリミティブにより覆われるピクセルの割合を求める方法
CN104933749B (zh) 图形图元的裁剪
US9955065B2 (en) Dynamic motion path blur user interface
WO2013005366A1 (ja) アンチエイリアス画像生成装置およびアンチエイリアス画像生成方法
US9779484B2 (en) Dynamic motion path blur techniques
JP2018073388A (ja) テクスチャ処理方法及びその装置
US6711603B1 (en) Fractional, arithmetic unit, fractional arithmetic method, set-up engine for handling graphic images and computer-readable medium
JP2755289B2 (ja) レンダリング方法
JP4805094B2 (ja) フォグ効果処理方法、グラフィックス装置、グラフィックス用半導体集積回路装置及びフォグ効果処理プログラム
JPH11242585A (ja) 除算回路およびグラフィック演算装置
JP4244444B2 (ja) データ処理装置、除算回路および画像処理装置
WO2024112961A1 (en) Interactive computer graphics system and methods for single-pass path rendering and batching of strokes and fills
GB2318958A (en) An apparatus for generating a subpixel mask for a computer graphics system
JP2011059735A (ja) 画像処理装置、画像処理方法
JP2006201331A (ja) デジタル画像表示方法、デジタル画像表示装置、デジタル画像表示プログラム、デジタル画像表示プログラムを記録した記録媒体
Tao Triangle Rasterizer Based on the Barycentric Arithmetic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130606

R150 Certificate of patent or registration of utility model

Ref document number: 5294313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees