DE3417407C2 - Kreisgenerator für eine graphische Anzeigeeinheit - Google Patents
Kreisgenerator für eine graphische AnzeigeeinheitInfo
- Publication number
- DE3417407C2 DE3417407C2 DE3417407A DE3417407A DE3417407C2 DE 3417407 C2 DE3417407 C2 DE 3417407C2 DE 3417407 A DE3417407 A DE 3417407A DE 3417407 A DE3417407 A DE 3417407A DE 3417407 C2 DE3417407 C2 DE 3417407C2
- Authority
- DE
- Germany
- Prior art keywords
- coordinates
- point
- register
- bit data
- circle
- 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
Links
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 238000012937 correction Methods 0.000 claims description 24
- 230000000903 blocking effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- SDIXRDNYIMOKSG-UHFFFAOYSA-L disodium methyl arsenate Chemical compound [Na+].[Na+].C[As]([O-])([O-])=O SDIXRDNYIMOKSG-UHFFFAOYSA-L 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G1/00—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
- G09G1/06—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
- G09G1/08—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam directly tracing characters, the information to be displayed controlling the deflection and the intensity as a function of time in two spatial co-ordinates, e.g. according to a cartesian co-ordinate system
- G09G1/10—Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam directly tracing characters, the information to be displayed controlling the deflection and the intensity as a function of time in two spatial co-ordinates, e.g. according to a cartesian co-ordinate system the deflection signals being produced by essentially digital means, e.g. incrementally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/22—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using plotters
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/20—Function-generator circuits, e.g. circle generators line or curve smoothing circuits
Abstract
Ein Kreis- und Kreisbogengenerator besitzt einen digitalen Differenzanalysierer (DDA) zum Empfangen von Koordinaten auf einem Kreis und einem Radius eines Kreises, der seinen Mittelpunkt an einem speziellen Punkt hat und zum Erzeugen von x- und y-Koordinaten auf dem Kreis mit dem Ursprung als Mittelpunkt. Der DDA besitzt eine Übertrags-Feststelleinheit (59, 69) zum Korrigieren der x- oder y-Koordinaten zum Darstellen einer Ellipse. Die x-Koordinaten und der Radius werden einem Addierer und einem Subtrahierer (31, 29) zugeführt, die diese Werte addieren und subtrahieren, so daß sich x-Koordinaten des äußersten rechten und linken Punktes des gewünschten Kreises ergeben. Die x- und y-Koordinaten vom DDA werden durch Vorrichtungen (41, 45, 37, 39; 43, 47, 33, 35) auf- bzw. abgezählt, bis sich vier Punkte auf dem gewünschten Kreis ergeben, die symmetrisch bezüglich des speziellen Punkts sind. Ein Mikroprozessor empfängt den Anfangs- und Endwinkel eines gewünschten Kreisbogens und berechnet Statusbitdaten, die angeben, ob Punkte der entsprechenden Quadranten darzustellen sind sowie Positionsbitdaten, die Beziehungen zwischen Koordinaten eines augenblicklichen Punkts und denjenigen des Anfangspunkts sowie denjenigen des Endpunkts angeben. Die x- und y-Koordinaten der vier Punkte des gewünschten Kreises werden gemäß Steuerdaten als Kombinationen der Statusbitdaten und der Positionsbitdaten dargestellt.
Description
% Die Erfindung betrifft einen Kreisgenerator (einschließlich einer Ellipse und Kreisbogen) für eine graphische
% Anzeigeeinheit od. dgl.
'φ Wenn ein Kreis bei einer graphischen Anzeigeeinheit eines Personalcomputers od. dgl. gezogen werden soll,
)? dann werden Sinus- und Kosinusberechnungen durchgeführt, um genaue graphische Daten zu erhalten. Der
ti Zeitbedarf zur Berechnung der Sinus- und Kosinuswerte ist jedoch hoch. Deshalb ist es bekannt, zum Ziehen
P; eines angenäherten Kreises ein eingeschriebenes regelmäßiges Vieleck mit vorbestimmtem Innenwinkel zu ver-
:rj wenden. Auch werden Umfangspunkte eines Quadranten berechnet und für die übrigen Quadranten aufgrund
|i der Symmetrie bezüglich der jc-Achse und y-Achse und des Ursprungs gebildet, was das Ziehen des Kreises
SS beschleunigt.
!ji Im einzelnen heißt dies, daß nach Berechnung eines gewünschten Punktes zum Bestimmen der Punkte sym-
ff metrisch zu dem berechneten Punkt bezüglich der jc-Achse, der .y-Achse und des Ursprungs nur eine Vorzei-
i| chenänderung erforderlich ist, falls der Mittelpunkt des sich ergebenden Kreises mit dem Ursprung des X-Y-
j|; Koordinatensystems zusammenfallt. Ist dies jedoch nicht der Fall, dann müssen Koordinatendaten entspre-
jg chend dem Kreismittelpunkt in einem Speicher gespeichert werden, und es muß eine Addition und Subtraktion
* bezügiich der Daten des Ursprungs durchgeführt werden. Die Verarbeitung wird somit kompliziert und geht auf
jn Kosten der Verarbeitungsgeschwindigkeit.
|f Wird andererseits ein Kreis als eingeschriebenes regelmäßiges Vieleck gebildet, dann würden die Kosinus-
k. und Sinuswerte in vorgegebenen Abständen etwa um 5,10 oder 15° berechnet, wobei der Absurd umso kleiner
% sein muß, je größer der abzubildende Kreir ist. Ein unter Verwendung eines regelmäßigen Vielecis gebildeter
g Kreis ist für einen Personalcomputer ausreichend genau. Soll jedoch ein Winkel zwischen dem Bezugspunkt
|v (Ursprung) und dem Anfangspunkt eines Kreisbogens und einer Endwinkelposition berechnet werden, dann
H sind die Abstände von 5, 10 oder 15° nicht ausreichend. Es ist ein geringerer Abstand erforderlich, so daß die
H Speicherkapazität der Tabelle erhöht werden muß, was umständlich ist. Auch sind in derTabelle nur Sinus-und
P] Kosinuswerte im Bereich von 0 bis 90° gespeichert. Die zentrale Verarbeitungseinheit od. dgl. muß deshalb Fest-
|l stellen, ob der Sinus- oder Kosinuswert positiv oder negativ ist. Wenn außerdem vier Punkte, nämlich ein ?.S
% Bezugspunkt und drei weitere Punkte symmetrisch dazu gleichzeitig in dem Λ1-/-Koordinatensystem gezeich-
i'l net werden sollen, dann können die symmetrischen Punkte dem Quadranten des .Y-/-Koordinatensystems ent-
I^ sprechen oder auch nicht. Nachteilig ist ferner, daß bestimmt werden muß, objederdervier Punkte aufgezeich-
ψ net wurde oder nicht, was die Verarbeitungszeit verlängert. Im Falle des gleichzeitigen Zeichnens aller vier
■>?: Punkte in dem T-/-Koordinatensystem wird die Berechnung nur für den Punkt des ersten Quadranten diurchge-
%l führt, d. h. für den Punkt P (+x, +y). Wenn dann die Vorzeichen der Koordinaten beim Zeichnen eines Kreisbo-
'& gens zu beachten sind, dann wird die Kreisbogenerzeugungsverarbeitung kompliziert.
Jj, Der Erfindung liegt deshalb die Aufgabe zugrunde, einen Kreisgenerator anzugeben, der einen Kreis auch
'Z mit nicht mit dem Ursprung des X-y-Koordinatensystems zusammenfallenden Kreismittelpunkt mi» hoher
λ- Geschwindigkeit unter einfachem Berechnen von Punkten auf dem gewünschten Kreis erzeugt.
;|· Dabei soll insbesondere ein Kreisbogengenerator angegeben werden, der einen Kreisbogen mit hoher
•j? Geschwindigkeit unter Berechnung eines Statusbits und eines Positionsbits gemäß einer logischen Schaltungs-
y anordnung und durch Bestimmen erzeugt, ob die Kreisbogendaten gemäß der logischen Verarbeitung gezeich-
S. net wurden.
;!■ Gemäß der Erfindung werden x- und ^-Koordinatendaten des äußersten rechten und äußersten linken Punk-
% tes auf einem Kreis in einem angegebenen Koordinatensystem gemäß den Koordinatendaten berechnet, die von
■: einem digitalen Differenzanalysierer DDA stammen, sowie gemäß Radiusdaten. Auch werden die x- und
■: v-Koordinatendaten in dem vorgegebenen Koordinatensystem auf der Basis der x- und j>-Koordinatendaten
erhöht oder erniedrigt, die von dem DDA stammen, so daß sich vier Koordinatendaten ergeben, die vier Punkte
:; darstellen, die symmetrisch zum Ursprung sind, so daß ein Kreis mit hoher Geschwindigkeit erzeugt werden
:'·. kann.
i,; Ist ein Anfangswinkd und ein Endwinkel eines Kreisbogens vorgegeben, dann werden ein Quadrant, r.u dem
!·■■: der Endwinkel gehört, auszulassende Quadranten und alle zu beschreibende Quadranten festgestellt, wodurch
I sich eine Statusbitkarte ergibt. Auch werden die augenblicklichen Koordinatendaten mit den Startpunkt-Koordinatendaten
und den Endpunkt-Koordinatendaten verglichen und eine Positionsbitkarte erstellt. Das Statusbit
!:. wird mit dem Positionsbit UND-verknüpft, so daß sich Sleuenlaten für die Kreisbogenerzeugung ergeben.
Jiί Diese Aufgabe wird gemäß der Erfindung gelöst durch einen Kreisgenerator für eine in rechtwinkligen Koc-r-
■ ■ dinaten steuerbare Darstellungsvorrichtung mit einem digitalen Differenzanalysierer zum Empfangen eines
S Radius eines Kreises und zum Erzeugen von X- und /-Koordinaten auf dem Kreis mit dem Ursprung als Mittel-
I punkt, der gekennzeichnet ist durch:
|. eine erste Vorrichtung zum Empfangen des Radius und einer Achsenkoordir.ate eines Punktes spezieller Koordinaten
als ein Mittelpunkt eines gewünschten Kreises und Durchführen einer Addition und Subtraktion bezüglich
des Radius und der Einachsenkoordinate, um Einaehsenkoordinaten des äußersten rechten und linken
Punktes des gewünschten Kreises zu erhalten und
eine zweite Vorrichtung zum Empfangen der Einachsenkoordinaten des äußersten rechten und linken Punktes,
die von der ersten Vorrichtung erzeugt wurden, sowie der Koordinate der anderen Achse des Punktes der speziellen
Koordinaten und zum Erzeugen der Koordinaten von vier Punkten auf der !.gewünschten Kreis, die symmetrisch
bezüglich des Punktes der speziellen Koordinaten sind gemäß den von dem digitalen Differenzanalysierer
erzeugten X- und /-Koordinaten.
Ausfuhrungsbeispiele des erfindungsgemäßen Kreisgenerators werden nachstehend unter Bezugnahme auf
die Zeichnung beschrieben. Es zeigen
Fig. IA und 1B Dar;!;llungen zur Erläuterung einer Kreisbogenerzeugungsvorrichtung bei einem bekannten
digitalen Differenzanalysierer (DDA),
Fig. 2 ein Blockschaltbild einer Schaltung eines Kreisbogengenerators gemäß einer Ausführungsl'onn der
Erfindung,
Fig. 3 ein Blockschaltbild eines DDA im einzelnen und eine Koordinatensteuereinheit in dem Generator
nach Fig. 2,
Fig. 4 eine Darstellung zur Erläuterung eines Kreiserzeugungszustands,
Fig. 4 eine Darstellung zur Erläuterung eines Kreiserzeugungszustands,
Fig. 5 ein detailliertes Blockschaltbild einer Übertragsfeststelleinheit gemäß Fig. 3,
Fig. 6 eine Darstellung eines Kommapositions-Setzzustandes in einem Register,
Fig. 7 eine Darstellung zur Erläuterung der Arbeitsweise der Übertragsfeststelleinheit in Fig. 2,
Fig. 8 ein detailliertes Blockschaltbild einer Kreisbogensteuereinheit gemäß Fig. 2,
Fig. 9 ein detailliertes Schaltbild einer Halteeinheit gemäß Fig. 2,
Fig. 9 ein detailliertes Schaltbild einer Halteeinheit gemäß Fig. 2,
Fig. 1OA und 1OB zueinander komplementäre Kreisbögen,
Fig. 11 eine Tabelle, die eine Statusbitkarte der entsprechenden Quadranten in dem Koordinatensystem darstellt,
Fig. 12A eine Tabelle, die eine Positionsbitkarte des ersten und dritten Quadranten darstellt,
Fig. 12B eine Tabelle, die eine Positionsbitkarte des zweiten und vierten Quadranten darstellt,
Fig. 12B eine Tabelle, die eine Positionsbitkarte des zweiten und vierten Quadranten darstellt,
Fig. 13A-13E Flußdiagramme zur Erläuterung der Arbeitsweise des Kreisgenerators nach Fig. 2,
Fig. Ί4 eine Darstellung zur Erläuterung eines ganzen Kreises,
Fig. 15 eine Darstellung zur Erläuterung der Beziehungen zwischen der augenblicklichen jc-Koordinate X,
und der Anfangspunkt-x-Koordinat? x, und zwischen der augenblicklichen .v-Koordinate x(. und der Endpunkt-.v-Koordinate
.*,.,
Fig. I6A-16E entsprechende Darstellungen für die Erzeugung der Status- und Positionsbitformate beim
Zeichnen eines Kreisbogens nach Fig. 15, und
Fig. 17 eine Darstellung eines Punktmusters eines Quadrantens, wenn der Kreis gemäß den Flußdiagrammen
der Fig. 13A-13E gezeichnet wird.
Ein bevorzugtes Ausführungsbeispiel der Erfindung wird nun unter Bezugnahme auf die Zeichnungen
beschrieben. Die vorliegende Erfindung verwendet eine DDA-Kreisbvgenerzeugungstechnik, wobei DDA digitaler
Differenzanalysierer bedeuten soll. Ein DDA ist an sich bekannt und bewirkt die Erzeugung von Koordinatendaten
eines Kreises durch Anlegen eines Radius /·, wobei die jr-^-Mittelpunktskoordinaten bei 0,0 liegen und
als Ursprung genommen werden. Zuerst sei schematisch die Arbeitsweise des DDA erläutert. Gemäß F i g. 1 sei
angenommen, daß ein Punkt Pn (.v„, y„) auf einem Kreis mit einem Radius r liegt. Wenn dieser Punkt um einen
Winkel Δ ©gegen den Uhrzeigersinn längs des Kreises verschoben wird, dann ergibt sich ein Punkt Pn + \(x„ + ι,
y„ + \) gemäß folgender Berechnung:
Xn. , = r cos(0+ ΔΘ)
= r cos Θ cos Δ Θ - r sin Θ sin Δ Θ
= xn cos Δ θ - yn sin Δ Θ (D
>·„ ., = r sin (0 + Δ Θ)
= r sin Θ cos Δ Θ + r cos Θ sin Δ Θ
= yn cos Δ Θ + x„ sin Δ Θ (2)
In den Gleichungen (D und ί2) ist der Winkel Λ Θ sehr klein. Für cos Δ Θ τ= 1 und sin Δ Θ Ψ gleich Δ ©ergibt
sich
x„ - , = Xn - Δ Θ ■ y„
.)·„-! = Vn + Δ Θ ■ Xn
50
Ersetzt man ΔΘ = ε - 1'm (wobei m eine positive ganze Zahl ist) dann ergeben sich die Gleichungen:
v„ - , = yr + ε ■ Xn
(4)
für 2m ~ x <
r < 2"
Werden diese Gleichungen (3) und (4) jedoch ohne Modifikation verwendet, dann divergieren sie.jc„ in Gleichung
(4) muß ersetzt werden durch x„ + ,. Die Gleichungen (3) und (4) werden dann umgeschrieben als:
Xn - ι = Xn - ε ■ y„
(5)
>'n - ! = }'n + ΐ ■ Xn - I (6)
Es isl bekannt, daß Werte fiir einen im wesentlichen echten Kreis aus den Gleichungen (5) und (6) auf diese
Weise abgeleitet werden können.
Gemäß Fig. 2 besitzt der Kreis- und Kreisbogengenerator der Ausfuhrungsform einen Mikroprozessor 1,
Gemäß Fig. 2 besitzt der Kreis- und Kreisbogengenerator der Ausfuhrungsform einen Mikroprozessor 1,
einen digitalen DilTerenzanalysierer DDA 3, eine Koordinaten-Steuereinheit 5 und eine Kreisbogensteuereinheit
"'. Der Mikroprozessor 1 weist auf: einen ROM-Speicher 9 zum Speichern eines permanenten Programms,
mit dem der Kreisgenerator vorbestimmte Verarbeitungen gemäß den Flußdiagrammen der Fig. 13A bis I3E
durchführt; einen RAM-Speicher 11, der als Arbeitsspeicher Verwendung findet; eine zentrale Verarbeilungsp.inheit
CPU 15 zum Steuern des DDA 3, der Koordinatensteuereinheit 5 und der Kreisbogensteuereinheil 5
7 geiniiß dem in dem ROM-Speicher 9 permanent gespeicherten Programms; einen Eingangs-/Ausgangsanschluß
13 als Schnittstelle zwischen der CPU 15 mit dem DDA 3 der Koordinatensteuereinheit 5 und der Kreisbogensteuereinheit
7. Der Mikroprozessor 1 ist beispielsweise ein 8-Bit-Mikroprozessor Modell 8049 der Firma
Intel Corp. USA. Der Mikroprozessor 1 gibt x- und ^-Koordinaten des Kreismittelpunkts sowie Daten für den
Radius R des Kreises an einem Puffer 17 ab. Der Mikroprozessor 1 führt auch Übertragsdaten und Initialisierungsdaten
(Anfangseinstellungsdaten) dem DDA 3 zu. Der DDA 3 berechnet die Kreis- bzw. Kreisbogendaten
mit dem Ursprung als Mittelpunkt gemäß dem Algorithmus der Gleichungen (5) und (6). Die vom DDA 3
berechneten Kreisdaten werden an die Koordinatensteuereinheit 5 angelegt. Diese wandelt die Kreis- bzw.
Kreisbogendaten bezüglich des Ursprungs in solche bezüglich des Punktes mit den vorgegebenen Koordinaten
um. Die Kreisbogensteuereinheit 7 empfangt Anfangs- und Endewinkel vom Mikroprozessor 1 sowie den
Radius R vom DDA 3 und stellt fest, welcher Quadrant bzw. welche Quadranten zur Darstellung des Kreises
oder Kreisbogens verwendet werden. Die Kreis- bzw. Kreisbogendaten von der Koordinatensteuereinheii 5 und
die Kreisbogensteuerdaten von der Kreisbogensteuereinheit 7 werden der Anzeigeeinheit 21 über eine Halteeinheit
19 zugeführt und von der Anzeigeeinheit 21 dargestellt. Die Anzeigeeinheit 21 kann jedoch auch durch
einen x-^-Plotter (Zeichengerät) ersetzt werden.
Fig. 3 veranschaulicht ein detailliertes Blockschaltbild des DDA 3 und der Koordinatensteuereinheit 5 gemäß
Fig. 2 zur Erläuterung der Arbeitsweise dieser Einheiten.
Ein „v-Register 23 speichert .v-Koordinatendaten, wie sie vom Benutzer über den Mikroprozessor 1 und eine
Torschaltung G 1 angegeben wurden. Ein .v-Register 25 speichert ^-Koordinatendaten, wie sie über eine Tor-Schaltung
G 2 vom Mikroprozessor 1 angegeben wurden. Ein /{-Register 27 speichert Daten, die den Kreisradius
darstellen und die über eine Tor-Schaltung G 3 vom Mikroprozessor 1 zugeführt wurden. Die x- und j>-Koordinatendaten
und die Radiusdaten werden durch folgenden Benutzerbefehl aufgerufen:
CIRCLE (X, Y), RADIUS (7)
Es ist zu beachten, daß der Radius als eine Anzahl von Anzeigepunkten vorgegeben ist. Die im .v- und Λ-Register
23 und 27 gespeicherten Daten werden einem Addierer 29 über Tor-Schaltungen G 4 und G 5 und einem
Subtrahierer 31 über Tor-Schaltungen G 6 und G 7 zugeführt. Ein Summenausgang von dem Addierer 29 ist über
die Tor-Schaltung G8 an ein jcÄ-Register 33 gelegt. Die in das AÄ-Register 33 eingebrachten Daten entsprechen
den Λ-Köördinaten des ersten und vierten Quadranten A 1 und A4 gemäß Fig. 4. Diese Daten werden an den
Eingang des xÄ-Registers 33 über eine Tor-Schaltung G 9 und eine -1 -Schaltung 35 zurückgeführt und über eine
Tor-Schaltung G 10 an ein UND-Glied 123 (Fig. 9) angelegt. Der Subtrahierer 31 führt die Subtraktion (x - R)
durch. Das Subtraktionsergebnis wird an ein AVRegisterS? über eine Tor-Schaltung GIl angelegt. Die Daten in
dem AVRegister37 stellen die jc-Koordinaten des zweiten und dritten Quadranten A2 und A3 in Fig. 4 dar.
Diese Daten werden an den Eingang des A", -Registers 37 über eine Tor-Schaltung G12 und eine +1 -Schaltung 39
zurückgeführt und über eine Tor-Schaltung G13 an ein UND-Glied 121 (Fig. 9) angelegt.
Andererseits werden die in dem .v-Register 25 gespeicherten Daten einem .vor-Register 41 über eine Tor-Schaltung
G14 und einem .y^-Register 43 über eine Tor-Schaltung G15 zugeführt. Die Daten in dem >>orRegister
41 stellen die y-Koordinaten im ersten bzw. zweiten Quadranten A 1 bzw. A 2 dar und werden an den Eingang
des Registers über eme Tor-Schaltung 16 und eine +1-Schaltung 45 zurückgeführt. Diese Daten werden
auch an ein UND-Glied 117 (F i g. 9) über eine Tor-Schaltung G18 angelegt. Die Daten in dem ^1 ,,-Register 43
stellen die ^-Koordinaten im dritten bzw. vierten Quadranten A 3 und A 4 gemäß F ig. 4 dar. Diese Daten werden
an den Eingang des .y^-Registers 43 über eine Tor-Schaltung G17 und eine -1-Schaltung 47 zurückgeführt
sowie über eine Tor-Schaltung G19 an ein UND-Glied 119 'Fig. 9) angelegt.
Die Daten im /{-Register 27 werden einem Λχ-Register 49 über eine Tor-Schaltung G 20 zugeführt. Die Daten
in dem >dx-Register49 werden über eine Tor-Schaltung G 21 einer -1-Schaltung 51 zugeführt, deren Ausgangswert
an das Λχ-Register 49 angelegt wird. Die Daten in dem ,dx-Register 49 werden auch über eine Tor-Schaltung
G 22 an einen Null-Detektor53 angelegt. Ein Ausgangssignal des Null-Detektors 53 wird dem Mikroprozessor
1 zugeführt. Die Daten im .d.v-Register 49 werden über eine Tor-Schaltung G 23 an einen Addierer 55 gelegt,
dessen Ausgangssignal an ein /{,-Register 57 über eine Tor-Schaltung G 24 angelegt wird. Der Mikroprozessor 1
führt 0,5 als Übertragsdaten über eine Tor-Schaltung G 25 dem Λ ,-Register 57 zu. Die Daten im /{,-Register 57
gelangen über eine Tor-Schaltung G 26 an den Addierer 55 und über eine Tor-Schaltung G 27 an eine Übertragsfeststelleinheit
59. Wenn diese ein Übertragssignal von dem /{,-Register 57 feststellt, dann legt sie ein Tor-Steuersignal
an die Tor-Schaltungen G16, G17 und G 29, um diese durchzuschalten.
Initialisierungsdaten, nämlich 0, werden von Mikroprozessor 1 an ein Δ ^-Register 61 über eine Tor-Schaltung
G 28 angelegt. Das Ausgangssignal vom Δ v-Register 61 wird über eine + !-Schaltung 53 an seinen Eingang über
eine Tor-Schaltung G 29 zurückgeführt, die von einem Ausgangssignal der Übertragsfeststelleinheit 59 gesteuert
wird. Gleichzeitig wird der Ausgangswert des Δ ^-Registers 61 einem /{„-Register 67 über eine Tor-Schaltung
G 30, einen Addierer 65 und eine Tor-Schaltung G 31 zugeführt. Die Übertragsdaten 0,5 werden vom Mikroprozessor 1 über die Tor-Schaltung G32 an das /{,.-Register 67 angelegt Die Daten im /{,.-Register 67 werden dem
Addierer 65 über eine Tor-Schaltung G 33 und über eine Tor-Schaltung G 34 einer Übertragsfeststelleinheit 69
zugeführt Die Übertragsfeststelleinheit 69 stellt das Vorhandensein eines Übertragssignals in dem /{,.-Register
67 fest. In diesem Falle legt die Übertragsfeststelleinheit 69 ein Torsteuersignal an die Tor-Schaltungen G 9, G12
und G 21, so daß diese durchgeschaltet werden. Die Tor-Schaltungen G9, G 12 und C 21 werden von der Übcrtragsfeststelleinheit
69 und die Tor-Schaltungen G 16, G 17 und G 29 durch die Übertragsfeststelleinheit 59
gesteuert. Andere Torschaltungen werden unter Ansprechen auf ein Tor-Steuersignal vom Mikroprozessor 1
durchgeschaltet, außerdem legt der Mikroprozessor 1 selektiv den Korrekturwert an eine oder beide Übertragsfeststelleinheiten
59 bzw. 69.
Ein detailliert««·Blockschaltbild der Übertragsfeststelleinheiten59 und 69 sind in Fig. 5 veranschaulicht. Ein
Korrekturregister 71 empfangt vom Mikroprozessor 1 den Korrekturwert zum Aufzeichnen der Kreisbogendaten
auf einer graphischen Anzeigeeinheit gemäß den Verhältnissen der vertikalen und horizontalen Abstände bzw.
Intervalle. Der Inhalt des Korrekturregisters 71 wird über eine Tor-Schaltung G 72 einem Addierer 73 zugeführt.
Der Ausgangswert eines Arbeitsregisters 75 wird über eine Tor-Schaltung G 73 dem Addierer 73 zugeführt. Der
Addierer 73 addiert die Inhalte des Korrekturregisters 71 und des Arbe.itsregisters 75. Die Summe wird über die
Tor-Schaltung G 71 an das Arbeitsregister 75 angelegt. Die in dem Arbeitsregister 75 gespeicherten Daten werden
über die Tor-Schaltung G 74 an einen Übertragsdetektor 77 angelegt, der das Vorhandensein eines Übertragssignals
feststellt. Es ist zu beachten, daß die Tor-Schaltungen G 71 bis G 74 in der Übertragsfeststelleinheit
59 unter Ansprechen auf das von dem /{,.-Regster 57 der F ig. 3 über die Tor-Schaltung G 27 zugeführte Übertragssignal
gesteuert werden. I η ähnlicher Weise werden die Tor-Schaltungen in der Übertragsfeststelleinheit 69
unter Ansprechen auf das von dem n^-Register 67 der Fig. 3 über die Tor-Schaltüng G 34 angelegte Übertragssignal
gesteuert.
Bei einem derartigen Aufbau der Übertragsfeststelleinheit 59 (bzw. 69) wird bei einem Verhältnis des longitu-
Bei einem derartigen Aufbau der Übertragsfeststelleinheit 59 (bzw. 69) wird bei einem Verhältnis des longitu-
dinalen Punkt.abstands zum transversalen Punktabstand von 1 : 0,5 ein Übertrag von 0,5 in dem Korrekturregister
71 eingestellt. Somit haben die Korrekturdaten die gleiche Bitzahl wie die Radiusdaten in dem Korrekturregister
71. Wenn beispielsweise die Radiusdaten vier Bitdaten sind, dann ist das Komma entsprechend dem Bit 4
in Position Dp2 (Fig. 6). Bei einem Korrekturwert von 0,5 werden deshalb in das Korrekturregister 71 die binären
Daten 1000 eingeschrieben. Andererseits wird der Anfangswert im Arbeitsregister 75 auf 0 eingestellt. Wenn
somit das Übertragssignal vom /{.,.-Register 57 über die Tor-Schaltung 27 der Übertragsfeststelleinheit 59 zugeführt
wird, dann werden die Tor-Schaltungen G71 bis G74 in Fig. 5 durchgeschaltet. Deshalb wird der Inhalt
1000 des Korrekturregisters 71 durch den Addierer 73 zum Inhalt 0000 des Arbeitsregisters 75 addiert (Fig. 7).
Die Summe 1000 wird dann in das Arbeitsregister 75 eingeschrieben. Die im Arbeitsregister 75 gespeicherten
Daten werden nun durch den Übertragsdetektor 77 daraufhin geprüft, ob ein Übertragssignal vorhanden ist. Der
3<i Übertragsdetektor 77 stellt ein Übertragssignal auf der Basis der Dezimalposition Dp2 gemäß Fig. 6 fest. Wenn
der Inhalt des Arbeitsregisters 75 auf 1000 eingestellt ist, dann stellt der Übertragsdetektor 77 fest, daß kein
Übertragssignal vorhanden ist. Wird das nächste Übertragssignal vom Är-Register 57 zugeführt, dann wird der
Inhalt 1000 des Korrekturregisters 71 durch den Addierer73 zum Inhalt 1000 des Arbeitsregisters 75 addiert und
die Summe 10 000 wird in das Arbeitsregister 75 eingeschrieben. Ist Bit 4 (das fünfte Bit) eingestellt, dann
erzeugt der Übertragsdetektor 77 ein Übertragsfeststellsignal und schaltet die Tor-Schaltungen G16. G17 und
G29der Fig. 3 durch.
Fig. 8 stellt ein detailliertes Blockschaltbild zur Erläuterung der Arbeitsweise der Kreisbogensteuereinheit 7
dar. Ein ^-Register 79 speichert von dem Λ.ν-Register 49 der Fig. 3 über eine Tor-Schaltung G35 zugeführte
Daten. Ein Anfangswinkelregister 81 speichert einen vom Mikroprozessor 1 über eine Tor-Schaltung G 41 iugeführten
Anfangswinkel. Ein Endwinkelregister 83 speichert einen von dem Mikroprozessor 1 über eine Tor-Schaltung
G 42 zugeführten Endwinkel. Die Anfangs- und Endwinkeldaten in den Registern 81 bzw. 83 werden
einem Status-Bitgenerator 85 über Tor-Schaltungen G 43 bzw. G 44 zugeführt. Der Status-Bitgenerator 85
erzeugt ein 4-Bit-Statusbitmuster gemäß den Anfangs- und Endwinkeldaten. Das sich ergebende 4-Bit-Statusbitmuster
wird in einem Statusbitregister 87 eingestellt. Das in dem Stausbitregister87 eingestellte Statusbitmuster
wird über eine Tor-Schaltung G 45 und ein UND-Glied 89 einem 4-Ziffern-Register 91 zugeführt. Jede Ziffer
des Registers 91 besteht aus vier Bits. Die Daten in dem Anfangs- und Endwinkelregister 81 bzw. 83 werden über
Tor-Schaltungen G 46 bzw. G 47 einem Anfangs- und Endpunktrechner 93 zugeführt. Der Anfangs- und Endpunktrechner
93 berechnet den Anfangspunkt und den Endpunkt gemäß den ihm zugeführten Daten. Die
berechneten Anfangs- und Endpunktdaten werden an einen Positionsbitgenerator 95 angelegt. Die Daten in
dem .vc -Register 79 werden auch diesem Positions-Bitgenerator 95 über eine Tor-Schaltung G 48 zugeführt. Der
Positions-Bitgenerator 95 erzeugt vier Bit-Positionsdaten, die dann in einem Positions-Bitregister97 eingestellt
werden. Die Daten in dem Positions-Bitregister 97 werden über eine Tor-Schaltung G 49 und das UND-Glied 89
dem Register 91 zugeführt. Ausgangssignale von den entsprechenden Ziffern des Registers 91 werden direkt den
ODER-Güedern 101,103,105 und 107 über Tor-Schaltungen G 50 bis G 53 und indirekt über Tor-Schaltungen
G 54 bis G 57 und NOR-Glieder 109,111,113 bzw. 115 den ODER-Gliedern 101,103,105 und 107 zugeführt. Die
Tor-Schaltungen G 50 bis G 53 und G 54 bis G 57 werden unter Ansprechen auf ein Ausgangssignal von einer
Bestimmungsschaltung 99 gesteuert. Die Bestimmungsschaltung 99 vergleicht den vom Register 81 über eine
Tor-Schaltung G 58 zugeführten Anfangswinkel mit dem vom Register 83 über eine Tor-Schaltung 59 zugeführten
Endwinkel. Ist der Anfangswinkel größer als der Endwinkel, dann werden die Tor-Schaltungen G 54 bis G 57
durchgeschaltet. Ist jedoch der Anfangswinkel kleiner als der Endwinkel, dann werden die Tor-Schaltungen G 50
bis G 53 aktiviert. Ausgangssignale von den ODER-Gliedern 101,103,105 und 107 werden als Kreisbogensteuersignaie
des ersten bis vierten Quadranten der Halteeinheit 19 (Fig. 2) zugeführt.
Fig. 9 zeigt ein detailliertes Schaltbild der Halteeinheit Vi der Fig. 2. Ein Nicht-Null-Detektor 125 empfängt
die von den ODER-Gliedern 101,103,105 urrf 107 der Fig. 8 zugeführten Kreisbogensteuerdaten A 1 bis A 4.
Der Nicht-Null-Detektor 125 prüft die vier Bit-Kreisbogensteuerdaten aller vier Quadranten, ob alle Bits Null
sind odernicht. Ist eines der Bits der vier Bitdaten auf 1, dann veranlaßt derNicht-NuII-Detektor 125 eine Durchschaltung
einer entsprechenden der Tor-Schaltungen G 62, G 63, G 60 und G 61, so daß ein Zeitgabesignal von
einem Zeitgabegenerator 127 an entsprechende zwei von ODER-Gliedern 129,131,133 und 135 angelegt wird.
Wenn insbesondere die Kreisbogensteuerdaten dem ersten und/oder zweiten Quadranten entsprechen, dann
empfangt das ODER-Glied 129 ein Zeitgabesign&l. Wenn die Kreisbogensteuerdaten dem dritten und/oder vierten
Quadranten entsprechen, dann empfängt das ODER-Glied Ul das Zeitgabesignal. Wenn in ähnlicher Weise
das Krcisbogensteuersignal dem zweiten und/oder dritten Quadranten entspricht, dann empfangt das ODElR-Glied
133 das Zeitgabesignal. Wenn schließlich das Kreisbogensteuersignal dem ersten und/oder vierten Quadranten
entspricht, dann empfängt das ODER-Glied 135 das Zeitgabesignal. Alle Ausgangssignale der ODEIR-Glieder
129,131,133 und 135 werden einem Eingang eines entsprechenden der UND-Glieder 117,119,121 und
123 zugeführt. Die in dem >orRegister 41 dem v^-Register 43, dem x^Register 37 und dem xÄ-Register 33
gespeicherten Daten werden dem anderen Eingang eines entsprechenden der UND-Glieder 117,119,121,123
über eine entsprechende der Tor-Schaltungen G18, G19, G13 und G 10 zugeführt. Sind somit Kreisbogendaten,
die in dem ersten und zweiten Quadranten zu zeichnen sind, vorhanden, dann erzeugt das UND-Glied 1J7 positive
jz-Kcordinatendaten. Sind die Kreisbogendaten in detn dritten und vierten Quadranten zu zeichnen, dann
erzeugt das UND-Glied 119 negative .y-Koordinatendaten. Sind die Kreisbogendaten in dem zweiten und dritten
Quadranten, dann erzeugt das UND-Glied 121 negative x-Koordinatendaten. Liegen die zu zeichnenden Daten
in dem ersten und vierten Quadranten, dann erzeugt das UND-Glied 123 positive x-Koordinatendaten. Ausgangssignale
der UND-Glied 117, 119, 121 und 123 werden einer Halteschaltung 137 zugeführt, die vorbestimmte
Kreisbogenkoordinaienuaien unier Ansprechen auf vom Zeiigabegenerator 127 zugeführte Zeitgabesignale
erzeugt.
Die Arbeitsweise der Kreisbogen-Steuereinheit 7 gemäß Fig. 8 soil nun erläutert werden.
Der Mikroprozessor 1 stellt den Anfangs- und Endwinkel des Kreisbogens und seinen Radius gemäß eines
Benutzerbefehls (8) fest:
CIRCLE (χ, y), RADIUS, START ANGLE, END ANGLE (8)
wobei χ und y die x- und ^-Koordinaten sind, die vom Benutzer aufgerufen werden und dem Mittelpunkt des
Kreisbogens entsprechen, wobei RADIUS der Radius des Kreisbogens START ANGLE der Anfangswinkel des
Kreisbogens und END ANGI E der Endwinkel des Kreisbogens ist.
Der Mikroprozessor 1 muß feststellen, in welchem Quadranten der durch den Befehl angegebene Anfangsund
Endwinkel liegt. Diese Feststellung kann aufgrund folgender Berechnung durchgeführt werden: Fällt, wie
in Fig. 1OA der Anfangswinkel Θ, in den ersten Quadranten und werden hiervon 90° abgezogen, dann ist das
Ergebnis negativ. Wird jedoch das Ergebnis positiv, dann muß der Anfangswinkel 0, im zweiten oder nachfolgenden
Quadranten liegen. Von dem Ergebniswert werden wiederum 90° zur Durchführung einer weiteren Feststellung
abgezogen. Dieser Ablauf wird solange durchgeführt, bis das Ergebnis negativ wird, wodurch festgestellt
wird, in welchem Quadranten der Anfangswinkel liegt. Die gleiche Verarbeitung wird bezüglich des Endwänkels
durchgeführt. Als nächstes werden die Koordinaten (xs, yj des Anfangspunkts und die Koordinaten (je,,
y,) des Endpunkts bestimmt. Die ^-Koordinaten xs des Anfangspunkts werden gemäß dem cos des Anfangswinkels
bestimmt. Die x-Koordinate xe kann auf die gleiche Weise berechnet werden. A^ch wird die y-Koordinate
des Anfangs- bzw. Endpunkts gemäß sin des Anfangs- bzw. Endwinkels berechnet.
Die Kreisbogensteuerdaten werden dann gemäß dem festgestellten Ergebnis erzeugt, um zu bestimmen, in
welchem Quadranten die zu zeichnenden Anfangs- und Endpunkte liegen. Die Kreisbogensteuerdaten bestehen
aus Statusbitdaten und Positionsbitdaten. Die Statusbitdaten bestehen aus fünf Zuständen, deren Bit>onfiguration
in F i g. 11 veranschaulicht ist. Die Statusbitdaten werden für jeden Quadranten erzeugt, für den festgestellt
wird, daß darin der Anfangs- und Endwinkel liegt. Die fünf Zustände werden wie folgt definiert:
(1) ALL WRITE - Status der anzeigt, daß die Kreisbogendaten einen gegebenen Quadranten voll überdecken.
Soll beispielsweise ein Kreisbogen gemäß Fig. 1OA gezeichnet werden, dann entsprechen der zweite und
dritte Quadrant den gegebenen Quadranten. In diesem Falle wird MSB (Bit 3) gesetzt.
(2) START ANGLE - Status zeigt an, daß der Anfangswinkel in einen gegebenen Quadranten fällt. In Fig.
1OA entspricht dieser Quadrant dem ersten Quadranten A 1. Somit wird in diesem Falle das LSB-Bit (Bit 0)
gesetzt.
(3) END ANGLE - Status zeigt an, daß der Endwinkel in einen gegebenen Quadranten fällt. In Fig. 1OA
bedeutet dies, daß der gegebene Quadrant der vierte Quadrant A 4 ist. In diesem Falle wird Bit 1 gesetzt.
(4) SKIP - Status zeigt an, daß in einen gegebenen Quadranten keine Kreisbogendaten zu zeichnen sind. Der
zweite und dritte Quadrant A 2 und A 3 in Fi g. 1OB entspricht den gegebenen Quadranten. In diesem Falle
wird kein Bit gesetzt.
(5) START AND END ANGLE - Status zeigt an, daß der Anfangs- und Endwinkel in einem gegebenen Quadranten
liegt. In diesem Falle wird Bit 2 gesetzt.
Die angegebenen Status-Konfigurationen werden auf den Fall angewendet, bei dem der Anfangswinkel Q5
kleiner als der Endwinkel 0, ist. Ist jedoch der Anfangswinkel Q5 größer als der End winkel Qe (d. h., wenn ein
Kreisbogen gemäß Fig. 1OB zu zeichnen ist), dann werden die Status-Konfigurationen zum Zeichnen des Kreisbogens
gemäß Fig. 1OA invertiert.
Die Positionsbitdaten werden als Daten zur Bestimmung erzeugt, ob die Kreisbogendaten in Punkteinheiten
zu zeichnen sind oder nicht, nachdem die augenblickliche jc-Koordinate xc verglichen wird mit den x-Koordinaten
xs und xe des Anfangs- und Endpunkts. Die Positionsbitdaten werden auch unabhängig erzeugt für den
ersten bis vierten Quadranten. Bitkonfigurationen der Positionsbitdaten sind in den Fig. 12A und 12B veranschaulicht.
Fig. 12A zeigt die Bitkonfiguration für den ersten und dritten Quadranten und die Fig. 12B die
Bitkonfiguration für den zweiten und vierten Quadranten. Die gleichen Muster werden für den ersten und drit-
ten Quadranten oder zweiten und vierten Quadranten angewandt, da das Paar aus dem ersten und dritten Qua- ||
dranten sowie das Paar aus dem zweiten und vierten Quadranten symmetrisch bezüglich des Ursprungs sind, so fei
daß nur die Vorzeichen umzukehren sind. Auf diese Weise kann für jedes Paar die gleiche Berechnung durchge- Si
führt werden. Vier Arten von Positionsbitdaten können wie folgt definiert werden: $
Ä
(1) Al Al A3 A4 S 1111 1000 1111 1000 i
wobei (Absolutwert der jc-Koordinate des Endpunkts)
< (x-Koordinate des augenblicklichen Punkts) < (x-Koor- f:
dinate des Anfangspunkts) ΐ
(2) Al Al A3 A4 I 1001 1010 1001 1010 I
wobei (x-Koordinate des augenblicklichen Punkts) < (Absolutwert der x-Koordinate des Anfangspunkts) und ϊ
(x-Koordinate des augenblicklichen Punkts) < (x-Koordinate des Endpunkts)
(3) Al Al A3 A4 -\
1010 1001 1010 löOi H
wobei (x-Koordinate des augenblicklichen Punkts) > (der Absolutwert der x-Koordinate des Anfangspunkts)
und (x-Koordinate des augenblicklichen Punkts) > (Absolutwert der x-Koordinate des Endpunkts)
(4) Al Al A3 A4
1000 1111 1000 1111
1000 1111 1000 1111
wobei (Absolutwert der x-Koordinate des Anfangspunkts) < (x-Koordinate des augenblicklichen Punkts)
< (x-Koordinate des Endpunkts).
Diese Bitmuster sind voreingestellt, so daß die Kreisbogendaten in Einheiten von Quadranten gezeichnet werden, wenn sie mit den Status-Bitdaten UND-verknüpft wurden. Diese Bitmuster sind in Matrixform in den F ig. 12A und 12B für das Paar erster und dritter Quadrant sowie das Paar zweiter und vierter Quadrant ausgedrückt. Anhand der F i g. 13 A bis 13E wird nun die Arbeitsweise des Kreis- bzw. Kreisbogengenerators erläutert. Es sei angenommen, daß ein Kreis darzustellen ist. In Schritt 141 der F ig. 13 A wird ein Benutzerbefehl für die Darstellung eines Kreises (gegebenenfalls Ellipse) oder Kreisbogens festgestellt. In Schritt 143 stellt der Mikrocomputer fest, ob der Benutzerbefehl sich auf einen Kreis oder einen Kreisbogen richtet. Soll ein Kreis dargestellt werden, dann wird die x-Koordinate, die y-Koordinate und der Radius R im Schritt 145 über die Tor-Schaltungen Gl1Gl bzw. G 3 in das x-Register 23, das ^-Register 25 und das Α-Register 27 geladen. Wird beispielsweise ein 8-Punkt-Kreis gezeichnet, dann ist gemäß Fig. 6 die O-Bit-Position als Kommaposition Dp] gegeben und der Binärwert 1000 (Dezimal 8) wird in dem /{-Register 27 eingestellt Im Schritt 147 werden die x-Koordinate des Kreismittelpunkts und der Radius R addiert, so daß sich die x-Koordinate des äußersten rechten Punkts des Kreises ergibt. Der Radius R wird dann von der x-Koordinate des Kreismittelpunkts subtrahiert, so daß sich die x-Koordinate des äußersten linken Kreispunktes ergibt. Hierbei öffnet gemäß Fig. 3 der Mikroprozessor 1 die Tor-Schaltungen G 4, G 5, G 6, G 7, G 8 und CIl. Die Inhalte des x-Registers 23 und des Λ-Registers 27 werden mittels des Addierers 29 addiert und die Summe wird dann in dem xÄ-Register33 eingestellt. Gleichzeitig wird der Inhalt des x-Registers 27 von demjenigen des /{-Registers 23 abgezogen und das Subtraktionsergebnis wird in das xt-Register 37 geladen. Auch öfmet der Mikroprozessor 1 die Tor-Schaltungen G14 und G15, um die_y-Koordinatendaten in das JO^-Register 41 und das > >t,D-Register 43 zu laden. Im Schritt 149 öffnet der Mikroprozessor 1 die Tor-Schaltungen G10, G13, G18 und G19, um die x- und j>-Koordinatendaten in den ^-Register 33 dem Xi-Register 37, dem >orRegister 41 und dem .y^o-Register 43 über die UND-Glieder 117,119,121 und 133 und die Halteschaltung 137 (F i g. 9) der Anzeigeeinheit 21 zuzuführen. Zu diesem Zeitpunkt sind die y-Koordinatendaten des Mittelpunkts Q in den yoy- und .y^-Registern ohne Modifikation gespeichert und ein Maximalpunkt P1 längs der x-Achse, der durch den Inhalt des xs-Registers 33 angegeben wird, und cm Minimumpunkt P2 längs der x-Achse, der durch den Inhalt des xt-Registers 37 angegeben wird, wird gemäß Fig. 4 gezeichnet.
Diese Bitmuster sind voreingestellt, so daß die Kreisbogendaten in Einheiten von Quadranten gezeichnet werden, wenn sie mit den Status-Bitdaten UND-verknüpft wurden. Diese Bitmuster sind in Matrixform in den F ig. 12A und 12B für das Paar erster und dritter Quadrant sowie das Paar zweiter und vierter Quadrant ausgedrückt. Anhand der F i g. 13 A bis 13E wird nun die Arbeitsweise des Kreis- bzw. Kreisbogengenerators erläutert. Es sei angenommen, daß ein Kreis darzustellen ist. In Schritt 141 der F ig. 13 A wird ein Benutzerbefehl für die Darstellung eines Kreises (gegebenenfalls Ellipse) oder Kreisbogens festgestellt. In Schritt 143 stellt der Mikrocomputer fest, ob der Benutzerbefehl sich auf einen Kreis oder einen Kreisbogen richtet. Soll ein Kreis dargestellt werden, dann wird die x-Koordinate, die y-Koordinate und der Radius R im Schritt 145 über die Tor-Schaltungen Gl1Gl bzw. G 3 in das x-Register 23, das ^-Register 25 und das Α-Register 27 geladen. Wird beispielsweise ein 8-Punkt-Kreis gezeichnet, dann ist gemäß Fig. 6 die O-Bit-Position als Kommaposition Dp] gegeben und der Binärwert 1000 (Dezimal 8) wird in dem /{-Register 27 eingestellt Im Schritt 147 werden die x-Koordinate des Kreismittelpunkts und der Radius R addiert, so daß sich die x-Koordinate des äußersten rechten Punkts des Kreises ergibt. Der Radius R wird dann von der x-Koordinate des Kreismittelpunkts subtrahiert, so daß sich die x-Koordinate des äußersten linken Kreispunktes ergibt. Hierbei öffnet gemäß Fig. 3 der Mikroprozessor 1 die Tor-Schaltungen G 4, G 5, G 6, G 7, G 8 und CIl. Die Inhalte des x-Registers 23 und des Λ-Registers 27 werden mittels des Addierers 29 addiert und die Summe wird dann in dem xÄ-Register33 eingestellt. Gleichzeitig wird der Inhalt des x-Registers 27 von demjenigen des /{-Registers 23 abgezogen und das Subtraktionsergebnis wird in das xt-Register 37 geladen. Auch öfmet der Mikroprozessor 1 die Tor-Schaltungen G14 und G15, um die_y-Koordinatendaten in das JO^-Register 41 und das > >t,D-Register 43 zu laden. Im Schritt 149 öffnet der Mikroprozessor 1 die Tor-Schaltungen G10, G13, G18 und G19, um die x- und j>-Koordinatendaten in den ^-Register 33 dem Xi-Register 37, dem >orRegister 41 und dem .y^o-Register 43 über die UND-Glieder 117,119,121 und 133 und die Halteschaltung 137 (F i g. 9) der Anzeigeeinheit 21 zuzuführen. Zu diesem Zeitpunkt sind die y-Koordinatendaten des Mittelpunkts Q in den yoy- und .y^-Registern ohne Modifikation gespeichert und ein Maximalpunkt P1 längs der x-Achse, der durch den Inhalt des xs-Registers 33 angegeben wird, und cm Minimumpunkt P2 längs der x-Achse, der durch den Inhalt des xt-Registers 37 angegeben wird, wird gemäß Fig. 4 gezeichnet.
In Schritt 151 öffnet der Mikroprozessor 1 die Tor-Schaltung (720, um den Radius R aus dem /{-Register 27
in das Δ x-Register 49 zu übertragen. Der M ikroprozessor 1 öffnet dann die Tor-Schaltungen G 25, G 32, G 28, um
die Übertragsdaten 0,5 in den /?v- und R,.-Registern 57 bzw. 67 und den Anfangswert 0 in dem A j»-Register61 einzustellen.
Die Übertragsdaten werden dann in die Rx- und /{,-Register 57 und 67 eingeschrieben, so daß das
Komma, wie in F ig. 6 gezeigt, in der Bit 4 (/^-Position angeordnet wird. Der Binärwert 1000 wird in die ent-
sprechenden Register eingeschrieben. Im Schritt 153 werden die Tor-Schaltungen G 30, G33undG31 geöffnet,
um die in dem J>-Register61 und dem Λ ,.-Register 67 gespeicherten Daten mittels des Addierers 65 zu addieren.
Die Summe wird in das Λ ,-Register 67 eingeschrieben. Im vorliegenden Falle ergibt sich eine Binäraddition
von 0000+ 1000= 1000. Der Binärwert 1000 wird in das «„-Register 67 eingeschrieben. Im Schritt 155 öffnet der
Mikroprozessor 1 die Tor-Schaltung G 34, um den Inhalt des /{„-Registers 67 auszulesen und der Übertragsfest-
Stelleinheit 69 zuzuführen, die feststellt, ob ein Übertragssignal vorhanden ist oder nicht. Die Übertragsdatenfeststellung
wird derart durchgeführt, daß die Kommaposition in der ß^-Position in dergleichen Weise eingestellt
wird, wie das Einschreiben der Übertragsdaten gemäß F i g. 6. Wenn der Inhalt des /{,-Registers 67 auf 1000
eingestellt ist, dann wird kein Übertragsfeststellsignal erzeugt. Wenn somit kein Übertragssignal vorhanden ist,
dann geht der Ablauf zu Schritt 171, um die Tor-Schaltungen G 23, G 26 und G 24 zu öffnen. Die Inhalte 1000 des
A x-Registers 49 und des Äx-ReS'sters 57 werden durch den Addierer 55 addiert. Die Summe 10 000 wird in das
R .-Register 57 eingeschrieben. Im Schritt 173 öffnet der Mikroprozessor die Tor-Schaltung G 27, um den Inhalt
des R^-Registers 57 auszulftsen und an die Übertragsfeststelleinheit 59 anzulegen, damit festgestellt wird, ob ein
Übertragssignal vorhanden ist. Diese Feststellung wird derart durchgeführt, daß die Kommaposition in der Dpr-Position
eingestellt wird, in der gleichen Weise wie bei der Übertragsfeststelleinheit 69. Ist der Inhalt des
Λ ,-Registers 57 auf 10 000 eingestellt und Bit 1 ist in derD^-Position eingestellt, dann erzeugt die Übertragsfeststelleinheit
59 das Übertragsfeststellsignal. Dieses Übertragsfeststellsignal schaltet die Tor-Schaltung G 29
durch. In Schritt 169 wird der Inhalt 0000 des A^Registers 61 mittels der+!-Schaltung 63 um eins erhöht. Die
+!-Schaltung 63 erzeugt die Daten 0001. Im Schritt 175 öffnet der Mikroprozessor 1 die Tor Schaltungen (772
und G 73 in derÜbertragsfeststellemheit59, um die Inhalte des Arbeitsregisters 75 und des Korrekturregisters 71
zu addieren. Soll eine Ellipse mit großer Achse in Vertikalrichtung gezeichnet werden, dann stellt der Mikroprozessor
1 den Korrekturwert, z. B. 0,5, in dem Korrektlirregister 71 ein. Im Schritt 177 wird die Tor-Schaltung G 74
(F i g. 5) geöffnet, um den Inhalt des Arbeitsregisters 75 zum Übertragsdetektor 77 zu übertragen, der ein Übertragsfeststellsignal
erzeugt.
Das vom Übertragsdetektor 77 erzeugte Übertragsfeststellsignal schaltet die Tor-Schaltungen G16 und G Yl
durch. Im Schritt 179 wird derlnhalt des j>0l-Registers 41 mittels der+1-Schaltung 45 um 1 erhöht und der Inhalt
des jiy^-Registers 43 wird mittels der -1-Schaltung47 um 1 erniedrigt. Hierauf werden im Schritt 183 die Tor-Schaltungen
G10, G13, G18 und (719 geöffnet, um die Daten aus dem xÄ-Register 33, dem ^-Register 37, dem
JO^-Register 41 und dem j'{/ß-Register43 über die Halteschaltung 137 der Anzeigeeinheit 21 zur Darstellung der
Kreisdaten zuzuführen. Wie Fig. 4 zeigt, werden mittels der Anzeigeeinheit 21 x- und ^-Koordinaten im ersten
Quadranten A1 gemäß den Inhalten der xR- und
>'0^Register 33 und 41, die x- und j»-Koordinaten im zweiten
Quadranten A 2 gemäß den Inhalten des xL- und JO^Register 41 und 37, die x- und ^-Koordinaten in dem dritten
Quadranten A 3 gemäß den Inhalten des xL- und .p^-Registers 37 und 43 und die x- und .^-Koordinaten im vierten
Quadranten A 4 gemäß den Inhalten des xR- und j^-Registers 33 und 43 dargestellt. Auf diese Weise werden
Kreisdaten bezüglich der Punkte P1 und P2 auf derx-Achse der F ig. 4 gezeichnet. Hierauf wird in Schritt 185 die
Tor-Schaltung G 22 geöffnet, um den Inhalt des A x-Registers 49 auszulesen und dem Null-Detektor 53 zuzuführen,
der feststellt, ob die Daten 0 sind oder nicht. Das Ergebnis wird dem Mikroprozessor 1 zugeführt. Ist der
Inhalt des A x-Registers 49 nicht Null, dann geht der Ablauf zurück zu Schritt 153 und die Verarbeitung wird in
der gleichen Weise wie zuvor beschrieben, wiederholt. In Schritt 153 wird bei Erzeugung des Übertragssignals
der inhalt der Ry und A j»-Register67 und 61 addiert und der Ablauf geht nach Schritt 157, bei dem die Tor-Schaltung
(721 unter Ansprechen auf das Übertragsfeststellsignal von der Übertragsfeststelleinheit 69 geöffnet wird,
so daß der Inhalt des A x-Registers 49 mittels der -1-Schaltung 51 um 1 verringert wird. Hierauf werden in
Schritt 159 die Tor-Schaitungen 72 und 73 in der Übertragsfeststeiieinheit 69 geöffnet, um den Inhalt des
Arbeitsregisters 75 und des Korrekturregisters 71 zu addieren. Es ist zu beachten, daß der Korrekturwert, z. B. 0,5
vom Mikroprozessor 1 in das Korrekturregister 71 eingebracht wird, wenn eine Ellipse mit vertikaler großer
Achse zu zeichnen ist. Im Schritt 161 wird die Tor-Schaltung G 74 geöffnet, so daß der Inhalt des Arbeitsregisters
75 an den Übertragsdetektor 77 angelegt wird. Als Ergebnis wird vom Übertragsdetektor 77 ein Übertragsfeststellsignal
erzeugt.
Das von der Übertragsfeststelleinheit 69 erzeugte Feststellsignal schaltet die Tor-Schaltungen G 9 und G12
durch, so daß der Inhalt des xÄ-Registers 33 mittels der -1-Schaltung 35 um 1 verringert und der Inhalt des
Χ/,-Registers 37 mittels der + 1-Schaltung 39 um 1 erhöht wird. Der Ablauf geht zu den Schritten 165 und 167, in
denen die gleichen Operationen durchgerührt werden wie in den Schritten 171 und 173.
Hierauf folgen im Ablauf die Schritte 175 bis 185. Die Schritte 153 bis 185 stellen eine Folge des Zeichnens
eines Punktes der Kreisdaten dar und werden wiederholt. Insbesondere werden die Daten des Radius R einer
Schaltung zugeführt, die aus dem A x-Register 49, dem A^-Register 61, dem R V-Register 57, dem Λ,.-Register 67,
den Addierern 65 und 55, der + 1-Schaltung 63 und der - 1-Schaltung 51 besteht, wodurch DDA-Werfe des Kreises
mit dem Ursprung als Mittelpunkt berechnet werden. Die DD Α-Berechnung wird gemäß den Gleichungen
(5) und (6) durchgeführt und die Änderungen in denx- und ^-Koordinaten, die sich am DDA ergeben, werden
den Registern 33,37,41 und 43 zugeführt, so daß sich Kreisdaten des Punktes Q als Kreismittelpunkt ergeben, so
Wie ϊη diesem Falle Fig. 4 zeigt, beginnt der Kreisbogen an den Punkten P{ und P2 derx-Achse. Da die obere
und untere Figur symmetrisch zurx-Achse ist, können die Koordinaten der beiden Punkte durch eine einzige
Operation gleichzeitig erhalten werden. Der Inhalt (Radius R) des A x-Registers 49 wird nacheinander in Einheitsschritten
durch den Ablauf gemäß der Fig. 13A bis 13E verringert, bis 0 erreicht wird. Der Inhalt 0 wird
durch den Null-Detektor 53 festgestellt. Empfangt der Mikroprozessor 1 das Nullfeststellsignal, dann ist der Ablauf
beendet. Ein Punktzeichnen für nur den ersten Quadranten des Kreises, der gemäß den Flußdiagrammen
gezeichnet wird, ist in F i g. 17 veranschaulicht. Die Punktdaten können gleichzeitig in dem zweiten, dritten und
vierten Quadranten in der gleichen Weise wie im ersten Quadranten dargestellt werden. Die Berechnung der
Daten Tür Rx, Ax, R}. und der x- und ^-Koordinaten ist in Schema I dargestellt.
Schema I
(Übertrag)
Rx
Ax
cy (Übertrag)
Ay
(x,y)
1000
1000
0000 | 1000 |
0000 | 1000 |
1000 | 1000 |
1000 | 1000 |
0000 | 1000 |
0000 | 1000 |
1000 | 1000 |
1000 | 1000 |
0000 | 1000 |
0000 | Olli © |
Olli | Olli |
Olli | Olli |
1110 | Olli |
1110 | Olli |
0101 | Olli |
0101 | Olli |
1100 | Olli |
1100 | Olli |
0011 | Olli |
0011 | Olli |
0011 | 0110© |
1001 | 0110 |
1001 | 0110 |
1111 | 0110 |
1111 | 0110 |
cy
cy
1000 | 0000 | (8,0) |
1000 | 0000 | |
1000 | 0001© | (8,1) |
1001 | 0001 | |
1001 | 0001 | |
1010 | 0001 | |
1010 | 0010© | (8,2) |
1100 | 0010 | |
1100 | 0010 | |
1110 | 0010 | |
1110 | 0011© | (8,3) |
0001 | 0011 | |
0001 | 0011 | |
0100 | 0011 | |
0100 | 0011 | |
Olli | 0011 | |
Olli | 0100© | (7,4) |
1011 | 0100 | |
1011 | 0100 | |
1111 | 0100 | |
1111 | 0101 © | (7,5) |
1111 | 0101 | |
0100 | 0101 | (6,5) |
0100 | 0101 | |
1001 | 0101 | |
1001 | 0101 | |
1110 | 0101 |
10
Fortsetzung
O' Rx Ax cy Ry Ay (χ, y)
(Übertrag) (Übertrag)
cy
cy
0101 | 0110 |
0101 | 0101© |
1010 | 0101 |
1010 | 0101 |
1111 | 0101 |
1111 | 0100 (T- |
0011 | 0100 |
0011 | 0100 |
Olli | 0100 |
Olli | 0100 |
1011 | 0100 |
1011 | 0011© |
1110 | 0011 |
1110 | 0011 |
0001 | 0011 |
0001 | 0011 |
0001 | 0010© |
0011 | 0010 |
0011 | 0010 |
0101 | 0010 |
0101 | 0001© |
0110 | 0001 |
0110 | 0001 |
Olli | 0001 |
Olli | 0000© |
cy
cy
cy
1110 | 0110© | (6,6) | IC |
0100 | 0110 | (5,6) | |
0100 | 0110 | 15 | |
1010 | 0110 | ||
1010 | 0110 | 20 | |
0000
0000 |
0110
Olli © |
(4,6)
(4,7) |
25 |
Olli
Olli |
Olli
Olli |
30 | |
1110
1110 |
Olli
Olli |
||
0101 | Olli | (3,7) | 35 |
0101 | Olli | ||
1100 | Olli | 40 | |
1100
1100 |
1000©
1000 |
(3,8) | 45 |
0100
0100 |
1000
1000 |
(2,8) | |
1100 | 1000 | 50 | |
1100 | 1000 | ||
0100 | 1000 | (1,8) | 55 |
010Ü
1100 |
1000
1000 |
60 | |
1100 | 1000 | ||
0109 | 1000 | (0,8) | |
cy
Eine Kreisfläche erhält man durch Erzeugen von Zeiiensegmentdaten zwischen den Koordinaten
(·>«* JV)K>
~ (*L· yov) des ersten und zweiten Quadranten Al und Al und zwischen den Koordinaten 65
(*( . yui)) ~ (*ä>jW des dritten und vierten Quadranten A 3 und A 4. Bei jeder Erzeugung von Punkten des Kreises
wird das entsprechende Zeilensegment zwischen den Punkten durchgezogen. E;ne Kreisfläche oder eine
Ellipsenlläche kann somit mit hoher Geschwindigkeit erzeugt werden.
11
Unter Bezugnahme auf die Fig. 13A bis 13E soll das Darsteilen eines Kreisbogens beschrieben werden. Die
Schritte, die bei der Kreis- oder Ellipsendarsteilung bereits beschrieben wurden, sind weggelassen. Zum Darstellen
eines Kreisbogens werden im Schritt 187 die Daten in A x-Register 49 als die x-Koordinatendaten X1. in
dem ^..-Register 79 der F i g. 8 über die Tor-Schaltung G 35 eingestellt. Der Mikroprozessor 1 stellt die Anfangswinkeldaten
in dem Anfangswinkelregister 81 und die Endwinkeldaten in dem Endwinkelregister 83 ein. Die
Schritte 187 bis 223 stellen, einen Ablauf dar, bei dem festgestellt wird, welcher Quadrant bzw. welche Quadranten
den Anfangs- und Endwinkel enthalten, und mit dem der Anfangswinkel mit dem Endwinkel verglichen
wird. Der Vergleich zwischen dem augenblicklichen Punkt und den Anfangspunkt und zwischen dem augenblicklichen
Punkt und dem Endpunkt ermöglicht die Erzeugung des Positionsbitmusters, wie dies durch die
Schritte 225 bis 237 angegeben ist.
Im Schritt 189 wird ein Quadrantenzeiger auf 0 gestellt. Im Schritt 191 werden die Tor-Schaltungen G58 und
G59 (Fi g. 8) geöffnet, um der Bestimmungsschaltung 99 den Anfangs- und Endwinkel zuzuführen, die entsprechend
indem Anfangs-und Endwinkelregister 81 und 83 eingestellt werden. Die Bestimmungsschaltung 99 vergleicht
den Anfangswinkel mit dem Endwinkel und bestimmt, ob der Anfangswinkel größer als der Endwinkcl
ist. Ist die Antwort im Schritt 191 J A, dann wird im Schritt 193 der Endwinkel und der Anfangswinkel invertiert
Im Schritt 195 werden von dem Anfangswiiikcl 90" subtrahiert und das Vorzeichen des sich ergehenden Winkels
bestimmt. Ist der Ergebniswinkel im Schritt 197 der Fig. 13D nicht negativ, dann gibt der Mikroprozessor 1 an,
daß der Anfangswinkel nicht in einem gegebenen Quadranten liegt. Im Schritt 213 wird eine Statusbitkarte zum
Überspringen des gegebenen Quadranten erstellt. Im Schritt 215 wird der Quadrantenzeiger um 1 erhöht und
der Ablauf geht zurück zum Schritt 195. Der gleiche Vorgang wird dann wiederholt. Ist die Antwort im Schritt
197 JA, dann legt der Mikroprozessor 1 fest, daß der Anfangswinkel in dem gegebenen Quadranten vorhanden
ist. Im Schritt 199 wird eine Statusbitkarte erstellt, wobei der Anfangswinkel in den gegebenen Quadranten vorhanden
ist. In den Schritten 201 und 203 stellt der Mikroprozessor 1 außerdem fest, ob der Endwinkel im gleichen
Quadranten vorhanden ist. Wenn insbesondere 90° vom Endwinkel in Schritt 201 abgezogen wurden und
der Resultatwinkel in Schritt 203 negativ wird, dann werden Statiubitdaten (0100 in Fig. 11) im Schritt 217
erstellt, wobei die Statusbitdaten wiedergeben, daß der Anfangs- und Endwinkel im gleichen Quadranten liegt.
Der Ablauf geht dann nach Schritt 221. Ist die Antwort in Schritt 203 jedoch NEIN, dann bestimmt der Mikroprozessor
1, daß der End- und Anfangswinkel nicht im gleichen Quadranten liegt. Im Schritt 7.05 wird der Quadrantenzeiger
weitergeschaltet. Hierauf werden von dem positiven Ergebniswinkel wiederum 90° subtrahiert.
Bleibt der Ergebniswinkel weiterhin in Schritt 209 positiv, dann werden die ALL WRITE - Statusbitdaten in
Schritt 211 erstellt und der Ablauf geht zurück nach 205. Die Schritte 205 bis 211 werden wiederholt, bis der Endwinkel
negativ wird. Ist in Schritt 209 die Antwort JA, dann werden die Statusbitdaten erstellt, wobei der Endwinkel
in dem entsprechenden Quadranten in Schritt 219 vorhanden ist. Der Mikroprozessor 1 stellt in Schritt
221 fest, ob der Ar.fangswinke! größer als der Endwinkel ist. Ist die Antwort im Schritt 221 JA, dann wird der
Anfangs- und Endwinkel im Schritt 223 invertiert. Der Ablauf schaltet zu Schritt 147 fort.
Die Positionsbitmuster werden durch Feststellung im Schritt 225 der Fig. 13E erstellt, ob die augenblickliche
x-Koordinate gleich oder kleiner dem Absolutwert derx-Koordinate des Anfangspunkts ist. Ist dies im Schritt
225 nicht der Fall, dann geht der Ablauf nach Schritt 233. Im Schritt 233 bestimmt der Mikroprozessor, ob die augenblickliche
.v-Koordinate größer als der Absolutwert der x-Koordinate des Endpunkts ist. Ist dies der Fall,
dann werden im Schritt 235 die Statusbitdaten A9A9 (hex) erstellt. Ist die Antwort im Schritt 233 NEIN, dann
werden die Statusbitdaten 8F8F (hex) im Schritt 237 eingestellt.
War die Antwort indem Schritt 225 JA, dann stellt der Mikrocomputer 1 im Schritt 227 fest, ob die augenblickliche
x-Koordinate gleich oder größer dem Absolutwert der x-Koordinate des Endpunkts ist. Ist dies der Fall,
dann werden die Daten F8F8(hex) im Schritt 229 eingestellt, andererseits die Daten 9A9A (hex) im Schritt 231.
Die zuvor beschriebene Bitkartenerstellung erfolgt derart, daß die Daten in dem Anfangs- und Endwinkelregister
81 und 83 dem Statusbitgenerator 85 über die Tor-Schaltungen G 43 und G 44 zugeführt werden, um Statusbitmuster
der entsprechenden Quadranten zu erzeugen. Im Falle eines Kreisbogens gemäß Fig. 15 liegt der
Anfangswinkel im ersten Quadranten A 1 und der Endwinkel im dritten Quadranten A 3. Die StatuseinstellL.?-
gen für die entsprechenden Quadranten sind dann wie folgt:
Erster Quadrant A 1 START POINT
Zweiter Quadrant A 2 ALL WRITE
Dritter Quadrant A 3 DESTINATION POINT
Vierter Quadrant A 4 SKIP
Die in Fig. 11 gezeigte Statusbitkarte wird in den Statusbitgenerator 85 eingeschrieben. Die Daten in dem
Anfangs- und Endwinkelregister 81 und 83 werden dem Anfangs- und Endpunktrechner 93 über die Tor-Schaltungen
G 46 und G 47 zugeführt. Der Anfangs- und Endpunktrechner 93 berechnet die Anfangs- und Endpunktpositionen.
Ausgangssignale von dem Anfangs- und Endpunktrechner 93 werden dem Positionsbitgenerator95
zugeführt. Dieser erzeugt Positionsbitdaten, die mit den Bedingungen gemäß den Fig. 12A und 12B in Einklang
sind, gemäß den Daten, die vom Anfangs- und Endpunktrechner 93 kommen und gemäß der berechneten x-Koordir.ate
.V1 außer dem .ν,-Register 79. Wenn die berechnete Koordinate, d. h. die Koordinate Daten aus dem
x,-Register 79 dem xc der Fig. 15 entsprechen, werden folgende Ungleichungen erfüllt.
(.5 Α", <|x, j
Die Positionsbitdaten der entsprechenden Quadranten gemäß Fig. 16B werden mit den Positionsbitkarten k
der F i g. 12 A und 12B erstellt und in das Positionsbitregister 97 eingeschrieben. Die Daten aus dem Statusbitre- |j
gister 87 und dem Positionsbitregister 97 gemäß den F i g. 16A und 16B werden über die Tor-Schaltungen G 45 y
und G49 und das UND-Glied 89 in das Register 91 eingeschrieben. Die in Fig. 16C gezeigten Daten ergeben
sich durch UND-Verknüpfung der Daten gemäß F ig. 16Aund 16B. Die Ergebnisdaten werden in das Register 91 5
eingeschrieben. Die Daten des Anfangs- und Endwinkelregisters 81 und 83 werden der Bestimmungsschaltung
99 uoer die Tor-Schaltungen G 58 und G 59 zugeführt, um zu bestimmen, ob die Daten im Register81 größer sind
als diejenigen im Register 83. Abhängig vom Ergebnis öffnet die Schaltung 99 die Tor-Schaltungen G 50 bis G 53
oder G 54 bis G 57. Die Daten im Register 91 werden über die Tor-Schaltungen G 50 bis G 53 und die ODER-Glieder 101 bis 107 der Anzeigeeinheit 21 zugeführt. Die Anzeigeeinheit 21 steuert die entsprechenden Qua- in
dranten gemäß den zugeführten Daten aus dem Register 91. Insbesondere werden die zutreffenden Daten für
den ersten und zweiten Quadranten A 1 und A 2 (F ig. 16C) für eine Darstellung verwendet. In diesem Falle werden keine der O-Bit-Daten für den dritten und vierten Quadranten A 3 und A 4 für die Darstellung verwendet.
sich durch UND-Verknüpfung der Daten gemäß F ig. 16Aund 16B. Die Ergebnisdaten werden in das Register 91 5
eingeschrieben. Die Daten des Anfangs- und Endwinkelregisters 81 und 83 werden der Bestimmungsschaltung
99 uoer die Tor-Schaltungen G 58 und G 59 zugeführt, um zu bestimmen, ob die Daten im Register81 größer sind
als diejenigen im Register 83. Abhängig vom Ergebnis öffnet die Schaltung 99 die Tor-Schaltungen G 50 bis G 53
oder G 54 bis G 57. Die Daten im Register 91 werden über die Tor-Schaltungen G 50 bis G 53 und die ODER-Glieder 101 bis 107 der Anzeigeeinheit 21 zugeführt. Die Anzeigeeinheit 21 steuert die entsprechenden Qua- in
dranten gemäß den zugeführten Daten aus dem Register 91. Insbesondere werden die zutreffenden Daten für
den ersten und zweiten Quadranten A 1 und A 2 (F ig. 16C) für eine Darstellung verwendet. In diesem Falle werden keine der O-Bit-Daten für den dritten und vierten Quadranten A 3 und A 4 für die Darstellung verwendet.
Bei einer berechneten Koordinate in Fig. 15 als X1, ergibt sich:
X1, > I x(|
X1, >\X,\
{j
Der Inhalt des Positionsbitregisters 97 entspricht den Bitdaten in Fig. 16D gemäß den Bitkarten der Fig. 12A 20 :;
und 12B. Die UND-Verknüpfung zwischen den in Fig. 16D gezeigten Daten und dem Inhalt (Fig. 16A)desSta- S
tusregisters 87 wird durchgeführt, um die in F i g. 16E gezeigten Daten zu erhalten. Gemäß dem Inhalt der Daten JJ
gemäß Fig. 16E werden Punktdaten in den zweiten und dritten Quadranten Al und Ai, nicht jedoch in dem |
ersten und vierten Quadranten A 1 und A4 dargestellt. s
Wenn andererseits der Anfangswinkel größer als der Endwinkel ist, dann schaltet das Ausgangssignal der 25 ;j
Bestimmungsschaltung 99 die Tor-Schaltungen G 54 bzw. G 57 durch. Deshalb werden die Daten im Register 91 ;|
durch die NOR-Glieder 109 bis 115 invertiert. Die invertierten Daten werden der Anzeigeeinheit 21 zugeführt, '
so daß eine invertierte Darsteilungs- und Sprungoperation durchgeführt wird, um einen invertierten Kreisbogen ]
zu zeichnen. ;■;!
Bei dem zuvor beschriebenen Ausführungsbeispiel werden der Kreis, die Ellipse und der Kreisbogen gra- 30 $
phisch angezeigt. Diese Figuren können jedoch auch mit einem .v-.v-Drucker od. dgl. ausgedruckt werden. 3
Hierzu 17 Blatt Zeichnungen i|
13
Claims (6)
1. Kreisgenerator für eine in rechtwinkligen Koordinaten steuerbare Darstellungsvorrichtung mit einem
digitalen Differenzanalysierer (DDA) (3) zum Empfangen eines Kreisradius und Erzeugen von x- und j>-Koordinaten
auf dem Kreis mit dem Ursprung als Mittelpunkt,
gekennzeichnet durch
gekennzeichnet durch
eine erste Vorrichtung (31,29) zum Empfangen des Radius und der einen Koordinate eines Punktes spezieller
Koordinaten als Mittelpunkt eines gewünschten Kreises und zum Durchführen einer Addition und Subtraktion
bezüglich des Radius und der Koordinate, um jeweils die eine Koordinate des äußersten rechten und
ίο äußersten linken Punktes des gewünschten Kreises zu erhalten und
zweite Vorrichtungen (41,45,43,47,37,39,33,35) zum Empfangen der Koordinaten des äußersten rechten
und äußersten linken Punktes, die von der ersten Vorrichtung erzeugt wurden, und der anderen Koordinate
des Punktes der speziellen Koordinaten und zum Erzeugen der Koordinatenwerte von vier Punkten auf dem
gewünschten Kreis, die symmetrisch bezüglich des Punktes der speziellen Koordinaten sind, gemäß den x-
und .y-Koordinaten, die von dem digitalen Differenzanalysierer (3) erzeugt wurden.
2. Generator nach Anspruch 1, gekennzeichnet durch
eine Statusbiidatenerzeugungsvorrichtung (85) zum Empfangen des Anfangs- und Endwinkels für eine
KreisbogenBiffStellung und für eine Erzeugung von Statusbitdaten entsprechend der Quadranten des
gewünschten Kreises,
eine Anfangs- und Endpunktberechnungsvorrichtung (93) zum Empfangen des Anfangs- und Endwinkels
und zum Berechnen von x- und ^-Koordinaten des Anfangs- und Endpunkts,
eine Positions-Datenerzeugungsvorrichtung (95) zum Empfangen der Ausgangssignale der Anfangs- und
Endpunktberechnungsvorrichtung und des Radius und zum Erzeugen von Positionsbitdaten, die Beziehungen
zwischen Koordinaten eines augenblicklichen Punktes und den Koordinaten des Anfangspunkts und
zwischen den Koordinaten des augenblicklichen Punktes und den Koordinaten des Endpunkts darstellen,
eine Bestimmungsvorrichtung (99) zum Vergleichen des Anfangswinkels mit dem Endwinkel und zum
Bestimmen, ob der Anfangswinkel größer als der Endwinkel ist und umgekehrt,
Vorrichtungen («9, 197, 117, 119, 121,123,129,131,133,135) zum logischen Verknüpfen der Statusbitdaten,
die von der Statusbitdatenerzeugungsvorrichtung erzeugt wurden und der Positionsbitdaten, die von der
Positionsbitc!atenerzeuEungsvt-i richtung erzeugt wurden, und zum Erzeugen von DurchschalN/Sperrdaten,
die bestimmen, ob Kreisüogenptinkte der entsprechenden Quadranten dargestellt werden, und
Vorrichtungen (109, 111, 113, .15) zum Invertieren der Durchschalt-ZSperrdaten gemäß dem Bestimmungsergebnis der Bestimmungsvorrichtung (99),
Vorrichtungen (109, 111, 113, .15) zum Invertieren der Durchschalt-ZSperrdaten gemäß dem Bestimmungsergebnis der Bestimmungsvorrichtung (99),
3. Generator nach Anspruch 2, dadurch gekennzeichnet, daß die Statusbitdaten enthalten:
Bitdaten, die angeben, daß der Anfangswinkel in einem gegebenen Quadranten liegt,
Bitdaten, die angeben, daß der Anfangswinkel in einem gegebenen Quadranten liegt,
Bitdaten, die angeben, daß der Endwinkel in einem gegebenen Quadranten liegt,
Bitdaten, die angeben, daß der Anfangs- und der Endwinkel beide in einem gegebenen Quadranten liegen, Bitdaten, die angeben, daß Punkte in dem gegebenen Quadranten dargestellt werden, und
Bitdaten, die angeben, daß Punkte in dem gegebenen Quadranten übersprungen werden.
Bitdaten, die angeben, daß der Anfangs- und der Endwinkel beide in einem gegebenen Quadranten liegen, Bitdaten, die angeben, daß Punkte in dem gegebenen Quadranten dargestellt werden, und
Bitdaten, die angeben, daß Punkte in dem gegebenen Quadranten übersprungen werden.
4. Generator nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die Positionsbitdaten enthalten:
Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punktes gleich oder größer als die Koordinaten
des Endpunktes sind und daß die Koordinaten des augenblicklichen Punktes gleich oder kleinerals die
Koordinaten des Anfangspunkts sind,
Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punktes gleich oder kleinerals diejenige
des Anfangspunkts sind und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des
Endpunkts sind,
Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punktes größer als diejenigen des
Anfangspunktes sind und daß die Koordinaten des augenblicklichen Punktes gleich oder größer als diejenigen
des Endpunktes sind und
Bitdaten, die angeben, daß die Koordinaten des augenolicklichen Punktes größer als diejenigen des
Anfangspunkts und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des Endpunktes
sind.
5. Generator nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der digitale Differenzanalysierer
eine Korrekturvorrichtung (Übertragsfeststelleinheit 59, 69) enthält, die aufweist:
eine erste Registervorrichtung (71) zum Einstellen von Korrekturdaten zum Zeichnen einer Ellipse,
eine zweite Registervorrichtung (75) zum Einstellen von Kreiskoordinatendaten,
eine erste Registervorrichtung (71) zum Einstellen von Korrekturdaten zum Zeichnen einer Ellipse,
eine zweite Registervorrichtung (75) zum Einstellen von Kreiskoordinatendaten,
eine Addiervorrichtung (73) zum Addieren der Inhalte der ersten und zweiten Registervorrichtung (71,75)
und
I= einen Übertragsdetektor (77) zum Feststellen eines Übertragssignals von einer von der Addiervorrichtung
I: 60 (73) erzeugten Summe.
ί>;
6. Generator nach Anspruch 5, dadurch gekennzeichnet, daß die Korrekturvorrichtung (59, 69) derart
tv betrieben wird, daß die Korrekturdaten zu den*-Koordinaten des gewünschten Kreises hinzuaddiert werden,
ίν· wenn eine Ellipse mit in Richtung der x-Achse verlaufender großer Achse darzustellen ist und daß die Kor-
>< rekturvorrichtung (59, 69) derart betrieben wird, daß die Korrekturdaten zu den ^-Koordinaten des
ρ: ιό gewünschten Kreises addiert werden, wenn eine Ellipse mit in Richtung der.v-Achse verlaufender großen
Aj Achse darzustellen ist.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58081469A JPS59206884A (ja) | 1983-05-10 | 1983-05-10 | 円または楕円の塗りつぶし方式 |
JP8147183A JPS59206981A (ja) | 1983-05-10 | 1983-05-10 | 円弧描画方式 |
JP58081468A JPS59206980A (ja) | 1983-05-10 | 1983-05-10 | 円の補正描画方式 |
JP8146783A JPS59206937A (ja) | 1983-05-10 | 1983-05-10 | 円の描画方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3417407A1 DE3417407A1 (de) | 1984-11-15 |
DE3417407C2 true DE3417407C2 (de) | 1986-03-27 |
Family
ID=27466575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3417407A Expired DE3417407C2 (de) | 1983-05-10 | 1984-05-10 | Kreisgenerator für eine graphische Anzeigeeinheit |
Country Status (3)
Country | Link |
---|---|
US (1) | US4692887A (de) |
DE (1) | DE3417407C2 (de) |
GB (1) | GB2141608B (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61249088A (ja) * | 1985-04-26 | 1986-11-06 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 図形塗りつぶし方法 |
JPS61261779A (ja) * | 1985-05-14 | 1986-11-19 | インタ−ナショナル ビジネス マシ−ンズ・コ−ポレ−ション | 二次曲線信号発生装置 |
JPH0727573B2 (ja) * | 1987-02-13 | 1995-03-29 | 日本電気株式会社 | 弧の端点検出回路 |
GB2204216B (en) * | 1987-04-30 | 1991-02-06 | Ibm | Curve generation in a display system |
JPH0668771B2 (ja) * | 1987-12-07 | 1994-08-31 | 沖電気工業株式会社 | Dda円発生表示方法 |
GB9312447D0 (en) * | 1992-10-28 | 1993-07-28 | Int Technical Illustration Co | Method of tracing a drawing and apparatus for embodying the method |
US6700576B1 (en) * | 1999-03-25 | 2004-03-02 | 3Dlabs, Inc., Ltd. | Variable stride circle rendering apparatus and method |
KR100425667B1 (ko) * | 2001-12-03 | 2004-04-06 | 엘지전자 주식회사 | 데이터스트림의 속성정보 처리방법 및 장치 |
US20050264554A1 (en) * | 2004-05-25 | 2005-12-01 | Deming James L | Tile based rendering of smooth points using polygons |
CN110554640B (zh) * | 2018-06-01 | 2022-08-30 | 上海辉格科技发展有限公司 | 一种扫描仪控制电路及数据处理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3735389A (en) * | 1970-02-24 | 1973-05-22 | Zeta Research | Digital graphic display apparatus, system and method |
GB1359674A (en) * | 1971-06-11 | 1974-07-10 | Elliott Brothers London Ltd | Display system with circle drawing |
US3789200A (en) * | 1972-06-30 | 1974-01-29 | Ibm | Circle or arc generator for graphic display |
US3987284A (en) * | 1974-12-03 | 1976-10-19 | International Business Machines Corporation | Conic generator for on-the-fly digital television display |
GB1587200A (en) * | 1976-12-04 | 1981-04-01 | Ferranti Ltd | Display systems |
GB1596506A (en) * | 1976-12-04 | 1981-08-26 | Ferranti Ltd | Display systems |
FR2448194A1 (fr) * | 1979-01-30 | 1980-08-29 | Thomson Csf | Dispositif generateur de courses pour la visualisation de symboles sur un ecran cathodique |
US4371933A (en) * | 1980-10-06 | 1983-02-01 | International Business Machines Corporation | Bi-directional display of circular arcs |
US4484298A (en) * | 1981-04-30 | 1984-11-20 | Yokogawa Hokushin Electric Corporation | Method and device for generation of quadratic curve signal |
ZA834723B (en) * | 1982-07-08 | 1984-03-28 | Int Computers Ltd | Digital display system |
US4493032A (en) * | 1982-09-07 | 1985-01-08 | General Electric Company | Method and apparatus for positioning using circular interpolation |
US4535328A (en) * | 1982-09-13 | 1985-08-13 | Rockwell International Corporation | Digitally controlled vector generator for stroke written CRT displays |
-
1984
- 1984-04-26 US US06/604,057 patent/US4692887A/en not_active Expired - Lifetime
- 1984-04-30 GB GB08411032A patent/GB2141608B/en not_active Expired
- 1984-05-10 DE DE3417407A patent/DE3417407C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
GB8411032D0 (en) | 1984-06-06 |
GB2141608B (en) | 1987-07-15 |
DE3417407A1 (de) | 1984-11-15 |
US4692887A (en) | 1987-09-08 |
GB2141608A (en) | 1984-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3440377C2 (de) | ||
DE2455897C2 (de) | System zum Identifizieren von Schriftzeichen | |
DE2754270A1 (de) | Digitale strich-darstellungsvorrichtung | |
DE2431451B2 (de) | Verfahren zur normierung der strichstaerke von abgetasteten schriftzeichen sowie einrichtung zur durchfuehrung des verfahrens | |
DE3806223A1 (de) | Verfahren zur erzeugung eines zeichenabbilds | |
DE3801364A1 (de) | Anzeigesystem | |
DE3931128A1 (de) | Bilddatenprozessor mit mitteln zur veraenderung der aufloesung von bildern | |
EP0026378A1 (de) | Verfahren zur Hervorhebung eines Bildbereiches innerhalb eines Bildes, das auf einem Bildschirm dargestellt wird | |
DE3326583C2 (de) | ||
DE3417407C2 (de) | Kreisgenerator für eine graphische Anzeigeeinheit | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE2752421A1 (de) | Anordnung fuer die abtastung und digitalisierung von grafischen darstellungen oder daten | |
DE2459106C2 (de) | Schaltungsanordnung zur Darstellung von Zeichen auf einem Bildschirm mittels eines Kathodenstrahls | |
DE3110222A1 (de) | Verfahren zur partielle glaettenden retusche bei der elektronischen farbbildreproduktion | |
DE3315148A1 (de) | Digitale sichtanzeigeeinrichtung | |
DE2214585B2 (de) | : Anordnung zur Darstellung von Zeichensegmenten | |
DE1774314B1 (de) | Einrichtung zur maschinellen zeichenerkennung | |
DE2212967A1 (de) | Einrichtung und Verfahren zur Verwendung eines dreifeldrigen Wortes zur Darstellung einer Gleitkommazahl | |
EP0060243B1 (de) | Verfahren und schaltungsanordnung zur partiellen elektronischen retusche bei der farbbildreproduktion | |
DE2254913A1 (de) | Verfahren zur erzeugung graphischer darstellungen aus parametrischen daten | |
DE1294074B (de) | Zeichenerkennungsvorrichtung mit spaltenweiser Abtastung | |
DE2546506C2 (de) | Digitaler Videogenerator für eine zeilenweise Darstellung eines Kegelschnittes auf einem Fernsehbildschirm | |
EP0060312B1 (de) | Verfahren zur partiell glättenden Retusche bei der elektronischen Farbbildreproduktion | |
DE3216354A1 (de) | Schaltungsanordnung zur steuerung eines korpuskularstahls | |
DE2113264C3 (de) | Verfahren zum automatischen Erkennen zweidimensionaler Muster mit Hilfe von Momenten zweiter Ordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |