JPH02176879A - パラメータ曲線発生器 - Google Patents

パラメータ曲線発生器

Info

Publication number
JPH02176879A
JPH02176879A JP63328920A JP32892088A JPH02176879A JP H02176879 A JPH02176879 A JP H02176879A JP 63328920 A JP63328920 A JP 63328920A JP 32892088 A JP32892088 A JP 32892088A JP H02176879 A JPH02176879 A JP H02176879A
Authority
JP
Japan
Prior art keywords
circuit
control point
curve
bezier
parameter
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
JP63328920A
Other languages
English (en)
Inventor
Naoyuki Kai
直行 甲斐
Masahide Ohashi
大橋 正秀
Ichiro Nagashima
一郎 長島
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63328920A priority Critical patent/JPH02176879A/ja
Priority to KR1019890019730A priority patent/KR970004107B1/ko
Priority to EP19890124086 priority patent/EP0376317A3/en
Publication of JPH02176879A publication Critical patent/JPH02176879A/ja
Priority to US07/917,685 priority patent/US5241654A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • 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
    • G06T11/203Drawing of straight lines or curves

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明はOA機器分野におけるアウトライン・フォン
ト文字や、3次元のCA、 D 、デザインの分野等で
用いられるベジェ曲線で表現された任意のパラメータ曲
線を発生するパラメータ曲線発生器に関する。
(従来の技術) 一般に、多項式で表わされるパラメータ曲線はベジェ(
I3ezler)曲線として表わすことができる。第1
1図に示すような0次(nは正の整数)のベジェ曲線は
、パラメータt (0≦t≦1)の1次関数で表わされ
る曲線であり、(n+1)個のm次元空間内の制御点p
o、pt、・・・Pnの座標により、次式で定義される
p(t)−ΣPI・ c−t’・(1−t)’−’1、
o  nl         ・・・1この曲線は、当
初はデザイン等の分野でのみ用いられていたが、最近で
はOA機器の分野においても高品位文字のアウトライン
・フォント等に用いられており、ビットマツプ上への高
速な発生の要求が高まっている。
従来ではこのベジェ曲線を、計算機を用いたソフトウェ
ア処理によって発生しており、処理速度が遅いという欠
点がある。
また、計算機を用いずにハードウェア化する方法として
、乗算器を用いて上記1式を計算する方法が考えられる
。しかし、この場合には、乗算器が必要になるためハー
ドウェア量が多くなるという欠点がある。また、各制御
点毎に(nXm)回の乗算が必要になり、さらに加算も
必要になるので、処理速度が遅くなる。さらに乗算器を
用いてハードウェア化する方法では、ビットマツプ上に
、連続し重複しないように曲線上の点を発生するように
パラメータtの刻みの適当な値を決めることが難しいと
いう欠点もある。
また、パラメータtのいくつかの値でのみ、乗算器を用
いて座標を求め、途中の点は直線補間する方法も考えら
れるが、この場合にも乗算器の他にDDA (ディジタ
ル微分解析器)が必要であり、ハードウェア量が多くな
り、また、十分に曲線に近いように直線に分割するため
のパラメータtの値の決定が難しいという欠点がある。
(発明が解決しようとする:!l1題)このように従来
、パラメータ曲線を発生するために、計算機を用いたソ
フトウェア処理によって行う場合には処理速度が遅いと
いう欠点があり、また、独自のハードウェアを用いて計
算し、発生する場合には、ハードウェア量が多くなる、
処理速度が遅くなる、パラメータの刻みの適当な値を決
めることが難しい、等の欠点がある。
この発明は上記のような考慮してなされたものであり、
その目的は、ハードウェア量が少なくかつ高速に、滑ら
かなパラメータ曲線を発生することができるパラメータ
曲線発生器を提供することにある。
[発明の構成] (課題を解決するための手段と作用) この発明のパラメータ曲線発生器は、ベジェ曲線の制御
点の各座標を保持するレジスタと、上記レジスタで保持
されている制御点を2分割し、2Miのベジェ曲線の各
制御点を形成する2分割回路と、上記2分割回路によっ
て形成された2組のベジェ曲線の一方の各制御点を保持
するスタックメモリと、上記レジスタで保持される制御
点に基づき、上記2分割回路でベジェ曲線の制御点の2
分割を行わせるせるか否かを決定する判定回路とを具備
し、予め上記レジスタに与えられるベジェ曲線の制御点
の2分割操作を繰返し行うことにより所望のパラメータ
曲線を発生することを特徴とする。
この発明のパラメータ曲線発生器は、2分割回路でベジ
ェ曲線を順次2分割していき、2分割できなくなったな
らば最終に分割された各ベジェ曲線の制御点の座標もし
くは座標の差分を出力することによりパラメータ曲線を
発生する。
(実施列) まず、この発明の詳細な説明の前にベジェ曲線について
説明する。一般に、ベジェ曲線は次に述べるような性質
を持っている。前記1式で与えられるベジェ曲線におい
て、t−u/2とおき、整理すると次の2式が得られる
・・・ 2 同様に、t−(1+v)/2とおいて、整理すると次の
3式が得られる。
P(t) これにより、前記1式のベジェ曲線のO≦t≦1/2の
部分は、新しいパラメータUについてのベジェ曲線とな
り、その制御点Pi′は次の4式%式% また、前記1式のベジェ曲線の1/2≦t≦1の部分も
、新しいパラメータVについてのベジェ曲線となり、そ
の制御点Pi′は次の5式で与えられる。
PI ’ −(1,/2) n−1−Σn−1Cn−j
 ” Pj     ’づこれらの新しい制御点は隣り
