DE3941550C2 - Schaltungsanordnung zum Zerlegen einer auf einem Computer-Ausgabedisplay anzuzeigenden Graphikfigur - Google Patents

Schaltungsanordnung zum Zerlegen einer auf einem Computer-Ausgabedisplay anzuzeigenden Graphikfigur

Info

Publication number
DE3941550C2
DE3941550C2 DE3941550A DE3941550A DE3941550C2 DE 3941550 C2 DE3941550 C2 DE 3941550C2 DE 3941550 A DE3941550 A DE 3941550A DE 3941550 A DE3941550 A DE 3941550A DE 3941550 C2 DE3941550 C2 DE 3941550C2
Authority
DE
Germany
Prior art keywords
corner
line
line segments
line segment
quadrilateral
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3941550A
Other languages
English (en)
Other versions
DE3941550A1 (de
Inventor
Chris Malachowsky
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE3941550A1 publication Critical patent/DE3941550A1/de
Application granted granted Critical
Publication of DE3941550C2 publication Critical patent/DE3941550C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

Die Erfindung betrifft eine Schaltungsanordnung zum Zer­ legen eines darzustellenden graphischen Bildes in Vierecke, die von einer Graphikdarstellungs-Hardware in gleicher Weise bearbeitet und auf einem eine Vielzahl von Abtastzeilen auf­ weisenden Computerausgabedisplay zur Darstellung des graphi­ schen Bildes rekombiniert werden können.
Ein Hauptproblem bei der Verwendung von Computern für Graphikanzeigen besteht darin, daß bei einem auf einer Ka­ thodenstrahlröhre (CRT) anzuzeigenden einzelnen Rahmen (Einzelbild) graphischen Inhalts die Speicherung einer In­ formationsangabe notwendig ist, die für jede Position (Pixel) auf der Kathodenstrahlröhre zur Anzeige gebracht werden soll. Bei großen und detaillierten Anzeigen kann die Anzahl von Pixeln auf der Kathodenstrahlröhre auf angenähert 1000 oder mehr in Horizontalrichtung und entsprechend in der Vertikalrichtung ansteigen, was zu einer Gesamtzahl von etwa 1 Million oder mehr Pixeln führt, die als Informationen zu speichern sind. Bei einem bevorzugtem System, das eine An­ zahl unterschiedlicher Farben auf der Kathodenstrahlröhre anzeigen kann, enthält jedes dieser Pixel acht Bits, welche die spezielle Farbausgabe kennzeichnen. Dementsprechend müs­ sen angenähert 8 Millionen Bits für jeden auf dem Bildschirm zur Anzeige zu bringenden Rahmen gespeichert werden.
Nicht allein die Farbinformationen sind es, die für je­ des Pixel eines jeden Rahmens der Anzeige verfügbar gemacht werden müssen, sondern bei der Erzeugung von graphischen An­ zeigen bedingt die übliche Methode der Bestimmung von Formen der Figuren, daß zahlreiche Algorithmen auf geometrische Eck- oder Scheitelpunkte dieser Figuren angewendet werden. Geschieht dies mit Hilfe der Software des Systems, verlang­ samt das Berechnen der Positionen für jeden anzuzeigenden Punkt und die Bestimmung der an diesem Punkt anzuzeigenden Daten die Systemgeschwindigkeit bis herab zu einem Punkt, bei dem bestimmte Operationen, wie z. B. eine Animation, praktisch unmöglich werden. Aus diesem Grund wurden im Stan­ de der Technik zahlreiche Systeme vorgeschlagen, die unter Verwendung von Hardware-Maßnahmen die Operationsgeschwindig­ keit zu erhöhen suchen. Ein Verfahren zur Erhöhung der Ope­ rationsgeschwindigkeit ist die Verwendung von zwei Einzel­ bild-Ausgabe-Puffern und das Laden eines Puffers, während der andere zur Wiedergabe abgetastet wird. Mit Hilfe eines solchen Systems kann die Operationsgeschwindigkeit wesent­ lich erhöht werden. Dieser Vorteil wird aber mit einer Ver­ dopplung der für die Speicherung erforderlichen Speicherka­ pazität erkauft.
Der Erfindung liegt die Aufgabe zugrunde, die Operati­ onsgeschwindigkeit von vor allem graphischen Computersyste­ men ohne beachtlichen Mehraufwand zu erhöhen. Insbesondere soll eine Schaltung zum Zerlegen eines graphischen Objekts in Abschnitte zur Verfügung gestellt werden, welche rasch bearbeitet und in einen Anzeigepuffer eingegeben werden kön­ nen, so daß graphische Figuren unter Verwendung vierseitiger (quadrilateraler) Teilabschnitte erzeugt werden können.
Diese Aufgabe wird erfindungsgemäß durch eine Schal­ tungsanordnung mit den Merkmalen des Patentanspruchs 1 ge­ löst.
Die Erfindung sieht ein neuartiges Graphikausgabesystem vor, bei dem eine besondere graphische Figurendarstellung benutzt wird. Hierdurch können extrem schnelle Graphikwie­ dergaben unter Verwendung nur eines einzigen Ausgabeanzeige­ puffers realisiert werden. Um die Verwendung von Hardware zur Implementierung der graphischen Hochgeschwindigkeitsdar­ stellung zu ermöglichen, ist die der Hardware zur Verfügung gestellte Information stets praktisch von der gleichen Art, d. h. unabhängig von der Form und Musterung bei ihrer graphi­ schen Wiedergabe. Das System basiert auf einer Definition einer graphischen Figur (Form), bei der die Form als zusam­ mengesetzt angesehen wird aus einer Anzahl von vierseitigen Teilabschnitten. Die Schaltungsanordnung kann Viereck-Bilder dadurch mit hoher Geschwindigkeit aufbauen, daß sie nur In­ formationen bezüglich der vier Eckpunkte dieser Gebilde ver­ arbeitet. Alle vierseitigen bzw. viereckigen Gebilde können in gleicher Weise durch die Graphikdarstellungshardware ver­ arbeitet und auf dem Bildschirm zur Darstellung der ge­ wünschten Form oder Figur rekombiniert werden.
Die erfindungsgemäße Anordnung bricht Vierecke in Unter­ abschnitte von Paaren aus Liniensegmenten auf, welche eine trapezförmige Fläche aus auf dem Bildschirm anzuzeigenden Abtastlinien überspannen. Die X- und Y-Koordinaten der bei­ den Enden jeder Abtastlinie in jedem Trapezoid werden danach bestimmt. Das System nimmt jene Rechteckkoordinaten und übersetzt sie in serielle Abtastlinien, welche in einem Rah­ menpuffer gespeichert und danach auf der Anzeige wiedergege­ ben werden können.
Insbesondere ist die Erfindung auf eine Schaltungsanord­ nung gerichtet, welche die vierseitigen bzw. -eckigen Figu­ ren in Unterabschnitte zerlegt, wobei die Unterabschnitte aus zwei Linien- bzw. Zeilensegmenten des Vierecks (quadrilateral) und der dazwischenliegenden Fläche gebildet werden, die dieselben Y-Werte haben. In jedem Falle ist die Fläche eine Trapezfläche oder eine degenerierte Trapezflä­ che, die aus solchen parallelen Y-Abtastlinien gebildet ist, welche die beiden Liniensegmente treffen, wobei diese bequem und rasch in einen Anzeigepuffer gescannt werden kann.
Die Schaltungsanordnung ermöglicht eine extrem rasche Eingabe in einen Anzeigepuffer. Sie benutzt in einer bevor­ zugten Ausführungsform eine Hardwareimplementierung einer 4 X 4-Matrix, welche die vier Y-Koordinatenwerte der Eckpunkte jedes Vierecks und die Vergleichsergebnisse der Koordinaten­ werte dieser Eckpunkte zur Erzeugung sofortiger Ausgaben be­ züglich der zerlegten Unterabschnitte verwendet, so daß letztere verarbeitet und in den Anzeigepuffer geschrieben werden können.
Die Implementierung erfordert nur für die Y-Koordinaten­ vergleiche ein Einschreiben in die Matrix und bearbeitet al­ le vorstellbaren Vierecke mit Ausnahme nur einer Form/Figur, deren Verarbeitung in Software implementiert werden muß. Sie optimiert das Verfahren, mit dessen Hilfe die die Ecken des Vierecks verbindenden Liniensegmente zur Bildung der minima­ len Anzahl ausgerichteter Trapezflächen bestimmt werden.
In Weiterbildung der Erfindung kann die Zerlegung einer Form optimiert werden: Wenn beispielsweise eine zu zerle­ gende Form nur teilweise in einem Ausschnittsfenster liegt und sich teilweise entweder oberhalb oder unterhalb des Aus­ schnittsfensters fortsetzt, kann die Operationsgeschwindig­ keit dadurch weiter erhöht werden, daß der Teil außerhalb des Ausschnittsfensters nicht bearbeitet wird. Dies läßt sich dadurch erreichen, daß die Zerlegung entweder von oben nach unten oder von unten nach oben stattfindet.
Die durch die erfindungsgemäße Schaltungsanordnung be­ wirkte Zerlegung findet entweder von oben nach unten oder von unten nach oben statt. Sie kann zum Zeichnen graphischer Darstellungen von oben nach unten oder umgekehrt benutzt werden, wodurch die Systemgeschwindigkeit wesentlich vergrö­ ßert wird. Die Operationsweise der Schaltungsanordnung ist unabhängig von der Reihenfolge, in der die Eckpunkte einge­ geben werden, und sie behandelt wiederholte Eckpunkte und andere degenerierte Fälle von Vierecken derart, daß Punkte, Linien, Dreiecke und Vierecke alle in der gleichen Weise verarbeitet werden.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand von schematisch in der Zeichnung dargestellten Beispielen näher erläutert.
In der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild eines Graphikausgabesy­ stems für einen Computer
Fig. 2 die Darstellung einer Figur, die auf einem Ausgabedisplay durch eine Reihe von Vierec­ ken wiedergegeben werden kann;
Fig. 3A-D ein Verfahren zum Zerlegen eines Vierecks in Teilabschnitte;
Fig. 4A-E eine Reihe von Zeichnungen zur Darstellung des durch die erfindungsgemäße Schaltung im­ plementierten Algorithmus; und
Fig. 5 ein Prinzip-Schaltbild eines Ausführungsbei­ spiels der erfindungsgemäßen Schaltung.
Bei der Konstruktion von Computersystemen hat sich ge­ zeigt, daß die graphische Bildwiedergabe die Operationsge­ schwindigkeit der meisten Maschinen beträchtlich vermindert. Der Grund hierfür liegt in der Informationsmenge, die der Computer für jeden auf dem Ausgabedisplay wiederzugebenden Rahmen zu verarbeiten hat, sowie darin, daß die Verarbeitung dieser Informationen für die Graphikwiedergabe die Zentral­ einheit (CPU) ungewöhnlich stark beschäftigt.
Das System, auf das die Erfindung gerichtet ist, erhöht die Geschwindigkeit der Computer-Graphikdarstellung dadurch, daß die meisten Operationen hardwaremäßig durchgeführt werden, so daß die Informationen sofort zur Verfügung stehen. Um die Hardware zur Implementierung der Graphikdarstellung einsetzen zu können, hat es sich als notwendig erwiesen, daß die der Hardware angebotene Information im wesentlichen unabhängig von der auf dem Bildschirm zu zeichnenden Anzeige im wesentlichen immer die gleiche sein sollte. Die Erfindung ist Teil eines Systems, das die zu präsentierenden graphischen Bilder in Vierecke bzw. Vierseiten aufbricht, die alle von der Graphik­ hardware in der gleichen Weise verarbeitet und auf der Gra­ phikanzeige zur Wiederherstellung der gewünschten Form rekom­ biniert werden können. Die Erfindung nimmt diese Vierecke und zerlegt sie weiter in Linienzeilensegmente, welche dieselben Abtastlinien, die auch auf der Ausgabeanzeige präsentiert werden, überspannen. Die Erfindung ist in der Lage, Punkte, Linien und Dreiecke als degenerierte Vierecke zu behandeln, so daß sie von der Hardware des Systems im wesentlichen in der gleichen Weise wie andere Vierecke ohne Zeitverlust oder Rück­ griff auf die CPU für eine spezielle Behandlung verarbeitet werden können.
Fig. 2 ist eine Darstellung eines graphischen Gebildes, das in zwei Vierecke 8 und 9 unterteilt ist, die bei individueller Anzeige auf einem Computerausgabegerät die vollständige Ur­ sprungsform erhalten. Obwohl das in Fig. 2 dargestellte Gebil­ de von einfacher Form ist, ist es für den Fachmann klar, daß Formen von praktisch unendlicher Kompliziertheit zur Darstel­ lung gebracht werden können, wenn nur die einzelnen vierecki­ gen Abschnitte schmal genug gewählt werden. Tatsächlich wurde die Erfindung zur Darstellung dreidimensionaler Trickbilder (animated shapes) sehr komplizierter Art benutzt.
Fig. 1 zeigt ein Blockschaltbild eines Graphikausgabesystems 10, das die Merkmale der Erfindung beinhaltet und in Verbin­ dung mit einem Computersystem verwendet werden kann. Das Sy­ stem 10 weist eine Bus-Interfacelogik 12 auf, die Informatio­ nen bezüglich der gewünschten graphischen Form aus dem in der Zeichnung nicht dargestellten Computersystem erhält. Die Bus -Interfacelogik 12 erhält Informationen auf einer Adressenlei­ tung, welche den besonderen Teil des Systems 10 bezeichnen, zu welchem die Eingabe zu übertragen ist. Die Bus-Interfacelogik 12 erhält die aktuellen Daten, wie eine Farbbeschreibung eines Vierecks, auf Eingangsdatenleitungen. Die Bus-Interfacelogik 12 erhält auch ein Steuersignal auf einer Steuerleitung, das diejenige Art kennzeichnet, in der die übertragene Information zu behandeln oder zu verarbeiten ist.
Beim Aufbau graphischer Darstellungen aus Vierecken, wie sie die Erfindung vorsieht, enthält die Eingangsinformation die Koordinaten des besonderen Ausschnittfensters, in welchem die Information erscheinen soll, die Koordinaten (Ecken) des Vier­ ecks und die jedes Viereck betreffenden Farbdaten. Bei dem beschriebenen Ausführungsbeispiel der Erfindung wird eine einzige Farbe für alle Pixel jedes zur Anzeige gebrachten Vierecks benutzt. Die Farbinformation, die bei der Viereckwie­ dergabe erscheinen soll, wird in einer Datenweg- und Speicher -Interfacestufe 22 gespeichert. Die Ecken des Vierecks und die Ausschnittfensterinformationen werden in einer Koordinatenein­ speicherschaltung 14 gespeichert, welche für die Durchführung von Vergleichen der einlaufenden Informationen geeignete Hard­ ware, beispielsweise bekannte Register, Signalstärkenkompara­ toren und Torschaltungen enthält.
Die durchgeführten Vergleiche umfassen den Vergleich jedes X Werts jeder Ecke mit jedem anderen X-Wert jeder der anderen Ecken, den Vergleich jedes Y-Werts jeder Ecke mit jedem ande­ ren Y-Wert jeder der anderne Ecken und den Vergleich jedes der X und Y-Werte der Ecken mit den Ecken des Ausschnittsfen­ sters, in welchem die Information zur Anzeige gebracht werden soll. Da dies durch Hardware geschieht, steht die Information dem System 10 sofort und ohne Verlust an Systemtaktzeit zur Verfügung.
Die die Ecken des Vierecks und des an der Koordinateneinspei­ cherschaltung 14 verfügbaren Ausschnittfensters betreffenden Informationen werden an eine Koordinatensequentialisie­ rungsstufe 16 angelegt, in der das Viereck in eine Reihe von Teilabschnitten zerlegt wird. Jeder der Teilabschnitte enthält zwei Liniensegmente des ursprünglichen Vierecks bzw. Vier­ seits. Jeder dieser Teilabschnitte ist so ausgebildet, daß die Liniensegmente einen Bereich des anzuzeigenden Vierecks defi­ nieren, der durch eine Reihe von parallelen horizontalen Ab­ tastzeilen bzw. -linien gezeichnet werden kann, wobei jede Zeile bzw. Linie durch einen X-Anfangswert und einen X-Endwert derart definiert ist, daß das Viereck vollständig bestimmt ist, wenn alle Abtastzeilen aller Teilabschnitte auf dem Dis­ play wiedergegeben werden. Im Ergebnis überspannen die beiden Liniensegmente auf jedem Teilabschnitt so viele Y- le) Abtastlinen bzw. -zeilen wie im Hinblick auf die Form des Vierecks möglich. Dies hat den Effekt, daß das Rechteck in eine minimale Gruppe von ausgerichteten Trapezoiden zerlegt wird.
Fig. 3A-3D zeigen ein Viereck oder Vierseit, das in der beschriebenen Weise in Teilabschnitte unterteilt ist. Das ursprüngliche Viereck ist in Fig. 3A gezeigt, während Fig. 3B-D die drei Teilabschnitte des ursprünglichen Vierecks zei­ gen. Wie in Fig. 3 zu sehen ist, enthält jeder Teilabschnitt zwischen den Liniensegmenten bei der Darstellung auf dem Aus­ gangsdisplay eine Reihe von horizontalen Abtastlinien, welche an einem das Viereck definierenden Liniensegment beginnen und an einem anderen Liniensegment enden. Wenn diese Horizontalli­ nien zum Rahmenpuffer abgetastet werden, um sie auf dem Ausga­ bedisplay wiederzugeben, wird die gesamte Viereckform auf dem Display rekonstruiert.
Es wird erneut auf Fig. 1 Bezug genommen. Nach dem Zerlegen der Vierecke in Teilabschnitte entsprechend der vorliegenden Erfindung sind die X-Anfangs- und -Endwerte an einer funktio­ nellen Adressierstufe 18 bestimmt. Bei dem beschriebenen Aus­ führungsbeispiel der Erfindung geschieht dies unter Verwendung einer Schaltung, welche die beiden Liniensegmente bestimmt, die wiederum das ausgerichtete Trapezzid der die X-Werte bei Beginn und am Ende jeder Abtastzeile innerhalb der zerlegten Unteranschnitte des Vierecks bilden. Diese funktionale Adres­ sierstufe 18 bewirkt auch einen Teil der zur Einpassung der besonderen Vierecke in die für die Anzeige vorgesehenen Aus­ schnittfenster erforderliche Kappung und überträgt danach die Signale zu einer Maskenerzeugungsstufe 20, welche die Informa­ tionen in sechzehn Pixelbereiche ordnet; letztere erstrecken sich vom Beginn bis zum Ende des sichtbaren Vierecks für jede Abtastlinie und dienen zur Adressierung der Datenweg- und Speicherinterfacestufe 22.
Die Maskenerzeugungssignale werden auch an einen Linearadres­ sengenerator 24 angelegt, der die von der Maskenerzeugungsstu­ fe 20 gelieferten Adressen in Signale zum linearen Adressieren des Rahmenpuffers für die Übertragung der Ausgabeanzeige um­ setzt. An diesem Punkt werden die sich auf das anzuzeigende Viereck beziehenden Farbdaten, die zuvor im Speicherinterface 22 gehalten worden sind, zum Anzeigepuffer an der von dem Linearadreßgenerator 24 identifizierten Stelle übertragen.
Die Erfindung befaßt sich im besonderen mit einer Einrichtung und einem Verfahren zum Zerlegen der Vierecke; diese Einrich­ tung enthält die Koordinatensequentialisierungsstufe 16 bei dem bevorzugten Ausführungsbeispiel der Erfindung. Wenn auch die Erfindung im folgenden unter Bezugnahme auf das in Fig. 1 dargestellte Graphiksystem beschrieben wird, ist für den Fach­ mann verständlich, daß die Erfindung eine weite Anwendung auch in anderen Systemen zur Erzeugung graphischer Ausgangsdisplays für Computersysteme finden kann.
In den Fig. 4A-C sind eine Reihe von drei möglichen Vier­ seitenformen (quadrilaterals) gezeigt, die jeweils durch ihre vier Ecken und diese Ecken verbindende gerade Linien definiert sind. Für die Zwecke der vorliegenden Beschreibung sind die Vierecks oder Vierseiter definiert durch die Eckpunkte x0y0, x1y1, x2y2, x3y3. In jedem Fall ist die Vierseitenform be­ stimmt durch eine Verbindung x0y0 (Ecke 0) mit x1y1 (Ecke 1) mit x2y2 (Ecke 2) mit x3y3 (Ecke 3) mit x0y0.
Für jede Vierseitenform, die so zu zerlegen ist, daß sie von dem der Erfindung zugeordneten graphischen System rasch verar­ beitet werden kann, wird eine vier-mal-vier-Matrix an diesem Funkt zu Erläuterungszwecken gezeigt. Die Matrixfelder sind tatsächlich in der weiter unten noch beschriebenen Weise in Hardware implementiert. Die Basis jeder Matrix ist in den Spalten wie in Fig. 4A beispielsweise zur Anzeige der jeweili­ gen Ecken des Vierseites bezeichnet; Spalte 1 beinhaltet In­ formationen für Ecke 1 usw.. Entlang der linken Seite der Matrix sind Zeilenangaben für jede Ecke aufgeführt. In Zuord­ nung zu jeder Ecke (Spalte) ist eine 1 in derjenigen Zeile angegeben, welche das "Niveau" der Ecke angibt. Die Bezeich­ nung "Niveau" soll im Rahmen der vorliegenden Beschreibung für jede Ecke diejenige Anzahl anderer Ecken in einem besonderen Vierseiter angeben, welche Y-Werte unterhalb von (oder kleiner als) die speziellen Ecke hat.
So ist beispielsweise in Fig. 4A die Ecke 3 die am niedrigsten gelegene Ecke und hat infolgedessen keine anderen unterhalb gelegenen Ecken. Daher steht eine "1" in der Zeile 0 der Ma­ trix, welche das Niveau der Ecke angibt. Ecke 2 hat nur Ecke 3 unter sich, so daß eine "1" in Zeile 1 der Matrix für die Ecke 2 steht, was bedeutet, daß eine einzige Ecke unterhalb der hier betrachteten Ecke in dem betrachteten Vierseiter vorhan­ den ist. In ähnlicher Weise hat Ecke 0 zwei Ecken (Ecke 2 und Ecke 3) unter sich, so daß eine "1" in Zeile 2 der Matrix geschrieben wird, welche angibt, daß die Ecke 0 auf dem Niveau 2 liegt. Schließlich hat Ecke 1 drei andere Ecken im Viersei­ ter unter sich, so daß eine "1" in Zeile 3 der Matrix ge­ schrieben wird, welche das Niveau 3 für die Ecke 1 bezeich­ net.
Zu beachten ist, daß bei der Implementierung einer Matrix entsprechend der Erfindung nach einer Anzahl von Regeln vorge­ gangen wird. So hat beispielsweise jede Ecke ihre eigene Spal­ te, und jede Spalte kann nur eine "1" enthalten. Zur Erleich­ terung des Verständnisses für die Matrizen sind die Spalten in jeder der Fig. 4A bis C in derselben Reihenfolge angeord­ net, d. h. 0123, 0123, 0123.
Um die Verwendung der Matrix zu verstehen, werden auch die folgenden Ausdrücke benutzt. In jedem verarbeiteten Linienseg­ ment wird eine Ecke als Anfangsecke und die andere als Endecke bezeichnet. Das "aktuelle Niveau" ist das Niveau der Anfangs­ ecke eines Liniensegments. "Vorwärts" bedeutet die Richtung des Eintritts in die Beispielsmatrix und "rückwärts" bedeutet die Richtung entgegen des Eintritts in die Matrix. Bei Benut­ zung der Matrix werden zwei Linien, welche den selektierten Abschnitt des zu zerlegenden Vierseiters bzw. Vierecks ausma­ chen, gleichzeitig betrachtet. Die erste Linie wird als Linie "A" und die zweite Linie als Linie "B" bezeichnet.
Betrachtet sei die Matrix für das Viereck gemäß Fig. 4A. Diese Matrix wird in der auf dem niedrigsten Niveau befindlichen Zeile von links aus betreten. Die Bestimmung der Eckpunkte der Linie A beginnt an dieser Ecke und setzt sich fort nach rechts durch Vorwärtsschau, um festzustellen, ob die nachfolgende Ecke auf einem Niveau oberhalb der Eingangsecke liegt. Ist dies der Fall, so wird die rechts anschließende Ecke als End­ ecke der Linie A gewählt. Ist dies nicht der Fall, bedingt die Bestimmung einen Rückwärtsblick (nach links), um festzustel­ len, ob die Ecke in der zurückliegenden Spalte auf einem Ni­ veau oberhalb der Eingangsecke liegt. Ist keine dieser Bedin­ gungen erfüllt, so bedingen die Regeln zunächst einen Blick auf dasselbe Niveau in der vorausliegenden Spalte. Wenn diese Bedingung nicht zutrifft (d. h. keine "1" in der Spalte ist), so wird die Endecke auf die zurückliegende Spalte gesetzt. In Fig. 4A ist die Eingangsecke die Ecke 3 und die vorwärtslie­ gende Ecke ist die Ecke 0, die sich auf einen Niveau 2 befin­ det. Daher ist das erste zu verarbeitende Liniensegment die von der Ecke 3 zur Ecke 0 laufende Linie.
Die zweite oder B-Linie wird mit Hilfe praktisch der gleichen Regeln bestimmt. Die gleiche Ecke ist der Ausgangspunkt für die zweite Linie; jedoch werden die Tests in entgegengesetzter Richtung durchgeführt, d. h. die Eingabe ist von rechts, der erste Blick vorwärts ist nach links und oben, danach rückwärts nach rechts und unten, danach vorwärts auf dem gleichen Niveau und schließlich (wenn keiner der vorausgegangenen Tests rich­ tig ist) wird die Ecke rückwärts als Endecke der B-Linie be­ zeichnet.
Aus Fig. 4A ist zu sehen, daß die beiden die Ecke 3 mit den Ecken 0 und 2 verbindenden Liniensegmente eine Zahl mit den gleichen Y-Werten von Ecke 3 bis zur Ecke 2 haben, welche ein Trapezoid definieren. Jedoch ist ein Teil des von den Ecken 0 und 3 definierten Liniensegments nicht in diesem Trapezoid enthalten. Dieses Liniensegment wird daher wiederum für die Bestimmung des nächsten Liniensegmentenpaars verwendet. Die Regel für diese Auswahl ist die erneute Verwendung eines Lini­ ensegments, wenn dessen Endeckenniveau höher als die Endecke des anderen Liniensegments im ersten Paar ist. Das andere Liniensegment (die B-Linie für dieses Paar) beginnt mit der Endecke der zuvor benutzten, jedoch nicht wiederholten Linie. Die gleichen Regeln wie für die Anwendung der Matrix zur Be­ stimmung der Endecken der Liniensegmente sind gültig, so ist für Fig. 4A der Beginn der B-Linie des zweiten Paars an der Ecke 2, wo eine "1" auf dem Niveau 1 der Matrix erscheint. Das Vorwärtsschauen nach links ergibt eine "1" auf dem Niveau 3 für die Ecke 1, so daß die die Ecken 2 und 1 verbindende Linie als Linie B des zweiten Liniensegmentenpaars betreten wird, das die die Scheitel 0 und 3 verbindende Linie als das A-Lini­ ensegment des Paars enthält. Es ist zu sehen, daß dieses zwei­ te Linienpaar auch eine Anzahl von Abtastzeilen auf den glei­ chen Y-Niveaus enthält, die zwischen den Ecken 2 und 0 liegen und eine zweite trapezförmige Fläche definieren.
Schließlich wird das die Ecken 1 und 2 verbindende Linienseg­ ment neu geladen und als Liniensegment B für das letzte Paar benutzt, da es ein Endeckenniveau oberhalb des Endeckenniveaus des die Ecken 3 und 0 verbindenden Liniensegments hat. Die Endecke 0 des A-Liniensegments, das nicht neu geladen wird, dient als Ausgangsecke für das A-Liniensegment des letzten Paars. Blickt man zunächst vorwärts vom Niveau 2 der "1" der Ecke 0, ergibt sich eine "1" in auf dem Niveau 3 der Spalte für die Ecke 1, und das A-Liniensegment wird als die die Ecken 0 und 1 verbindende Linie definiert. Diese komplettiert das letzte Paar von Liniensegmenten und umfaßt alle restlichen Abtastlinien als Y-Niveaus innerhalb des Vierecks gemäß Fig. 4A. Die Regel zur Vervollständigung der Liste von Linienseg­ menten bedingt das Ende der Suche, wenn beide Liniensegmente auf demselben Niveau endeten und keine "1" innerhalb der Ma­ trix auf einem höheren Niveau liegt.
Fig. 4B zeigt ein zweites vierseitiges Gebilde, welches nach der Erfindung implementiert werden kann. Unter Verwendung der oben angegebenen Regeln wird die Matrix von links in Spalte 0 (die Ecke 0 darstellend) betreten, wo eine "1" auf dem Niveau 0 erscheint. Von dieser Ecke aus in Vorwärtsrichtung erscheint eine "1" auf dem Niveau 3 für die Ecke 1, woraus sich das erste oder A-Liniensegment ergibt. Bei Eintritt von rechts und schauen nach links von dieser Ecke aus ergibt sich eine "1" am Niveau 1 für die Ecke 3 und das B-Liniensegment. Da die Ecke 1 über dem Niveau der Ecke 3 liegt, wird das die Ecken 0 und 1 verbindende Liniensegment als Liniensegment A des zweiten Paars wiederholt, während das Liniensegment B des zweiten Paars mit der Ecke 3 beginnt. Bei Eintritt in die Matrix am Niveau 1 für Ecke 3 und Vorwärtsschauen nach links ergibt sich eine "1" auf einem höheren Niveau an der Ecke 2; diese ist dann die Endecke für das Liniensegment B des zweiten Paars. Von diesen beiden Liniensegmenten endet das die Ecken 1 und 0 enthaltende Liniensegment auf einem Niveau oberhalb der Ecke 2, so daß dieses Liniensegment wiederum als Liniensegment A wiederholt wird. Das Liniensegment B beginnt mit der Ecke 2, tritt von rechts ein und blickt vorwärts nach links, um die Ecke 1 auf dem Niveau 3 zu entdecken. Die beiden Liniensegmen­ te dieses Paars haben die gleiche Ecke, und es gibt keine höher gelegenen Ecken, so daß die Vierseitenform komplettiert ist.
Die Vierseitenform gemäß Fig. 4B zeigt, daß der Algorithmus Vierseiter verarbeitet, welche in unterschiedlicher Eckenrei­ henfolge beginnen, und daß die Tatsache, daß der Vierseiter so gestaltet ist, daß seine Liniensegmente einander kreuzen, keinen Einfluß auf die Fähigkeit der Schaltung zur Entwicklung der geeigneten Liniensegmente für die Ausgangsanzeige hat.
Fig. 4C zeigt eine andere Form, welche durch die Erfindung verarbeitet werden kann. Im Falle dieser Form haben die Ecken 0 und 1 dasselbe Y-Niveau, so daß das diese Ecken verbindende Liniensegment horizontal verläuft. Darüberhinaus handelt es sich bei der in Fig. 4C dargestellten Form um ein degenerier­ tes Viereck, bei dem die Ecken 2 und 3 übereinanderliegen.
Bei Eintritt in die Matrix auf dem Niveau 0 von der linken Seite der Matrix ist die erste zu berücksichtigende "1" in Spalte 0 die Ecke 0. In Vorwärtsblickrichtung gibt es kein höheres Niveau in Spalte 1, während in Rückwärtsblickrichtung eine "1" auf dem Niveau 2 der Spalte 3 erscheint. Daher ist das erste oder A-Liniensegment dasjenige Liniensegment, wel­ ches die Ecken 0 und 3 verbindet. Um das Liniensegment B des ersten Paars zu bestimmen, wird die Matrix von rechts betre­ ten, und die erste zu berücksichtigende "1" ist in Spalte 1 die Ecke 1. In Vorwärtsrichtung gibt es keine auf höherem Niveau gelegene Ecke, während in Rückwärtsrichtung nach rechts die Ecke 2 das B-Liniensegment komplettiert. Da keine Endecke über der anderen liegt, wird kein Segment wiederholt. Da es kein höheres Niveau mit einer "1" gibt und beide Liniensegmen­ te auf demselben Niveau enden, wird die Suche beendet.
Zu beachten ist, daß die durch Fig. 4C dargestellte Operation nur die beiden Liniensegmente mit den Ecken 0,3 und 1,2 benö­ tigt, um die degenerierte vierseitige Form vollständig abzuta­ sten. Dies reicht bei Betrachtung der Form gemäß Fig. 4C er­ sichtlich aus; denn das die Ecken 0 und 1 verbindende Linien­ segment braucht nicht verwendet zu werden, da es auf dem nied­ rigsten Niveau der beiden gewählten Liniensegmente abgetastet wird und das die Ecken 2 und 3 verbindende Liniensegment zu einem Punkt degeneriert ist.
Zur Erhöhung der Operationsgeschwindigkeit des den Erfindungs­ gegenstand beinhaltenden Graphiksystems ist es wichtig, daß die erfindungsgemäße Anordnung von der Spitze nach unten oder von dem Boden nach oben zu verarbeiten vermag. Dies ist wich­ tig, da bei Einsatz einer Form in ein Ausschnittfenster ein Teil der Form aus den Rändern des Fensters herausfallen und daher nicht auf dem Bildschirm erscheinen kann. Wenn dieser Teil über oder unter dem Ausschnittfenster liegt, so beseitigt die Definition der Form auf dem Display von oben oder unten die Notwendigkeit der Verarbeitung der nichtangezeigten Infor­ mationen und trägt damit wesentlich zur Erhöhung der Operati­ onsgeschwindigkeit des Gesamtsystems bei.
Die Befähigung des erfindungsgemäßen Systems entweder in Auf­ wärts- und in Abwärtsrichtung zu operieren, kann dadurch leicht dargestellt werden, daß man die Matrix eines der oben gegebenen Beispiele durch Beginn in Zeile 3 und Bewegung in Richtung der Zeile 0 durchquert. Die auf diese Weise identifi­ zierten Liniensegmente sind die gleichen wie vorher und zeigen die Fähigkeit der Erfindung, in jeder Richtung zu operieren.
Es gibt zwei Bedingungen, die der vorstehend beschriebene Algorithmus bis zu diesem Funkt nicht beherrscht. Die erste besteht darin, daß eine horizontale Abtastlinie bzw. -zeile mehr als zwei Liniensegmente des Vierecks schneidet. Diese Bedingung tritt dann auf, wenn beispielsweise die Viereckform gemäß Fig. 4B derart umdefiniert wird, daß die Ecke 3 über die Ecke 2 bewegt wird. Eine solche Form muß durch die Systemsoft­ ware behandelt werden. Die zweite Bedingung ist eine solche, bei der eine spezielle Adaptierung des Algorithmus nötig ist.
Eine diese spezielle Adaptierung erfordernde Bedingung besteht darin, daß die vierseitige Form durch drei Ecken gebildet wird, welche auf derselben horizontalen Abtastlinie liegen und bei Setzen in die Matrix des Algorithmus die Ecke im Zentrum des gleichen Niveaus wie die beiden anderen entweder die am weitesten links oder am weitesten rechts gelegene Ecke des Vierseiters auf diesem Niveau ist. Die Form ist in einem sol­ chen Fall ein Dreieck, dessen eine Seite als horizontale Linie verläuft (siehe Fig. 4D). In einem solchen Fall muß ein spezi­ elles horizontales Liniensegment zwischen der linken und äußerst rechten Ecke auf dem Mehreckenniveau definiert werden, und die Ecke für den Eintrittspunkt in das Liniensegment A als Ecke in Vorwärtsrichtung von der zentralen Ecke und die Start­ ecke für das Liniensegment B auf der Ecke rückwärts von der Ausnahmeecke eingestellt werden. Auf diese Weise wird der Teil, der auf eine Linie degeneriert ist, nach dem Ziehen der Linie ignoriert, und die restlichen Liniensegmente sowohl für die A- als auch B-Liniensegmente, welche folgen, benutzen die restlichen Ecken bei den Berechnungen. Dies gilt, wenn die auf derselben Horizontallinie liegenden drei Ecken auf dem Nullni­ veau liegen, so daß die Horizontallinie auf Nullniveau ver­ läuft.
Wenn die Linie des Dreiecks auf dem "1"-Niveau wie bei der Form gemäß Fig. 4E verläuft, wird die Stopecke für das Linien­ segment A auf der Ecke in Vorwärtsrichtung von der Ausnahme­ ecke und die Stopecke für das B-Liniensegment auf die Ecke rückwärts von der Ausnahmeecke eingestellt. Eine horizontale Linie wird zwischen der rechten und äußersten linken Ecke auf dem "1"-Niveau gezogen. Dies hat den gleichen Effekt des Zeichnens einer horizontalen Linie auf der Ausnahmeecke und des Ignorierens dieser Ecke unter Verwendung der restlichen Ecken für das Zeichnen eines Dreiecks.
Die Form einer horizontalen Linie ist ein zweiter Spezialfall.
In diesem Falle kann die Operation der Matrix durch Ignorieren des Normalablaufs und Einstellen der Liniensegmenten-A- und -B-Start- und -Endecken auf die äußerst linke Ecke und die äußerst rechte Ecke optimiert werden.
Ein ähnlicher Spezialfall tritt auf, wenn die Form eine Verti­ kallinie ist. Die Matrix kann durch Einstellen der Startecken der Liniensegmente A und B an der bodennächsten Ecke und der Liniensegment-A- und B-Endecken auf der höchsten Ecke opti­ miert werden.
Bezug genommen wird jetzt auf Fig. 5, wo ein schematisches Blockschaltbild mit der Schaltungsanordnung zum Implementieren desjenigen Algorithmus gezeigt ist, der unter Bezugnahme auf die Fig. 4A-C und Spezialfälle vorstehend erörtert wurde. Fig. 5 zeigt eine Schaltung 30, die zu diesem Zweck benutzt wird. Diese Schaltung weist eine Zustandsmaschine 32 auf, welche die gesamte Operation der Schaltungsanordnung steuert. Die Zustandsmaschine 32 enthält einen Teil 34, der Eingangssi­ gnale darüber erhält, in welchem Vergleichsverhältnis die verschiedenen Ecken des hier interessierenden besonderen Vier­ ecks oder Vierseiters zueinander stehen. Diese Eingangssignale werden an Eingangsleitungen 36 und 38 angelegt, die bei dem beschriebenen Ausführungsbeispiel jeweils zwölf Informations­ bits übertragen und X- und Y-Koordinatenvergleiche angeben. Wie oben unter Bezugnahme auf Fig. 1 erläutert wurde, liefert das die Erfindung beinhaltende System als Ausgänge der Koordi­ nateneinspeicherstufe diese Information als Beiprodukt des ersten Operationsschrittes, ohne dazu zusätzliche Systemtakt­ zeiten in Anspruch zu nehmen.
Die Zustandsmaschine 32 liefert die Signale, durch die Start- und Endecken und die verschiedenen Spezialfälle der Fig. 4A-E gehandhabt bzw. verarbeitet werden.
Die Zustandsmaschine konstruiert die Matrizen entsprechend den folgenden Logikgleichungen. Diese Gleichungen sind in der C-Programmiersprache geschrieben.
Definitionen
! - binärer Komplementärwert (nicht)
∥ - binäre Inklusiv-ODER-Verknüpfung
&& - binäre UND-Verknüpfung
ˆ - binäre Exklusiv-ODER-Verknüpfung
tlft, trght - oben links und oben rechts Eckenangabe
blft, brght - unten links und unten rechts Eckenangabe
Yagb bedeutet Ya < Yb
Yalb bedeutet Ya < Yb
Format
Imat [Zeile] [Spalte]
Gleichungen zum Aufbau der Linienmatrix
Gleichung zur Bestimmung des Spezialfalls 1a - 3 Punkte auf Niveau 0 mit Mitteleins an einer Extremstelle
Gleichungen zur Bestimmung des Spezialfalls 1b - 3 Punkte auf Niveau 1 mit Mitteleins an einer Extremstelle
Teil 34 der Zustandsmaschine 32 liefert als Ausgangssignale auf sechsunddreißig unterschiedlichen Leitungen Signale, die zum Implementieren des beschriebenen Algorithmus benutzt werden. Diese Signale umfassen Signale, die jeweils die Nummer einer Ecke des interessierenden Vierecks bezeichnen, und fer­ ner Signale, welche den Niveauwert für jede Ecke bezeichnen. Die eine Eckennummer bezeichnenden Signale sind 2-Bit-Signale bei dem beschriebenen Ausführungsbeispiel. Die die Startecke für die Linien A und B bezeichnenden Signale werden an Multi­ plexer 40, 42, 48 und 50 für das Liniensegment A und an Multi­ plexer 44, 46, 52 und 54 für das Liniensegment B auf Datenaus­ wahlsteuerleitungen angelegt. Die Multiplexer 40 und 44 sind vorwärtsblickende Multiplexer und geben als solche die Spalte an, auf die die Eingabespalte als Vorwärtsspalte Bezug nimmt. Daher wird ein Signal für jede Spalte am Eingang des Multiple­ xers 40 an den mit 0 bis 3 bezeichneten Eingangsanschlüssen (welche die Eintrittsspalte bezeichnen) angelegt. Dieses 2-Bit-Signal zeigt an, welche Spalte für die als Eintritts­ spalte verwendete Eingabespalte als "Vorwärts"-Spalte bezeich­ net ist. Da die Vorwärtsspalte stets die Spalte rechts von der A-Leitungsegment-Eintrittsspalte ist, bezeichnet das an den Datenanschlüssen für eine Spalte-0-Selektion anstehende Signal die Spalte 1 als Vorwärtsspalte usw., wobei das Signal an Spalte 3 die Spalte 0 als Vorwärtsspalte bezeichnet. Der Mul­ tiplexer 44 wirkt in ähnlicher Weise, mit der Ausnahme, daß die "Vorwärts"-Spalte für das B-Leitungssegment die links gelegene Spalte ist; dementsprechend gibt das Signal auf der Leitung für eine Spalte-1-Selektion die 0-Spalte an.
Die Dateneingaben zu den Spalten 0 bis 3 der Multiplexer 42 und 46 bezeichnen andererseits die für die gerade behandelte Spalte "rückwärtige" Spalte. Das 2-Bit-Signal auf dem Spal­ te-0-Eingang des Multiplexers 42 bezeichnet die Spalte 3 als rückwärtige Spalte, und das Signal auf dem Spalte-3-Eingang zeigt an, daß die Spalte 2 die rückwärtige Spalte ist. Multi­ plexer 46 arbeitet in ähnlicher Weise; jedoch bezeichnet das Signal auf jeder Spaltenleitung die Spalte, welche um eine Zahl größer als die "rückwärtige" Spalte für das B-Linienseg­ ment ist.
Zwei zusätzliche Multiplexer 48 und 50 sind für das A-Lei­ tungssegment und weitere zwei zusätzliche Multiplexer 52 und 54 für das B-Leitungssegment vorgesehen. Auch diese Multiple­ xer haben jeweils Eingangsdatenleitungen, die jede der Spalten 0-3 der durch die Schaltung 30 implementierten Matrix darstel­ len. Diese Eingangsleitungen führen 2-Bit-Signale aus der Schaltung 34, die den Y-Pegel jeder der Spalten bezeichnen. Angewandt auf das Viereck gemäß Fig. 4A führt beispielsweise die Leitung 0 des Niveaumultiplexers 48 in Vorwärtsrichtung ein Signal, das das Niveau 3 angibt, da die Ecke 1 der Spalte 1, die Vorwärtsspalte für Spalte 0, drei Ecken unter sich hat. In ähnlicher Weise führt das Vorwärtsniveau für Leitung 1 des Multiplexers 48 ein Signal, das das Niveau 1 angibt, da die Ecke der Spalte 2 auf einem Niveau liegt, unter welchem sich nur eine einzige Ecke befindet. Der Multiplexer 52 arbeitet in ähnlicher Weise (Blickrichtung jedoch nach links) und liefert Vorwärtsniveaus für jede der Spalten des Liniensegments B. In ähnlicher Weise liefern die Multiplexer 50 und 54 Signale, welche die Niveaus der Ecken zu den "Rückwärts"-Spalten für jede der die unterschiedlichen Spalten darstellenden Eingangs­ leitungen bezeichnet.
Die Multiplexer 40, 42, 48 und 50 werden von Signalen auf Leitungen 56 und 58 aus der Zustandsmaschine 32 aktiviert, welche angeben, daß entweder das Liniensegment A oder das Liniensegment B zu definieren ist. Ein Signal auf der Leitung 56 gibt an, daß die gewählte Eintrittsspalte für Linie A die Multiplexer 40, 42, 48 und 50 aktiviert und ein Ausgangssignal liefert, welches die die Vorwärtsspalte für die jeweilige Eintrittsspalte, das Niveau dieses Signals, die Rückwärtsspal­ te für diese Eintrittsspalte und das Niveau jenes Signals angibt. Daher wird die viereckige Form der Fig. 4A zerlegt, wobei sich der Eintritt in Spalte 3 befindet; dieses Ein­ trittsspaltensignal auf der Leitung 56 sorgt dafür, daß die Multiplexer eine Vorwärtsspalte für die Spalte 0 mit einer Ecke auf dem Niveau 2 und eine Rückwärtsspalte für die Spalte 2 mit einer Ecke auf dem Niveau 1 liefern. Die die beiden Ecken zur Entwicklung des anfänglichen A-Liniensegments be­ treffenden Informationen werden als 4-Bit-Ausgangssignal bei dem beschriebenen Ausführungsbeispiel am Anschluß 60 zur Über­ tragung zum Block 80 in Fig. 1 und zur Weiterbehandlung durch das System angelegt.
In ähnlicher Weise wird zur Bestimmung des anfänglichen B-Li­ niensegments für das Viereck gemäß Fig. 4A ein Signal auf die Leitung 58 gegeben, welches die Eintrittsspalte für das Lini­ ensegment B bezeichnen. Dies läßt die Multiplexer 44, 46, 52, 54 Ausgangssignale entwickeln, welche die Vorwärts- und Rück­ wärtsspalten und die Niveaus der Ecken an jeder Vorwärts- und Rückwärtsspalte bezeichnet. Die Information bezüglich der beiden das anfängliche B-Liniensegment bildenden Ecken wird als 4-Bit-Ausgangssignal bei dem beschriebenen Ausführungsbei­ spiel am Anschluß 62 zur Verfügung gestellt und von dort zum Block 18 in Fig. 1 zur Weiterverarbeitung durch das System übertragen.
Die Zustandsmaschine 32 enthält auch Ausgangsleitungen zur Lieferung von Signalen für einen Komparator 64; diese Signale geben an wenn die Zerlegungsoperation für das besondere Vier­ eck beendet ist. Die Leitung 66 liefert eine Angabe des höch­ sten Niveaus für eine der Ecken des Vierecks, bestimmt durch die X- und Y-Eingangsvergleichssignale. Diese Angabe wird vom Vergleicher 64 benutzt und mit Signalen auf der Leitung 68 abgestimmt, welche das Niveau jeder der Endecken der Linien­ segmente A und B angeben. Wenn die Liniensegmente auf gleichen Y-Ecken enden, und es keine anderen darüber gelegenen Niveaus von Ecken im Viereck gibt, liefert der Komparator 64 ein Si­ gnal an das Zustandsregister 32, welches angibt, daß das Vier­ eck zerlegt ist und die spezielle Operation abgeschlossen ist.

