DE1946981A1 - Digitaler Vektor-Generator - Google Patents

Digitaler Vektor-Generator

Info

Publication number
DE1946981A1
DE1946981A1 DE19691946981 DE1946981A DE1946981A1 DE 1946981 A1 DE1946981 A1 DE 1946981A1 DE 19691946981 DE19691946981 DE 19691946981 DE 1946981 A DE1946981 A DE 1946981A DE 1946981 A1 DE1946981 A1 DE 1946981A1
Authority
DE
Germany
Prior art keywords
binary
counting
counter
register
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE19691946981
Other languages
English (en)
Inventor
Ekkehard Dipl-Ing Wilde
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.)
WILDE EKKEHARD DIPL ING
Original Assignee
WILDE EKKEHARD DIPL ING
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WILDE EKKEHARD DIPL ING filed Critical WILDE EKKEHARD DIPL ING
Priority to DE19691946981 priority Critical patent/DE1946981A1/de
Publication of DE1946981A1 publication Critical patent/DE1946981A1/de
Pending 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

Landscapes

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

Description

  • Digitaler Vektor - Generator Der nachfolgend beschriebene digitale Vektor - Generator gehört in das Anwendungsgebiet der digitalen Elektronik ( Hardware ) der Computer - Peripherie, und hier speziell zur Logik von Display - Systemen, kann aber auch in der Logik von Plotter - Systemen Anwendung finden.
  • Zweck der Erfindung ist es, gerichtete Geraden in optischen Ausgabemedien von Computerdaten extern zu generieren, und zwar digital, nachdem die hierzu notwendigen Daten in minimalisierter Form vom Rechner übertragen wurden.
  • Vektoren werden nach dem derzeitigen Stand der Technik in Computer-Sichtgeräten überwiegend auf analoge Weise erzeugt, soweit digital, dadurch, daß man eine Interpolationsabweichung vorgibt und den Vektor durch lineare Interpolation generiert.
  • Nachteil der analogen Erzeugung von Vektoren sind die Anfälligkeit gegenüber Störspannungen, die zu einer Welligkeit der Linien und deren Verbreiterung führen kann. Weiterhin wird durch den nichtlinearen Verlauf der Ablenkspannungen eine ungleichmäßige Helligkeitsverteilung längs des Vektors bewirkt, die nur durch eine aufwendige Helligkeitssteuerung kompensiert werden kann, wie grundsätzlich bei analoger Generierung ein erheblicher technischer Aufwand notwendig~ißt, Die Methode der digitalen Generierung durch Interpolation erfordert eine große Anzahl von Digitalbausteinen und digitalin Operationen, wodurch die erzielbare Zeichengeschwindigkeit beflohränkt wird.
  • Diole Nachteile wiegen um so schwerer, da es sich bei dem Display -System um eine periphere Einheit handelt die sich optimal zur Kommunikation Mensch - Maschine eignet und aus diesem Grund immer mehr an Bodoutung gewinnt.
  • Digitaler Vektor - Generator.
  • Alle Vektoren, die durch gerichtete, gradlinige Verbindung zweier beliebiger Punkte eines ebenen, äquidistanten n bit mal n bit - Rasters ( 2n mal 2n Rasterpunkte, Abb. 1 ) entstehen können, bilden zusammen die Vektor - Menge M, die gemäß Abb. 2-in acht Teilmengen M1- M8- unterteilt wird.
  • Dabei wird der Ursprung des Koordinatensystems (Abb. 2) in den Anfangspunkt des jeweiligen Vektors gelegt.
  • Vektoren, die-auf den Koordinatenachsen liegen oder mit den 45 - Linien zusammenfallen, gehören jeweils zu beiden angrenzenden Teilmengen.
  • Zur Bezeichnung von M1 - M8 dient eine 3bit-Kombination abc mit folgender Bedeutung: bit a gibt an, ob die X-Komponente des Vektors positiv ( 1 ) oder negativ ( 0 ) ist. bit b gibt an, ob die Y-Komponente des Vektors positiv ( 1 ) oder negativ ( 0 ) ist. bit c gibt an, ob der Betrag der X-Komponente größer ist als der der Y-Komponente ( 1 ) oder umgekehrt. ( 0 ) Für Grenzfälle in bit a-c (es tritt jeweils nur ein Grenzfall gleichzeitig ein) ist das betreffende bit beliebig wählbar, da diese Vektoren Elemente zweier- Teilmengen sind, die gerade durch dieses bit unterschieden werden.
  • Die Beträge der größeren oder einer der gleichlangen Komponenten aller Vektoren M sind mit n bit beschreibbar.
  • Auch die Beträge der Vektor-Steigungen (tan alpha) aller Vektoren M des n mal n-bit - Digitalrasters können mit n bit so angegeben werden, daß die Abweichung 1/2n nicht übersteigt, wenn die Vektor-Steigung jeweils auf die 1Achse der betragsmäßig gröberen Komponente bezogen wird, also der Betrag tan alpha z 1 bleibt.
  • Dieser Betrag tan alpha wird vom Rechner in das n bit-Positionen umfassende Vektor-Steigungs-Register geschrieben, wobei die gesetzten bit-Positionen Steigungsanteile gemäß der Wertigkeit und Reihenfolge von Abb. 3 repräsentieren.
    ½n . . . . ½3 ½2 ½1
    Abb. 3 Die Länge der betragsmäßig größeren Komponente (oder einer der gleichlangen), auf deren Koordinatenachse sich die Steigungsan gabevbezieht, wird vom Rechner in das n-bit - Vektorlänge -Register geschrieben.
  • Mit diesen 2n bits sowie den drei Kontrollbits abc, die im Kontroll - Register gespeichert werden, liegt die notwendige topologische Information über den zu zeichnenden Vektor vollständig und zugleich redundanzfrei vor.
  • Die externe Vektorgenerierung wird durch das Blockschaltbild der Abb. 4 erläutert, wobei ein spezieller, unten erklärter Algorithmus verwendet wird.
  • In den steuerbaren Auf-Abwärtszählern für die X- und Y-Positionen, die zugleich als schreibbare Register ausgebildet sind, steht zunächst der Vektoranfangspunkt, der entweder Endpunkt des vorhergehenden Vektors sein ka'-im' oder direict vom üeciiii-er eingeschrieben wird. Die Ausgänge dieser Zähler gehen auf Digital-Analog-Wandler, die die Ablenkspannungen erzeugen.
  • Die Zählrichtung in den X-, Y-Zählern wird durch die beiden Kontrollbits a und b festgelegt und bleibt während der Zeichnung eines Vektors unverändert.
  • Der Algorithmus besteht nun darin, daß die Taktverteilungs-Logik, die durch das Kontrollbit c eingestellt wird, den kontinuierlichen Zähltakt an den Eingang des Zählers gelangen läßt, auf den die betragsmäßig größere Komponente des zu zeichnenden Vektors entfällt, während derselbe Takt an den Eingang des jeweils anderen Komponentenzählers nur dann gelangt, wenn dem binären Aufwärts zähler beim nächsten Taktimpuls in einer Binärstelle ein Übergang von 0#1 bevorsteht, in welcher auch im Vektorsteigungs-Register eine binäre 1 steht. Dazu ein Beispiel: Es sei der Vektor zu zeichnen, der im Einheitsraster den Punkt (X,Y) als Anfangspunkt mit dem Endpunkt (X+10, Y+8) » verbindet.
  • Die Kontrollbit-Kombination abc lautet: 111 Die Vektor-Steigungs-Angabe lautet: Betrag tan alpha Die letzten sieben bits im Vektorsteigungs-Register - die Wertigkeiten sind nochmals angegeben - lauten:
    . . . ½7 ½6 ½5 ½4 ½3 ½2 ½1
    . . .
    0 1 1 0 0 1 1
    0 0 0 0 0 0 0) o 0 0 0 0 0 1 0 0 0 0 0 1 0 o 0 0 0 0 1 1 O 0 0 0 1 0 0) 0 0 0 0 1- 0) 1 0 0 0 0 1 1 - 0 ) O 0 0 0 1 1 1 O 0 0 1 0 0 O) O 0 0 1 0 0) 1 . 0 0 0 1 0 1 0 o 0 0 1 0 1 1 0 Q 0 1 1 0 0 -Ó 0 0 1 1 0 1 - 5 Die obige Binärzahlenkolonne gibt den Stand des binären Aufwärtszählers wieder. Nur an den markierten 0#1 - Übergängen findet neben der kontinuierlichen Incrementierung des Komponentenzählers der betragsmäßig größeren Komponente auch eine arithmetische Incrementierung der kürzeren Komponente statt. Dieses wird durch die Auswert-Logik bewirkt, die prüft, ob in einer solchen bit-Position des Vektor-Steigungs-Ilegisters eine binäre 1 steht, in welcher im Aufwä,'rtszähler eine binäre O steht, die von keiner weiteren O gefolgt wird.
  • Das oben angeführte Beispiel führt zu der in Abb. 5 gezeigten Vektor - Darstellung.
  • Diese Art der Vektor-Zeichnung innerhalb eines digitalen Rasters führt, wie leicht nachzuprüfen , immer-dazu, daß -der spezifizierte Vektorendpunkt mit Sicherheit angenommen wird, wobei durch diese Art der Interpolation sichergestellt ist, daß die Abweichung vom idealen Verlauf stets kleiner als ein bit (Abstand zweier Rasterpunkte) bleibt.
  • Bei der Betrachtung obigen Beispiels sieht man auch, daß die einzelnen Steigungsanteile durch den Algorithnus erst dann beachtet und ausgewertet werden, wenn der Vektor bereits eine Länge gewonnen hat, die es erlaubt, bei der vorgegebenen Auf, lösung des Digitalrasters einen solchen Anteil zu berücksichtigen, ohne daß die Interpolationsabweichung ein bit errei$,ch,;t.,...
  • So wird ein Steigungsanteil 1/2m genau erst dann berücksichtigt, wenn der Vektor 2m/2 Rasterpunkte lang ist. -Hier f,indetin der m-ten bit-Position erstmals der 0#1 - Übergang statt, danach wieder nach 2m Rasterpunkten. So beruht der Algorithmus darauf, daß die Wertigkeit der Steigungsanteile der 0#1 - Übergangshäufigkeit darunterstehender bit-Positionen entspricht. Bin welcher Übergang findet bei jedem Zählimpuls in genau einer bit-Position statt. Aus diesem Grunde werden die mit den 45 - Linien zusammenfallenden Vektoren ohne besondere Vorkehrungen ohne Abweichungen wiedergegeben, da ihrem Betrag tan alpha = 1 eine binäre 1 in jeder Position des Steigungs-Registers entspricht. Der hier am vollen Steigungsbetrag fehlende Anteil ½n+1 bringt eine Abweichung + ... gerade erst nach Überschreiten der Bildfläche. Auch die Koordinatenachsen werden genau wiedergegeben, hier gelangt der Takt jeweils nur in einen Zähler.
  • Das Vektorlänge-Register wird, ausgehend von dem Stand, der der längeren Komponente entspricht, durch denselben kontinuierlichen Takt rückwärts gezählt. Sobald sein Stand Null erreicht wird daraus das Vektor-Ende-Signal abgeleitet, worauf der Takt angehalten wird. Dieses ist in obiger Binärzahlenkolonne durch den waagrechten Strich angedeutet.
  • Zur Zeichnung des folgenden Vektors werden seine Steigung, Länge und Kontrollbits abc geladen, der Aufwärtszähler zurückgesetzt und der Takt gestartet.
  • Es ist möglich, auf den Aufwärtszähler zu verzichten, wenn man an Stelle seiner 0#1 - Übergänge, die 1#0 - Übergänge des abwärts zählenden Vektorlänge-Zählers auswertet.
  • Faßt maii Abb. 2 als Darstellung eines acht-Vektor-Formats auf, wobei jetzt jede der Bitkonfigurationen abc eine feste Vektor richtung bezeichnet, kann man den Vektor-Generator als Increment-Generator benatzenj wobei man auf die Übertragung der Steigung verzichten kann, da diese, die jetzt nur .... oder ....1111 heißen kann, sich eindeutig aus den Kontrollbits abc ergibt, d. h. die Steigung kann durch Decodieren von äÜc direkt gevonnen werden. Bei Mehrfachincrementen steht eine entsprechende Zahl im Vektorlänge-Register.
  • Die Vorteile des beschriebenen digitalen Vektor - Generators liegen in der wesentlichen Reduzierung des technischen Aufwandes. Von den verwendeten Baugruppen kommt zur Zeit der binäre-Auf- Abwbwätszähler gerade von mehreren Firmen als vollständig integrierter Baustein auf den Markt, während Re-Register und Vor- oder Rückwärtszähler schon länger als ICs, erhältlich sind. Die Zählimpulse werden von der Interfaceclock der meisten Rechner zur Verfügung gestellt. Die Auswert- und Taktverteilungs-Logik lasserr- sich recht einfach realisieren. Im Prototyp eines Display -Systems, welches den beschriebenen Vektor -- Generator benutzt, ist eine unterschiedliche Helligkeit der Vektoren nicht wahrzunehmen, obgleich die Punktdichte bis zu 40% variiert. Die Zeichengeschwindigkeit ist gegenüber bisherigen digitalen Vektor -Generatoren als groß zu bezeichnen. ( Bei Verwendung einer 5 MHz - clock und einer Auflösung von 10 bit pro 10 inch erygibt sich diese zu mehr als 48 1Q3 inch/sec.) Die Verwendbarkeit derselben Hardware als Increment - Generator ist ein weiterer, wesentlicher Vorteil der Erfindung. Bei der zunehmenden Verbreitung, die Display- Systeme zweifellos schon in naher Zukunft erfahren werden, erscheint die mögliche Kostensenkung als ein bedeutender Faktor, da es derzeit gerade an den relativ hohen Preisen von Display - Systemen liegt, daß diese Kommunikationsmöglichkeit noch bei vielen Rechner -Systemen fehlt. Gerade aber Display - Systeme mit externer Zeichnungselementerzeugung sind dazu geeignet, die Anpassung von Mensch und Rechner entscheident zu verbessern. Dieses ist besonders darum notwendig, weil die Kommunikation über das Musterbildungsvermögen des menschlichen Gehirns eine besonders schnelle, das Wesentliche vom Nebensächlichen filternde Informationsaustauschmöglichkeit darstellt und insbesondere Naturwissenschaftler dahingehend geschult sind.
  • Die technisch verwertbare Natur der Erfindung ist evident.
  • Offenkundige Vorbenutzung ist mir nicht bekannt, auch sind. mir keine anderen neuheitschädlichen Tatsachen während meiner eineinhalbJährigen Entwicklungsarbeit an einem Display - System bekannt geworden.

Claims (1)

  1. Patentanspruch.
    Digitaler Vektor - Generator zur Erzeugung von gerichteten Geraden in optischen Ausgabemedien von Computerdaten, dadurch gekennzeichnet, daß die- Zusammenfassung der bekannten Digitalbausteine 1) Register K mit den digitalen Speicherplätzen a, b und c, 2) Register ST mit den digitalen Speicherplätzen s 1 ... n 3) binärer Aufwärts zähler AFZ mit den Binärstellen g1 ... gn (g1 ist LSB, gn MSB), welches zugleich als schreibbares Register ausgebildet ist, 4) binärer Abwärts zähler ABZ mit den Binärstellen f1 ... fn (f1 ist LSB, fn MSB), welches zugleich als schreibbares Register ausgebildet ist, 5) binärer, steuerbarer Auf-, Abwärtszähler mit den Binärstellen x1 ... Xn (x1 ist LSB, xn MSB), welches zugleich als schreibbares Register ausgebildet ist,(Xk) 6) binärer, steuerbarer Auf-, Abwärtszähler mit den Binärstellen y1 ... yn (y1 ist LSB, yn MSB), welches zugleich als schreibbares Register ausgebildet ist,(Yk) durch die spezielle Auswert - Logik und die Takt - Verteilungs - Logik, die bewirkt, daß A) die binäre Größe a des Kontrollregisters K als binäre 1 die Aufwärtszählrichtung des Zählers Xk markiert, als binäre 0 die Abwärtszählrichtung von Xk markiert, B) die binäre Größe b des Kontrollregisters K als binäre 1 die Aufwärtszählrichtung des Zählers Yk markiert, als binäre 0 die Abwärtszählrichtung von Yk markiert, C) die binäre Größe c des Kontrollregisters K als binäre 1 bewirkt, daß die Zählimpuisfolge Zx mit der periodisohen Zählimpuisfolge z übereinstimmt und an den Zähleingang, von Xk gelangt, als binäre 0 bewirkt, daß die Zählimpulsfolge zy mit z übereinstimmt und an den Zähleingang von Ylc gelangt, D) di. Zählimpulsfolge z an die Eingänge von AFZ und ABZ gelangt, E) zx dann mit einem Impuls von z übereinstimmt, wenn c eine binäre 0 ist, gl (1#i#n) eine binäre 0 ist, gleichzeitig alle gj (j<i) binäre einsen sind und auch s eine binäre 1 ist, F) z dann mit einem Impuls von z übereinstimmt, wenn y c eine binäre 1 ist, gi (1#i#n) eine binäre 0 ist, gleichzeitig alle g. (j<i) binäre einsen sind und auch s. eine binäre 1 ist und G) der Takt z gestoppt wird, falls alle f. (1#i#n) sind, zu einer funktionellen Einheit führt, die eine Zählweise von Xk und Yk bewirkt, die geeignet ist, einen Vektor in digitaler Weise zu generieren.
    Unteranspruch.
    Digitaler Vektor - Generator nach Hauptanspruch, dadurch gekennzeichnet, daß an die Stelle des Aufwärtszählers AFZ der Abwärtszähler ABZ tritt und bei f als binärer 1 alle fJ auf binäre Nullen sowie si auf binär 1 geprüft werden.
    L e e r s e i t e
DE19691946981 1969-09-17 1969-09-17 Digitaler Vektor-Generator Pending DE1946981A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19691946981 DE1946981A1 (de) 1969-09-17 1969-09-17 Digitaler Vektor-Generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19691946981 DE1946981A1 (de) 1969-09-17 1969-09-17 Digitaler Vektor-Generator

Publications (1)

Publication Number Publication Date
DE1946981A1 true DE1946981A1 (de) 1971-03-25

Family

ID=5745699

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691946981 Pending DE1946981A1 (de) 1969-09-17 1969-09-17 Digitaler Vektor-Generator

Country Status (1)

Country Link
DE (1) DE1946981A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2754270A1 (de) * 1976-12-07 1978-06-08 Sperry Rand Corp Digitale strich-darstellungsvorrichtung

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2754270A1 (de) * 1976-12-07 1978-06-08 Sperry Rand Corp Digitale strich-darstellungsvorrichtung

Similar Documents

Publication Publication Date Title
DE2754270A1 (de) Digitale strich-darstellungsvorrichtung
DE2727010C3 (de) Verfahren zum Betreiben einer elektrooptischen Anzeigevorrichtung
DE2108791A1 (de) Vorrichtung, System und Verfahren zur digitalen graphischen Aufzeichnung oder Darstellung
DE3336570C2 (de) Anzeigesystem für einen digitalen Oszillographen
EP0049216A2 (de) Rechenwerkeinheit mit einer parallelen bidirektionalen Schiebeeinrichtung
DE2021373B2 (de) Vorrichtung zur darstellung von schriftzeichen
DE1271433B (de) Adressiereinrichtung fuer einen Tabellenwertspeicher
DE2212967B2 (de) Einrichtung zur Speicherung und Verarbeitung einer Zahl in Gleitkommadarstellung
DE69332379T2 (de) Tintenwiedergabe
DE1946981A1 (de) Digitaler Vektor-Generator
DE2459701A1 (de) Vektorgenerator fuer kathodenstrahlanzeigegeraete
DE3329023A1 (de) Einrichtung zum pruefen logischer schaltwerke
DE2111670A1 (de) Anordnung fuer die Anzeige der mittleren Rate des Auftretens eines ein Ereignis anzeigenden Signals
DE2042143A1 (de) Bildgenerator fuer Datensichtgeraete
DE1808159A1 (de) Einrichtung zur Umwandlung von Dualzahlen in binaer codierte Dezimalzahlen in paralleler Darstellung
DE2615080A1 (de) Anordnung und verfahren zum anzeigen von zeichen
DE1806749B2 (de) Ziffern- und funktionszeichen-darstellungseinrichtung fuer elektronische rechengeraete
DE2806039A1 (de) Fluessigkristallanzeigevorrichtung und verwendung der vorrichtung als oszillograph
DE2400493A1 (de) Verfahren und schaltungsanordnung zum erzeugen grafischer darstellungen
DE1161710B (de) Abfrageeinrichtung fuer Magnetspeicher
DE1239506B (de) Divisionseinrichtung
DE112021000741T5 (de) Crossbar arrays für berechnungen in neuronalen netzwerken mit arbeitsspeicher-erweiterung
DE1078355B (de) Impulszaehl- und Codierschaltung
DE978014C (de) Verfahren zur Erzeugung einer Folge von Impulsen oder Impulsgruppen sehr großer Periodenlänge
DE2634286A1 (de) Integrierte schaltung eines speicherregisters mit zugeordnetem wortzeit-generator