JPS59174976A - Vector generating system - Google Patents
Vector generating systemInfo
- Publication number
- JPS59174976A JPS59174976A JP58050226A JP5022683A JPS59174976A JP S59174976 A JPS59174976 A JP S59174976A JP 58050226 A JP58050226 A JP 58050226A JP 5022683 A JP5022683 A JP 5022683A JP S59174976 A JPS59174976 A JP S59174976A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- calculation
- address
- base
- counter
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は1図形処理装置等における表示図形線分すなわ
ちベクトルの連続座標値を与えるベクトル発生装置に関
し、特にDDA(デジタル微分解析機)を含むデジタル
演算機構をそなえ、対象ベクトルを複数に分割し1分割
された各区分を並列に演算することにより高速化を図っ
たベクトル発生方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a vector generator that generates continuous coordinate values of display graphic line segments, that is, vectors, in a graphic processing device or the like, and particularly to a vector generator that generates continuous coordinate values of display graphic line segments, that is, vectors, in a graphic processing device, etc. The present invention relates to a vector generation method that is equipped with an arithmetic mechanism, divides a target vector into a plurality of parts, and calculates each of the divided sections in parallel, thereby increasing the speed.
一般に9図形処理装置においては9表示図形のベクトル
データを、DDAあるいはB RM (Bina−ry
Rate Multiplier)を用いて発生しで
いるが。Generally, in a 9-figure processing device, vector data of 9-displayed figures is processed using DDA or BRM (Bina-ry
However, it has already been generated using the Rate Multiplier.
後者は発生点列の質に問題があるため、前者のDDA方
式が多く使用されている。Since the latter has a problem with the quality of the generation point sequence, the former DDA method is often used.
第1図は、ベクトルの1例を示したものである。FIG. 1 shows an example of a vector.
図示の座標(0,0)のA点から座標(10,7)のB
点に向う積分を、CRT等の図形表示装置で表示する場
合には、ベクトルA、B2点間の各点の座標値を補間し
てやる必要がある。From point A at the coordinates (0,0) shown to B at the coordinates (10,7)
When displaying the integral toward a point on a graphic display device such as a CRT, it is necessary to interpolate the coordinate values of each point between the two vectors A and B.
第2図は、任意のベクトルの中間点(ドツト)の座標値
を補間するための、従来のDDA方式のベクトル発生装
置の原理を示したものである。図中、■は加算結果の余
りを保持するRレジスタ。FIG. 2 shows the principle of a conventional DDA vector generator for interpolating the coordinate values of intermediate points (dots) of arbitrary vectors. In the figure, ■ is an R register that holds the remainder of the addition result.
2は△L/ シスタ、3 ハ加算結果の和のアドレス値
を記憶するPレジスタである。2 is a P register that stores the address value of the sum of the ΔL/sister and 3C addition results.
まず、2点間の相対距離1△X1,1△Y1について調
べ大きい方をベース、小さい方を被ベースとする。第1
図の例では、I△XI =10.l△Yl=7であり、
1△X1≧1△Y1となるので、△Xがベース、△Yが
被ベースとされる。これから、 DDAにより、△=1
被ベース1/1べ一刈=1△Y1/1△X1が演算され
る。このΔ値は、X座標の単位アドレス当りのY座標変
化量を表わし、牙2図の、Δレジスタ2に格納される。First, the relative distances 1ΔX1 and 1ΔY1 between two points are investigated, and the larger one is set as the base, and the smaller one is set as the base. 1st
In the example shown, IΔXI =10. l△Yl=7,
Since 1ΔX1≧1ΔY1, ΔX is the base and ΔY is the based. From now on, by DDA, △=1
Base 1/1 base cut=1ΔY1/1ΔX1 is calculated. This Δ value represents the amount of change in the Y coordinate per unit address of the X coordinate, and is stored in the Δ register 2 in the figure 2.
逆に△Yがベースになる場合にはこのΔ値はY座標の単
位アドレス当りのX座標変化を表わす。Conversely, when ΔY is the base, this Δ value represents the change in the X coordinate per unit address of the Y coordinate.
次に、Rレジスタ1にある前回の加算結果の余り(最初
は’o’ )と△レジスタ2内のΔ値とを加算し、結果
をRレジスタ1に格納する。加算結果が値1を超えたと
き、オーバーフローパルスがPレジスタ3に送られ、P
レジスタ内9値を+1または−1する。ここで、Pレジ
スタ3は被ベースのアドレスカウンタであり、その内容
は、Y座標のアドレス値を表わしている(本例では、初
期値101である)。Next, the remainder of the previous addition result in R register 1 (initially 'o') is added to the Δ value in Δ register 2, and the result is stored in R register 1. When the addition result exceeds the value 1, an overflow pulse is sent to P register 3, and P
Add 1 or -1 to the 9 values in the register. Here, the P register 3 is a base address counter, and its contents represent the address value of the Y coordinate (in this example, the initial value is 101).
以上の演算動作は、X座標の△X範囲内にあるアドレス
について、順次的に繰り返される。第3図は、第1図の
ベクトル発生に際して演算が実行された場合の、牙2図
の各レジスタの内容を示している。The above calculation operations are sequentially repeated for addresses within the ΔX range of the X coordinate. FIG. 3 shows the contents of each register in FIG. 2 when calculations are executed when the vectors in FIG. 1 are generated.
上述した従来のDDA方式によるベクトル発生装置では
、1つのベクトルを構成する各点の座標値の演算が、常
に直前の演算結果を利用する形で行なわれるため、ベク
トルについての完全なデータが得られるまで時間がかか
り1表示が遅れるという問題があった。In the conventional vector generator using the DDA method described above, the coordinate values of each point constituting one vector are always calculated using the immediately previous calculation result, so complete data about the vector can be obtained. There was a problem in that it took a long time to complete and the display of 1 was delayed.
本発明の目的は、DDA方式のベクトル発生装置の高速
化を図ることにあり9発生対象のベクトルを複数に分割
して並列演算を行なわせることにより上記目的を達成す
るものである。An object of the present invention is to increase the speed of a DDA type vector generator, and achieves the above object by dividing a vector to be generated into a plurality of parts and performing parallel operations.
それによる本発明の構成は、ベクトル発生装置ニオイで
1発生すべきベクトルの相対アドレス△X・△Yおよび
レングス長が入力され、△Xおよび△Yのうち小さい方
を被ベースとし、大きい方をベースとしで△=+1ベー
スI/1ペース1を求め、Nを整数として2Nで発生す
べきベクトルを分割スるベクトルデータ制御回路と、該
分割された個々の区間のベクトルを上記Δ値を用いて演
算する2N mのベクトル演算手段とをそなえ、該2N
個のベクトル演算手段を並列に同時実行させることを特
徴とするものである。Accordingly, the configuration of the present invention is such that the relative addresses △X, △Y and length of the vector to be generated are inputted in the vector generator, the smaller of △X and △Y is used as the base, and the larger one is used as the base. A vector data control circuit that calculates Δ=+1 base I/1 pace 1 as a base, divides the vector to be generated by 2N, where N is an integer, and uses the above Δ value to calculate the vector of each divided section. 2N m vector calculation means for calculating the 2N m vector calculation means.
This method is characterized in that two vector calculation means are simultaneously executed in parallel.
以下に2本発明の詳細を実施例にしたがって説明する。 The details of the present invention will be explained below based on two examples.
はじめに9本発明との対比上、牙2図で説明した従来の
DDA方式のベクトル発生装置の構成を。Introduction 9 For comparison with the present invention, the configuration of the conventional DDA type vector generator explained in Fig. 2 will be explained.
第4図により説明する。This will be explained with reference to FIG.
牙4図において、11はDDA、12はベースアドレス
カウンタ、13は被ベースアドレスカウンタ、14はレ
ングスカウンタ、15は+1回路。In the diagram, 11 is a DDA, 12 is a base address counter, 13 is a base address counter, 14 is a length counter, and 15 is a +1 circuit.
16はクロック制御回路、17はビットマツプメモリを
示す。16 is a clock control circuit, and 17 is a bitmap memory.
DDAIIは、入力パラメータ△X、ΔYにしたがって
、1被ベースl/1ベース1を演算してΔ値を得る。続
いでりμツク制御回路16から供給される演算ステップ
制御クロック信号に応答して+1回路15によりベース
アドレスカウンタ12を歩進させ、ベース側のアドレス
としてビットマツプメモリ17に供給する。同時にDD
AIIは。DDAII calculates 1 base l/1 base 1 according to input parameters ΔX and ΔY to obtain a Δ value. Subsequently, the +1 circuit 15 increments the base address counter 12 in response to the arithmetic step control clock signal supplied from the μ-clock control circuit 16, and supplies the increment to the bitmap memory 17 as a base-side address. DD at the same time
AII is.
Δ値を累算し、オーバーフロー値を被ベースアドレスカ
ウンタ13に積算させ、被ベースアドレスとして、ビッ
トマツプメモリ17に供給する。レングスカウンタ14
は、入力パラメータ中のレングス長データにもとづいて
、ベクトルの書き込みドツト数、すなわち演算ステップ
数をカウントし。The Δ values are accumulated, the overflow value is accumulated in the base address counter 13, and is supplied to the bitmap memory 17 as the base address. length counter 14
counts the number of vector write dots, that is, the number of calculation steps, based on the length data in the input parameter.
アドレスカウンタ12.13の動作を制御する。Controls the operation of address counters 12 and 13.
ビットマツプメモリ17は、アドレスカウンタ12゜1
3から供給されたベース/被ベースアドレスにしたがっ
てアクセスされるドツト位置に、11#を書き込む。こ
の方法では、1クロック期間に、1ベクトルアドレスし
か計算することができない。The bitmap memory 17 has an address counter 12゜1.
11# is written to the dot position accessed according to the base/base address supplied from 3. With this method, only one vector address can be calculated in one clock period.
本発明は、これに対して、被ベース側のアドレスを生成
するベクトル演算機構を2N(Nは整数)系列設け、ベ
クトルのアドレス演算を分割して並列に同時実行するこ
とにより、全体の演算時間を短縮するものである。In contrast, the present invention provides a 2N (N is an integer) series of vector calculation mechanisms that generate addresses on the base side, divides the vector address calculations, and executes them simultaneously in parallel, reducing the overall calculation time. This shortens the term.
第5図は本発明実施例のベクトル発生装置の構成図であ
る。図中、21α、・・・、21n はそれぞれDDA
(1)、、・=、 (2N)であり、 22a、
−、22sハ被ヘー ス計算用アドレスレジスタ(1)
、・・、(2’)であり、23α、・・・、23nはベ
ース計算用アドレスレジスタ(1)、・・・、(2N)
テアリ、24a、・・。FIG. 5 is a block diagram of a vector generator according to an embodiment of the present invention. In the figure, 21α, ..., 21n are each DDA
(1),...=, (2N), and 22a,
-, 22s address register (1) for calculation of heath
,..., (2'), and 23α,..., 23n are base calculation address registers (1),..., (2N).
Teari, 24a,...
24?Sはレングスカウンタ(1)、・・・、 (2N
)であり。24? S is length counter (1),..., (2N
).
’ 25a、・・・、25nはメモリライトコン
トルール回路である。また26は被アドレスレジスタ、
27はベースアドレスカウンタ、28はベクトルデータ
制御回路、29はビットマツプメモリ、30はクロック
制御回路を示す。' 25a, . . . , 25n are memory write control circuits. 26 is an addressed register;
27 is a base address counter, 28 is a vector data control circuit, 29 is a bitmap memory, and 30 is a clock control circuit.
まず、パラメータΔX、ΔY、レングス長が。First, the parameters ΔX, ΔY, and length.
ベクトルデータ制御回路28に入力される。ここで、1
被べ−1/1ベース1のΔ値が1/2Nよリモ小さいか
否かが判定さ・れる。もしも△> ’/2Nであれば2
分割されたアドレス区分間の境界で、一度に被ベースの
2アドレス変化が生じるおそれがあり、描画された点列
の品質が低下するため2分割並列演算は適用せず、従来
方式と同様にDDA(υのみが使用される。他方、△〈
1/2Nの場合には。The vector data is input to the control circuit 28. Here, 1
It is determined whether the Δ value of base 1 is smaller than 1/2N. If △>'/2N then 2
At the boundary between the divided address sections, there is a risk that two addresses of the base may change at once, and the quality of the drawn point sequence will deteriorate. (only υ is used; on the other hand, △〈
In the case of 1/2N.
DDA(1)、・・・、 (2N)の全てが使用される
。All of DDA(1), . . . (2N) are used.
2N組のベクトル演算機構の各系列をVl、・・・、V
nで表わすと、Vl(21α、22a、23a、24a
、’;’5a)。Let each series of the 2N vector calculation mechanisms be Vl,...,V
When expressed as n, Vl(21α, 22a, 23a, 24a
,';'5a).
−−−、VfL(21s、22n、23s、24s、2
5s)であり。---, VfL (21s, 22n, 23s, 24s, 2
5s).
それぞれn=2Nで分割されたベースの対応するアドレ
ス区間について、アドレス計算を実行する。Address calculation is performed for each corresponding address section of the base divided by n=2N.
ベクトルデータ制御回路は、△と1/2Nを判定後△〉
1/2Nの場合にはDDA(1)のみに、△≦1/2N
の場合には全てのDDA(1)〜(2N)に初期値をセ
ットし、さらに、各計算用ベースアドレスカウンタ及び
計算用被ベースアドレスカウンタ及びレングスカウンタ
に該当初期値をセットするこ、とを制御する。セットが
完了すると、それぞれのへp ) ル演’1−WNlt
Vx〜Vnがベークトルデータ制?Rj回路から与えら
れる各パラメータを用いて、りpツク制御回路30から
供給される演算ステップ制御クロック信号に応答して動
作する。各計算用ベースアドレスカウンタは、演算ステ
ップ制御クロック信号に応答して±2Nを加算し、ベー
ス側のアドレスとしてビットマツプメモリ29に供給す
る。After determining △ and 1/2N, the vector data control circuit determines △〉
In the case of 1/2N, only DDA (1), △≦1/2N
In this case, initial values should be set for all DDA(1) to (2N), and the corresponding initial values should be set for each calculation base address counter, calculation base address counter, and length counter. Control. When the set is completed, each page) Le Performance'1-WNlt
Is Vx~Vn a vector data system? It operates in response to an arithmetic step control clock signal supplied from the ripple control circuit 30 using each parameter supplied from the Rj circuit. Each calculation base address counter adds ±2N in response to the calculation step control clock signal and supplies the result to the bitmap memory 29 as a base address.
各DDAは(2N×△)を累算してオーバーフロー値を
計算用被ペースアドレスカウンタに積算させ被ベースア
ドレスとしてビットマツプメモリ29に供給する。各レ
ングスカウンタは各DDAの計算回数をカウントシ、各
ベクトル演算機構V l−V nの動作を制御する。各
メモリライトコントロール回路は各ベクトル演算機構で
供給される各アドレスを制御する。Each DDA accumulates (2N×△), and the overflow value is accumulated in the calculation spaced address counter and supplied to the bitmap memory 29 as the base address. Each length counter counts the number of calculations for each DDA and controls the operation of each vector calculation mechanism V l -V n. Each memory write control circuit controls each address supplied by each vector operation mechanism.
この結果、同時にn個のベクトルアドレスが生成され、
ビットマツプメモリ29に供給される。As a result, n vector addresses are generated simultaneously,
The data is supplied to a bitmap memory 29.
レングスカウンタ(1)、・・・、 (2N)により制
御されるメモリライトコントロール回路(1)、・・・
、 (2N)は、生成された九個のそれぞれのアドレス
のドツトにlIIを書き込み、必要回数繰り返してベク
トル描画を完了する。最終ベクトルを描いたベースアド
レスおよび被ベースアドレスは、ペースアドレスカウン
タ27.被ベースアドレスカウンタ26にセットされ、
現アドレスポイントを表示する。Memory write control circuits (1), . . . controlled by length counters (1), . . . (2N)
, (2N) writes lII to the dots at each of the nine generated addresses and repeats the necessary number of times to complete vector drawing. The base address and base address that drew the final vector are stored in the pace address counter 27. is set in the base address counter 26,
Display the current address point.
上述したように、△> 1/2Nの場合には、 DDA
(1)21α、アドレスカラ・ンタ26,27.
レングスカウンタ(1)24α、メモリライトコントロ
ール回路(1)2saが使用され、第4図の従来装置と
同じ方法でベクトルを発生す°る。As mentioned above, if △> 1/2N, DDA
(1) 21α, address color data 26, 27.
A length counter (1) 24α and a memory write control circuit (1) 2sa are used to generate vectors in the same manner as the conventional device shown in FIG.
これにより、水平および垂直に近いベクトルの描画が多
い場合には、従来の速度のn (2N)倍に近い高速で
ベクトル描画を行なうことができる。As a result, when there are many drawings of near-horizontal and vertical vectors, vector drawing can be performed at a high speed nearly n (2N) times the conventional speed.
第1図はベクトルの説明図、第2図は従来のベクトル発
生方式の動作原理図、第3図は第2図における各レジス
タの内容を示す説明図、牙4図は従来のベクトル発生装
置の構成図、第5図は本発明にもとづくベクトル発生装
置の実施例図である。
図中、218乃至21%はDDA、22.乃至22nは
被ベース計算用アドレスレジスタ、23α乃至23%は
ベース計算用アドレスレジスタ、24α乃至24nはレ
ングスカウンタ、25a乃至257Lはメモリライトコ
ントルール回路、26は被ベースアドレスカウンタ、2
7はベースアドレスカウンタ、28はベクトルデータ制
御回路、29はビットマツプメモリを示す。
特許出願人 富士通株式会社Figure 1 is an explanatory diagram of vectors, Figure 2 is a diagram of the operating principle of the conventional vector generation system, Figure 3 is an explanatory diagram showing the contents of each register in Figure 2, and Figure 4 is a diagram of the conventional vector generation system. The block diagram, FIG. 5, is an embodiment of a vector generator according to the present invention. In the figure, 218 to 21% is DDA, 22. 22n to 22n are address registers for base calculation, 23α to 23% are address registers for base calculation, 24α to 24n are length counters, 25a to 257L are memory write control circuits, 26 is a base address counter, 2
7 is a base address counter, 28 is a vector data control circuit, and 29 is a bitmap memory. Patent applicant Fujitsu Limited
Claims (1)
アドレスΔX、ΔYおよびレングス長が入力され、ΔX
およびΔYのうち小さい方を被ペースとし、大きい方を
ベースとしてΔ=1被ベース1/1ベース1を求め、N
を整数として発生すへきベクトルを2Nで分割するベク
トルデータ制御回路と、該分割された個々の区間のベク
トルを上記Δ値を用いて演算する2N個のベクトル演算
手段とをそなえ、該2N個のベクトル演算手段を並列に
同時実行させることを特徴とするベクトル発生方式。The relative addresses ΔX, ΔY, and length of the vector to be generated in the vector generator are input, and ΔX
The smaller one of
A vector data control circuit that divides a vector generated by taking Δ as an integer into 2N, and 2N vector calculation means that calculates vectors in each of the divided sections using the Δ value described above. A vector generation method characterized by concurrently executing vector calculation means in parallel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58050226A JPS59174976A (en) | 1983-03-25 | 1983-03-25 | Vector generating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58050226A JPS59174976A (en) | 1983-03-25 | 1983-03-25 | Vector generating system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59174976A true JPS59174976A (en) | 1984-10-03 |
Family
ID=12853118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58050226A Pending JPS59174976A (en) | 1983-03-25 | 1983-03-25 | Vector generating system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59174976A (en) |
-
1983
- 1983-03-25 JP JP58050226A patent/JPS59174976A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3786995B2 (en) | Method and apparatus for calculating texel values for displaying a texture on an object | |
US5046026A (en) | Method and apparatus for precisely varying the display rate of computer generated graphic images | |
JP2961121B2 (en) | Curve approximation device | |
US4819185A (en) | Method and apparatus for drawing wide lines in a raster graphics display system | |
JPS59174976A (en) | Vector generating system | |
EP0097485B1 (en) | Display apparatus | |
JP2674287B2 (en) | Graphic microcomputer | |
JP2677273B2 (en) | A polygonal line approximation device for cubic Bezier curves | |
US5047954A (en) | Graphics vector generator setup technique | |
JP2522107B2 (en) | Curve fitting method | |
JPH01202785A (en) | Segment generator | |
JP2000339486A (en) | Picture processing method and volume rendering processor | |
JP2973819B2 (en) | Image processing device | |
JP2522108B2 (en) | Curve fitting method | |
JP2600904B2 (en) | Image synthesizing method and apparatus | |
EP0229694B1 (en) | Vector graphics generator set-up | |
JP2594906B2 (en) | Line type generation circuit in graphic processing equipment | |
JP2000090070A (en) | Analytic result display method | |
JP2829429B2 (en) | Data interpolation circuit | |
JPH0261779A (en) | Coordinate data processing unit | |
SU547792A1 (en) | Device for calculating multiple integrals | |
RU2058600C1 (en) | Specialized computing unit for computer graphics devices | |
JPH04230586A (en) | Vector generating method | |
JP2001250126A (en) | Method and device for computer graphics animation display in three-dimensional shared virtual space and storage medium stored with computer graphics animation display program | |
JPS62271188A (en) | Vector drawing system |