JPH0683972A - Curve generating device - Google Patents

Curve generating device

Info

Publication number
JPH0683972A
JPH0683972A JP4233218A JP23321892A JPH0683972A JP H0683972 A JPH0683972 A JP H0683972A JP 4233218 A JP4233218 A JP 4233218A JP 23321892 A JP23321892 A JP 23321892A JP H0683972 A JPH0683972 A JP H0683972A
Authority
JP
Japan
Prior art keywords
curve
point
points
comparator
control points
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
JP4233218A
Other languages
Japanese (ja)
Other versions
JP2748787B2 (en
Inventor
Yoshiko Kozu
由子 神津
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
NEC 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 NEC Corp filed Critical NEC Corp
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)

Abstract

PURPOSE:To speed up the geometrical processing in a three dimensional Bezier curve interpolating control points with a smooth curve for four control pints given on the curve. CONSTITUTION:The distance discrimination between the control point and the calculated point is performed in a comparator 7 every time when the point on the three-dimensional Bezier curve is calculated for the given four control points. During the discrimination by the comparator 7, an arithmetic unit 4 starts recursive processing in advance without waiting for the discrimination result. It continues the processing as it is when the discrimination by the comparator 7 does not meet the condition, and if it meets the condition, the arithmetic units 4 and a shifter 5 are cleared and a pointer control circuit 8 restarts the processing for the control point of a pointer 3 which is newly set. Thus, the waiting time of the arithmetic unit 4 is reduced and the generation of the free curve is speeded up.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

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

【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 DTR (Des
With the commercialization of k Top Publishing, there is an increasing demand for character print quality.
In particular, in the DTP field, it is needless to say that the character quality is highly demanded, but there are also many demands for the character size and the type of the font, so that the outline font has been attracting attention in place of the bit map font. Also in the field of personal computers, WYSIWYG (What You See) allows you to match the characters displayed / printed on the display and the printer so that the printed image can be checked on the screen as it is.
Outline font technology is also drawing attention toward the realization of Is What You Get).

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

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

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

【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 shows a block diagram of a conventional curve generating device which is realized by dedicated hardware, and FIG. 4 shows a geometrical coordinate diagram for generating a cubic Bezier curve. In FIG.
Reference numerals 1 and 2 are RAMs for storing coordinate points, 3 is a pointer for storing the RAM address, and 4 is an R set by the pointer 3.
An arithmetic unit 5 for adding two pieces of AM data, and an arithmetic unit 4
The shifter that shifts the result of addition by 1 bit, 9 is the sequencer that controls the RAM, pointer, arithmetic unit, and shifter, 6 is the distance register that stores the distance value, and 7 is the shifter output value and four controls It is a comparator that compares the distance between the start point of the point and the value stored in the distance register 6. Each of the four control points A to D provided is a RAM.
It 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, the midpoints E, F and G of the line segments AB, BC and CD formed by the 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 the operation of the pointer 3, and the arithmetic unit 4 adds the coordinate values of the two control points. This operation result is the shifter 5
Input it to and halve it. The 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
The next point is on the Bezier curve. Next, the points A, E, H, and J are set as control points, and the above-described processing is performed in the same manner to obtain a point Q on the next curve. After the points on the curve are obtained in this manner, the points on the Bezier curve can be obtained by repeatedly performing the recursive processing on the 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 this Bezier curve is the replacement of control points. When the above process is repeated, the obtained point on the Bezier curve approaches the point A as much as possible. Therefore, it is necessary to terminate the processing when the distance to the point A is approached to a certain extent and change the processing to calculate the point at another location. That is, the distance value serving as the 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. If the distance between the point A in FIG. 4 and the obtained point Q on the curve is smaller than the preset value of the distance register 6, the four target control points are set to the points J, I, and
The same process is repeated for G and D.

【0010】[0010]

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

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

【0012】[0012]

【課題を解決するための手段】本発明の構成は、指定さ
れた複数の制御点の座標値からこれら制御点間の中点の
座標を計算することにより前記制御点の近傍を曲線補間
し曲線を発生する曲線発生装置において、前記複数の制
御点および複数の前記中点をいくつかのグループに分け
て格納する複数個の記憶手段と、これら記憶手段のアド
レスを格納するポインタと、前記各記憶手段に格納され
た所定の2点の座標値を加算する演算器と、この演算器
の出力値を1ビットシフト後いくつかの前記記憶手段の
いずれかに格納するシフタと、予め定めた距離値を格納
するレジスタと、このレジスタの値と前記シフタの出力
値との比較を行う比較器と、この比較器の比較結果によ
って前記ポインタの操作を制御するポインタ制御回路
と、前記比較器の出力信号に従って前記演算器と前記シ
フタと前記比較器を制御するシーケンサとを備えること
を特徴とする。
According to the structure of the present invention, the coordinates of the midpoint between control points are calculated from the coordinate values of a plurality of designated control points to perform curve interpolation in the vicinity of the control points. In a curve generating device for generating a plurality of storage points, a plurality of storage means for storing the plurality of control points and the plurality of the middle points by dividing them into some groups, pointers for storing addresses of these storage means, and each storage An arithmetic unit for adding the coordinate values of two predetermined points stored in the means, a shifter for storing the output value of the arithmetic unit in one of the storage means after 1-bit shift, and a predetermined distance value , A comparator for comparing the value of this register with the output value of the shifter, a pointer control circuit for controlling the operation of the pointer according to the comparison result of this 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 of the present invention is mainly used for the operation of the arithmetic unit during the period in which the distance between the calculated point on the curve and the start points 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 computing unit starts the computation of the four control points given next as the forward processing. The algorithm of the geometrical cubic Bezier curve divides the trapezoid given by the four control points at first every time one point on the curve is calculated, and divides the trapezoid into two, and divides the trapezoid into two. Repeat the recursive process for the trapezoid. Then, the above-described processing is repeated until the calculated point on the curve approaches a certain distance from the start points 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 as a result of the comparison, and the comparison operation and the operation of the operation unit can be processed 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が制御する。
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 that store the plurality of control points and the plurality of midpoints in two groups are stored in the pointer 3. The coordinate values of two predetermined points stored in the two RAMs 1 and 2 are added by the calculator 4. The output value of the arithmetic unit 4 is shifted by 1 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 the comparator 7 compares the output value of the shifter 5 with the value of the register 6. The pointer control circuit 8 controls the pointer operation according to the comparison result of the comparator 7. Further, according to the output signal of the comparator 7, the arithmetic unit 5, the shifter 6 and the comparator 7
And the sequencer 9 controls.

【0015】本実施例は、4点の座標値を入力して3次
ベジェ曲線上の点を開始点に近い方から発生するもので
ある。直線のサンプリングは、予め与えられた距離より
も隣接する点の距離がX座標,Y座標共に小さくなるま
で行われる。座標値表現を16ビットの固定小数点とし
ており、X座標値,Y座標値おのおのに対して図1のハ
ードウェア構成を持っている。ただし、処理シーケンス
が同じであるので、シーケンサ9、ポインタ制御回路
8、ポインタ3は共有できる。
In this embodiment, coordinate values of four points are input and points on the cubic Bezier curve are generated from the side closer to the starting 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 representation is a 16-bit fixed point, and the X-coordinate value and the Y-coordinate value have the hardware configuration shown in FIG. 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, the respective midpoints of line segments AB, BC and CD which are composed of four control points A, B, C and D stored in the RAM are obtained. The pointer 3 points to the coordinate points A and B according to the pointer control circuit 8, reads these coordinate points from the RAMs 1 and 2, transfers them to the arithmetic unit 4, and adds two coordinates by 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 in the arithmetic unit 4, and the pointer 3 points the coordinate point B and the coordinate point C according to the pointer control circuit 8. 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 then obtained, and the line segment HI is further obtained. Midpoint J
And the point J becomes a point on the cubic curve. When this 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 generated by the control signal of the sequencer 9.
The coordinates are 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, D are formed into two trapezoids of points A, E, H, J and points J, I, G, D around the point J. Divide and similarly determine the midpoints for the four control points A, E, H, and J, and start the arithmetic processing in parallel to obtain 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 preset value of the distance register 6. In this case, since the distance between the points A and J is still larger than the value of the distance register 6, the control signal is sent to the pointer control circuit 8 so that the recursive process is repeated as it is. Also, the comparator 7
The result in step 1 is also sent to the sequencer 9, and control is performed so that recursive processing is 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, the comparison is performed by the comparator 7 similarly to the point J, and the following four control points A,
The recursive process for finding the 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 obtain the midpoints for, and next, it is necessary to obtain the midpoints 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, from the comparator 7, 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 the coordinate values of the 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 a 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 the second embodiment of the present invention. In this embodiment, four RAMs, two arithmetic units and two shifters are prepared for the first embodiment to further increase the speed. In contrast to FIG. 1, RAMs 10 and 11 and arithmetic units are provided. 12 and a shifter 13 are added. In order to obtain one point on the cubic Bezier curve from four control points and perform interpolation processing, it is necessary to obtain the middle point seven times, and the waiting time of the computing unit is reduced with one computing unit and one shifter. It will be faster. Other processes are the same as those 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 midpoints by dividing them into four groups
One address is stored in the pointer 3. These four R
The coordinate values of the predetermined two points stored in the AM are calculated by the arithmetic units 4 and 12
Are added, and the output values of the arithmetic units 4 and 12 are shifted by 1 bit by the shifters 5 and 13, and the four RAMs 1, 2, 1
It is stored in either 0 or 11. 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 according to the comparison result of the comparator 7.

【0024】[0024]

【発明の効果】以上説明したように本発明によれば、4
つの制御点から3次ベジェ曲線上の点を求め距離レジス
タの値と比較を行うと同時に、次の4つの制御点から3
次ベジェ曲線上の点の算出を並行に開始することによ
り、演算器での待ち時間が減少し従来例より高速化が可
能となる。さらに、演算器とシフタの数を増やすことに
より、より一層の高速化が可能である。更に、本発明
は、文字の拡大を行った時に4つの制御点の距離が広が
ることから、3次ベジェ曲線上の点を求める再帰的処理
の回数が多くなり、文字が大きくなるほど従来例よりか
なり高速な処理を実現することが可能となる。
As described above, according to the present invention, 4
The point on the cubic Bezier curve is calculated from the three control points and compared with the value in 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 increased as compared with the conventional example. Further, by increasing the number of arithmetic units and shifters, it is possible to further increase the speed. Further, according to the present invention, since the distance between the four control points increases when the character is enlarged, the number of times of recursive processing for obtaining a point on the cubic Bezier curve increases, and the larger the character, the considerably larger than the conventional example. It becomes possible to realize high-speed processing.

【図面の簡単な説明】[Brief description of 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 for storing coordinates and midpoint 3 Pointer for pointing to RAM address 4,12 Arithmetic unit 5,13 Shifter 6 Register for storing value to be compared 7 Comparator 8 Pointer control circuit 9 Sequencer

Claims (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009008086A1 (en) * 2007-07-12 2009-01-15 Fujitsu Limited Calculation device, calculation method and calculation program
CN113706970A (en) * 2021-08-26 2021-11-26 北京金三惠科技有限公司 Method and computer program for presenting a musical score line

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009008086A1 (en) * 2007-07-12 2009-01-15 Fujitsu Limited Calculation device, calculation method and calculation program
US20100106762A1 (en) * 2007-07-12 2010-04-29 Fujitsu Limited Computer apparatus and calculation method
JP5240196B2 (en) * 2007-07-12 2013-07-17 富士通株式会社 Calculation apparatus, calculation method, and calculation program
CN113706970A (en) * 2021-08-26 2021-11-26 北京金三惠科技有限公司 Method and computer program for presenting a musical score line

Also Published As

Publication number Publication date
JP2748787B2 (en) 1998-05-13

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
JPH08329261A (en) Parameteric curve generator
EP0349182B1 (en) Method and apparatus for approximating polygonal line to curve
JP2748787B2 (en) Curve generator
JP2757614B2 (en) Figure filling device
JP2674287B2 (en) Graphic microcomputer
JP3059739B2 (en) Information processing apparatus with curve drawing function and processing method
EP0389890A2 (en) Method and apparatus for generating figures with three degrees of freedom
JP3280160B2 (en) Document processing apparatus and document processing method
JP2806679B2 (en) Character generator
JPH08212357A (en) Device and method for interpolation, and image generating device
JP2734735B2 (en) Circle drawing method and device
JP3108582B2 (en) Thicker text generator
JP2538631B2 (en) How to handle vector characters
JP3072756B2 (en) Drawing equipment
JPH07181944A (en) Outline font drawing device
JPS59123924A (en) Output control system for arcuate graph
JPS62205482A (en) Segment generating circuit of crt display device
JPH04153786A (en) Quadrilateral area filling device
JPH02161574A (en) Method and device for paint out outline font constituting character for each element
JPH07205481A (en) Device for generating outline font data

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