Claims (5)

1. Schaltungsanordnung zum Zerlegen eines darzustellen­ den graphischen Bildes in Vierecke, die von einer Graphik­ darstellungs-Hardware in gleicher Weise bearbeitet und auf einem eine Vielzahl von Abtastzeilen aufweisenden Computer­ ausgabedisplay zur Darstellung des graphischen Bildes rekom­ biniert werden können, mit:
einer Einrichtung zum Zerlegen des darzustellenden gra­ phischen Bildes in eine Vielzahl von Vierecke beliebiger Form und zum Erzeugen von Signalen, die Koordinaten (x0, y0; x1, y1; x2, y2; x3, y3) der Eckpunkte der Vierecke darstellen;
einer Einrichtung zum Erzeugen von Signalen (36, 38), die die jeweiligen Ergebnisse von Vergleichen der Koordina­ ten (x0, y0; x1, y1; x2, y2; x3, y3) der Eckpunkte eines Vier­ ecks darstellen; und
einer die die Vergleichsergebnisse darstellenden Signale (36, 38) empfangenden Einrichtung zum Zerlegen eines Vier­ ecks in eine minimale Anzahl trapezförmiger Unterabschnitte, wobei die Unterabschnitte jeweils aus zwei Liniensegmenten des Vierecks gebildet sind, die gemeinsame Abtastzeilen ein­ schließen,
wobei die Einrichtung zum Zerlegen eines Vierecks eine Einrichtung (32) aufweist zum Auswählen eines Start-Eck­ punkts für eine Bestimmung derjenigen beiden Liniensegmente, welche gemeinsame Abtastzeilen einschließen, und zum Ausge­ ben von den Start-Eckpunkt anzeigenden Signalen (56, 58), zum Auswählen eines mit dem Start-Eckpunkt verbundenen er­ sten Liniensegments (A) und eines mit dem Start-Eckpunkt verbundenen zweiten Liniensegments (B) und zum Erzeugen von Ausgabesignalen (60, 62), die die beiden ausgewählten Liniensegmente anzeigen.
2. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch:
eine Einrichtung zum Bestimmen desjenigen der beiden ausgewählten Liniensegmente, welches Punkte auf solchen Ab­ tastzeilen umfaßt, die nicht den beiden Liniensegmenten ge­ meinsam sind; und
eine Einrichtung zum Erzeugen eines dritten Linienseg­ ments, welches an dem Endpunkt desjenigen der beiden Linien­ segmente beginnt, welches ausschließlich Abtastlinien ein­ schließt, die beiden Liniensegmenten gemeinsam sind.
3. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch:
eine Einrichtung zum Bestimmen, welches der zuletzt aus­ gewählten Liniensegmente Punkte auf Abtastlinien ein­ schließt, welche nicht den beiden zuvor ausgewählten Linien­ segmenten gemeinsam sind; und
eine Einrichtung zum Erzeugen eines zusätzlichen Linien­ segments, das am Endpunkt desjenigen der zuletzt ausgewähl­ ten Liniensegmente beginnt, welches nur Abtastlinien ein­ schließt, die beiden zuvor ausgewählten Liniensegmenten ge­ meinsam sind.
4. Schaltungsanordnung nach Anspruch 3, gekennzeichnet durch eine Einrichtung (64) zum Bestimmen, ob die Zerlegung eines Vierecks abgeschlossen ist.
5. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch:
eine Einrichtung zum Bestimmen, ob mehr als zwei Eck­ punkte eines Vierecks auf der gleichen horizontalen Abtast­ linie liegen und ob einer dieser Eckpunkte derart mit dem Viereck verbunden ist, daß er ein einzelnes von dem Viereck sich weg erstreckendes Liniensegment definiert;
eine Einrichtung zum Erzeugen eines Ausgangssignals in Abhängigkeit von der Feststellung, daß mehr als zwei Eck­ punkte auf der gleichen horizontalen Abtastlinie liegen und daß einer der Eckpunkte ein einzelnes sich von dem Viereck weg erstreckendes Liniensegment definiert, um ein Signal zu erzeugen, das anzeigt, daß ein horizontales Liniensegment gezeichnet werden soll, das die extremen Eckpunkte miteinan­ der verbindet; und
eine Einrichtung, die die Einrichtung zum Auswählen ei­ nes Start-Eckpunkts veranlaßt, den extremen Eckpunkt zu ignorieren.
DE3941550A 1988-12-20 1989-12-15 Schaltungsanordnung zum Zerlegen einer auf einem Computer-Ausgabedisplay anzuzeigenden Graphikfigur Expired - Fee Related DE3941550C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/287,128 US5020002A (en) 1988-12-20 1988-12-20 Method and apparatus for decomposing a quadrilateral figure for display and manipulation by a computer system