合った制御点の中点をとっていくことにより得られる。
n−4のベジェ曲線の場合には、第12図に示すように
互いに隣り合った各制御点の中点を順次とっていくこと
により、制御点PO−P2を持っベジェ曲線は制御点P
O’〜P4’を持つ一方のベジェ曲線と、制御点Po′
〜P4’を持つ他方のベジェ曲線に分割される。
この発明のパラメータ曲線発生器は、上述したようなベ
ジェ曲線の性質を利用して、高速にベジェ曲線を発生す
るものである。
次にこの発明の詳細な説明する。第1図はこの発明に係
るパラメータ曲線発生器の概略的な構成を示すブロック
図である。このパラメータ曲線発生器は、発生すべきベ
ジェ曲線の各$1 all1点のX。
y座標がセットされ、その後、順次分割されるベジェ曲
線の各制御点のXrY座標を保持するためのレジスタ1
1.前記4式及び5式の演算を行って2組のベジェ曲線
の各$制御点を発生する2分割回路I2、上記2分割回
路12で発生された一方の組のベジェ曲線の各制御点を
保持するスタックメモリ13、上記レジスタ11の内容
によりベジェ曲線の分割の程度を調べ、2分割をさらに
続けるかどうかを判定する判定回路目とから構成されて
いる。
次にこのように構成された回路の動作を、第2図に示す
フローチャートを用いて説明する。
(a)  まず、スタックメモリ13がクリアされる。
(b)  レジスタtiにベジェ曲線の各制御点PO〜
Pnの座標値がセットされる。
(c)  レジスタIIにセットされた各制御点PO−
Pnの座標値を2分割するかどうかの判定が判定回路1
4で行なわれる。
(d) 2分割が可能なときは、2分割回路12により
各制御点PO〜Pnが2分割される。
(e) 2分割された一方がスタックメモリ13にブツ
シュされる。
(f) 2分割された他方が再びレジスタ11に戻され
る。そして、(C)からの動作が繰返される。
(g) 2分割できないときは、レジスタ11の内容が
出力される。
(h)  スタックメモリ13が空がどうが調べられる
。スタックメモリ13が空ならば動作が終了する。
(i)  空でなければスタックメモリ13の内容がレ
ジスタIIにポツプされ、(C)からの動作が繰返され
る。
ここで判定回路14は後述するように種々の方式のもの
が考えられるが、それぞれの方式に応じて、上2 (f
 )らしくは(i)のステップで読み出されたレジスタ
