JPH0836648A - 曲線描画装置 - Google Patents

曲線描画装置

Info

Publication number
JPH0836648A
JPH0836648A JP17421094A JP17421094A JPH0836648A JP H0836648 A JPH0836648 A JP H0836648A JP 17421094 A JP17421094 A JP 17421094A JP 17421094 A JP17421094 A JP 17421094A JP H0836648 A JPH0836648 A JP H0836648A
Authority
JP
Japan
Prior art keywords
curve
outline
bezier
curves
straight line
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.)
Pending
Application number
JP17421094A
Other languages
English (en)
Inventor
Takanao Okada
高直 岡田
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.)
TEC CORP
Original Assignee
TEC CORP
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 TEC CORP filed Critical TEC CORP
Priority to JP17421094A priority Critical patent/JPH0836648A/ja
Publication of JPH0836648A publication Critical patent/JPH0836648A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】描画処理を簡単にし描画効率をさらに向上す
る。 【構成】制御点発生部1から3次ベツィール曲線の形状
を決定する4つの制御点を発生し、曲線アウトライン算
出部2により各制御点から線幅をつけたときの外側と内
側の曲線を求め、この各曲線を曲線変換部4において近
似誤差設定部3の許容近似誤差を用いて複数の5次ベツ
ィール曲線に変換する。そして曲線変換部4から得られ
る5次ベツィール曲線を直線群算出部5で直線化し分割
した直線群からなるアウトラインを算出し、この算出し
たアウトラインに囲まれる部位を描画メモリ6に展開し
多角形として表現し塗り潰す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばグラフィック機
能を備えた印刷装置や表示装置等の画像出力装置に適用
される曲線描画装置に関する。
【0002】
【従来の技術】従来の曲線描画装置は、例えば図5の
(a) に示す曲線G1 が与えられると、図5の(b) に示す
ように曲線に近似する直線群G2 ,G2 ,…を発生さ
せ、各直線G2 の座標P0 ,P1 ,…Pn を取出して、
線幅を考慮した直線の4頂点の座標を計算によって求め
る。そして図5の(c) に示すように4頂点で与えられた
長方形G3 を図中点線で示す水平線で分割し、その分割
した領域をそれぞれ塗り潰して描画処理を行う。なお、
この長方形G3 を水平線で分割して領域を塗り潰す方式
は特開平3−1283号に開示されている。
【0003】このような長方形の描画処理を近似して得
られた直線のすべてに対して行う。
【0004】また図5の(b) に示す幅をつけた直線間の
隙間G4 の図形も多角形として描画する。
【0005】このようにして最終的に与えられた幅のあ
る曲線を塗り潰し描画処理を終了する。
【0006】しかしこのように曲線を直線に分割し、そ
の直線に線幅をつけてから4頂点で与えられた長方形を
水平線で分割して領域をそれぞれ塗り潰し描画処理を行
うものでは、処理が面倒となり、描画効率が悪い問題が
あった。
【0007】そこで本発明者は、このような課題を解決
できる曲線描画装置を提案し先に出願した。(特願平4
−147715号) これは、図7に示すように、4つの制御点で表現した3
次ベツィール曲線であるCo(t)に線幅2hwを付けたと
きの外側の曲線Cl(t)と内側の曲線Cr(t)を算出し、こ
の各曲線Cl(t)、Cr(t)を図8に示すように分割して直
線化したアウトラインで囲まれた領域を塗り潰すことに
よって曲線を描画している。
【0008】このように、曲線の状態で線幅を付けてか
ら曲線のアウトラインを直線群で形成して多角形として
表現してから塗り潰しを行なうことにより、処理を比較
的簡単にして描画効率の向上を図っている。
【0009】3次ベツィール曲線Co は、通常、次式で
表現する。すなわち、図6に示すように、4つの制御点
Q0 ,Q1 ,Q2 ,Q3 を曲線定義座標とすると、 {x(t),y(t)}=(Q3 −Q0 +3Q1 −3Q2 )t3
+3(Q0 −2Q1 +Q2 )t2+3(Q1 −Q0 )t
+Q0 曲線Cr(t)、Cl(t)は次のように算出する。
【0010】Cr(t):{xr(t),yr(t)}={x(t)+(d
y(t)/dt) hw/A,y(t)−(dx(t)/dt) hw/A} Cl(t):{xl(t),yl(t)}={x(t)−(dy(t)/dt) h
w/A,y(t)+(dx(t)/dt) hw/A} 但し、dy(t) /dt、dx(t) /dtは一次微分、Aは、A=
{(dx(t)/dt )2 +(dy(t)/dt )2 1/2 、hwは線幅
の1/2である。
【0011】そして、曲線C0 を近似する直線群により
分割し、そのときに曲線C0 上の座標が求まり、さらに
Cr(t),Cl(t)式により曲線Cr 及び曲線Cl 上の座標
が求まる。そして、曲線Cr ,Cl に関しての誤差を計
り分割していく。このようにして曲線に幅をつけたとき
のアウトラインの直線群を求めることができる。
【0012】
【発明が解決しようとする課題】先願のものは、曲線C
r ,Cl を数式で表現しているが、Cr(t),Cl(t)上の
座標を求めるのは非常に多くの計算量を必要とする。
【0013】このため、描画効率の向上をある程度図れ
るが不十分であった。
【0014】そこで本発明は、曲線上の座標を求めるに
要する計算量を減少でき、描画処理を簡単にして描画効
率をさらに向上できる曲線描画装置を提供する。
【0015】
【課題を解決するための手段】本発明は、3次ベツィー
ル曲線の形状を決定する4つの制御点を発生する制御点
発生手段と、この制御点発生手段が発生する各制御点か
ら線幅をつけたときの外側と内側の曲線を求める曲線ア
ウトライン算出手段と、許容近似誤差を設定した近似誤
差設定手段と、曲線アウトライン算出手段にて求めた外
側と内側の曲線を近似誤差設定手段で設定した許容近似
誤差を用いて複数の5次ベツィール曲線に変換する曲線
変換手段と、この曲線変換手段から得られる複数の5次
ベツィール曲線を直線化し分割した直線群からなるアウ
トラインを算出する直線群算出手段と、この直線群算出
手段にて算出したアウトラインに囲まれる部位を展開し
多角形として表現し塗り潰す描画手段とからなるもので
ある。
【0016】
【作用】このような構成の本発明においては、3次ベツ
ィール曲線の形状を決定する4つの制御点が発生する
と、この各制御点から線幅を付けたときの外側と内側の
曲線を求め、さらにその各曲線を許容近似誤差を用いて
複数の5次ベツィール曲線に変換する。そして得られる
複数の5次ベツィール曲線を直線化し分割した直線群か
らなるアウトラインを算出し、そのアウトラインに囲ま
れる部位を展開して多角形として表現し塗り潰す。
【0017】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
【0018】図1において、1は3次ベツィール曲線の
形状を決定する4つの制御点を発生する制御点発生部、
2は前記制御点発生部1が発生した各制御点で定義され
た曲線に幅をつけたときの内側と外側の曲線アウトライ
ンを算出する曲線アウトライン算出部、3は許容近似誤
差Eを設定した近似誤差設定部、4は前記曲線アウトラ
イン算出部2で算出した各曲線アウトラインを前記近似
誤差設定部3で設定した許容近似誤差Eを用いて複数の
5次ベツィール曲線に変換する曲線変換部、5は前記曲
線変換部4から得た複数の5次ベツィール曲線を直線化
し分割した直線群からなるアウトラインを算出する直線
群算出部、6は前記直線群算出部5にて算出したアウト
ラインを展開し、その展開したアウトラインに囲まれる
部位を多角形として表現して塗り潰しを行う曲線を描画
する描画手段としての描画メモリ、7は前記描画メモリ
6に描画した曲線を出力する印刷装置、表示装置等の出
力装置である。
【0019】3次ベツィール曲線は前述したように次の
式で与えられる。Q0 ,Q1 ,Q2 ,Q3 を曲線定義座
標とすると、 {x(t),y(t)}=(Q3 −Q0 +3Q1 −3Q2 )t3
+3(Q0 −2Q1 +Q2 )t2+3(Q1 −Q0 )t
+Q0 そこで前記制御点発生部1から4つの制御点で表現した
3次ベツィール曲線であるCo(t)が発生すると、前記曲
線アウトライン算出部2は、図2に示すように、線幅2
hwを付けたときの外側の曲線Cl(t)と内側の曲線Cr
(t)を算出する。
【0020】すなわち、曲線アウトライン算出部2は、
曲線Cr(t)、Cl(t)を前述したように、次のように算出
する。 Cr(t):{xr(t),yr(t)}={x(t)+(dy(t)/dt) h
w/A,y(t)−(dx(t)/dt) hw/A} Cl(t):{xl(t),yl(t)}={x(t)−(dy(t)/dt) h
w/A,y(t)+(dx(t)/dt) hw/A} 但し、dy(t) /dt、dx(t) /dtは一次微分、Aは、A=
{(dx(t)/dt )2 +(dy(t)/dt )2 1/2 、hwは線幅
の1/2である。
【0021】また、5次ベツィール曲線は次の式で与え
られる。 {x(t),y(t)}=(A5 −5A4 +10A3 −10A2
+5A1 −A0 )t5+5(A4 −4A3 +6A2 −4
A1 +A0 )t4+10(A3 −3A2 +3A1 −A0
)t3+10(A2 −2A1 +A0 )t2+5(A1 −
A0 )t+A0 ベツィール曲線はBernstein多項式の一つの応用であ
る。
【0022】Bernstein多項式は次のような性質を持っ
ている。 (dx(0)/dt, dy(0)/dt) =5(A1 −A0 ) (dx(1)/dt, dy(1)/dt) =5(A5 −A4 ) (d2 x(0)/dt2 , d2 y(0)/dt2 ) =20(A0 −2A
1 +A2 ) (d2 x(1)/dt2 , d2 y(1)/dt2 ) =20(A5 −2A
4 +A3 ) 前記曲線変換部4は許容誤差設定部4に設定した許容近
似誤差Eを用いて曲線Cr(t)及びCl(t)を5次ベツィー
ル曲線に変換するが、例えば曲線Cr(t)の式を5次ベツ
ィール曲線に変換する場合について述べると、図3及び
図4に示す処理を行なう。
【0023】先ず、ステップS1 にて数値Nを0にす
る。
【0024】次にステップS2 にて曲線B0(t)の制御座
標A0 ,A1 ,A2 ,A3 ,A4 ,A5 を求める。な
お、曲線B0(t)及びその制御座標A0 ,A1 ,A2 ,A
3 ,A4 ,A5 の関係は図2に示すようになっている。
【0025】ところで、曲線Cr(t)を5次ベツィール曲
線で表現したとき、6つの制御点をA0 ,A1 ,A2 ,
A3 ,A4 ,A5 とすると、A0 ={xr(0) ,yr(0)
}、A5 ={xr(1) ,yr(1) }、Bernstein多項式の
性質より、 A1 =A0 + (dxr(0)/dt,dyr(0)/dt) /5、 A2 =(d2 xr(0) /dt2 +8dxr(0)/dt, d2 yr(0) /
dt2 +8dyr(0)/dt) /20+A0 、 A3 =(d2 xr(1) /dt2 −8dxr(1)/dt, d2 yr(1) /
dt2 −8dyr(1)/dt) /20+A5 、 A4 =A5 −(dxr(1) /dt,dyr(1)/dt) /5、 で表わされことが文献[形状処理工学(2)、22頁、
山口富士夫著(日刊工業新聞社)]により知られてい
る。
【0026】dxr(t)/dt,dyr(t)/dt, d2 xr(t) /dt
2 , d2 yr(t) /dt2 は、次式で表わされる。
【0027】
【数1】 但し、 A=(dx(t)/dt )2 +(dy(t)/dt )2 B= d2 x(t)/dt2 (dx(t)/dt・ d2 y(t)/dt2 − d2
x(t)/dt2 ・dy(t) /dt) + dx(t)/dt(dx(t)/dt・ d
3 y(t)/dt3 − d3 x(t)/dt3 ・ dy(t)/dt) C= dx(t)/dt D=(dx(t)/dt・ d2 y(t)/dt2 − d2 x(t)/dt2 ・ d
y(t)/dt)( dx(t)/dt・d2 x(t)/dt2 + dy(t)/dt・
d2 y(t)/dt2 ) F= d2 y(t)/dt2 (d2 x(t)/dt2 ・ dy(t)/dt− dx
(t)/dt・ d2 y(t)/dt2) + dy(t)/dt(d3 x(t)/dt3
・ dy(t)/dt− dx(t)/dt・ d3 y(t)/dt3 ) G= dy(t)/dt ステップS3 にてd=dist{Cr(0.5),BO(0.5)}を求
める。そしてステップS4 にて曲線Cr をCw に置き換
える。
【0028】この状態で求めたdが許容近似誤差Eより
も大きいか否かをチェックし、d>Eであればステップ
S5 にて数値Nを+1する。また、d≦Eであればこの
処理を終了する。
【0029】数値Nを+1すると、続いて、ステップS
6 で曲線Cw を二つに分割する。すなわち、Cw(t)のt
を、t/2、(0≦t≦1)とし、曲線Cp0とする。ま
た、Cw(t)のtを、(t+1)/2、(0≦t≦1)と
し、曲線Cp1とする。
【0030】続いてステップS7 にて曲線Cp0から曲線
B0(t)の制御点A0 ,A1 ,A2 ,A3 ,A4 ,A5 を
算出する。また、曲線Cp1から曲線B1(t)の制御点B0
,B1 ,B2 ,B3 ,B4 ,B5 を算出する。
【0031】続いてステップS8 にてd0 =dist{B0
(0.5),Cp0(0.5) }を計算する。また、d1 =dist
{B1(0.5),Cp1(0.5) }を計算する。
【0032】なお、distは次のことを表現している。 dist(A0 ,A5 )= {(xr(0)−xr(1))2 +(yr(0)−yr
(1))2 } 1/2 そして求めたd0 、d1 の大小を比較し、d0 >d1 で
あれば、ステップS9にてd0 をdとし、Cw をCp0に
置き換える。また、d0 ≦d1 であれば、ステップS10
にてd1 をdとし、Cw をCp1に置き換える。
【0033】そしてルーチンはd>Eか否かのチェック
に戻る。
【0034】このように図3の処理は、Cr を許容近似
誤差Eを用いて5次ベツィール曲線で近似表現した場合
の5次ベツィール曲線の個数2N を求める処理となって
いる。
【0035】続いて求めた5次ベツィール曲線の個数2
N から各5次ベツィール曲線の制御点を図4に基づいて
求める。
【0036】すなわち、ステップ11にて個数2N をMと
し、また数値iを0とする。
【0037】そしてiがMよりも小さいか否かをチェッ
クし、i<Mであればステップ12にてCr(t)のtを、
(t+i)/M、(0≦t≦1)とし、曲線Cw とす
る。
【0038】続いてステップ13にて曲線Cw を5次ベツ
ィール曲線で近似したときの6つの制御点A0 ,A1 ,
A2 ,A3 ,A4 ,A5 を求め、セーブ領域に格納す
る。
【0039】そしてステップ14にて数値iを+1し、ル
ーチンをiとMの比較に戻す。
【0040】また、iとMの比較において、i<Mで無
ければこの処理を終了する。
【0041】こうして前記曲線変換部4では曲線Cr を
許容近似誤差E以内で複数の5次ベツィール曲線で近似
表現する場合の5次ベツィール曲線の個数2N を求め、
この求めた5次ベツィール曲線の個数2N から各5次ベ
ツィール曲線の制御点を求めることになる。
【0042】以上は曲線Cr の場合について述べたが曲
線Cl についても同様の処理によって求めることができ
る。
【0043】こうして曲線変換部4により求めた複数の
5次ベツィール曲線を直線群算出部5により直線に分割
し、直線群からなるアウトラインを算出する。
【0044】5次ベツィール曲線を直線に分割する方法
は、文献[形状処理工学(2)、32頁、山口富士夫著
(日刊工業新聞社)]で示されている方法を使用する。
【0045】前記直線群算出部5により算出したアウト
ラインを前記描画メモリ6に展開し、この描画メモリ6
で多角形の塗り潰しを行って描画する。そして前記描画
メモリ6から曲線の描画情報を読出して出力装置7に出
力し、例えば印刷や表示を行う。
【0046】このような構成の実施例においては、制御
点発生部1から4つの制御点で表現した3次ベツィール
曲線であるCo(t)が発生すると、曲線アウトライン算出
部2は、線幅2hwを付けたときの外側の曲線Cl(t)と
内側の曲線Cr(t)を算出し、得られる曲線Cl(t)、Cr
(t)を曲線変換部4に供給する。
【0047】曲線変換部4は許容誤差設定部3に設定さ
れている許容近似誤差Eを用いて曲線Cl(t)、Cr(t)を
5次ベツィール曲線に変換する。
【0048】こうして変換した5次ベツィール曲線を直
線群算出部5に供給し、この直線群算出部5で5次ベツ
ィール曲線を直線に分割して直線群からなるアウトライ
ンを求める。
【0049】こうして求めたアウトラインを描画メモリ
6に展開し、この描画メモリ6上で多角形の塗り潰しを
実行し、曲線を描画する。そして描画メモリ6から曲線
の描画情報を読み出して出力装置7に供給し、印刷ある
いは表示することになる。
【0050】このように曲線アウトライン算出部2で算
出した外側の曲線Cl(t)と内側の曲線Cr(t)を5次ベツ
ィール曲線に変換してからその5次ベツィール曲線を直
線に分割して直線群からなるアウトラインを算出し、そ
のアウトラインを描画メモリ6に展開して多角形の塗り
潰しを行っているので、直線群からなるアウトラインの
算出は周知の5次ベツィール曲線を使用して行なうこと
ができ、従って曲線上の座標を求めるのに要する計算量
が減少でき、処理がより簡単となって描画効率をさらに
向上できる。
【0051】なお、この実施例では、外側の曲線と内側
の曲線を許容近似誤差を用いて5次ベツィール曲線に変
換してからこの5次ベツィール曲線を直線に分割して直
線群からなるアウトラインを求めて多角形の塗り潰しを
実行したが、この方法を適用すれば外側の曲線と内側の
曲線を許容近似誤差を用いて7次ベツィール曲線に変換
してからこの7次ベツィール曲線を直線に分割して直線
群からなるアウトラインを求めて多角形の塗り潰しを実
行することも容易に実施できる。
【0052】
【発明の効果】以上、本発明によれば、3次ベツィール
曲線の形状を決定する4つの制御点から線幅をつけたと
きの外側と内側の曲線を求め、この曲線を許容近似誤差
を用いて複数の5次ベツィール曲線に変換し、この各5
次ベツィール曲線を直線化し分割してアウトラインを算
出し、このアウトラインに囲まれる部位を展開し多角形
として表現し塗り潰すようにしているので、曲線上の座
標を求めるに要する計算量を減少でき、描画処理を簡単
にして描画効率をさらに向上できるものである。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図。
【図2】同実施例の曲線アウトライン算出部で算出する
曲線と5次ベツィール曲線の関係を説明するための図。
【図3】同実施例の曲線変換部による5次ベツィール曲
線の個数を求める処理を示す流れ図。
【図4】同実施例の曲線変換部による5次ベツィール曲
線の個数から各5次ベツィール曲線の制御点を求める処
理を示す流れ図。
【図5】従来の描画処理を説明するための図。
【図6】3次ベツィール曲線を示す図。
【図7】先願の描画処理を説明するための図。
【図8】同先願の描画処理を説明するための図。
【符号の説明】
1…制御点発生部 2…曲線アウトライン算出部 3…許容誤差設定部 4…曲線変換部 5…直線群算出部 6…描画メモリ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 3次ベツィール曲線の形状を決定する4
    つの制御点を発生する制御点発生手段と、この制御点発
    生手段が発生する各制御点から線幅をつけたときの外側
    と内側の曲線を求める曲線アウトライン算出手段と、許
    容近似誤差を設定した近似誤差設定手段と、前記曲線ア
    ウトライン算出手段にて求めた外側と内側の曲線を前記
    近似誤差設定手段で設定した許容近似誤差を用いて複数
    の5次ベツィール曲線に変換する曲線変換手段と、この
    曲線変換手段から得られる複数の5次ベツィール曲線を
    直線化し分割した直線群からなるアウトラインを算出す
    る直線群算出手段と、この直線群算出手段にて算出した
    アウトラインに囲まれる部位を展開し多角形として表現
    し塗り潰す描画手段とからなることを特徴とする曲線描
    画装置。
JP17421094A 1994-07-26 1994-07-26 曲線描画装置 Pending JPH0836648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17421094A JPH0836648A (ja) 1994-07-26 1994-07-26 曲線描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17421094A JPH0836648A (ja) 1994-07-26 1994-07-26 曲線描画装置

Publications (1)

Publication Number Publication Date
JPH0836648A true JPH0836648A (ja) 1996-02-06

Family

ID=15974654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17421094A Pending JPH0836648A (ja) 1994-07-26 1994-07-26 曲線描画装置

Country Status (1)

Country Link
JP (1) JPH0836648A (ja)

Similar Documents

Publication Publication Date Title
US7903112B2 (en) Drawing processing apparatus, texture processing apparatus, and tessellation method
US5028848A (en) Tile vector to raster conversion method
US6525727B1 (en) Rendering 3D surfaces through limit surface projections
JP2006040309A (ja) グラフィックモデル生成方法およびグラフィックモデル生成装置
US4837847A (en) Image processing apparatus
JPH05204363A (ja) ドットマトリクス装置における輪郭字体文字生成のための高速垂直走査−変換・充填方法及びその装置
US20040156556A1 (en) Image processing method
JPH06161419A (ja) 文字出力装置
JPH0836648A (ja) 曲線描画装置
JPH07210696A (ja) 曲線描画装置
JPH03264995A (ja) 文字処理装置
JPH02228781A (ja) 多角形平滑化方法
JPH06274149A (ja) アウトラインフォントの幅変更処理方法および装置
JP3243293B2 (ja) 輪郭線補正方法
JPH04223495A (ja) 文字信号発生装置
JPH08194816A (ja) 線分近似方法および線分近似方式
JPH05342361A (ja) 曲線描画装置
JP3212873B2 (ja) 階調画像生成方法
JPH07160898A (ja) テクスチャデータ生成装置
JP3215179B2 (ja) アウトラインフォントのヒンティング方法
JP3787380B2 (ja) 文字データ処理装置及び方法及びコンピュータ制御装置
JP2910101B2 (ja) ベクトル・フォント・データの構成点補正装置
JP3118064B2 (ja) 曲線描画装置
JPH09138682A (ja) データ変換装置
JPH0668247A (ja) ディジタル画像データ変倍方法および装置