Publications (2)

Publication Number Publication Date
DE3941550A1 DE3941550A1 (de) 1990-06-28
DE3941550C2 true DE3941550C2 (de) 2000-06-21

Family

ID=23101576

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3941550A Expired - Fee Related DE3941550C2 (de) 1988-12-20 1989-12-15 Schaltungsanordnung zum Zerlegen einer auf einem Computer-Ausgabedisplay anzuzeigenden Graphikfigur

Country Status (6)

Country Link
US (1) US5020002A (de)
AU (1) AU618128B2 (de)
CA (1) CA1319996C (de)
DE (1) DE3941550C2 (de)
GB (1) GB2226481B (de)
HK (1) HK48994A (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153937A (en) * 1989-09-22 1992-10-06 Ampex Corporation System for generating anti-aliased video signal
US5159665A (en) * 1989-11-27 1992-10-27 Sun Microsystems, Inc. Graphics accelerator system
US5133049A (en) * 1990-03-14 1992-07-21 Hewlett-Packard Company Accelerated decomposition of small polygons into trapezoids
US5129051A (en) * 1990-03-16 1992-07-07 Hewlett-Packard Company Decomposition of arbitrary polygons into trapezoids
CA2038412C (en) * 1990-04-26 2001-10-16 Glenn M. Courtright Polygon sort engine
GB2245394A (en) * 1990-06-18 1992-01-02 Rank Cintel Ltd Video framestore selective addressing system
US5371843A (en) * 1992-10-16 1994-12-06 International Business Machines Corporation Method and system for filling non-complex polygons using vertical spans
US5553206A (en) * 1993-02-12 1996-09-03 International Business Machines Corporation Method and system for producing mesh representations of objects
JP2642070B2 (ja) * 1994-11-07 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション 四角形メッシュの生成方法及びシステム
GB9518695D0 (en) * 1995-09-13 1995-11-15 Philips Electronics Nv Graphic image rendering
JP3638568B2 (ja) * 2001-06-08 2005-04-13 株式会社ソニー・コンピュータエンタテインメント 画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3870922A (en) * 1972-05-02 1975-03-11 Nippon Electric Co Graphic pattern generation for a tv-like scanned-graphic display equipment
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor
US4791582A (en) * 1985-09-27 1988-12-13 Daikin Industries, Ltd. Polygon-filling apparatus used in a scanning display unit and method of filling the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS634380A (ja) * 1986-06-23 1988-01-09 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 計算機図形処理装置
JP2541539B2 (ja) * 1987-02-13 1996-10-09 日本電気株式会社 図形処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3870922A (en) * 1972-05-02 1975-03-11 Nippon Electric Co Graphic pattern generation for a tv-like scanned-graphic display equipment
US4791582A (en) * 1985-09-27 1988-12-13 Daikin Industries, Ltd. Polygon-filling apparatus used in a scanning display unit and method of filling the same
US4758965A (en) * 1985-10-09 1988-07-19 International Business Machines Corporation Polygon fill processor

Also Published As

Publication number Publication date
GB2226481B (en) 1993-08-18
AU4151489A (en) 1990-06-28
HK48994A (en) 1994-05-27
CA1319996C (en) 1993-07-06
GB8921442D0 (en) 1989-11-08
GB2226481A (en) 1990-06-27
US5020002A (en) 1991-05-28
DE3941550A1 (de) 1990-06-28
AU618128B2 (en) 1991-12-12

Similar Documents

Publication Publication Date Title
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE3335162C2 (de) Vorrichtung und Verfahren für graphische Darstellungen mittels Computer
DE69403515T2 (de) Verfahren und Vorrichtung zum Codieren und Anzeigen von überlappenden Fenstern mit Transparenz
DE3586506T2 (de) Monochromatische darstellung von farbbildern.
DE3750211T2 (de) Bildanzeigeverarbeitungseinheit für ein graphisches Endgerät.
DE4013263C2 (de) Vorrichtung zur Farbauswahl bei einem Ausgabegerät mit Fensteranzeige
DE69708270T2 (de) Videobildmischung in einem heimkommunikationsterminal
DE68915006T2 (de) System zum Generieren von Musterdaten.
DE3686664T2 (de) Bildverarbeitungsverfahren und -system.
DE69024403T2 (de) Dynamische Steuerung für Rechnergrafik
DE60122835T2 (de) Anzeigeeinrichtung und -Verfahren, und Datenträger der ein Computerprogramm zur Ansteuerung einer Anzeige mit unterteilten Bildelementen beinhaltet
DE69230095T2 (de) Bildfensterverwaltung von verbundenen Anwendungen
DE3619420A1 (de) Computer-displayeinrichtung
DE3852149T2 (de) Kathodenstrahlröhre-/Plasmaanzeigesteuergerät.
DE2950712A1 (de) Einrichtung zur erzeugung eines elektronischen hintergrundrasterfeldes
DE3625390A1 (de) Graphisches anzeigesystem mit beliebiger rberlappung von bildausschnitten
DE69330578T2 (de) Verfahren und Einrichtung zum Füllen eines Bildes
DE4446139A1 (de) Verfahren und Einrichtung zum Hervorheben von Objekten in einem Konferenzsystem
DE3718501A1 (de) Videoanzeigegeraet
DE19528596C2 (de) Verfahren und Vorrichtung zur Kolorierunterstützung
DE3941550C2 (de) Schaltungsanordnung zum Zerlegen einer auf einem Computer-Ausgabedisplay anzuzeigenden Graphikfigur
DE3650332T2 (de) Verfahren und Gerät zur Bilddatenverarbeitung.
DE68928877T2 (de) Verfahren und Vorrichtung zur Erzeugung von Ausschneide-Maskendaten
DE69009544T2 (de) Beeinflussung eines Bildes.
DE4415492A1 (de) Verfahren zur Erzeugung von Videoeffekten unter Verwendung von Schlüsselrahmen

Legal Events

Date Code Title Description
8141 Disposal/no request for examination
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06T 11/00

8170 Reinstatement of the former position
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee