DE3417407A1 - Kreisgenerator fuer eine graphische anzeigeeinheit - Google Patents

Kreisgenerator fuer eine graphische anzeigeeinheit

Info

Publication number
DE3417407A1
DE3417407A1 DE3417407A DE3417407A DE3417407A1 DE 3417407 A1 DE3417407 A1 DE 3417407A1 DE 3417407 A DE3417407 A DE 3417407A DE 3417407 A DE3417407 A DE 3417407A DE 3417407 A1 DE3417407 A1 DE 3417407A1
Authority
DE
Germany
Prior art keywords
coordinates
point
bit data
circle
angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE3417407A
Other languages
English (en)
Other versions
DE3417407C2 (de
Inventor
Katsuro Akishima Tokio/Tokyo Hashidate
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP8146783A external-priority patent/JPS59206937A/ja
Priority claimed from JP58081468A external-priority patent/JPS59206980A/ja
Priority claimed from JP58081469A external-priority patent/JPS59206884A/ja
Priority claimed from JP8147183A external-priority patent/JPS59206981A/ja
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of DE3417407A1 publication Critical patent/DE3417407A1/de
Application granted granted Critical
Publication of DE3417407C2 publication Critical patent/DE3417407C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control 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/06Control 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/08Control 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/10Control 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/22Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using plotters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Description

Kreisgenerator für eine graphische Anzeigeeinheit
Die Erfindung betrifft einen Kreisgenerator (ein- -- schließ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 Zeitbedarf zur Berechnung der Sinus- und Kosinuswerte ist jedoch hoch. Deshalb ist es bekannt, zum Ziehen eines angenäherten Kreises ein eingeschriebenes regelmäßiges Vieleck mit vorbestimmtem Innenwinkel zu verwenden. Auch werden Umfangspunkte eines Quadranten berechnet und für die übrigen Quadranten aufgrund der Symmetrie bezüglich der x-Achse und y-Achse und des Ursprungs gebildet, was das Ziehen des Kreises beschleunigt.
Im einzelnen heißt dies, daß nach Berechnung eines gewünschten Punktes zum Bestimmen der Punkte symmetrisch zu dem berechneten Punkt bezüglich der x-Achse, der. y-
QO Achse und des Ursprungs nur eine Vorzeichenänderung erforderlich ist, falls der Mittelpunkt des sich ergebenden Kreises mit dem. Ursprung des X-Y-Koordi natensysterris zusammenfällt. Ist dies jedoch nicht der Fall, dann müssen Koordi nalendatf-n π nt. sprechend dem Krei smi ttelpunkt in einem Speicher gespeichert werden, und es muß
ORiQsNAL
eine Addition und Subtraktion bezüglich der Daten des Ursprungs durchgeführt, werden. Die Verarbeitung wird somit kompIiziert und geht auf Kosten der Verarbeitungsgeschwindigkeit.
5
Wird andererseits ein Kreis als eingeschriebenes regelmäßiges Vieleck gebildet, dann würden die Kosinus- und Sinuswerte in vorgegebenen Abständen etwa um 5, 10 oder 15° berechnet, wobei der Abstand umso kleiner sein muß, je größer der abzubildende Kreis ist. Ein unter Verwendung eines regelmäßigen Vielecks gebildeter Kreis ist für einen Personalcomputer ausreichend genau. Soll jede oh ein Winkel zwischen dem Bezugspunkt (Ursprung) und dem Anfangspunkt eines Kreisbogens und einer End-Winkelposition berechnet werden, dann sind die Abstände von 5, 10 oder 15° nicht ausreichend. Es ist ein geringerer Abstand erforderlich, so daß die Speicherkapazität der Tabelle erhöht werden muß, was umständlich ist. Auch sind in der Tabelle nur- Sinus- und Kosinuswerte im Bereich von 0 bis 90° gespeichert. Die zentrale Verarbeitungseinheit od.dgl. muß deshalb feststellen, ob der Sinus- oder Kosinuswert positiv oder negativ ist. Wenr außerdem vier Punkte, nämlich ein Bezugspunkt und drei weitere Punkte symmetrisch dazu gleichzeitig in dem X-Y-Koordinatensystem gezeichnet werden sollen, dann können die symmetrischen Punkte dem Quadranten des X-Y-Koordinatensystems entsprechen oder auch nicht. Nachteilig ist ferner, daß bestimmt werden muß, ob jeder der vier Punkte aufgezeichnet wurde oder nicht, was die Verarbeitungszeit verlängert. Im Falle des gleichzeitigen Zeichnens aller vier Punkte in dem X-Y-Koordinatensystem wird die Berechnung nur für den Punkt des ersten Quadranten durchgeführt, d.h. für den Punkt P (+x, +y). Wenr. dann die Vorzeichen der Koordinaten beim Zeichnen eirif^r. Kreisbogens zu beachten sind, dann wird die Kreis-
BAD ORIGtNAL
/iff-
"öogenerzeugungsverarbeitung kompliziert.
Der Erfindung liegt deshalb die Aufgabe zugrunde., einen Kreisgenerator anzugeben, der einen Kreis mit hoher Geschwindigkeit unter einfachem Berechnen von Punkten auf den; gewünschten Kreis ermöglicht, ohne daß die Koordinatendaten des Mittelpunkts des gewünschten Kreises gespeichert werden müssen, auch wenn der Kreismittelpunkt nicht mit dem Ursprung des X-Y-Koordinatensystems zusammenfallt.
Ferner soll ein Kreisbogengenerator angegeben werden, der einen Kreisbogen mit hoher Geschwindigkeit unter Berechnung eines Statusbits und eines Positionsbits gemäß einer logischen Schaltungsanordnung und durch Bestimmen erzeugt, ob die Kreisbogendaten gemäß der logischen Verarbeitung gezeichnet wurden.
Gemäß der Erfindung werden x- und y-Koordinatendaten des äußersten rechten und äußersten linken Punktes auf einem Kreis in einem angegebenen Koordinatensystem gemäß den Koordinatendaten berechnet, die von einem digitalen Differenzanalysierer DDA stammen, sowie gemäß Radiusdaten-Aucn werden die x- und y-Koordinatendaten in dem vorgegebenen Koordinatensystem auf der Basis der x- und y-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.
Ist ein Anfangswinkel und ein Endwinkel eines Kreisbogens vorgegeben, dann werden"ein Quadrant,zu dem äer Endwinkel gehört, auszulassende Quadranten und alle zu beschreibende Quadranten festgestellt, wodurch sich eine
Statusbitkarte ergibt. Auch werden die augenblicklichen KoorJinatendaten mit den otartpunkt-Koordinatencatcn und den Endpunkt-Koordinatendaten verglichen und eine Positionsbitkarte erstellt. Das Statusbit wird mit dem Positionsbit UND-verknüpft, so daß sich Steuerdaten für die Kreisbogenerzeugung ergeben.
Diese Aufgabe wird gemäß der Erfindung gelöst durch einen TCreisgenerator, der gekennzeichnet ist durch: einen digitalen Differenzanalysierer zum Empfangen eines Radius eines Kreises und zum Erzeugen von X- und Y-Koordinaten auf dem Kreis mit dem Ursprung als Mitteipunkt,
eine erste Vorrichtung zum Empfangen des Radius und einer Achsenkoordinate 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 Einachsenkoordinaten 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 von vier Punkten auf dem gewünschten Kreis, die symmetrisch bezüglich des Punktes der speziellen Koordinaten sind gemäß den von dem digitalen Differenzanalysierer erzeugten X- und Y-Koordinaten
Ausführungsbejspiele des erfindungsgemäßen Kreisgenerators werden nachstehend unter Bezugnahme auf die Zeichnung beschrieben. Es zeigen:
EPO COPY
■ ι Fig. 1Ä und 1B Darstellungen zur Erläuterung einer Kreisbogenerzeugungsverrichtung bei einem bekannten digitalen Differenzanalysierer (DDA),
Fig. 2 ein Blockschaltbild einer Schaltung eines Kreisbogengenerators gemäß einer Ausführungsform der Erfindung,
Fig. 3 ein -Blockschaltbild eines DDA im einzelnen IQ und eine Koordinatensteuereinheit in dem Generator nach Fig. 2,
Fig. H eine Darstellung zur Erläuterung eines Kreiserzeugungszustands ,
Fig. 5 ein detailliertes Blockschaltbild einer
Übertragsfeststelleinheit gemäß Fig. 3,
Fig. 6 eine Darstellung eines Kommapositions-2Q 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. 10A und 10B zueinander komplementäre Kreisbögen ,
Fig. 11 eine Tabelle, die eine Statusbitkarte der entsprechenden Quadranten in dem Koordinatensystem darstellt,
EPO COPY
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. 13A - Ί3Ε Flußdiagramme zur Erläuterung der Arbeitsweise des Kreisgenerators nach Fig.?,
Fig. 14 eine Darstellung zur Erläuterung eines ganzen Kreises,
Fig. 15 eine Darstellung zur Erläuterung der Beziehungen zwischen der augenblicklichen x-Koordinate χ und der Anfangspunkt - x-Koordinate χ und zwischen der augenblicklichen x-Koordinate χ und der Endpunkt-
x-Koordinate χ ,
e'
Fig. 16A - 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 Flufö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-Kreisbogenerzeugungstechnik, wobei DDA bedeuten soll digitaler Differenzanalysierer. Zuerst sei schematisch die Arbeitsweise des DDA erläutert. Gemäß Fig. 1 sei angenommen, daß ein Punkt P (x , y ) auf einem Kreis mit einem Radius r liegt. Wenn dieser Punkt um einen Winkel £Q gegen den Uhrzeigersinn längs des Kreises
verschoben wird, dann ergibt sich ein Punkt P , (* ·,,
ΓΙ + I Ti ■+■ I
y^ ·...} gemäß folgender Berechnung:
Xn+1 r rcos(0 + Δ0)
= rcosOcos^O - rsinOsinAö
= XnCOsAO - ynsinAQ ...(1)
y 1 = rsin(0 + AQ)
= rsinOsinAQ + rcosOcosAö
= y cosÄO + χ sinÄQ ...(2)
η η
In den Gleichungen (1) und (2) ist der Winkel Λθ sehr klein. Für cosAö = 1 und sinAo = gleich AQ ergibt sich
xn.+ 1 = xn -Δθ*^η
yn+1 = yn + Δθ'χη
Ersetzt man 4© - £ = 2~ (wobei m eine positive ganze Zahl ist) dann.ergeben sich die Gleichungen:
η+ 1ηη
yn+1 = yn + E *Xn ...(4)
für 2m"1 ^r <2m
Werden diese Gleichungen (3) und (4) jedoch ohne Modifikation verwendet, dann divergieren sie. χ in
Gleichung (*1 ) muß ersetzt werden durch χ ...Die
Gleichungen (3) und (J4) werden dann umgeschrieben als
xn+1 = xn - £'yn . -"^
yn+1 = yn +e'Xn ' --·(6)
EPO COPY
Es ist bekannt, daß Werte für einen im wesentlichen echten Kreis au? den Gleichungen (5) und (6) auf diese Weise abgeleitet werden können.
Gemäß Fig. 2 besitzt der Kreis- und Kreisbogengenerator der Ausführungsform einen Mikroprozessor 1, einen digitalen Differenzanalysierer DDA 3» eine Koordinaten-Steuereinheit 5 und eine Kreisbogensteuereinheit 7. 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 13E durchführt; einen RAM-Speieher 11, der als Arbeitsspeicher Verwendung findet ; eine zentrale Verarbeitungseinheit CPU 15 zum Steuern des DDA 3 der Koordinatensteuereinheit 5 unter der Kreisbogensteuereinheit 7 gemäß dem in dem ROM-Speicher 9 permanent gespeicherten Programms; einen Eingangs-ZAusgangsanschluß 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 Modelll 8049 der Firma Intel Corp. USA. Der Mikroprozessor 1 gibt x- und y-Koordinaten des Kreismittelpunkts an einem Punkt mit speziellen Koordinaten sowie Daten für den Radius R* des Kreises an einem Puffer 17 ab. Der Mikroprozessor 1 führt auch Übertragsdaten und Initialisierungsd:aten (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 DDA3 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 empfängt Anfangs- und
EPO COPY A
1. Endewinkel vom Mikroprozessor 1 sowie den Radius R vom DPA :■ und r.tellt fest, welcher Quadrant bzw. welche Quadranten zur. Darstellung des Kreises oder Kreisbogens verwendet werden. Die Kreis- bzw. Kreisbogendaten von der Koordinatensteuereinheit 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-y-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 x-Register 23 speichert x-Koordinatendaten, wie sie vom Benutzer über den Mikroprozessor 1 und eine Torschaltung G1 angegeben wurden. Ein y-Register 25 speichert y-Koordinatendaten, wie sie über eine Tor-Schaltung G2 vom Mikroprozessor 1 angegeben wurden. Ein R-Register 27 speichert Daten, die den Kreisradius darstellen und die über eine Tor-Schaltung G3 vom Mikroprozessor 1 zugeführt wurden. Die x- und y-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 x- und R-Register 23 und 27 gespeicherten Daten werden einem Addierer 29 über Tor-Schaltungen G4 und G5 und einem Subtrahierer 31 über Tor-Schaltungen G6 und G7 zugeführt. Ein Summersausgang von dem Addierer ?9 iot über die Tor-Schaltunr, G8 an ein χ R-Regist er 33 gelegt. Die in das x„-Rer,i r.ter 33
eingebrachten Daten entsprechen den x-Koordinaten des ersten und vierten Quadranten A1 und Am gernäii Fig. 4. Diese Daten werden an den Eingang des xp_Fegisters 33 über eine Tor-Schaltung G9 und eine -!-Schaltung 35
und über eine Tor-Schaltung G10 an ein UND-Glied 123
(Fig. 9) zurückgeführt. Der Subtrahierer 31 führt die Subtraktion (x - R) durch. Das Subtraktionsergebnis
wird an ein X -Register 37 über eine Torschaltung GI1 angelegt. Die Daten in dem X -Register 37 stellen die x-Koordinaten des zweiten und dritten _Quadranten A2 und A3 in Fig. 4 dar. Diese Daten werden an den Eingang
des X,-Registers 37 über eine Tor-Schaltung G12 und
eine +1-Schaltung 39 und über eine Tor-Schaltung G13
an ein UND-Glied 121 -(Fig. 9) zurückgeführt.
Andererseits werden die in dem y-Register 25 gespeicherten Daten einem yn„-Register 41 über eine Tor-Schaltung GI1J und einem y.jr-Register 43 über eine Tor-Schaltung G15 zugeführt. Die Daten in dem y „-Register 4 stellen die y-Koordinaten im ersten bzw. zweiten Quadranten A1 bzw. A2 dar und werden an den Eingang des Registers über eine Tor-Schaltung 16 und eine +1-Schaitung 45 zurückgeführt. Diese Daten werden auch
an ein UND-Glied 117 (Fig. 9) über eine Tor-Schaltung G18 angelegt. Die Daten in dem y„D-Register 43 stellen die y-Koordinaten im dritten bzw. vierten Quadranten A3 und A4 gemäß Fig. 4 dar. Diese Daten werden an den Eingang des yUD~Registers 4ß über eine Tor-Schaltung G17 und eine -1-Schaltung 47 sowie über eine Tor-Schaltung G19 an ein UND-Glied 119 (Fig. 9) zurückgeführt.
Die Daten im R-Register 27 werden einem /\x-Register 49 über eine Tor-Schaltung G20 zugeführt. Die Daten in dem /ix-Register 49 werden über eine Tor-Schaltung G21 einer -1-Schaltung 51 zugeführt, deren Ausgangswert an
COPY Jf
das £x-Register 49 angelegt wird. Die Daten in dem &x-Rerister hg wpr'ien auch über eine Tor-Schalturig G22 an einen Null-Detektor 53 angelegt. Ein Ausgangssignal des Null-Detektors 53 wird dem -Mikroprozessor 1 zugeführt. Die Daten im Δχ-Register 49 werden über eine Tor-Schaltung G23 an einen Addierer 55 gelegt, dessen Ausgangssignal an ein R -Register 57 über eine Tor-Schaltung G24 angelegt wird. Der Mikroprozessor 1 führt 0,5 als- Übertragsdaten über eine Tor-Schaltung G25 dem R -Register 57 zu. Die Daten im R -Register 57 - gelangen über eine Tor-Schaltung G26 an den Addierer 55 und über eine Tor-Schaltung G27 an eine Übertragsfeststelleinheit 59. Wenn diese ein Übertragssignal von dem R -Register 57 feststellt, dann legt sie ein Tor-Steuersignal an die Tor-Schaltungen Gi6, G17 und G29, um diese durchzuschalten.
Initialisierungsdaten, nämlich 0, werden von Mikroprozessor 1 an ein ^\y-Register 61 über eine Tor-
Schaltung G28 angelegt. Das Ausgangssignal vom Ay-Register 61 wird seinen Eingang über eine Tor-Schaltung G29 zurückgeführt, die von einem Ausgangssignal der Übertragsfeststelleinheit 59 gesteuert wird, sowie über eine +1-Schaltung 63- Gleichzeitig wird der Ausgangswert des /\y-Registers 61 einem R -Register 67 über eine Tor-Schaltung G30, einen Addierer 65 und eine Tor-Schaltung G31 zugeführt. Die Übertragsdaten 0,5 werden vom Mikroprozessor 1 über die Tor-Schaltung G32 an das R -Register 67 angelegt. DJe Daten im R^-Register 67 werden dem Addierer 65 über eine Tor-Schaltung und über eine Tor-Schaltung G3^ einer Übertragsfeststelleinheit 69 zugeführt. Die Übertragsfeststelleinheit 69 stellt das Vorhandensein eines Übertragssignals in dem R -Register 67 fest. In diesem Falle legt die Übertragsfeststelleinheit 69 ein Torsteuersignal an
die Tor-Schaltungen G9 , G1? und G21, so daß diese durchgeschallt werden. Die Tor-Schaltungen G 9, GI? und G21 werden von der Übertragsfeststelleinheit 69 und die Torschaltungen G16, G17 und G29 durch die Übertragsfest-Stelleinheit 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 detalliertes Blockschaltbild der Übertragsfeststelleinheiten 69 und 69 sind in Fig. 5 veranschaulicht. Ein Korrekturregister 71 empfängt 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 G72 einem Addierer zugeführt. Der Ausgangswert eines Arbeitsregisters 75 wird über eine Tor-Schaltung G73 dem Addierer 73 zugeführt. Der Addierer 73 addiert die Inhalte des Korrekturregisters 71 und des Arbeitsregisters 75- Die Summe wird über die Torschaltung G71 an das Arbeitsregister angelegt. Die in dem Arbeitsregister 75 gespeicherten Daten werden über die Torschaltung G7^ an einen Übertragsdetektor 77 angelegt, öer das Vorhandensein eines Übertragssignals feststellt. Es ist zu beachten, daß die Torschaltungen G71 bis G7^ in der Übertragsfeststelleinheit 59 unter Ansprechen auf das von dem R-Register 57 der Fig. 3 über die Torschaltung G 27 zugeführte Übertragssignal gesteuert werden. In ähnlicher Weise werden die Tor-Schaltungen in der üoertragsfeststelleinheit 69 unter Ansprechen auf das von dem R -Register 67 der Fig. 3 über d.i e Torschaltung G3a angelegte Übertragssignal gesteuert.
} Bei einem derartigen Aufbau der Übertragsfeststelleinheit 59(bzw. 09) wird bei einem Verhältnis des longitudinalen Punktabstands 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 ^ in Position D ~ (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 R -Register 57 über die Tor-Schaltung "27 der Übertragsfeststelleinheit 59 zugeführt wird, dann werden die Torschaltungen G71 bis Gjn 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 Arbeitsregi-ster 75 eingeschrieben. Die im Arbeitsregister 75 gspeicherten Daten werden nun durch den Übertragsdetektor 77 daraufhin geprüft, ob ein Übertragssignal vorhanden ist. Der Übertragsdetektor 77 stellt ein Übertragssignal auf der Basis der Dezimalposition D 9 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 Addierer 73 7,um Inhalt 1000 des Arbeitsregisters 75 addiert und die Summe 10000 wird in das Arbeitsregister 75 eingeschrieben. lot Bit '-J Mas fünfte Bit) eingestellt, dann erzeugt der· übertrap;r.-detektor 77 ein Übertragsfeststel 1 sip;ua 1 und schal tot die Tor-Schaltungen G16, G17 und G29 der Fig. 3 durch.
BADOFUGINAL
Fig. 8 stellt ein detailliertes Blockschaltbild zur Erläuterung der Arbeitsweise der Kreisbogensteuereinheit 7 dar. Ein X ^Register 79 speichert von dem /jx-Register ^9 der Fig. 3 über eine Torschaltung G35 zugeführte Daten. Ein Anfangswinkelregister 81 speichert einer, vom Mikroprozessor 1 über eine Tor-Schaltung G1II zugeführten Anfangswinkel. Ein Endwinkelregister 83 speichert einen von dem Mikroprozessor 1 über eine Tor-Schaltung G^2 zugeführten Endwinkel. Die Anfngs- und..
Endvcinkeldaten in den Registern 81 bzw. 83 werden einem Status-ßitgenerator 85 über Torschaltungen GH3 bzw. GHU zugeführt. Der Status-Bitgenerator 85 erzeugt ein 4-Bit-Statusbit gemäß den Anfangs- und Endwinkeldaten. Das sich ergebende 4-Bit-Statusbit wird in einem Statusbitregister 87 eingestellt. Das in dem Stausbitregister 87 eingestellte Statusbit wird über eine Tor-Schaltung G45 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 G46 bzw . G47 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 x~- Register 79 werden auch diesem Positions-3itgenerator 95 über eine Tor-Schaltung G48 zugeführt. Der Positions-Bitgenerator 95 erzeugt vier Bit-Positionsdaten, die dann in einem Positions-Bitregister 97 eingestellt werden. Die Daten in dem Positions-Bitregister 97 werden über eine Tor-Schaltung G^9 und .ein UND-Glied 89 dem Register 91 zugeführt. Ausgangssignale von den entsprechenden Ziffern des Registers 91 werden direkt den ODER-Gliedern 101, 103, 105 und-107 über Torschaltunken G50 bis G53 und indirekt über Torschaltungen G 5-1J
EPO COPY
bis G57 und NOR-Glieder 109, 111, 113 bzw. 115 den ODER-Gliecern 101, 103, 105 und 107'zugeführt. Die Tor-Schaltungen G50 bis G53 und G54 bis G57 werden unter Ansprechen auf ein Ausgangssignal von einer Bestimmungsschaltung 99 gesteuert. Die Bestimmungsschaltung 99 vergleicht den vom Register 81 über eine Tor-Schaltung G58 zugeführten Anfangswinkel mit dem vom Register über eine Torschaltung 59 zugeführten Endwinkel. Ist der Anfangswinkel-größer als der Endwinkel, dann werden die Tor-Schaltungen G5^ bis G57 durchgeschaltet. Ist jedoch der Anfangswinkel kleiner als der Endwinkel , dann werden die Tor-Schaltungen G50 bis G53 aktiviert. Ausgangssignale von den ODER-Gliedern 101, 103, 105 und 107 werden als Kreisbogensteuersignale des ersten bis vierten Quadranten der Halteeinheit 19 (Fig. 2) zugeführt.
Fig. 9 zeigt ein detailliertes Schaltbild der Halteeinheit 19 der Fig. 2. Ein Nicht-Null-Detektor empfängt die von den ODER-Gliedern 101, 103, 105 und 107 cer Fig. 8 zugeführten Kreisbogensteuerdaten A1 bis AM. Der Nicht-Null-Detektor 125 prüft die vier Bit-KreisDogensteuerdaten aller vier Quadranten, ob alle Bits Null sind oder nicht. Ist eines der Bits der vier Bitdaten auf 1, dann veranlaßt der Nicht-Null-Detektor 125 eine Durchschaltung einer entsprechenden der Tor-Schaltungen G58, 059, G60 und G61, 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 empfängt das ODER-Glied 129 ein Zeitgabesignal. Wenn die Kreisbogensteuerdaten dem dritten und/oder vierten Quadranten entsprechen, dann - empfängt das ODER-Glied 131 das Zej.tgabesignal . Wenn in ähnlicher Wei-
EPO COPY
ce da:.; Kreisbogen:.teuersigna] dem zweiten und/oder dritten Quadranten entspricht, uann empfängt, das ODER-Glied 133 das~Zeitgabesignal. Wenn schließlich das KreisDogensteuersignal dem ersten und/oder vierten Quadranten entspricht, dann empfängt das ODER-Glied das Zeitgabesignal. Alle Ausgangssignale der ODER-Glieder 129, 131, 133 und 135 werden einem Eingang eines entsprechenden der UND-Glieder 117, 119, 121 und 123 zugeführt. Die in dem y ....-Register 41 dem y....-Register
2Q 43, dem x,-Register 37 und dem x^-Reg^ster 33 gespeicherten Daten werden dem anderen Eingang eines entsprechenden der UND-Glieder 117, 119, 121, 123 über eine entsprechende der Tor-Schaltungen GiS, G19, G13 und G10 zugeführt. Sind somit Kreisbogendaten, die in dem ersten
-,ρ- und zweiten Quadranten zu zeichnen sind, vorhanden, dann erzeugt das UND-Glied 117 positive y-Koordinatendaten. Sind die Kreisbogendaten in dem dritten und vierten Quadranten zu zeichnen, dann erzeugt das UND-Glied negative y-Koordinatendaten. Sind die Kreisbogendaten
2Q 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-Glieder 117, 119, 121 und 123 werden einer Halteschaltung 137 zugeführt, die vorbestimmte Kreisbogenkoordinatendaten unter Ansprechen auf vom Zeitgabegenerator 127 zugeführte Zeitgabesignale erzeugt.
„Q Die Arbeitsweise der Kreisbogen-Steuereinheit 7 gemäß Fig. 8 soll nun erläutert werden.
Der Mikroprozessor 1 stellt den Anfangs- und Endwinkel des Kreisbogens und seinen Radius gemäß eines
OK Benutzerbefehls (8) fest:
35
CIRCLE(X,y;,RADIUS,START ANGLE1END ANGLE ...(8) wobei χ un<3 y die x- und y-Koordina ten sind, die vom Benutzer aufgerufen werden und dem Mittelpunkt des KreisbcgriS entsprechen, wobei RADIUS der Radius des Kreisbogens START ANGLE der Anfangswinkel des Kreisbogens und END ANGLE der Endwinkel des Kreisbogens ist.
Der Mikroprozessor 1 muß feststellen, in welchem Quadranten der durch den Befehl angegebene Anfangs- und Endwinkel liegt. Diese Feststellung- kann aufgrund folgender Berechnung durchgeführt werden: Fällt, wie in Fig. 10A der Anfangswinkel 0 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 Endwinkels durchgeführt. Als nächstes werden die Koordinaten (x , yo) des Anfangspunkts und die Koordinaten
(χ ν ) des Endpunkts bestimmt. Die x-Koordinaten χ e* e s
des Anfangspunkts werden gemäß cos (radius/x ) = Anfangswinkel, bestimmt. Die x-Koordinate χ kann auf die gleiche Weise berechnet werden. Auch wird die y-Koordinate des Anfangs- bzw. Endpunkts gemäß sin (Radius/y oder y )= Anfangs- bzw. Endwinkel, berechnet.
5 fci
Die Kreisbogensteuerdaten werden dann gemäß dem festgestellten Ergebnis erzeugt, um zu bestimmen, in welchem Quadranten die zu zeichnenden Anfangs- und Endpunkte liegen. Die Kreisbogenr.teuerdaten bestehen au: Statusbitdaten und Positionsbi tdaten. Die Statur.-
COPV
bitdaten bestehen aus fünf Zuständen, deren Bitkonfiguration in Fig. 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ß alle Kreisbogendaten in einem gegebenen Quadranten liegen. Soll beispielsweise ein Kreisbogen gemäß Fig.—-10A 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. 10A entspricht dieser Quadrant dem ersten Quadranten A1. Somit wird in diesem Falle das LSD-Bit (Bit 0) gesetzt.
(3) END ANGLE - Status zeigt an, daß der Endwinkel in einen gegebenen Quadranten fällt. In Fig. 10A bedeutet dies, daß der gegebene Quadrant der vierte Quadrant AU ist. In diesem Falle wird Bit 1 gesetzt.
(H) SKIP - Status zeigt an, daß in einen gegebenen Quadranten keine Kreisbogendaten zu zeichnen sind. Der zweite und dritte Quadrant A2 und A3 in Fig. 10B 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.
EPO COPY
} Die angegebenen Status-Konfigurationen werden auf den Fall angewendet, bei dem der Anfangswinkel 0 kleiner
- — - S
als der Endwinkel 0 ist. Ist jedoch der Anfangswinkel O0 größer als der Endwinkel 0 (d.h., wenn ein Kreisbogen gemäß Fig. 1OB zu zeichnen ist), dann werden die Status-Konfigurationen zum Zeichnen des Kreisbogens gemäß Fig. 10A invertiert.
Die Positionsbitdaten werden als Daten zur Bestimmung erzeugt, ob die Kreisbogendaten in.Punkteinheiten zu zeichnen sind oder nicht, nachdem die augenblickliche x-Koordinate χ verglichen wird mit den x-Koordinaten xo und χ 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 dritten Quadranten oder zweiten und vierten Quadranten angewandt, da das Paar aus dem ersten und dritten Quadranten sowie das Paar aus dem zweiten und vierten Quadranten symmetrisch bezüglich des Ursprungs sind, so daß nur die Vorzeichen umzukehren sind. Auf diese Weise kann für jedes Paar die gleiche Berechnung durchgeführt werden. Vier Arten von Positionsbitda'ten können wie folgt definiert werden:
U) A1 A2 ' A3 A4
1111 1000 1111 1000
wobei (Absolutwert der x-Koordinate den Endpunkte <c (x-Koordinate des augenblicklichen Punkts) < (x-Koordinate des Anfangspunkts
35
(2) Α1 Ä2 A3 A4
1001 1010 1001 1010
wobei (x-Koordinate des augenblicklichen Punkts) solutwert der x-Koordinate des Anfangs-punkts) und (x-Koordinate des augenblicklichen Punkts) <■ (x-Koordinate des Endpunkts)
(3)" Al A2 A3 A4
1010 1001 1010 1001
wobei (xrKoordinate des augenblicklichen Punkts )"> (der Absolutwert der x-Koordinate des Anfangspunkts) und (x-Koordinate des augenblicklichen Punkts) -y_ (Absolutwert der x-Koordinate des Endpunkts)
(4) A1 A2 ■ A3 A4
1000 1111 1000 1 1 11
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 Fig.12A und 12B für das Paar erster und dritter Quadrant sowie das Paar zweiter und vierter Quadrant ausgedrückt.
Anhand der Fig. 13A bis 13E-wird nun die Arbeitsweise des Kreis- bzw. Kreisbogengenerators erläutert. Es sei angenommen, daß ein Kreis darzustellen ist. In Schritt 141 der Fig. 13A wird ein Benutzerbefehl für die Darstellung eines Kreises (gegebenenfalls
-■ 1 Ellipse) oder Kreisbogens festgestellt. In Schritt stellt der Mikrocomputer fest, ob der Benutzerbefehl sich auf einen Kreis oder einen Kreisbogen richtet. Soll ein Kreis dargeteilt werden, dann wird die x-Koordinate, die y-Koordinate-und der Radius R im Schritt 145 über die Torschaltungen G1 ·, G2 bzw. G3 in das x-Register 23, das y-Register 25 und das R-Register 27 geladen. Wird beispielsweise ein 8-Punkt-Kreis gezeichnet, dann ist gems£ Fig. 6 ist die O-Bit-Position als Kommaposj tion D gegeben und der Binärwert 1000 (Dezimal 8) wird in dem R-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 Torschaltungen G4, G5, G6, G7, G8 und GII. Die Inhalte des x-Registers 23 und des R-Registers 27 werden mittels des Addierers 29 addiert und die Summe wird dann in dem xR-Register 33 eingestellt. Gleichzeitig wird der Inhalt des x-Registers 27 von demjenigen des R-Registers 23 abgezogen und das Subtraktionsergebnis wird in das χ -Register 37 geladen.
Auch öffnet der Mikroprozessor 1 die Torschaltungen GI^ und G15, um die y-Koordinatendaten in das yOy-Register 41 und das y..r Register 43 zu laden. Im Schritt 149 öffnet der Mikroprozessor 1 die Torschaltungen G10, G13, G18 und G19, um die x- und y-Koordinatencaten in den xR-Register 33 dem >:. -Register 37, dem yov-Register 4 1 und dem y„ -Register 43 über die UND-gliener 117, 119, 121 und 133 und die Halteschaltung (Fig. 9) der Anzeigeeinheit 21 zuzuführen. Zu diesem Zeitpunkt sind die y-Koordinatendater: des Mittelpunkts 0 in den yC)V- und y,.--Registern ohne Modifikation ge-
Cu?
speichert und ein Maximalpunkt P längs der x-Achse. der euren den Inhalt des xR-Regipters 33 angegeben wird, und ein Minimumpunkt P-, längs der x-Achse , der durch den Inhalt des x.-Registers 37 angegeben wird, wird gemäß Fig. ^ gezeichnet.
In Schritt 151 öffnet der Mikroprozessor 1 die Torschaltung G?0 , um den Radius R aus dem R-Register in das Ax-Register ^9 zu übertragen. Der Mikroprozessor 1 öffnet dann die Torschaltungen G25, G32, G28, um die Übertragsdaten 0,5 in den R - und R -Registern 57 bzw. 67 und den Anfangswert 0 in dem<Ly-Register 61 einzustellen. Die Übertragsdaten werden dann in die R und R -Register 57 und 67 eingeschrieben, so daß das Komma, wie in Fig. 6 gezeigt, in der Bit 4 ^D D2'~ Position angeordnet wird. Der Binärwert 1000 wird in die entsprechenden Register eingeschrieben. Im Schritt 153 werden die Torschaltungen G30, G33 und G31 geöffnet, wodurch die in dem Ay-Register 61 und dem R -Register gespeicherten Daten mittels des Addierers 65 zu addieren. Die Summe wird in das R -Register 67 eingeschrieben. Im vorliegenden Falle ergibt sich eine Binäraddition von 0000 + 1000 = 1000. Der Binärwert 1000 wird in das R -Register 67 eingeschrieben. Im Schritt 155 öffnet der Mikroprozessor 1 die Torschaltung G34, um den Inhalt des R -Registers 67 auszulesen und der Übertragsfeststelleinheit :69 zuzuführen, die feststellt, ob ein Übertragssignal vorhanden ist oder nicht. Die Übertagsaatenfeststellung wird derart durchgeführt, daß die Kommaposition in der D ?-Fosition in der gleichen Weise eingestelt wird, wie das Einschreiben der Übertragsdaten gemäß Fig. 6. Wenn der Inhalt des R -Registers auf 1000 eingestellt ist, dann wird kein Übertragsfeststellsignal erzeugt. Wenn somit kein Übertragssignal vorhanden äst, dann geht der Ablauf zu Schritt 171.
BAD OBlGiNAL
um die Torschaltungen G23, G26 und G24 zu öffnen. Die Inhalte 1000 des {\ x-Registers 49 und des Π -Registers
werden durch den Addierer 55 addiert. Die Summe 10000 wird in das R -Register 57 eingeschrieben. Im Schritt öffnet der Mikroprozessor die Torschaltung G27 , um den Inhalt des R -Registers 57 auszulesen und an die Übertagsfeststelleinheit 59 anzulegen, damit festgestellt wird, ob ein Übertragssignal vorhanden ist. Diese Feststellung wird derart durchgeführt, daß die Kommaposition in der D „-Position eingestellt wird, in der gleichen Weise wie bei der ubertragsfeststelleinheit 69- Ist der Inhalt des R -Registers 57 auf 10000 ein-
gestellt und Bit 1 ist in der D „-Position eingestellt, dann erzeugt die Übertragsfeststelleinheit 59 das Übertragsfeststellsignal. Dieses Übertragsfeststellsignal schaltet die Torschaltung G29 durch. In Schritt Ί 69 wird der Inhalt 0000 des Ay-Registers 61 mittels der +1-Schaltung 45 um eins erhöht. Die +1-Schaltung erzeugt die Daten 0001. Im Schritt 175 öffnet der Mikroprozessor 1 die Torschaltungen G72 und G73 in der Übertragsfeststelleinheit 59, 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 Korrekturregister ein. Im Schritt 177 wird die Torschaltung G74 (Fig. 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 Torschaltungen G16 und G17 durch. Im Schritt 179 wird der Inhalt des yQ..-Registers 4 1 mittels der +1-Schaltung 45 um 1 erhöht und oer Inhalt des y .„-Registers 43 wird mittels der -1-Schal-
turig J-17 um 1 erniedrigt. Hierauf werden im Schritt. 1fe3 die Torschaltungen GIO, G13, GiB und G19 geöffnet,um die Daten aus dem xR-Register 33 dem x. -Register 37 dem yOy-Register 41 und dem y.„-Register 4 3 über die Halteschaltung 137 der Anzeigeeinheit 21 zur Darstellung der Kreisdaten zuzuführen. Wie Fig. 4 zeigt, werden mittels der Anzeigeeinheit 21 x- und y-Koordinaten im ersten Quadranten A1 gemäß den Inhalten der xR- und yov-Register 33 und 41, die x- und y-Koordinaten im zweiten Quadranten Ä2 gemäß den Inhalten des x. - und yn.r-Register 41 und 37, die x- und y-Koordinaten in dem dritten Quadranten A3 gemäß den Inhalten des x, und yUD~Registers 37 und 4 3 und die x- und y-Koordinaten .im vierten Quadranten A4 gemäß den Inhalten des xD- und y,ir.-Registers 33 und 43
π UJJ
dargestellt. Auf diese Weise werden Kreisdaten bezüglich der PunkteP.. und Pp auf der x-Achse der Fig. 4 gezeichnet. Hierauf wird in Schritt 185 die Torschaltung G22 geöffnet, um den Inhalt des £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 -Ax-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 155 wird bei Erzeugung des Übertragssignals der Inhalt der R — und &y-Register 67 und 61 addiert und der Ablauf geht nach Schritt 157, bei dem die Torschaltung G21 unter Ansprechen auf das übertragsfest-Stellungssignal von der Übertragsfeststelleinheit 69 geöffnet wird, so daß der Inhalt des Ax-Registers mittels der -1-Schaltung 51 um 1 verringert wird. Hierauf werden in Schritt 159 die Torschaltungen 72 und 73 in der übertragsfeststelleinheit 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 Torschaltung G74 geöffnet, so daß der Inhalt des Arbeitsregisters 75 an den Übertragsdetektor 77 angelegt wird. Als Ergebnis wird vom Übertragsdetektor 77 ein Übertragsfeststellsignal erzeugt.
*-Q Das von der Übertragsfeststelleinheit 69 erzeugte Feststellsignal schaltet die Torschaltungen G9 und G12 durch, so daß der Inhalt des xD-Registers 33 mittels
der -1-Schltung 35 um 1 verringert und der Inhalt des x.-Registers 37 mittels der +1-Schaltung 39 um 1 er-1^ höht wird. Der Ablauf geht zu den Schritten 165 und 167, in denen die gleichen Operationen durchgefü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 ßx-Register iig dem Iy-Register 61 dem R -Register 57, dem R -Register 67, den Addierern 65 und 55, der +1-Schaltung 63 und der -1-Schaltung 51 besteht, wodurch DDA-Werte des Kreises mit dem Ursprung als Mittelpunkt berechnet werden. Die DDA-3erechnung wird gemäß den Gleichungen (5) und (6) durchgeführt und die Änderungen in den x- und y-Koordinaten, die sich am DDA ergeben, werden den Registern 33, 37, *Π und H3 zugeführt, so daß sich Kreisdaten der; Punktes Q als Kreismittelpunkt ergeben. Wie in diesp.m Falle FiR. 1J ze ißt, beginnt, der Kreir.bopen an den Punkten P. und P- der x-Achse. Da die oberf und untere Figur symmetrisch zur x-Achse ist, können die Koordinaten der
BAD
"1 beiden Punkte durch eine einzige Operation gleichzeitig erhalten werden. Der Inhalt (Ba'jius R) des /\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. Empfängt 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 Fig .-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 für R ,Lx, R und der x- und
χ y
y-Kocrdinaten ist in Schema I dargestellt. 15
BAD
Tr
Schema I
cy '■■ ; Rx , übertrag)
cy.
ι cy
cy
1000
0000 0000 1000 1000 0000
Ax
! cy
l Übertrag);·
1000
0000
0000
Olli
Olli
1110
1000
looo :
1000 1000 1000 1000
0000 1000 ·
1000 . 1000 ,
1000 :
looo !
Olli
Olli :
oiii
Olli
1110 i Olli
cy Ry
1000
1000
1000
1001
1001
1010
Ay (x, yj
0000
0000 0001©
-oooi
0001 0001
(8, O)
(8,
loio ooio
I
1100 I 0010
ca, 2)
iiOO OClO
1110 0010
1110 0011©;(8, 3)
0001 0011
0001 0011
0100 0011
0100 0011 +
Olli 0011
fortgesetzt
-3ft-
3A17407
cy Rx
Übertrag),
Δχ
cy Ry
Übertrag;
Ay Cx, y)
cy
cy
cy
0101
0101
1100 ■
1100 I
0011
0011
Olli
Olli
Olli
Olli
Olli
Olli
0011 0110
1001
0110
!ίσοι oiio
1111 0110
1111
0101
0101
0110
0110
0101©
1010 ! 0101
1010 ; 0101
1111
1111
0101
cy
Olli
1011
1011
i 1111
1111 1111
cy j 0100 I 0100
1001
I I
j 1001
! mo
1110
0100
0100
1010
1010
0100©' cy 0000 C7, 5)
(6, 5}
0100®! (7,4) 0100
0100 0100
0101© GlOl
0101 0101 0101 0101 0101 0110© 0110 0110 0110 0110 OiIO U, 6)
fortersetzt
C6, S) (5, 6)
EPO GOPY
'"" 3A17407
. X Rx" Δχ © y - Ry Ay C χ, y)
cy
\'J Der trag
0011 0100 cy
Übertrag;
0000 Olli© C 4, 73
cy 0011 0100 0111 Olli
0111 0100 0111 Olli
0111 0100 1110 Olli
1011 0100 © 1110 Olli
1011 0011 0101 Olli 3, 73
1110 0011 cy 0101 Olli
1110 0011 1100 Olli
0001 0011 © 1100 1000© ( 3, 83
cy 0001 0011 1100 1000
0001 0010 0100 1000 C 2, 83
0011 0010 cy 0100 1000
0011 0010 1100 1000
0101 0010 1100 1000
0101 0001 0100 1000 C 1, 83
0110 0001 cy 0100 1000
fortfresetz t
O COPY gM
χ Δχ
(
y 1100
1100
+
0100
Ay Cx, y)
cy Rx _
(Übertrag) -
0001
0001
0000©
CV Ry
Übertrag)
1000
1000
1000
(0, 8)
cy
0110
Olli
Olli
Er O COPY
Eine K re.i γ.Γ.Ί Sehe erhält, man durch Erzeugen von Zeilensegmentoaten zwischen den Koordinaten (xD, yr,,,) - (x, , Yp1Tj) des ersten und zweiten Quadranten Al und A2 und zwischen den Koordinaten (x. , ynr.) - (xD,yMr.)
L. UJJ Π UJJ
des dritten und vierten Quadranten A3 und A4. Bei jeder Erzeugung von Punkten des Kreises wird das entsprechende Zeilensegment zwischen den Punkten durchgezogen. Die Grenze zwischen dem Kreisinneren und -äußeren braucht nicht 'unterschieden zu werden. Eine Kreisfläche oder eine Ellipsenfläche kann somit mit hoher Geschwindigkeit ""■ erzeugt werden.
" Unter Bezugnahme auf die Fig. 13A bis 13E soll das Darstellen eines Kreisbogens beschrieben werden. Die Schritte, die bei der Kreis- oder Ellipsendarstellung bereits beschrieben wurden, sind weggelassen. Zum Darstellen eines Kreisbogens werden im Schritt 187 die Daten in /iX-Register 49 als die x-Koordinatendaten χ in den χ -Register 79 der Fig. 8 über die Torschaltung G35 eingestellt. Der Mikroprozessor 1 stellt die Anfngswinkeldaten 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 der 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 Quadrant.enzeiger auf 0 gestellt. Im Schritt 191 werden die Torr.eha 1 tungen und 059 geöffnet, um der Rest jmmungr.r.eha 1 tung 99 don
EfO üü?Y
Anfangs- und EndwJnkel zuzuführen, die entsprechend ir; dem Anfange- und Endwinkelregister 81 und 83 eingestellt werden. Die Bestimmungsschaltung 99 vergleicht den Anfangswinkel mit dem Endwinkel und bestimmt, ob der An- ° fangswinkel größer als der Endwinkel ist. Ist die Antwort im Schritt 191 JA, dann wird im Schritt 193 der Endwinkel und der Anfangswinkel invertiert. Im Schritt 195 werden von dem Anfangswinkel 90° subtrahiert und das Vorzeichen des sich ergebenden Winkels bestimmt.
1^ Ist der Ergebniswinkel im Schritt 197 -der Fig. 13D nicht negativ, dann gibt der Mikroprozessor 1 an, daß aer Anfangswinkel nicht in einem gegebenen Quadranten liegt. Im Schritt 213 wird eine Statusbätkarte zum überspringen des gegebenen Qua'dranten 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 Schrit 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 Statusbitdaten (0100 in Fig. 11) im Schritt 217 erstellt, wobei die Statusbitdaten wiedergeben, daß der Anfangsund 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 Quacranten liegt. Im Schritt 205 wird der Quadrantenzeiger weitergeschaltet. Hierauf werden von dem positiven Ergebniswinkol wiederum 90° subtrahiert. Bleibt der
EPO COPY
- * \·.Γί'·Λ π i MW j nkt.·] weiterhin in Schritt Γ.Ό9 positiv, dann werden die ALL VJRITE - 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 Anfangswinkel größe als der Encwinkel 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 der x-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 x-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 δΓδΡ (hex) im Schritt 237 eingestellt.
War die Antwort in dem Schritt 225 JA, dann stellt der Mikrocomputer 1 im Schritt 227 fest, ob die augenblickliche x-Koordinate gleich oder größer dem Absclutwert der x-Koordinate des Endpunkts ist. Ist dies der Fall, dann worden 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 Torschaltungen G43 und G44 zugeführt werden, um Statusbitmuster der entsprechenden Quadranten zu erzeugen. Im Falle eines Kreisbogens gemäß Fig. 15 liegt der Anfangswinkel im ersten Quadranten A1 und der Endwinkel im dritten Quadranten A3- Die Statuseinstellungen für die entsprechenden Quadranten sind dann wie folgt:
Erster Quadrant A1 ... START POINT
Zweiter Quadrant A2 ... ALL WRITE
Dritter Quadrant A3 ... DESTINATION POINT
Vierter Quadrant A4 ... 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 Torschaltungen G46 und G47 zugeführt. Der Anfangs- und Endpunktrechner 93 berechnet die Anfangs- und Endpunktpositionen. Ausgangssignale von dem Anfangs- und Endpunktrechner werden dem Positionsbitgenerator 95 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-Koordinate χ außer dem χ -Register 79- Wenn die berechnete Koordinate, d.h.
die Koordinate Daten aus dem χ -Register 79 dem χ
c c
der Fig. 15 entsprechen, werden folgende Ungleichungen erfüllt.
C i- I XS!
xcC Ixel
Die Positionsbitdaten der entsprechenden Quadranten gemäß Fig. IbB werden mit den Positionsbitkarten der Fig. 12A und 12B erstellt und in das Positionsbitregister 97 eingeschrieben."Die Daten aus dem Statusbitregister 87 und dem Positionsbitregister 97 gemäß den Fig. 16A und 16B werden über die Torschaltungen G45 und C-49 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äß Fig. 16A und 16B. Die Ergebnisdaten werden in das Register 91 eingeschrieben. Die Daten des Anfangs- und Endpunktregisters 81 und 83 werden der Bestimmungsschaitung 99 über die Torschaltungen G58 und G59 zugeführt, um zu bestimmen-, ob die Daten im Register 81 größer sind als diejenigen im Register 83. Abhängig vom Ergebnis öffnet die Schaltung 99 die Torschaltungen G50 bis G53 oder G54 bis G57. Die Daten im Register werden über die Torschaltungen G50 bis G53 und die ODER-Glieder 101 bis 107 der Anzeigeeinheit 21 zugeführt. Die Anzeigeeinheit 21 steuert die entsprechenden Quadranten gemäß den zugeführten Daten aus dem Register 91. Insbesondere werden die zutreffenden Daten für den ersten und zweiten Quadranten A1 und A2 (Fig. 16C) für eine Darstellung verwendet. In diesem Falle werden keine der O-Bit-Daten für den dritten und vierten Quadranten A3 und A^ für die Darstellung verwendet.
Bei einer berechneten Koordinate in Fig. 15 als χ ' ergibt sich:
30
x> Kl
EPO COPY M
Der Inhalt des Positionsbitregisters 97 entspricht den Eitdaten in Fig. iGD gemäß den Bitkarten der Fig.12A und 12B. Die ÜND-Verknüpfung zwischen den in Fig. 16D gezeigten Daten und dem Inhalt (Fig. 16A) des Statusregisters 87 wird durchgeführt, um die in Fig. 16E gezeigten Daten zu erhalten. Gemäß dem Inhalt der Dater, gemäß Fig. 16E- werden Punktdaten in den zweiten und dritten Quadranten A2 und A3, nicht jedoch in dem ersten und vierten Quadranten A1 und A1J dargestellt.
Wenn andererseits der Anfangswinkel größer als der Endwinkel ist, dann schaltet das Ausgangssignal der Bestimmungsschaltung 99 die Torschaltungen G54 bis G57 ' 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 Darstellungs- 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 graphisch angezeigt. Diese Figuren können jedoch auch mit einem x-y-Drucker od.dgl. ausgedruckt werden.

Claims (1)

  1. KINKElDEV STOCKMAIR & PARTNER
    PATENTANWÄLTE
    CHV H KINKEL DC^ c»- ·"· ^^f-· W STOt-KMAlR r«** * Df' κ SCHUMANN ri.-, <» F' H .ΙΛΚΟΒ :»'i '·*■-My v. lit/Ol I» w»i -*·« W Mf-'^IEfv ■··- -nc. H nt.. ^PRS ι»"· -■*·
    H" MÜNCHEN 22
    10. Mai 1981 P 18 811
    Kreis-gemerator für eine graphische Anzeigeeinheit
    -Pa te η t a ns ρ r ü c h e
    Π-) Kreisgenerator gekennzeichnet
    durch:
    einen digitalen Differenzanalysierer (DDA) (3) m Empfangen eines Kreisradius und Erzeugen von x- und y-Koordinaten auf dem Kreis mit dem Ursprung als Mittelpunkt,
    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ügl-ich des Radius und der Koordinate, um jeweils die eine Koordinate des äußersten rechten und äußerster; linken Punktes des· gewünschten Kreises zu erhalten unc
    zweite Vorrichtungen (41, 45, 43, 47, 37, 33, 35) zurr. Empfangen der Koordinaten des äußersten rechten un-i äuiai-rsten linken Punktes, die von der ersten Vorricht ur-p;
    BAD
    erzeugt wurden, und der anderen Koordinate des Punktes der speziellen Koordinaten und zum Erzeugen 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 , g e k e ~n η ζ e Γ c h" η e t " durch
    eine Statusbitdatenerzeugungsvorrichtung (85) zum Empfangen des Anfangs- und Endwinkels für eine Kreisbogendarstellung 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 y-Koordinaten des Anfangs- und Endpunkts,
    eine Positions-Datenerzeugungsvorrjchtung (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 Anfan/T.swi nkel größer als der Eivlwinkel ist und umgekehrt,
    Vorrichtungen (89. 197, 117,. 119. K1I, 12:1, K'9, 131, 133, 135) zum !epischen Verknüpfen de-r Cta tur-;b j t,-daten, die νcn der Statusbitdatenerzeugungsvorrichtung erzeugt wurden "und der Positionsbitaaten, die von der Posi-tionsbitdatenerzeugungsvorrichtung erzeugt wurden,
    und zum Erzeugen von Durchschalt-/Sperrdaten, die bestircmen , ob Kreislujgenpunkte der entsprechenden Quadranten dargestellt werden, und
    Vorrichtungen (109, 111, 113, 115) zum Invertieren der Durchschalt-/3perrdaten gemäß dem Bestimmugnsergebnis der Bestimmungovorrichtung (99),
    3- Generator nach Anspruch ?, dadurch gekennzeichnet , daß die Statusbitdaten enthalten:
    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ß aer 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.
    M. 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 kleiner als die Koordinaten des Anfangspunkts sind, Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punktes gleich oder kleiner als diejenige des Anfangspunkts sind und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des. Endpunkts sind ,
    Bitdaten, die angeben, daß die Koordinaten des
    3A17407
    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 augenblicklichen Punktes größer als diejenigen des Anfangspunkts und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des Endpunktes sind.
    ^O 5. Generator nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet , daß der digitale Differenzanalysierer eine Korrekturvorrichtung(59 , 69) enthält, die aufweist:
    eine erste Registervorrichtung (71) zum Einstellen *5 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
    eine Übe^rtragfeststellvorrichtung (77) zum Feststellen eines Übertragssignals von einer von der Addiervorrichtung (73) erzeugten Summe.
    6. Generator nach Anspruch 5, dadurch g e k e π η zeichnet , daß die Korrekturvorrichtung (59,69) derart betrieben wird, daß die Korrekturdaten zu den x-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 Korrekturvorrichtung (59,69) derart betrieben wird, daß die Korrekturdaten zu den y-Koordinaten des gewünschten Kreises addiert werden, wenn eine Ellipse mit in Richtung der y-Achse verlaufender· großen Achse darzustellen
    BAD ORIGINAL
    .1 7. Kreisgeriera tor , gekennzeichnet
    du r ob
    einen digitalen Differenzanalysierer (DDA) (3) zum Empfangen eines Radius eines Kreises und zum Erzeugen von y- und x-Koordinaten des Kreises mit einer. Ursprung als Mittelpunkt und
    eine Steuervorrichtung (1) zum Empfangen des Radius und einer Koordinate in der einen Koordinatenrichtung eines Punktes von speziellen Koordinaten als Mittelpunkt eines gewünschten Kreisesr_ zum Durchführen einer Addition und Subtraktion bezüglich des Radius und der Koordinate, um die Koordinaten des äußersten rechten und linken Punktes auf dem gewünschten Kreis in einer Koordinatenrichtung zu erhalten, und zusätzlich zum Empfangen der Koordinate des Punkts der speziellen Koordinaten in der anderen Koordinatenrichtung und zum Erzeugen von vier Punkten auf dem gewünschten Kreis, die symmetrisch bezüglich des Punktes der speziellen Koordinaten sind, durch Erhöhen und Erniedrigen der x- und y-Koordinaten des Punktes der speziellen Koordinaten T wie sie von dem digitalen Differenzanalysierer (3) erzeugt wurden.
    8. Generator nach Anspruch 7, dadurch g e k e η η ζ e i c h η f: t , daß die Steuervorrichtung ( 1) einen programmierbaren Mikroprozessor aufweist, der eine zentrale Verarbeitungseinheit (15) besitzt zum Empfangen der Koordinaten des Punktes der speziellen Koordinaten und des Radius des gewünschten Kreises, sowie eine Nur-Lesen-Speichervorrichtung (9) zurr.
    Speichern eines permanenten Programms, das kompatibel ist, mit vorbestimmten Funktionen der zentralen Verarbei tungseinhe.lt (15), und da Ir. die x- und y-Koordinaten des Punktes der speziellen Koordinaten erhöht und verringert werden, um x- und y-Koordinaten für vier Punkte zu .erzeugen, die symmetrisch bezüglien de.c. Punktes der speziellen Koordinaten sind.
    -6- 341740'
    9. Generator nach Anspruch 7 oder 8, dadurch gekennzeichnet, daft die Korrektur-Vorrichtung (r>9,69J derart arbeitet, daß die Korrekturdaten zu den x-Koord-inaten des gewünschten Kreises addiert werden, wenn eine Ellipse mit in x-Richtung verlaufender großen Achse darzustellen ist und daß die Korrekturvorrichtung (59,69) derart arbeitet, daß die Korrekturdaten zu den x-Koordinaten des gewünschten Kreises addiert weroen, wenn eine Ellipse mit in y-Richtung verlaufender großen Achse darzustellen ist.
    10. Generator nach Anspruch 7, dadurch gekennzeichnet, daß die Steuervorrichtung (1) einen programmierbaren Mikroprozessor aufweist, der mit dem digitalen Differenzanalysierer (3) verbunden ist und eine zentrale Verarbeitungseinheit (15) zum Empfangen der Koordinaten des Punktes der speziellen Koordinaten, des Radius, des Anfangswinkels und des Endwinkels eines gewünschten Kreisbogens und eine Nur-Lesen-Speichervorrichtung (9) zum Speichern eines permanenten Programms aufweist, das kompatibel ist, mit vorbestimmten Funktionen der zentralen Verarbeitungseinheit, um eine vorbestimmte Operation der Steuervorrichtung durchzuführen, und daß die Statusbitdaten der entsprechenden Quadranten gemäß dem Anfangs- und Endwinkel erzeugt werden, daß die Anfangs- und Endpunkte gemäß den Anfangs- und Endwinkeln berechnet werden, daß Positionsbitdaten erzeugt werden, die Beziehungen zwischen den Koordinaten des augenblicklichen Punktes und denjenigen des Anfangspunktes und zwischen den Koordinaten des augenblicklichen Punktes und denjenigen des Endpunktes darstellen, daß die Statusbitdaten und die Positionsbitdaten logisch verknüpft worden und daß DurchschaJ t-/Sperrdat,cn Vür die Punkt.darstellung der entsprechenden Quadranten erzeugt werden.
    BAD ORIGINAL
    "11. Generator nach Anspruch 10, dadurch gekennzeichnet, daß der Mikroprozessor (1) die Durchschall: Sperrdaten gemäß r-inem Bestimraungsergebnis invertiert, das angibt, ob der Anfangswinkel größer als der Endwinkel ist oder nicht.
    12. Generator nach Anspruch 10, dadurch gekennzeichnet, daß die Statusbitdaten enthalten:
    "Bitdaten, die angeben, daß der Anfangswinkel in einem gegebenen Quadranten li~egt, __
    Bitdaten, die angeben, daß der Endwinkel in einem gegebenen Quadranten liegt,
    Bitdaten, die angeben, daß der Anfangs- und der· Encwinkel beide in einem gegebenen Quadranten liegen, Bitdaten, die angeben, daß Punkte in dem gegebenen Quadranten darzustellen sind und
    Bitdaten, die angeben, daß Punkte in dem gegebenen Quadranten zu überspringen sind.
    13- Genertor· nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß die Positionsbitdaten enthalten:
    Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punkten gleich oder größe?· als die Koordinaten des Endpunktes sind und daß die Koordinaten dec augenblicklichen Punktes gleich oder kleiner als die Koordinaten des Anfangspunktes sind,
    Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punktes gleich oder kleiner als diejenigen des Anfangspunktes und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des Endpunktes sind,
    Bitdaten, die angeben, daß die Koordinaten des augenblicklichen Punktes größer als diejenigen des Anfanrspunktes und daß die Koordinaten des augenblicklichen
    BAD ORIGINAL
    Punktes gleich oder größer als diejenigen des Endpunktes sind. und
    Bitdaten, die.angeben, daß die Koordinaten des augenblicklichen Punktes größer als diejenigen des Anfangspunktes und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des Endpunktes sind .
    IU. Kreiserzeugungssystem, g e k e η η ζ e i c h η e t durch:
    eine Puffervorrichtung zum Speichern von x- und y-Koordinaten eines speziellen Punktes und eines Radius R eines gewünschten Kreises mit dem speziellen Punkt als Mittelpunkt,
    einen digitalen Differenzanalysierer (DDA) (3) zum Empfangen eines Radius eines Kreises mit einem Ursprung als Mittelpunkt und zum Erzeugen von y- und x-Koordinaten des Kreises,
    eine x- und y-Koordinatendatenerzeugungsvorrichtung (5) zum Empfangen der x- und y-Koordinaten des speziellen Punktes, die von der Puffervorrichtung abgegeben werden und der x- und y-Koordinaten auf dem Kreis, die von dem digitalen Differenzanalysierer (3) erzeugt werden und zurr Erzeugen von x- und y-Koordinaten von vier Punkten auf dem gewünschten Kreis, die symmetrisch bezüglich des speziellen Punkts sind, und
    eine Darstellungs- oder Zeichenvorrichtung (21) zum Empfangen der x- und y-Koordinate von der x- und y-Koordinaten-uatenerzeuf-ungrvorrichturi^ (5) und zum Darstellen eines Kreises.
    15. Generator nach Anspruch Vl, gekennzeichnet durch
    eine Statusbitdatenerzeugungsvorrichtung (85) zum Empfangen eines Anfangs- und Endwinkels für eine
    -1J-
    Λ KreisbogendarstelJung und zum Erzeugen von Statusbitdaten für entsprechende Quadranten des gewünschten Kreisbogens,
    eine Anfangs- und Endpunkt-Berechnungsvorrichtung (93) zum Empfangen des Anfangs- und Endwinkels und zum Berechnen von x- und y-Koordinaten des Start- und Endpunkts ,
    eine Por. i ti nnr,bj t-Datenerzeugungsvorrichtung (95) zum Empfangen von Ausgangssignalen von der Anfangs- und Endpunktberechnungsvorrdchtung und des Radius und zum Erzeugen von Positionsbitdaten, die .Beziehungen zwischen Koordinaten eines augenblicklichen Punkts und den Koordinaten des Anfangspunkts und zwischen den Koordinaten des augenblicklichen Punkts 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 oder nicht,
    Vorrichtungen (89, 127, 117, 119, 121, 123, 129, 131, 133, 135) zum logischen Verknüpfen der Statusbitdater;, die von der Statusbitdaten-Erzeugungsvorrichtung erzeugt wurden und der Positionsbitdaten, die von eier Positionsb j tdaten-Erzeugungsvorrichtung erzeugt, wurden und r.um Erzeugen von Purchscha.lt/Sperrdateri, die angeben, ob Kreisbogenpunkte der entsprechenden Quadranten darzustellen sind oder nicht, und
    Vorrichtungen (109, 111, 113, 115.) zum Invertieren der Durchschalt/Sperrdaten gemäß dem Bestimmungsergebnis der Bestimmungsvorrichtung (99).
    16. Generator nach Anspruch 15, dadurch gekennzeichnet , daß die Stätusbitdaten aufweisen :
    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 ange.ben, daß Punkte in den gegebenen Quadranten darzustellen sind, und
    Bitdaten, die angeben, daß Punkte in den gegebenen Quadranten zu überspringen sind.
    17. Generator nach Anspruch 15 oder 16, dadurch gekennzeichnet, daß die Positionsbitdaten aufweisen:
    Bitdaten, die angeben, daß die Koordinaten des
    augenblicklichen Punktes gleich oder größer als die Koordinaten des Endpunktes und daß die Koordinaten des augenblicklichen Punktes gleich oder kleiner als die Koordinaten des Anfangspunkts sind, Bitdaten, die angeben, daß die Koordinaten des
    augenblicklichen Punktes gleich oder kleiner als diejenigen des Anfangspunktes und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des Endpunktes sind ,
    Bitdaten, die angeben, daß die Koordinaten des
    augenblicklichen Punktes größer als diejenigen des Anfangspunktes und daß die Koordinaten des augenblicklichen Punktes gleich oder größer als diejenigen des Endpunktes sind, und
    Bitdaten, die angeben, daß die Koordinaten des
    augenblicklichen Punktes größer als diejenigen des Anf,·ϊη2φuηkteο und daß die Koordinaten des augenblicklichen Punktes kleiner als diejenigen des Endpunktes sind.
    '~ 18. Generator nach einem' öcr Ansprüche 1^ tie 17, dadurch ~g f.· k e η π ζ e i c h η e t , dai?, die !"'ar-stel lungcvo-rrichtung eine graphische Anzeige-
    5 einheit aufweist.
    19- Generator· nach einem der Ansprüche I1I bis 17, dadurch gekennzeichnet, daß die Darstellungsvorrichtung ein x-y-Zeichengerät 10 aufweist.
    BAD ORIGINAL
DE3417407A 1983-05-10 1984-05-10 Kreisgenerator für eine graphische Anzeigeeinheit Expired DE3417407C2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP8146783A JPS59206937A (ja) 1983-05-10 1983-05-10 円の描画方式
JP58081468A JPS59206980A (ja) 1983-05-10 1983-05-10 円の補正描画方式
JP58081469A JPS59206884A (ja) 1983-05-10 1983-05-10 円または楕円の塗りつぶし方式
JP8147183A JPS59206981A (ja) 1983-05-10 1983-05-10 円弧描画方式

Publications (2)

Publication Number Publication Date
DE3417407A1 true DE3417407A1 (de) 1984-11-15
DE3417407C2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199160A2 (de) * 1985-04-26 1986-10-29 International Business Machines Corporation Verfahren zum Generieren eines kreisförmigen oder elliptischen Bogens

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Z.: Siemens Zeitschrift, 1966, H. 2, S. 61 bis 66 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199160A2 (de) * 1985-04-26 1986-10-29 International Business Machines Corporation Verfahren zum Generieren eines kreisförmigen oder elliptischen Bogens
EP0199160A3 (en) * 1985-04-26 1990-06-27 International Business Machines Corporation Method for generating a circular or elliptic arc

Also Published As

Publication number Publication date
US4692887A (en) 1987-09-08
GB2141608B (en) 1987-07-15
GB2141608A (en) 1984-12-19
GB8411032D0 (en) 1984-06-06
DE3417407C2 (de) 1986-03-27

Similar Documents

Publication Publication Date Title
DE2754270C2 (de)
DE3213630A1 (de) Strassenkarten-anzeigesystem mit angabe einer fahrzeugposition
DE2752421A1 (de) Anordnung fuer die abtastung und digitalisierung von grafischen darstellungen oder daten
WO2001000452A1 (de) Fahrzeugkommunikationssystem mit anzeige-/bedieneinheit
DE102018201381B4 (de) Anzeigevorrichtung
DE69822099T2 (de) Eingabevorrichtung für ein graphisches display mit magnetsensoren
DE3726208A1 (de) Anzeigeeinheit
DE3417407A1 (de) Kreisgenerator fuer eine graphische anzeigeeinheit
DE2431451B2 (de) Verfahren zur normierung der strichstaerke von abgetasteten schriftzeichen sowie einrichtung zur durchfuehrung des verfahrens
DE2214585C3 (de) Anordnung zur Darstellung von Zeichensegmenten
DE3315148A1 (de) Digitale sichtanzeigeeinrichtung
DE4240531C1 (de) Vorrichtung zur präzisen Eingabe von Positions- und Druckverteilungen an der menschlichen Hand in ein Datenverarbeitungsgerät
DE2940691C2 (de) Schaltung zur Erzeugung eines Fadenkreuz-Cursors auf dem gesamten Schirm einer Anzeige des Rasterabtasttyps
DE3130876C2 (de) Einrichtung zur Erzeugung von linienförmigen Symbolen auf einem Bildschirm
DE2021373B2 (de) Vorrichtung zur darstellung von schriftzeichen
DE2724094A1 (de) Kathodenstrahl-anzeigevorrichtung
DE3243502C2 (de)
EP0060243B1 (de) Verfahren und schaltungsanordnung zur partiellen elektronischen retusche bei der farbbildreproduktion
DE3305709A1 (de) Verfahren zur steuerung der lichtemissionsintensitaet in einer kurvenschreibervorrichtung und vorrichtung zur durchfuehrung des verfahrens
EP0066681B1 (de) Verfahren zur Ermittlung einer dem Tastverhältnis entsprechenden Grösse eines periodischen elektrischen Rechtecksignals und Verfahren zur Ermittlung des Phasenwinkels zwischen zwei zueinander phasenverschobenen, periodischen elektrischen Rechtsignalen und Anordnung zur Durchführung dieser Verfahren
DE3938366C2 (de) Vorrichtung zur Bilddatenreduktion für ein Anzeigegerät
DE3328656A1 (de) Verfahren zur symbolerzeugung
DE3026225C2 (de) Datensichtgerät
DE2544489C3 (de) Verfahren zur Darstellung mehrerer Meßwertreihen auf einem nach dem Zeilenrasterverfahren arbeitenden Sichtgerät
DE102019212799A1 (de) Abstandsbildanzeigevorrichtung und Abstandsbildanzeigeverfahren

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