11の内容に対して処理を行う。また、分割した結果が
隣り合った2点になるまで分割を続けるような判定の場
合には、上記ステップ(g)でレジスタ11の内容を出
力する代りに、一つ手前の点からの座標の差分だけを出
力するように構成してもよい。
第3図はこの発明の第1の実施例によるパラメータ曲線
発生器の構成を示すブロック図である。
この発生器はx、X座標からなる2次元空間でn次のベ
ジェ曲線を発生するものにこの発明を適用したものであ
り、特にn−3の3次のベジェ曲線発生器が示されてい
る。図において、21は発生すべきベジェ曲線の各制御
点のX座標値がセットされるXレジスタ、22は同じく
発生すべきベジェ曲線の各制御点のX座標値がセットさ
れるyレジスタ、23はX座標の2分割回路、24は同
じくX座標の2分割回路、25はX座標のスタックメモ
リ、26は同じくX座標のスタックメモリ、27はX及
びX座標のスタックメモリ21.22の内容を2分割す
るか否かを判定する判定回路、28はこの判定口782
7の出力に基づいて各回路の動作を制御する制御回路、
29は外部から与えられる制御点のX座標値、上記2分
割回路23の内容及び上記スタックメモリ25の内容を
選択して上記レジスタ21に供給するセレクタ、30は
外部から与えられる制御点のX座標値、上記2分割回路
24の内容及び上記スタックメモリ26の内容を選択し
て上記レジスタ22に供給するセレクタである。
上Xe、 Xレジスタ21は4個の各制御点のX座標値
xO,xl、x2.x3がセットされる4個のレジスタ
からなり、それぞれが整数部goビット、小数部N1 
ビットの1ノジスタになっている。小数部のビット数N
+は、誤差を生じないでベジェ曲線を発生させるために
は、整数部のビット数ρ0の3倍が必要であるが、通常
はgoビット程度にとっておけば十分である。また、こ
のXレジスタ21には、外部から、セレクタ29を介し
てベジェ曲線の制御点の座標に予め0.5を加えた値が
セットされる。X座標の2分割回路23は、Xレジスタ
21の内容(NX4)ビット(g−Ω0 +191 )
を入力としてこれを2分割し、(NX3)ビットの第1
の分割出力をスタックメモリ25に供給し、(flX3
)ビットの第2の分割出力をセレクタ29を介してXレ
ジスタ21に戻す。
X座標のスタックメモリ25は(Ω×3)ビットの幅で
q段の深さを持つラストイン・ファーストアウト(La
st !n First out )タイプのメモリで
ある。ここで深さのqは、ベジェ曲線の最大の分割のレ
ベル数よりも大きくとる必要がある。例えば、ベジェ曲
線がビットマツプ上で隣り合う2点になるまで分割を繰
返すので、qの値は前記ビット数gに対し、log22
ρ程度が必要である。
従って、ql!例えばflθ程度に設定される。また、
X座標についても同様に、yレジスタ22は4個の各制
御点のy座L4値yO,yl、y2.y3がセットされ
る4個のレジスタからなり、それぞれが整数部goビッ
ト、小数部f11 ビットのレジスタになっている。そ
して、このyレジスタ22には、外部から、セレクタ3
0を介してベジェ曲線の制御点の座標に予め0.5を加
えた値がセットされる。
さらに、X座標の2分割回路24は、yレジスタ22の
内容(NX4)ビットが入力として供給され、これを2
分割し、(IX3)と・ノドの第1の分割出力をX座標
のスタックメモリ26に供給し、(Ω×3)ビットの第
2の分割出力をセレクタ30を介してyレジスタ22に
戻す。
上記判定回路27は、Xレジスタ21内のデータxOと
x3それぞれの整数部に基づき判定信号とX座標の差分
を出力するX座標の判定器31と、yレジスタ22内の
データyOとy3それぞれの整数部に基づき判定信号と
X座標の差分を出力するX座標の判定器32と、両判定
器31.32の出力が供給されるAND回路33とから
構成されている。
上記Xレジスタ21にはデータとして予め0. 5が加
えられたX座標値が供給されているので、それぞれのレ
ジスタの整数部のみをとることにより、四捨五入をした
ことになる。そして、X座標の判定器3!は、上記デー
タxOとx3それぞれの整数部の差、すなわち、XO(
整数部)−x3(′!1数部)を計算し、この差が0も
しくは±1であるときに1の判定信号を出力し、それ以
外のときには0の判定信号を出力する。X座標の判定器
32もこれと同様であり、上記データyOとy3それぞ
れの整数部の差、すなわち、yO(整数部)−y3(整
数部)を計算し、この差が0もしくは±1であるときに
1の判定信号を出力し、それ以外のときには0の判定信
号を出力する。上記両判定器31゜32の判定信号はA
ND回路33に供給され、このAND回路33の出力が
全体の判定結果として制御回路28に供給される。制御
回路28はこの判定結果に基づき前記スタックメモリ2
5.28のブツシュ、ポツプの制御、セレクタ29.3
0のデータの選択制御を行うための各種制御信号を発生
する。
X座標及びX座標の2分割回路23.24は同様の構成
及び機能を持ち、X座標の2分割回路23の具体的回路
構成を第4図に示す。この2分割回路23は、レジスタ
21内の内容xO,xl、x2.x3が大ノコとして供
給され、各2人力の和を取ってその結果を1ビツト右に
シフトし、zO,zl。
z2からなる第1の分割出力及びz3.z4゜z5から
なる第2の分割出力を得る6個の加算器41〜4Bで構
成されている。すなわち、加算器41では人力xOとx
iとの和が取られる。加算器42では人力xlとx2と
の和が取られる。加算器43では人力X2とx3との和
が取られる。加算器41の出力は1ビツト右にシフトさ
れることによって172の値にされ、加算器44に供給
される。加算器42の出力も1ビツト右にシフトされる
ことによって1/2の値にされ、加算器44に供給され
る。
加算器44ではそれぞれ1/2の値にされた加算器41
と42の出力の和が取られる。加算器42の出力は1ビ
ツト右にシフトされることによって172の値にされ、
加算器45に供給される。加算器43の出力も1ビツト
右にシフトされることによって1/2の値にされ、加算
器45に供給される。加算器45ではそれぞれ1/2の
値にされた加算器42と43の出力の和が取られる。加
算器44の出力は1ビツト右にシフトされることによっ
て1/2の値にされ、加算器4Bに供給される。加算器
45の出力も1ビツト右にシフトされることによって1
/2の値にされ、加算器4Gに供給される。加算器4G
ではそれぞれ1/2の値にされた加算器44と45の出
力の和が取られる。なお、2分割された新しい制御点は
、一方がx3.z5.z4.z3になり、他方がz3.
z2.zl、zOになるが、スタックメモリ25に供給
されるデータとしては1点分が省略されている。
この実施例回路におけるベジェ曲線の発生は次のような
手順で行なわれる。
■ X座標及びX座標のスタックメモリ25.26がク
リアされる。
■ レジスタ11にベジェ曲線の各制御点Po。
Pi、P2.P3のxFM標値、X座標値にそれぞれ0
.5が加えられ、セレクタ29.30を介してレジスタ
21.22にxO,xl、x2.x3、yO。
yl、y2.y3としてセットされる。
■ レジスタ21.22にセットされた各制御点P1〜
P3のX座!jA値及びX座標値を2分割するかどうか
の判定が判定回路27で行なわれる。
■ 判定回路27における判定結果が0、すなわち2分
割が可能なときは、2分割回路23.24でそれぞれ2
分割が行なわれ、第1の分割出力がX座標及びyF!M
illのスタックメモリ25.28にブツシュされ、第
2の分割出力がセレクタ29. :(0を介してレジス
タ21.22にセットされる。なお、このとき、レジス
タ21.22のxo、yOはそのままである。
その後、■の動作が繰返し行なわれる。
■ 判定回路27における判定結果が1であれば、X座
標及びX座標の差分が判定器31.32から出力される
。次にx3.y3の内容がxO,yOに移され、スタッ
クメモリ25.28からポツプしたデータをx1〜x3
.yl−y3に入れる。その後、■の動作が繰返し行な
われる。
上記■〜■の動作と平行して、外部ではX座標及びX座
標の差分を用いて、ビットマツプ上にベジェ曲線を発生
させることができる。
上記実施例の発生器では、1クロツクサイクルで制御点
の2分割、判定が行なわれる一方で、判定結果が1の場
合にベジェ曲線の1点の座標を発生することができる。
判定回路27における判定結果が1になるのは、下均す
ると2回に1回なので、平均で2クロツクサイクルでベ
ジェ曲線の1点の座標を発生することができる。
第5図はこの発明の第2の実施例によるパラメータ曲線
発生器の構成を示すブロック図である。
この曲線発生器は前記第1の実施例のものとは異なり、
2分割回路とスタックメモリとを、X座標とX座標とで
共通の1個のみ設けるように構成したものである。すな
わち、X座標のレジスタ(Xレジスタ)51及びX座標
のレジスタ(Xレジスタ)52の内容はセレクタ53に
よって選択され、X座標とX座標とで共通の2分割回路
54及び判定回路55に供給される。上記2分割回路5
4の第1の分割出力はレジスタ56に一旦格納され、X
座標とX座標とで共通のスタックメモリ57に供給され
る。また、2分割回路54の第2の分割出力はレジスタ
58に一旦格納される。上記スタックメモリ57の内容
、上記レジスタ58の内容及び外部からのデータはセレ
クタ59を介して、X座標のレジスタ51もしくはX座
標のレジスタ52に供給される。なお、ここでは判定回
路55の出力を受けて各種制御信号を発生する制御回路
は省略した。
この実施例の曲線発生器では、2分割回路54の動作と
、スタックメモリ57の操作がX座標とX座標とで互い
に異なっている。すなわち、2分割回路54でX座標に
関して2分割動作が行なわれているとき、スタックメモ
リ57のブツシュもしくはポツプ操作はX座標について
行なわれ、逆にスタックメモリ57のブツシュもしくは
ポツプ操作がX座標について行なわれているとき、2分
割回路54ではX座標に関して2分割動作が行なわれる
。従って、次の■と■の動作が交互に繰返し行なわれる
■ セレクタ53によってXレジスタ51の内容が選択
され、2分割回路54及び判定回路55に供給される。
レジスタ51;、 511にはそれぞれ1クロツク前の
y座燻についての2分割回路54の出力が記憶されてお
り、判定回路55の出力が0ならば、レジスタ56の内
容がスタックメモリ57にブツシュされ、レジスタ58
の内容がセレクタ59を介してXレジスタ52にセット
される。また、判定回路55の出力が1ならば、スタッ
クメモリ57の内容がポツプされ、セレクタ59を介し
てXレジスタ52にセットされる。
■ セレクタ53によってXレジスタ52の内容が選択
され、2分割回路54及び判定回路55に供給される。
このとき、レジスタ58.58にはそれぞれ1クロツク
前のX座標についての2分割回路54の出力が記憶され
ている。そして、判定回路55の出力が0ならば、レジ
スタ5Gの内容がスタックメモリ57にブツシュされ、
レジスタ58の内容がセレクタ59を介してXレジスタ
51にセットされる。また、判定回路55の出力が1な
らば、スタックメモリ57の内容がポツプされ、セレク
タ59を介してXレジスタ5■にセットされる。
この実施例では、加算器を用いて構成される比較的大規
模な回路構成の2分割回路が1個で済むため、第1の実
施例の曲線発生器と比べ、集積回路化する際のチップ面
桔の縮小化を図ることができる。
ところで、この発明の曲線発生器で使用される2分割回
路(第3図中の符号23.24や第5図中の符号54)
は前記のように加算器を用いて構成されるものであるが
、この加算器としてCLA (キャリー・ルック・アヘ
ッドン方式ものを使用すれば、高速に2分割処理を行わ
せることができる。しかし、CLA方式の加算器は回路
規模が極めて大きくなるため、集積回路化する際に全体
のチップ際が大型になる。これに対し、前記加算器とし
てリップル・キャリ一方式ものを使用すれば、回路現1
莫は小さくなるものの、キャリーの伝播時間が長くなる
ため高速な2分割処理は望めない。
そこで、この発明の曲線発生器では、前記第4図に示す
ような2分割回路を次のように構成することによって、
回路規模を小さくし、かつ高速な2分割処理を可能にし
ている。第6図は上記第4図における2個の加算器41
.44の部分の詳細な構成を示す回路図である。ここで
は入力XOとxiがx00〜x015とxlO〜xl1
5のそれぞれ16ビツトで構成されている場合の例であ
り、各加算器はそれぞれ16個のフルアダーで構成され
ている。
すなわち、xOとxiとが入力される加算器41には1
6個のフルアダーFO〜F1.5が設けられており、こ
れら16個のフルアダーはそれぞれ4個のフルアダーF
O−F3 、F4〜F7、F8〜F 11゜F12〜F
15からなる4個のブロックに分割されている。さらに
各ブロックの終端部には、それぞれのブロックに入力さ
れるキャリー人力信号Cln。
それぞれのブロックから出力されるキャリー出力1J号
Cout及びキャリー伝播条件信号Pが供給されるキャ
リー選択回路C5が設けられている。これら各キャリー
選択回路C8は、それぞれのブロックで生成されるキャ
リー伝播条件信号Pに基づいて前段ブロックからのキャ
リー人力信号C1nもしくはキャリー出力信号CouL
を選択し、後段ブロックにキャリー人力信号C1n’ 
として出力する。
上記加算器41の出力及び前記第4図中の加算器42の
出力は加算器44に供給されるものであるが、ここで両
加算器41.42の出力を1/2にするため、それぞれ
の出力を1ビツトずらして加算器44に供給する必要が
ある。この加算器44にも16個のフルアダーFO〜F
15が設けられているが、これら16個のフルアダーF
O〜F15は、加算器41に対して図中左方向に1個ず
つずれた状態で配置され、かつキャリー選択回路C8は
加算器41内のそれに対して同じ位置となるように配置
されている。すなわち、この2分割回路では、上位及び
下位の各加算器において、フルアダーのブロックの境界
が互いに一致するように各フルアダー及びキャリー選択
回路が配置されている。なお、加算器の上位及び下位の
関係は、前記第4図において加算器41゜42、4.3
が最下位であり、これらの加算器に対して加算器44.
45が上位であり、さらに両加算器44゜45に対して
加算器46が上位となる。
このように2分割回路において、各フルアダーを4個の
ブロックに分割し、各ブロックの終端部にキャリー選択
回路を設けることにより、各加算器では加算器のビット
長にかかわらずキャリー伝播を7ビツト以内に押さえる
ことができる。しかも、上位及び下位の各加算器で、フ
ルアダーのブロックの境界が互いに一致するように各フ
ルアダ及びキャリー選択回路を配置することにより、下
位の加算器から上位の加算器に伝播する場合でも、伝播
長を8ビツト以内にすることができる。
この結果、処理速度はCLA方式の加算器を用いた場合
と同等になり、回路規模はリップル・キャリ一方式の加
算器を用いたときよりは多少大きくなるが、CLA方式
の場合よりも小さくなる。
第7図は上記第6図回路で使用されるフルアダーの具体
的な構成を示す回路図である。このフルアダーは加算器
41内の最下位のフルアダーFOを例示したものであり
、1ビツト分がORアゲ−−81,。
NANDゲート62、ANDゲート63、NANDゲ−
トロ4.85、イクスクルーシブORゲート6G及びN
ANDゲート67からなり、キャリー伝播条件信号発生
用のANDゲート68が設けられたよく知られた構成の
ものである。そして、他のフルアダーもこれと同様に構
成されており、入力だけが異なるだけである。
第8図は上記第6図回路で使用されるキャリー選択回路
の具体的な構成を示す回路図である。この回路は、キャ
リー伝播条件信号Pを反転するインバータ71、フルア
ダーの各ブロックで発生されたキャリー出力信号Cou
tと上記インバータ71の出力とが入力されるANDゲ
ート72、キャリー人力信号C1nとキャリー伝播条件
信号Pが入力され4ANDゲート73及び上記両AND
ゲート72.73の出力が人力され、上位ブロックに対
するキャリー人力信号Cln’を出力するORゲート7
4とから構成されている。この回路において、キャリー
伝播条件信号Pが1のときには上位ブロックに対するキ
ャリー人力信号Cln’ としてキャリー人力信号Cl
nが出力され、信号Pが0のときにはキャリー出力信号
Coutが出力される。
次にこの発明の第3の実施例について説明する。
上記各実施例の曲線発生器では、判定回路が、2分割回
路で分割された結果が隣り合った2点になるまで分割を
続けるような判定を行う場合について説明したが、次の
ように判定を行うものであってもよい。例えば前記第3
図中の判定回路27は、レジスタ21の内容xO〜X3
の整数部とレジスタ22の内容yO−y3の整数部を入
力とし、この4つの制御点で決定されるベジェ曲線が直
線に十分に近いかどうかを判定するため、2点がビット
マツプ上で隣り合うかどうかを検出している。
ところが、この実施例では、第9図に示すように、4つ
の制御点PO〜P3からなるベジェ曲線において、制御
点POとP3との中点Q1(Ql −(PO+P3 )
/2)と、!+1 ga点P1とP2との中点Q2  
(Q2− (PI +P2 )/2)とを結ぶ線分QI
 Q2の長さを計算し、この値によってベジェ曲線と近
似直線とのずれの程度を判定するようにしたものである
。さらにこの判定の方式としては次の2つものがある。
いま、ベジェ曲線と近似直線との間のずれの許容最大値
(以下、フラットネスと称する)をeとおくと、1つの
方式では、線分QI Q2のX及びX座標値が共にe以
下のときに、近似直線との間のずれが許容範囲内である
と判定するものである。
2つ目の方式は、線分QI Q2の長さそのものがe以
下のときに近似直線との間のずれが許容範囲内であると
判定するものである。
次にこの発明の第4の実施例について説明する。
第10図はこの実施例の曲線発生器で使用される判定回
路の構成を示す回路図である。この実施例では、判定す
べきベジェ曲線の4個の制御点のX。
X座標をPO(xO,yO)、Pi  (xl、yl)
、P2  (x2.y2)、P3  (x3.y3)と
し、これらからI  I (xl +x2 ) /2!
  −1(x。
+x3)/2i1とI  ((yf +y2 ) /2
)1 (yO+y3 ) /21 1の値を計算し、両
値とフラットネスとの比較を行ない2分割回路の制御を
行うものである。図において、4個のセレクタ81〜8
4は4個の制御点のXもしくはX座標を選択する。補数
回路85.86は上記セレクタ81.84の出力を補数
をとる。4人力加算器87は、上記セレクタ82.73
の出力と上記補数回路85.86の出力との加算を行う
。シフト回路88は上記加算器87の出力を1ビツト右
にシフトすることにより、加算器87の加算結果の1/
2処理を行う。絶対値比較回路89は上記シフト回路8
8の出力と、レジスタ90に予め格納されているフラッ
トネスeとの比較を行い、判定結果を出力する。すなわ
ち、この判定回路では4個のセレクタ81〜84で各制
御点のX座標とX座標が交互に選択されることによって
、f (xl +x2 ) /2t −((xO+x3
 ) /2) 1とフラットネスeとの比較、I[(y
l+y2 )/21− ((yO+y3 )/2)tと
フラットネスeとの比較が交互に行なわれる。
ここで、X座標とX座標における両方の条件が共に成立
する場合、すなわち、下記の式が成立したときには前記
2分割回路で分割が行なわれないように制御する。
1/2  (xi  +x2 −xo  −x3  )
  ≦e−=61./2  (yl  +y2 −yO
−y3  )  ≦e  ・・・7このような判定回路
を使用することにより、ベジェ曲線の直線への近似の程
度を一定に保って、ベジェ曲線を複数の直線に分割する
ことができる。
[発明の効果] 以上説明したようにこの発明の、(ラメータ曲線発生器
では、ベジェ曲線または一般に)くラメータの多項式で
表わされる曲線上の点を、平均して2クロツクサイクル
に1点の割合いで極めて高速に発生させることができる
。これにより、従来、・ノットウェアで処理していた場
合に比べ、飛躍的に処理速度が向上する。さらに乗算器
を用いないので、乗算器を用いる従来の方法に比べて、
7%−ドウエアの量が少なくて済む上に、処理速度も速
くすることができる。さらに、異なる座標の次元で2分
割回路を共通に使用することにより、さらIこハードウ
ェアの量を少なくできる。
【図面の簡単な説明】
第1図はこの発明に係るパラメータ曲線発生器の概略的
な構成を示すブロック図、第2図は上記第1図回路の動
作を説明するためのフローチャート、第3図はこの発明
の第1の実施例によるパラメータ曲線発生器の構成を示
すブロック図、第4図は第3図の実施例回路における2
分割回路の具体的構成を示す回路図、第5図はこの発明
の第2の実施例によるパラメータ曲線発生器の構成を示
すブロック図、第6図は第4図の2分割回路の一部の詳
細な構成を示す回路図、第7図は上記第6図回路で使用
されるフルアダーの具体的な構成を示す回路図、第8図
は上記第6図回路で使用されるキャリー選択回路の具体
的な構成を示す回路図、第9図はこの発明のパラメータ
曲線発生器で使用される判定回路を説明するための図、
第10図はこの発明のパラメータ曲線発生器で使用され
る判定回路の構成を示す回路図、第11図はn次のベジ
ェ曲線を示す図、第12図はn=4のベジェ曲線を2つ
に分割することを説明するための図である。 Il、 21.22.51.52・・・レジスタ、+2
.23.24゜54・・・2分割回路、+3.25.2
6.57・・・スタックメモリ、1.4.27.55・
・・判定回路、53.59・・・セレクタ、56.5!
l・・・レジスタ。 出願人代理人 弁理士 鈴江武彦 第1 図 第 図 第4 図 第5 図 第 図 第8 図 第9 図 第10図

Claims (10)

    【特許請求の範囲】
  1. (1)ベジエ曲線として表わされた任意のパラメータ曲
    線を発生するパラメータ曲線発生器において、 上記ベジエ曲線の制御点の各座標を保持するレジスタと
    、 上記レジスタで保持されている制御点を2分割し、2組
    のベジエ曲線の各制御点を形成する2分割回路と、 上記2分割回路によって形成された2組のベジエ曲線の
    一方の各制御点を保持するスタックメモリと、 上記レジスタで保持される制御点に基づき、上記2分割
    回路でベジエ曲線の制御点の2分割を行わせるせるか否
    かを決定する判定回路とを具備し、予め上記レジスタに
    与えられるベジエ曲線の制御点の2分割操作を繰返し行
    うことにより所望のパラメータ曲線を発生することを特
    徴とするパラメータ曲線発生器。
  2. (2)前記判定回路が、パラメータ曲線を表示するビッ
    トマップ上で隣り合った2点にまで分解されるまで前記
    制御点の分割を繰返すように判定することを特徴とする
    請求項1記載のパラメータ曲線発生器。
  3. (3)前記判定回路は、前記2分割回路が前記ベジエ曲
    線と、このベジエ曲線の近似直線との間の距離の最大値
    が所定値よりも小さくなるまで、ベジエ曲線の制御点の
    2分割を繰返すように判定することを特徴とする請求項
    1記載のパラメータ曲線発生器。
  4. (4)前記ベジエ曲線が、x、y座標を持つ2次元空間
    のものであり、x、y座標の個々に前記レジスタ、タッ
    クメモリを有することを特徴とする請求項1記載のパラ
    メータ曲線発生器。
  5. (5)前記ベジエ曲線が、x、y座標を持つ2次元空間
    のものであり、前記2分割回路はx、y座標に共通に設
    けられ、この2分割回路はx、y座標で交互に制御点の
    2分割を行うことを特徴とする請求項1記載のパラメー
    タ曲線発生器。
  6. (6)前記判定回路は、予め与えられたベジエ曲線がビ
    ットマップ上で隣り合った2点にまで分解されたことを
    判定した際に、前記ベジエ曲線上の隣り合った2点の座
    標の差分を外部に出力するように構成されている請求項
    2記載のパラメータ曲線発生器。
  7. (7)前記レジスタのそれぞれが整数部と少数部とから
    なり、これらレジスタに前記ベジエ曲線の各制御点の座
    標値を与える際に、各座標値に0.5を加えた値をこれ
    らレジスタに与えるようにした請求項1記載のパラメー
    タ曲線発生器。
  8. (8)前記2分割回路が複数個の加算器で構成されてい
    ることを特徴とする請求項1記載のパラメータ曲線発生
    器。
  9. (9)前記2分割回路がそれぞれ複数個のフルアダーと
    キャリー選択回路とで構成された複数個の加算器からな
    り、上記複数個の各加算器では複数個のフルアダーが複
    数のブロックに分割され、各ブロック毎に下位ビット側
    から入力されるキャリーの通過条件の成否を判定し、こ
    の判定結果に基づき上記キャリー選択回路で下位ビット
    側から入力されたキャリーと各ブロックで生成されたキ
    ャリーのいずれかを選択して上位ビット側に出力し、上
    位及び下位の加算器相互間でフルアダーのブロックの境
    界が一致するように上記キャリー選択回路を配置するよ
    うにしたことを特徴とする請求項1記載のパラメータ曲
    線発生器。
  10. (10)前記判定回路は、前記ベジエ曲線とその近似直
    線との間の距離が所定値よりも小さくなったときに、前
    記2分割回路における制御点の2分割処理を中止させる
    ように制御することを特徴とする請求項1記載のパラメ
    ータ曲線発生器。
JP63328920A 1988-12-28 1988-12-28 パラメータ曲線発生器 Pending JPH02176879A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP63328920A JPH02176879A (ja) 1988-12-28 1988-12-28 パラメータ曲線発生器
KR1019890019730A KR970004107B1 (ko) 1988-12-28 1989-12-27 파라미터곡선발생기
EP19890124086 EP0376317A3 (en) 1988-12-28 1989-12-28 Parameter curve generator
US07/917,685 US5241654A (en) 1988-12-28 1992-07-22 Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63328920A JPH02176879A (ja) 1988-12-28 1988-12-28 パラメータ曲線発生器

Publications (1)

Publication Number Publication Date
JPH02176879A true JPH02176879A (ja) 1990-07-10

Family

ID=18215569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63328920A Pending JPH02176879A (ja) 1988-12-28 1988-12-28 パラメータ曲線発生器

Country Status (3)

Country Link
EP (1) EP0376317A3 (ja)
JP (1) JPH02176879A (ja)
KR (1) KR970004107B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179647A (en) * 1989-01-09 1993-01-12 Sun Microsystem, Inc. Method and apparatus for implementing adaptive forward differencing using integer arithmetic
JP2734711B2 (ja) * 1990-01-12 1998-04-02 日本電気株式会社 曲線発生装置
JPH0458378A (ja) * 1990-06-28 1992-02-25 Mitsubishi Heavy Ind Ltd ベジエ曲線を分割して展開する方法
US5363479A (en) * 1992-07-02 1994-11-08 Microsoft Corporation System and method for rendering bezier splines
JPH08329261A (ja) * 1995-05-31 1996-12-13 Canon Inc パラメータ曲線発生器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0271384A (ja) * 1988-09-07 1990-03-09 Fujitsu Ltd 3次ベジェ曲線の折線近似装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0349182B1 (en) * 1988-06-29 1997-02-26 Fujitsu Limited Method and apparatus for approximating polygonal line to curve
KR930000693B1 (ko) * 1988-09-14 1993-01-29 가부시키가이샤 도시바 패턴 데이터 발생장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0271384A (ja) * 1988-09-07 1990-03-09 Fujitsu Ltd 3次ベジェ曲線の折線近似装置

Also Published As

Publication number Publication date
EP0376317A3 (en) 1991-06-05
EP0376317A2 (en) 1990-07-04
KR970004107B1 (ko) 1997-03-25
KR900010594A (ko) 1990-07-09

Similar Documents

Publication Publication Date Title
US4646251A (en) Computer graphics, parametric patch parallel subdivision processor
JPS62297984A (ja) 曲線イメ−ジの可視表示発生装置
JPS6347874A (ja) 算術演算装置
US5241654A (en) Apparatus for generating an arbitrary parameter curve represented as an n-th order Bezier curve
US5402533A (en) Method and apparatus for approximating a signed value between two endpoint values in a three-dimensional image rendering device
JPH02176879A (ja) パラメータ曲線発生器
JPH08329261A (ja) パラメータ曲線発生器
EP0352029B1 (en) Transformation of divisor and dividend in digital division
Pieper et al. Efficient Dedicated Multiplication Blocks for 2's Complement Radix-2m Array Multipliers.
JP2670875B2 (ja) 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法
US5377135A (en) High cardinal number type non-restoring divider reducing delay time for adding two numbers
KR100329914B1 (ko) 제산장치
Dormido et al. Synthesis of generalized parallel counters
US7151862B2 (en) Image processing apparatus and method, storage medium, and program
EP0256488B1 (en) Method of interpolating pixel values
Cosnard et al. The FELIN arithmetic coprocessor chip
EP0738960A2 (en) Method and apparatus for reducing rounding error when evaluating binary floating point polynomials
JP3517162B2 (ja) 除算・開平演算装置
Manikantha et al. DESIGN OF AREA EFFICIENT WALLACE TREE MULTIPLIER WITH ADVANCED DATA COMPRESSORS
JP2887038B2 (ja) 除算処理装置
JPH04167082A (ja) ベゼー曲線区間の多角形近似方式
JP3696307B2 (ja) 積和演算装置
JPH0836594A (ja) 回路自動生成装置
JPH0261779A (ja) 座標データ処理装置
JPS60103483A (ja) クリツピング処理回路