JP2748787B2 - Curve generator - Google Patents

Curve generator

Info

Publication number
JP2748787B2
JP2748787B2 JP4233218A JP23321892A JP2748787B2 JP 2748787 B2 JP2748787 B2 JP 2748787B2 JP 4233218 A JP4233218 A JP 4233218A JP 23321892 A JP23321892 A JP 23321892A JP 2748787 B2 JP2748787 B2 JP 2748787B2
Authority
JP
Japan
Prior art keywords
point
points
curve
value
comparator
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.)
Expired - Fee Related
Application number
JP4233218A
Other languages
Japanese (ja)
Other versions
JPH0683972A (en
Inventor
由子 神津
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 Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP4233218A priority Critical patent/JP2748787B2/en
Publication of JPH0683972A publication Critical patent/JPH0683972A/en
Application granted granted Critical
Publication of JP2748787B2 publication Critical patent/JP2748787B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、ディスプレイやプリン
タに文字や図形を出力するグラフィックス関連装置にお
いて、与えられた制御点列から自由曲線を発生する曲線
発生装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a graphics-related apparatus for outputting characters and graphics to a display or a printer, and to a curve generator for generating a free curve from a given control point sequence.

【0002】[0002]

【従来の技術】近年、日本語ワープロやDTR(Des
k Top Pubilshing)の実用化に伴っ
て、文字の印字品質に対する要求が高まってきている。
特にDTP分野では、文字品質の要求が高いのは言うま
でもないが、文字のサイズや書体の種類に対する要求も
多く、そのためビット・マップ・フォントに代わってア
ウトライン・フォントが注目されてきた。また、パソコ
ン分野でも、ディスプレイとプリンタに表示/印字され
る文字を一致させ、印刷イメージがそのまま画面上で確
認できるWYSIWYG(What You See
Is What You Get)の実現化に向けて
も、アウトライン・フォント技術が注目されている。
2. Description of the Related Art In recent years, Japanese word processors and DTRs (Des
With the practical use of k top publishing, there is an increasing demand for print quality of characters.
In the DTP field in particular, it goes without saying that there is a high demand for character quality, but there are also many demands for character sizes and typefaces. Therefore, outline fonts have been attracting attention instead of bit map fonts. Also, in the field of personal computers, WYSIWYG (What You See See) allows the characters displayed / printed on the display and the printer to match and the printed image to be confirmed on the screen as it is.
Outline font technology is also attracting attention for realizing Is What You Get.

【0003】アウトライン・フォントとは、「輪郭ベク
トル・フォント」とも呼ばれ、文字パターンの輪郭を数
式表現して、輪郭線間(又は、閉ループ内)をペイント
して文字を生成することである。文字の輪郭で曲線部分
を表現するのに使われている数式は、一般的には、ベジ
ェ曲線と呼ばれている曲線が採用されている。
[0003] An outline font is also called an "outline vector font", which means that the outline of a character pattern is expressed by a mathematical expression, and characters are generated by painting between outlines (or in a closed loop). A mathematical expression used to express a curved portion with a character outline generally employs a curve called a Bezier curve.

【0004】このベジェ曲線は、数個の制御点を与える
とそれらの制御点間をスムーズな曲線で補間できる曲線
で、最も多く利用されているのが3次ベジェ曲線であ
る。3次ベジェ曲線は、任意の4点を制御点として与え
ると、その制御点間の曲線補間が可能である。このよう
に自由曲線は、その形状を定義する情報量が非常に少な
くて済み、文字の拡大/縮小を行っても文字品質が落ち
ないという長所を持っている。
The Bezier curve is a curve that can be interpolated between control points by a smooth curve when several control points are given, and a cubic Bezier curve is most frequently used. For a cubic Bezier curve, if any four points are given as control points, curve interpolation between the control points can be performed. Thus, the free curve has the advantage that the amount of information defining its shape is very small, and the character quality does not deteriorate even if the character is enlarged or reduced.

【0005】次に、従来技術のベジェ曲線のアルゴリズ
ムについて説明する。一般には、曲線の開始点から求め
ていくアルゴリズムがよく知られているが、除算、乗算
を頻繁に実行する必要があるので、高速化を図るため幾
何学的処理によるアルゴリズムがよく用いられている。
Next, a conventional Bezier curve algorithm will be described. Generally, an algorithm for obtaining a curve from a starting point is well known.However, since division and multiplication need to be performed frequently, an algorithm based on geometric processing is often used to achieve high speed. .

【0006】図3は従来の専用ハードウェア化されてい
た曲線発生装置のブロック図を示し、図4は3次ベジェ
曲線を発生する幾何学的座標図を示す。図3において、
1,2は座標点を格納するRAM、3はRAMのアドレ
ス格納を行うポインタ、4はポインタ3で設定されたR
AMの2つのデータの加算を行う演算器、5は演算器4
で加算された結果を1ビット・シフトするシフタ、9は
RAM、ポインタ、演算器,シフタの制御を行うシーケ
ンサ、6は距離の値を格納する距離レジスタ、7はシフ
タの出力値と4つの制御点の開始点との距離と距離レジ
スタ6に格納されている値との比較を行う比較器であ
る。与えられた4点の制御点A〜Dは、それぞれRAM
に格納されている。
FIG. 3 is a block diagram of a conventional curve generator which has been implemented as dedicated hardware, and FIG. 4 is a geometric coordinate diagram for generating a cubic Bezier curve. In FIG.
1 and 2 are RAMs for storing coordinate points, 3 is a pointer for storing the address of the RAM, and 4 is the R set by the pointer 3.
An arithmetic unit for adding the two data of AM and an arithmetic unit 5
Shifter for shifting the result of the addition by 1 bit, 9 for a sequencer for controlling a RAM, a pointer, an arithmetic unit and a shifter, 6 for a distance register for storing a distance value, 7 for an output value of the shifter and four controls This is a comparator that compares the distance between the point and the start point with the value stored in the distance register 6. The given four control points A to D are respectively stored in RAM
Is stored in

【0007】まず、図4における4点で構成される線分
AB,BC,CDの各中点E,F,Gを求める。中点
は、ポインタ3の操作によりRAM1,2に格納されて
いる座標点を演算器4に転送し、この演算器4で2点の
各制御点の座標値を加算する。この演算結果をシフタ5
に入力し1/2にすれば求まる。この演算結果は、シー
ケンサ9に従ってRAM1,2に格納される。
First, midpoints E, F, and G of line segments AB, BC, and CD composed of four points in FIG. 4 are obtained. As for the middle point, the coordinate points stored in the RAMs 1 and 2 are transferred to the arithmetic unit 4 by operating the pointer 3, and the arithmetic unit 4 adds the coordinate values of the two control points. The result of this operation is
And then halving it. This calculation result is stored in the RAMs 1 and 2 according to the sequencer 9.

【0008】同様に線分EF,FGの中点H,Iを求
め、更に線分H,Iの中点Jを求める。この点Jが、3
次ベジェ曲線上の点となる。次に、点A,E,H,Jを
制御点として、同様に前述した処理を行うと次の曲線上
の点Qが求まる。このようにして、曲線上の点を求めた
後、新たな4つの制御点に対して再帰的な処理を繰り返
し行うことにより、ベジェ曲線上の点を求めることがで
きる。
Similarly, the midpoints H and I of the line segments EF and FG are obtained, and the midpoint J of the line segments H and I is obtained. This point J is 3
This is a point on the next Bezier curve. Next, when the above-described processing is similarly performed using the points A, E, H, and J as control points, a point Q on the next curve is obtained. After the points on the curve are obtained in this manner, the points on the Bezier curve can be obtained by repeatedly performing recursive processing on four new control points.

【0009】このベジェ曲線発生でもう一つ考慮すべき
ことは、制御点の入替えである。上述の処理を繰返して
いくと、求めたベジェ曲線上の点は、点Aに限りなく近
づいていく。従って、点Aとある程度の距離に近づいた
らその処理を終了し、別の箇所の点の算出に処理を変更
する必要がある。すなわち、距離レジスタ6にこの判定
規準となる距離値を格納し、シフタ5からの出力値と点
Aとの距離と距離レジスタ6に格納されている値との比
較を行う。図4の点Aと求めた曲線上の点Qとの距離が
あらかじめ設定されていた距離レジスタ6の値よりも小
さい場合、次に対象となる4つの制御点を点J,I,
G,Dとし同様の処理を繰り返し実行する。
Another consideration in the generation of the Bezier curve is replacement of control points. By repeating the above processing, the obtained point on the Bezier curve approaches the point A without limit. Therefore, it is necessary to terminate the processing when a certain distance from the point A is approached, and to change the processing to the calculation of a point at another location. That is, the distance value serving as this criterion is stored in the distance register 6, and the distance between the output value from the shifter 5 and the point A is compared with the value stored in the distance register 6. When the distance between the point A in FIG. 4 and the obtained point Q on the curve is smaller than the value of the distance register 6 set in advance, the next four control points are designated as points J, I,
The same processing is repeatedly executed for G and D.

【0010】[0010]

【発明が解決しようとする課題】上述したように、従来
の専用ハードウェアによる自由曲線の発生は、4つの制
御点から求めた3次ベジェ曲線上の点が確定する度に、
この点と4つの制御点の開始点間との距離と距離レジス
タ6に格納されている値との比較を行う。その比較の結
果、この距離レジスタ値よりも大きければ、再帰的に次
に与えられる4つの制御点から3次ベジェ曲線上の点を
求める構成になっている。すなわち、3次ベジェ曲線上
の点を求めるために、求めた3次ベジェ曲線上の点と開
始点との距離が距離レジスタ6の値より小さくなるま
で、再帰的処理が繰り返し行われる。この距離レジスタ
の値と、算出された曲線上の点と開始点間の距離との比
較を行っている間は、加算器(4)は比較結果の判定待
ちの状態になっている。すなわち、曲線上の点がある値
に収束するまで比較操作を行うので、この比較操作が多
いほど演算器4の待ち状態の時間が長くなる。
As described above, the generation of a free curve by the conventional dedicated hardware is performed every time a point on the cubic Bezier curve obtained from four control points is determined.
The distance between this point and the start point of the four control points is compared with the value stored in the distance register 6. As a result of the comparison, if the distance is larger than the distance register value, a point on the cubic Bezier curve is recursively obtained from four control points given next. That is, in order to obtain a point on the cubic Bezier curve, recursive processing is repeatedly performed until the distance between the obtained point on the cubic Bezier curve and the start point becomes smaller than the value of the distance register 6. While the value of the distance register is being compared with the calculated distance between the point on the curve and the start point, the adder (4) is in a state of waiting for determination of the comparison result. That is, the comparison operation is performed until the point on the curve converges to a certain value. Therefore, the more the comparison operation is, the longer the waiting time of the arithmetic unit 4 is.

【0011】本発明の目的は、これらの問題を解決し、
演算処理を高速化した曲線発生装置を提供することにあ
る。
An object of the present invention is to solve these problems,
An object of the present invention is to provide a curve generating device in which arithmetic processing is speeded up.

【0012】[0012]

【課題を解決するための手段】本発明の構成は、指定さ
れた複数の制御点の座標値からこれら制御点間の中点の
座標を計算することにより前記制御点の近傍を曲線補間
し曲線を発生する曲線発生装置において、前記複数の制
御点および複数の前記中点をいくつかのグループに分け
て格納する複数個の記憶手段と、これら記憶手段のアド
レスを格納するポインタと、前記各記憶手段に格納され
た所定の2点の座標値を加算する演算器と、この演算器
の出力値を1ビットシフト後いくつかの前記記憶手段の
いずれかに格納するシフタと、予め定めた距離値を格納
するレジスタと、このレジスタの値と前記シフタの出力
値との比較を行う比較器と、この比較器の比較結果によ
って前記ポインタの操作を制御するポインタ制御回路
と、前記比較器の出力信号に従って前記演算器と前記シ
フタと前記比較器を制御するシーケンサとを備えること
を特徴とする。
According to the structure of the present invention, the coordinates of the midpoint between these control points are calculated from the coordinate values of a plurality of designated control points, thereby performing curve interpolation around the control points. A plurality of storage means for storing the plurality of control points and the plurality of midpoints in a number of groups, a pointer for storing addresses of these storage means, An arithmetic unit for adding the coordinate values of two predetermined points stored in the means, a shifter for shifting the output value of the arithmetic unit by one bit and storing it in any of the storage means, and a predetermined distance value , A comparator for comparing the value of the register with the output value of the shifter, a pointer control circuit for controlling the operation of the pointer based on the comparison result of the comparator, and an output of the comparator. Characterized in that it comprises a sequencer for controlling the comparator and the shifter and the operation unit in accordance with the signal.

【0013】[0013]

【作用】本発明の曲線発生装置は、算出された曲線上の
点と4つの制御点の開始点間の距離と距離レジスタの値
との比較を行っている期間の演算器の動作に主に違いが
ある。すなわち、比較器で比較を行うと同時に、演算器
では前倒し処理として次に与えられる4つの制御点の演
算を開始する。幾何学的3次ベジェ曲線のアルゴリズム
は、最初4つの制御点で与えられる台形を、曲線上の点
を1つ算出する毎に、その点を中心に台形を2つに分割
し、その1つの台形に対して再帰的処理を繰返す。そし
て、算出された曲線上の点が最初の4つの制御点の開始
点に対してある距離に近づくまで前述の処理が繰返し行
われる。従って、比較結果で距離レジスタの値の方が大
きくなるまでは、4つの制御点のポインタが大きく変更
されず、比較演算と演算器の動作は並列処理が可能とな
り、高速処理が可能となる。
The curve generator according to the present invention is mainly concerned with the operation of the arithmetic unit during the period in which the distance between the calculated point on the curve and the start point of the four control points is compared with the value of the distance register. There is a difference. That is, at the same time as the comparison is performed by the comparator, the calculator starts the calculation of the next four control points given as forward processing. The algorithm of the geometric cubic Bezier curve divides a trapezoid given by four control points at the beginning, each time a point on the curve is calculated, divides the trapezoid into two around that point, and Repeat recursive processing for trapezoid. The above processing is repeated until the calculated point on the curve approaches a certain distance from the start point of the first four control points. Therefore, the pointers of the four control points are not largely changed until the value of the distance register becomes larger in the comparison result, and the comparison operation and the operation of the arithmetic unit can be performed in parallel, and high-speed processing can be performed.

【0014】[0014]

【実施例】図1は、本発明の第1の実施例のブロック図
である。本実施例は従来例の図3に対してポインタ制御
回路8が付加されたものである。図3と同様に複数の制
御点および複数の中点を2つのグループに分けて格納す
る2個のRAM1,2のアドレスはポインタ3に格納さ
れる。2つのRAM1,2に格納された所定の2点の座
標値は演算器4で加算される。この演算器4の出力値を
シフタで1ビットシフト後2つのRAM1,2のいずれ
かに格納する。距離レジスタ6は予め設定してある距離
値を格納し、シフタ5の出力値とレジスタ6の値との比
較器7で比較する。この比較器7の比較結果によってポ
インタ制御回路8はポインタ操作を制御する。また比較
器7の出力信号に従って演算器5とシフタ6と比較器7
とをシーケンサ9が制御する。
FIG. 1 is a block diagram of a first embodiment of the present invention. In this embodiment, a pointer control circuit 8 is added to the conventional example shown in FIG. As in FIG. 3, the addresses of the two RAMs 1 and 2 for storing a plurality of control points and a plurality of middle points in two groups are stored in the pointer 3. The arithmetic unit 4 adds the coordinate values of two predetermined points stored in the two RAMs 1 and 2. The output value of the arithmetic unit 4 is shifted by one bit by the shifter and stored in one of the two RAMs 1 and 2. The distance register 6 stores a preset distance value, and compares the output value of the shifter 5 with the value of the register 6 by the comparator 7. The pointer control circuit 8 controls the pointer operation based on the comparison result of the comparator 7. In accordance with the output signal of the comparator 7, the arithmetic unit 5, the shifter 6, and the comparator 7
Are controlled by the sequencer 9.

【0015】本実施例は、4点の座標値を入力して3次
ベジェ曲線上の点を開始点に近い方から発生するもので
ある。直線のサンプリングは、予め与えられた距離より
も隣接する点の距離がX座標,Y座標共に小さくなるま
で行われる。座標値表現を16ビットの固定小数点とし
ており、X座標値,Y座標値おのおのに対して図1のハ
ードウェア構成を持っている。ただし、処理シーケンス
が同じであるので、シーケンサ9、ポインタ制御回路
8、ポインタ3は共有できる。
In the present embodiment, four coordinate values are input and points on a cubic Bezier curve are generated from a point closer to the start point. Sampling of a straight line is performed until the distance between adjacent points becomes smaller than the predetermined distance in both the X coordinate and the Y coordinate. The coordinate value expression is a 16-bit fixed point, and the hardware configuration of FIG. 1 is provided for each of the X coordinate value and the Y coordinate value. However, since the processing sequence is the same, the sequencer 9, the pointer control circuit 8, and the pointer 3 can be shared.

【0016】まず、図4に示すようにRAMに格納され
ている4つの制御点A,B,C,Dから構成される線分
AB,BC,CDの各中点を求める。ポインタ3はポイ
ンタ制御回路8に従って座標点Aと座標点Bを指し、こ
の座標点をRAM1,2から読出し演算器4に転送しシ
ーケンサ9からの制御信号により2つの座標の加算を行
う。次に、シーケンサ9からの制御信号に従ってシフタ
5では演算器4での結果に対して1ビットのシフト動作
を行うとともに、ポインタ3はポインタ制御回路8に従
って座標点Bと座標点Cを指し、同様にRAMから座標
を読み出し演算器4に転送しシーケンサ9からの制御信
号により2つの座標の加算を行う。
First, as shown in FIG. 4, each midpoint of line segments AB, BC and CD composed of four control points A, B, C and D stored in the RAM is obtained. The pointer 3 points to a coordinate point A and a coordinate point B in accordance with a pointer control circuit 8, reads the coordinate points from the RAMs 1 and 2 and transfers them to the arithmetic unit 4, and adds two coordinates according to a control signal from the sequencer 9. Next, according to the control signal from the sequencer 9, the shifter 5 performs a 1-bit shift operation on the result of the arithmetic unit 4, and the pointer 3 points to the coordinate points B and C according to the pointer control circuit 8, and the like. Then, the coordinates are read from the RAM and transferred to the arithmetic unit 4, and the two coordinates are added by the control signal from the sequencer 9.

【0017】このような処理を繰返すことにより、線分
AB,BC,CDの各中点E,F,Gを求め、次に線分
EF,FGの終点H,Iを求め、更に線分HIの中点J
を求め、この点Jが3次曲線上の点となる。この点Jが
算出された時、シフタ5の出力をRAMに格納すると共
に、シーケンサ9の制御信号によりシフタ5の出力点J
を座標を比較器7に格納する。
By repeating such processing, the midpoints E, F, and G of the line segments AB, BC, and CD are obtained, the end points H and I of the line segments EF and FG are obtained, and the line segment HI is further obtained. Middle point J
Is obtained, and this point J becomes a point on the cubic curve. When the point J is calculated, the output of the shifter 5 is stored in the RAM, and the output point J of the shifter 5 is controlled by the control signal of the sequencer 9.
Is stored in the comparator 7.

【0018】この操作と並行して最初の4つの制御点
A,B,C,Dを点Jを中心に点A,E,H,Jと点
J,I,G,Dの2つの台形に分割し、4つの制御点
A,E,H,Jに対して同様に中点を求めて、図4に示
す点Qを求めるための演算処理を並行に開始する(ま
ず、線分AEの中点を算出する)。
In parallel with this operation, the first four control points A, B, C, and D are transformed into two trapezoids of points A, E, H, J and points J, I, G, and D around the point J. Divide the four control points A, E, H, and J to find the middle point in the same manner, and start the calculation process for finding the point Q shown in FIG. Calculate points).

【0019】比較器7では、予め設定されている距離レ
ジスタ6の値と点A,J間の距離比較を行う。この場
合、まだ点A,J間との距離が距離レジスタ6の値より
大きいので、このまま再帰的な処理を繰返し行うように
ポインタ制御回路8に制御信号を送る。また、比較器7
での結果をシーケンサ9にも送り、再帰的な処理の繰り
返しを行うように制御する。
The comparator 7 compares the distance between the points A and J with the value of the distance register 6 set in advance. In this case, since the distance between the points A and J is still larger than the value of the distance register 6, a control signal is sent to the pointer control circuit 8 so as to repeat the recursive processing as it is. Also, the comparator 7
Is sent to the sequencer 9 to control the recursive processing to be repeated.

【0020】この間も演算器4とシフタ5では、同時に
線分AEの中点を求めている。台形A,E,H,Jから
3次ベジェ曲線上の点Qが求められたら、点Jと同様に
比較器7で比較を行うとともに次の4つの制御点A,
K,O,Qに対して中点を求める再帰的処理を演算器4
で開始する。比較器7では、予め設定されている距離レ
ジスタ6の値よりも小さければ、制御点A,K,O,Q
に対して中点を求める必要はなく、次は4つの制御点
J,I,G,Dに対して中点を求める必要がある。
During this time, the arithmetic unit 4 and the shifter 5 simultaneously determine the midpoint of the line segment AE. When the point Q on the cubic Bezier curve is obtained from the trapezoids A, E, H, and J, a comparison is performed by the comparator 7 in the same manner as the point J, and the following four control points A,
A recursive process for finding a middle point for K, O, and Q is performed by the arithmetic unit 4.
Start with. In the comparator 7, if the value is smaller than the preset value of the distance register 6, the control points A, K, O, Q
It is not necessary to find a middle point for the four control points J, I, G, and D.

【0021】従って比較器7からは演算器4とシフタ5
をクリアする信号をシーケンサ9に送り、ポインタ制御
回路8に対しては新たな4つの制御点J,I,G,Dの
座標値をポインタ3が指すように制御信号を送る。以上
の操作を繰り返し行うことにより、最初の4つの制御点
A,B,C,Dにおいて、点A,D間を3次ベジェ曲線
に従って補間することが可能である。
Therefore, the arithmetic unit 4 and the shifter 5
Is sent to the sequencer 9 and a control signal is sent to the pointer control circuit 8 so that the pointer 3 points to the coordinate values of four new control points J, I, G, and D. By repeating the above operation, it is possible to interpolate between the points A and D at the first four control points A, B, C and D according to the cubic Bezier curve.

【0022】図2は本発明の第2の実施例のブロック図
である。本実施例は、第1の実施例に対してRAM4個
と演算器2個とシフタ2個を用意し、さらに高速化を図
ったものであり、図1に対してRAM10,11と、演
算器12と、シフタ13とが付加されている。4つの制
御点から3次ベジェ曲線上の点を一つ求めて補間処理を
行うには、7回中点を求める必要があり、一つの演算器
と一つのシフタでは演算器の待ち時間が減り高速化され
る。その他の処理は、第1の実施例と同じである。
FIG. 2 is a block diagram of a second embodiment of the present invention. In the present embodiment, four RAMs, two arithmetic units, and two shifters are prepared for the first embodiment to further increase the speed, and the RAMs 10 and 11 and the arithmetic units are compared to FIG. 12 and a shifter 13 are added. In order to find one point on the cubic Bezier curve from four control points and perform interpolation processing, it is necessary to find the middle point seven times, and with one arithmetic unit and one shifter, the waiting time of the arithmetic unit is reduced. Speed up. Other processes are the same as in the first embodiment.

【0023】複数の制御点および複数の中点を4つのグ
ループに分けて格納する4個のRAM1,2,10,1
1アドレスはポインタ3に格納される。これら4つのR
AMに格納された所定の2点の座標値は演算器4,12
で加算され、これら演算器4,12の出力値をシフタ
5,13で1ビットシフト後4つのRAM1,2,1
0,11のいずれかに格納する。シフタ5,13の出力
値とレジスタ6と値との比較器7で比較し、この比較器
7の比較結果によってポインタ制御回路8がポインタ操
作を制御する。
Four RAMs 1, 2, 10, 1 for storing a plurality of control points and a plurality of middle points in four groups
One address is stored in the pointer 3. These four R
The coordinate values of two predetermined points stored in the AM are calculated by the arithmetic units 4 and 12.
, And after shifting the output values of these arithmetic units 4 and 12 by 1 bit with shifters 5 and 13, the four RAMs 1, 2, 1
0 or 11 is stored. The comparator 7 compares the output values of the shifters 5 and 13 with the register 6 and the value, and the pointer control circuit 8 controls the pointer operation based on the comparison result of the comparator 7.

【0024】[0024]

【発明の効果】以上説明したように本発明によれば、4
つの制御点から3次ベジェ曲線上の点を求め距離レジス
タの値と比較を行うと同時に、次の4つの制御点から3
次ベジェ曲線上の点の算出を並行に開始することによ
り、演算器での待ち時間が減少し従来例より高速化が可
能となる。さらに、演算器とシフタの数を増やすことに
より、より一層の高速化が可能である。更に、本発明
は、文字の拡大を行った時に4つの制御点の距離が広が
ることから、3次ベジェ曲線上の点を求める再帰的処理
の回数が多くなり、文字が大きくなるほど従来例よりか
なり高速な処理を実現することが可能となる。
As described above, according to the present invention, 4
From the three control points, a point on the cubic Bezier curve is obtained and compared with the value of the distance register.
By starting the calculation of the points on the next Bezier curve in parallel, the waiting time in the arithmetic unit is reduced and the speed can be made higher than in the conventional example. Further, by increasing the number of arithmetic units and shifters, it is possible to further increase the speed. Further, in the present invention, since the distance between the four control points increases when a character is enlarged, the number of recursive processes for finding a point on a cubic Bezier curve increases. High-speed processing can be realized.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例のブロック図である。FIG. 1 is a block diagram of a first embodiment of the present invention.

【図2】本発明の第2の実施例のブロック図である。FIG. 2 is a block diagram of a second embodiment of the present invention.

【図3】従来例の曲線発生装置のブロック図である。FIG. 3 is a block diagram of a conventional curve generator.

【図4】3次ベジェ曲線の幾何学的アルゴリズムを説明
する座標図である。
FIG. 4 is a coordinate diagram illustrating a geometric algorithm of a cubic Bezier curve.

【符号の説明】[Explanation of symbols]

1,2,10,11 座標と中点を格納するRAM 3 RAMのアドレスを指すポインタ 4,12 演算器 5,13 シフタ 6 比較対象の値を格納するレジスタ 7 比較器 8 ポインタ制御回路 9 シーケンサ 1, 2, 10, 11 RAM storing coordinates and midpoint 3 Pointer indicating RAM address 4, 12 Operator 5, 13 Shifter 6 Register storing value to be compared 7 Comparator 8 Pointer control circuit 9 Sequencer

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 指定された複数の制御点の座標値からこ
れら制御点間の中点の座標を計算することにより前記制
御点の近傍を曲線補間し曲線を発生する曲線発生装置に
おいて、前記複数の制御点および複数の前記中点をいく
つかのグループに分けて格納する複数個の記憶手段と、
これら記憶手段のアドレスを格納するポインタと、前記
各記憶手段に格納された所定の2点の座標値を加算する
演算器と、この演算器の出力値を1ビットシフト後いく
つかの前記記憶手段のいずれかに格納するシフタと、予
め定めた距離値を格納するレジスタと、このレジスタの
値と前記シフタの出力値との比較を行う比較器と、この
比較器の比較結果によって前記ポインタの操作を制御す
るポインタ制御回路と、前記比較器の出力信号に従って
前記演算器と前記シフタと前記比較器を制御するシーケ
ンサとを備えることを特徴とする曲線発生装置。
1. A curve generating apparatus for calculating a coordinate of a midpoint between control points from a plurality of designated control point coordinate values to interpolate a curve in the vicinity of the control points to generate a curve. A plurality of storage means for storing the control points and the plurality of midpoints divided into several groups,
A pointer for storing the addresses of these storage means, an arithmetic unit for adding the coordinate values of two predetermined points stored in each of the storage means, and some of the storage means after shifting the output value of this arithmetic unit by 1 bit , A register for storing a predetermined distance value, a comparator for comparing the value of this register with the output value of the shifter, and operating the pointer based on a comparison result of the comparator. And a sequencer for controlling the operation unit, the shifter, and the comparator in accordance with an output signal of the comparator.
JP4233218A 1992-09-01 1992-09-01 Curve generator Expired - Fee Related JP2748787B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4233218A JP2748787B2 (en) 1992-09-01 1992-09-01 Curve generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4233218A JP2748787B2 (en) 1992-09-01 1992-09-01 Curve generator

Publications (2)

Publication Number Publication Date
JPH0683972A JPH0683972A (en) 1994-03-25
JP2748787B2 true JP2748787B2 (en) 1998-05-13

Family

ID=16951614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4233218A Expired - Fee Related JP2748787B2 (en) 1992-09-01 1992-09-01 Curve generator

Country Status (1)

Country Link
JP (1) JP2748787B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5240196B2 (en) * 2007-07-12 2013-07-17 富士通株式会社 Calculation apparatus, calculation method, and calculation program
CN113706970B (en) * 2021-08-26 2023-04-28 北京金三惠科技有限公司 Method and computer program for displaying music score connecting line

Also Published As

Publication number Publication date
JPH0683972A (en) 1994-03-25

Similar Documents

Publication Publication Date Title
EP0249705B1 (en) Method and apparatus for producing a curved image on a graphics display device
JPS63198174A (en) Graphic processor
US5870107A (en) Character and symbol pattern generator based on skeleton data including thickness calculation
EP0437379B1 (en) Curve generator
US5309553A (en) Apparatus for and method of generating a straight line of pixels in a discrete coordinate system
JP2748787B2 (en) Curve generator
JP2757614B2 (en) Figure filling device
JP2674287B2 (en) Graphic microcomputer
JP2588257B2 (en) Contour approximation method
JP3059739B2 (en) Information processing apparatus with curve drawing function and processing method
JP3280160B2 (en) Document processing apparatus and document processing method
JP2806679B2 (en) Character generator
KR940001106B1 (en) Image processing method and apparatus therefor
JP2594906B2 (en) Line type generation circuit in graphic processing equipment
JP3108582B2 (en) Thicker text generator
JP3072756B2 (en) Drawing equipment
JPH10149453A (en) Polygon graphic plotting device
JPH02161574A (en) Method and device for paint out outline font constituting character for each element
JP2896097B2 (en) Method and apparatus for filling outline font in which characters are configured for each element
JPH0553559A (en) Line width determination system
JPS59123924A (en) Output control system for arcuate graph
JPH06162184A (en) System and device for curve interpolation
JPH0293591A (en) Arithmetic system for vector raster conversion
JPS62284441A (en) Address control device
JPH10240221A (en) Method and device for painting out outline font constituting character by element classifications and storage medium

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980120

LAPS Cancellation because of no payment of annual fees