-
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.
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.