DE3788260T2 - Aneinanderreihung von Matrizen in einem Grafiksichtsystem. - Google Patents

Aneinanderreihung von Matrizen in einem Grafiksichtsystem.

Info

Publication number
DE3788260T2
DE3788260T2 DE3788260T DE3788260T DE3788260T2 DE 3788260 T2 DE3788260 T2 DE 3788260T2 DE 3788260 T DE3788260 T DE 3788260T DE 3788260 T DE3788260 T DE 3788260T DE 3788260 T2 DE3788260 T2 DE 3788260T2
Authority
DE
Germany
Prior art keywords
matrix
elements
translation
shift
row
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
DE3788260T
Other languages
English (en)
Other versions
DE3788260D1 (de
Inventor
Anthony Michael Fiore
Bruce Carlton Hempel
Gregory Donald Laib
Bob Chao-Chu Liang
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3788260D1 publication Critical patent/DE3788260D1/de
Application granted granted Critical
Publication of DE3788260T2 publication Critical patent/DE3788260T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/548Trigonometric functions; Co-ordinate transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

  • Die vorliegende Erfindung betrifft Modifikationen der Behandlung von Matrixverkettungen durch ein Grafikanzeigesystem, damit Fehler vermieden werden, wenn die Genauigkeit der Matrixelemente gleich der systemimmanenten Genauigkeit ist.
  • Das IBM 5080 Graphics Display System [Graphik-Anzeige-System IBM 5080], wie es in der IBM-Veröffentlichung GA23-2012-0, IBM 5080, Model 2, Principles of Operation, beschrieben ist, führt die Verkettung von Transformationsmatrizen durch, in denen es einen einzigen Verschiebefaktor für eine Anzahl Matrizenverschiebeelemente, z. B. 12 Elemente für einen dreidimensionalen Raum, gibt. Die IBM 5080 Transformationsmatrixberechnung auf dem Stand der Technik liefert, anders als die vorliegende Erfindung, keinen Translationsverschiebefaktor zur Steuerung der Überlaufbedingungen, die sich aus der Verkettung einer Anzahl Matrizen ergeben.
  • Das IBM Technical Disclosure Bulletin Bd. 27, Nr. 1A, Juni 1984, S. 139-142, zeigt Koordinatentransformation und -skalierung in einem grafischen Anzeigeprozessor. Das beschriebene Verfahren beinhaltet Koordinatentransformation unter Verwendung einer Transformationsmatrix im 2D- oder 3D- Modus.
  • Die vorliegende Erfindung zielt ab auf ein grafisches Anzeigesystem, in dem die interne Datenverarbeitung zwecks Zusammenfassung der zusammen das auszugebende Bild definierenden Anzeigendatenelemente Matrixtransformationen, einzeln und/oder sequentiell, betrifft und in dem die Genauigkeit der Matrixelemente gleich der systemimmanenten Genauigkeit ist, und bei dem Fehler aus einem bei der Verkettung von Transformationsmatrizen möglicherweise auftretenden Überlauf vermieden werden durch:
  • Ausbilden einer ersten Matrix, beinhaltend eine Vielzahl von Matrixelementen, wenigstens einen Maßstabverschiebefaktor und eine Vielzahl von Translationsverschiebefaktoren;
  • Ausbilden einer zweiten Matrix, beinhaltend eine Vielzahl von Matrixelementen, wenigstens einen Maßstabverschiebefaktor und eine Vielzahl von Translationsverschiebefaktoren;
  • Berechnen der Ergebnisse der Matrixverkettung für erste n Reihen jeder Matrix, um eine dritte Matrix zu bilden;
  • Normierung der ersten n Reihen der dritten Matrix; und
  • Berechnung der Translationsterme enthaltend eine letzte Reihe der dritten Matrix zum Auffüllen der dritten Matrix, die verschobene Grafikdaten enthält, dadurch gekennzeichnet, daß der Schritt der Berechnung der Translationsterme beinhaltet
  • Multiplizieren einer letzten Reihe der ersten Matrix mit vorgegebenen Elementen der zweiten Matrix und Abspeichern des Ergebnisses in einem Zwischenspeicher;
  • Berechnung eines Exponenten aus dem Translationsverschiebefaktor und dem Maßstabverschiebefaktor; und
  • Wiederholen des Schrittes der Multiplikation jedes Elements der letzten Reihe der ersten Matrix mit den Elementen der zweiten Matrix und Addition der Ergebnisse der Multiplikationen, um die Translationsdaten zu erhalten.
  • Die vorliegende Erfindung wird beispielhaft noch weiter beschrieben unter Bezugnahme auf eine Ausführungsform, die in den begleitenden Zeichnungen dargestellt wird; in diesen ist:
  • Fig. 1 ein Blockschaltbild eines Rastergrafiksystems, das die Fehlervermeidung der vorliegenden Erfindung ausführen kann.
  • Fig. 2 ist ein Blockschaltbild eines Anzeigeprozessors des Systems aus Fig. 1 zur Durchführung der Fehlervermeidung der vorliegenden Erfindung.
  • Fig. 3 ist ein logisches Datenflußdiagramm für das Anzeigesystem gemäß Fig. 1 und 2.
  • Fig. 4 ist ein schematisches Diagramm, das die Ergebnisse der Matrixverkettung auf grafische Daten in einem großen Koordinatenraum zeigt.
  • Fig. 5 ist ein schematisches Diagramm der Berechnung der Verkettung zweier Matrizen gemäß der vorliegenden Erfindung.
  • Fig. 6 ist ein vereinfachtes Flußdiagramm des erfindungsgemäßen Prozesses der Matrixverkettung.
  • Fig. 7, einschließlich der Fig. 7(a), 7(b), 7(c), 7(d) und 7(e), ist ein Flußdiagramm der erfindungsgemäßen Matrixmultiplikation.
  • Fig. 8 ist ein Flußdiagramm für die Normierung der Matrixelemente in der resultierenden dritten Matrix.
  • Fig. 9 ist ein Flußdiagramm, das die Berechnung der Verschiebungsterme für die resultierende Matrix zeigt.
  • Fig. 10 ist ein Blockschaltbild einer Additions-Subroutine, die beim Berechnungsfluß gemäß Fig. 9 eingesetzt wird.
  • Ein grafisches Anzeigesystem benutzt für die Koordinatentransformation eine besondere Matrixform (siehe nachstehenden Abschnitt), die eine 4·3 Matrix (4 Reihen und 3 Spalten) ist. Die ersten drei Reihen beinhalten 9 Bruchzahlen, die einen gemeinsamen Skalarfaktor haben, und die letzte Reihe beinhaltet 3 Ganzzahlen.
  • In einigen Anwendungen wird es als Ergebnis der Verkettung mehrerer Matrizen bei dem sich ergebenden Matrixelement zum Überlauf kommen. Zur Lösung dieses Genauigkeitsproblems werden nachstehend für die letzte Matrixreihe drei unabhängige Verschiebefaktoren eingeführt. Diese drei Elemente stellen zusammen mit den ersten drei Reihen der Matrix eine neue Matrix dar. (Siehe Abschnitt im nachstehenden Beispiel).
  • Auf der Grundlage der Verschiebefaktoren der sich ergebenden Matrix kann, wenn einer der Translationsfaktoren mehr als 16 Bits aufweist, die Kappgrenze angepaßt werden, d. h., die Anwenderdaten können so angepaßt werden, daß ein Überlauf vermieden wird (siehe Fig. 4).
  • Matrixformat
  • Elemente einer Matrix M werden in der Form mij - Element der i-ten Reihe und der j-ten Spalte - dargestellt.
  • Transformationsmatrix
  • Eine Transformationsmatrix kann das folgende Format aufweisen:
  • (Für Diskussionszwecke wird hier eine 3D-Matrix benutzt. Eine 2D-Matrix kann als Teilmenge einer 3D-Matrix definiert werden).
  • m11 m12 m13
  • M m21 m22 m23 Matrixelement
  • m31 m32 m33
  • m41 m42 m43
  • sf Verschiebefaktor
  • Die ersten neun Elemente
  • m11, m12, . . , m33
  • sind Bruchzahlen der Form
  • s.xxx xxxx xxxx xxxx
  • Die Zahlen m41, m42, m43 sind Zahlen der Form
  • sxxx xxxx xxxx xxxx
  • Die obigen Zahlen sind im Zweierkomplementformat dargestellt.
  • Die Zahl sf ist der Verschiebefaktor.
  • Der Bereich von sf ist von-Ö bis 12.
  • Die letzten drei Terme m41, m42 und m43 sind die Translationsterme.
  • Koordinatentransformation
  • Gegeben sei der Punkt
  • (x,y,z) im Ganzzahlformat,
  • ist das Ergebnis der Matrizenmultiplikation mit M
  • neux = (x*m11 + y*m21 +z*m31)*(2**sf) + m41
  • neuy = (x*m12 + y*m22 +z*m32)*(2**sf) + m42
  • neuz = (x*m13 + y*m23 +z*m33)*(2**sf) + m43
  • Matrizenverkettung
  • Gegeben seien zwei Matrizen M, N:
  • m11 m12 m13
  • M m21 m22 m23 Matrixelement
  • m31 m32 m33
  • m41 m42 m43
  • sf1 Verschiebefaktor
  • n11 n12 n13
  • N n21 n22 n23 Matrixelement
  • n31 n32 n33
  • n41 n42 n43
  • sf2 Verschiebefaktor
  • Die resultierende Matrix Q = M*N
  • q11 q12 q13
  • Q q21 q22 q23 Matrixelement
  • q31 q32 q33
  • q41 q42 q43
  • sf3 Verschiebefaktor
  • ist gegeben durch
  • q11 = m11*n11 + m12*n21 + m13*n31
  • q12 = m11*n12 + m12*n22 + m13*n32
  • q13 = m11*n13 + m12*n23 + m13*n33
  • q21 = m21*n11 + m22*n21 + m23*n31
  • q22 = m21*n12 + m22*n22 + m23*n32
  • q23 = m21*n13 + m22*n23 + m23*n33
  • q31 = m31*n11 + m32*n21 + m33*n31
  • q32 = m31*n12 + m32*n22 + m33*n32
  • q33 = m31*n13 + m32*n23 + m33*n33
  • sf = sf1 + 2f2
  • q41 = (m41*n11 + m42*n21 + m43*n31) (2**sf2) + n41
  • q42 = (m41*n12 + m42*n22 + m43*n32) (2**sf2) + n42
  • q43 = (m41*n13 + m42*n23 + m43*n33) (2**sf2) + n43
  • Anm.: Der Verschiebefaktor sf3 muß angepaßt werden, wenn die Anzahl der führenden Nullen in allen neun Termen größer als Null ist.
  • PHIGS/Matrix
  • Die PHIGS-Matrix ist im folgenden Format:
  • (Für Diskussionszwecke wird hier eine 3D-Matrix benutzt. Eine 2D-Matrix kann als Teilmenge einer 3D-Matrix definiert werden).
  • m11 m12 m13
  • M m21 m22 m23 Matrixelement
  • m31 m32 m33
  • m41 m42 m43
  • sf Verschiebefaktor
  • t1f Translationsverschiebefaktor
  • t2f Translationsverschiebefaktor
  • t3f Translationsverschiebefaktor
  • Die ersten neun Elemente (m11, m12, . . , m33) sind Bruchzahlen der Form
  • s.xxx xxxx xxxx xxxx
  • Die Zahlen (m41, m42, m43) sind Zahlen der Form
  • sxxx xxxx xxxx xxxx
  • Die Zahl (s)f ist der Verschiebefaktor und der Bereich von sf ist von -16 bis 16.
  • Zur Vereinfachung der Implementierung wird der Verschiebefaktor = -512 (X'FE00') zum Anzeigen der Identitätsmatrix benutzt.
  • Die Zahlen (t1f; t2f, t3f) sind die Verschiebefaktoren für die drei Matrixelemente (m41, m42, m43).
  • Das heißt, die Translationsterme sind
  • m41*(2**t1f)
  • m42*(2**t2f)
  • m43*(2**t3f)
  • Der Bereich für (t1f, t2f, t3f) ist jeweils von -16 bis 16.
  • Koordinatentransformation
  • Gegeben sei der Punkt (x,y,z) im Ganzzahlformat, das Ergebnis der Matrizenmultiplikation mit M ist
  • neux = (x*m11 + y*m21 + z*m31)*(2**sf) + m41*(2**t1f)
  • neuy = (x*m12 + y*m22 + z*m32)*(2**sf) + m42*(2**t2f)
  • neuz = (x*m13 + y*m23 + z*m33)*(2**sf) + m43*(2**t3f)
  • Matrizenverkettung
  • Gegeben seien zwei PHIGS-Matrizen M, N:
  • m11 m12 m13
  • M m21 m22 m23 Matrixelement
  • m31 m32 m33
  • m41 m42 m43
  • sf1 Verschiebefaktor
  • t1f1 Translationsverschiebefaktor
  • t2f1
  • t3f1
  • n11 nl2 n13
  • N n21 n22 n23 Matrixelement
  • n31 n32 n33
  • n41 n42 n43
  • sf2 Verschiebefaktor
  • t1f2 Translationsverschiebefaktor
  • t2f2
  • t3f2
  • Die resultierende Matrix Q = M*N
  • q11 q12 q13
  • Q q21 q22 q23 Matrixelement
  • q31 q32 q33
  • q41 q42 q43
  • sf3 Verschiebefaktor
  • t1f3 Translationsverschiebefaktor
  • t2f3
  • t3f3
  • ist gegeben durch
  • q11 = m11*n11 + m12*n21 + m13*n31
  • q12 = m11*n12 + m12*n22 + m13*n32
  • q13 = m11*n13 + m12*n23 + m13*n33
  • q21 = m21*n11 + m22*n21 + m23*n31
  • q22 = m21*n12 + m22*n22 + m23*n32
  • q23 = m21*n13 + m22*n23 + m23*n33
  • q31 = m31*n11 + m32*n21 + m33*n31
  • q32 = m31*n12 + m32*n22 + m33*n32
  • q33 = m31*n13 + m32*n23 + m33*n33
  • sf3 = sf1 + sf2 (siehe Anm. 1)
  • Die obige Berechnung ist die gleiche wie für die Matrix.
  • Die übrigen drei Terme der Matrixelemente
  • q41*(2**t1f3) = m41*n11*(2**t1f1)*(2**sf2) + m42*n21*(2**t2f1)*(2**sf2) + m43*n31*(2**t3f1)*(2**sf2) + n41*(2**t1f2)
  • q42*(2**t2f3) = m41*n12*(2**t1f1)*(2**sf2) + m42*n22*(2**t2f1)*(2**sf2) + m43*n32*(2**t3f1)*(2**sf2) + n42*(2**t2f2)
  • q43*(2**t3f3) = m41*n13*(2**t1f1)*(2**sf2) + m42*n23*(2**t2f1)*(2**sf2) + m43*n33*(2**t3f1)*(2**sf2) + n43*(2**t3f2)
  • Die Translationsverschiebefaktoren (t1f3, t2f3, t3f3: siehe Anm. 2) werden im nächsten Abschnitt berechnet.
  • (*)
  • Anm. 1. Der Verschiebefaktor sf3 muß angepaßt werden, wenn die Anzahl der führenden Nullen in allen neun Termen größer als Null ist.
  • Anm. 2. Die Translationsverschiebefaktoren müssen aus den drei 32-Bit Zwischenzahlen q41, q42, q43; durch Benutzen der Zählung der führenden Nullen oder Einser berechnet werden. (Siehe Abschnitt über Berechnung der Matrixelemente)
  • Vergleich mit einer Matrix auf dem Stand der Technik
  • Der Unterschied zwischen dieser Matrix und der Matrix auf dem Stand der Technik, wie z. B. die Matrix IBM 5080, kann wie folgt zusammengefaßt werden:
  • Stand der Technik Erfindungsgemäße Matrix m11 m12 m13 m11 m12 m13
  • m21 m22 m23 Matrixelement m21 m22 m23
  • m31 m32 m33 m31 m32 m33
  • m41 m42 m43 m41 m42 m43
  • sf Verschiebefaktor sf
  • Translation t1f, t2f, t3f
  • Verschiebefaktor (-16=< t1f, t2f, t3f=< 16)
  • Ein Beispiel
  • Betrachten wir eine Ganzzahl im 16-Bit-Zweierkomplementformat zwischen -32768 und 32767 und die folgende Verkettung zweier Matrizen:
  • Wegen des 16-Bit-Formats wird durch die Verwendung cos45 = sin45 = 0.7071 im Verfahren auf dem Stand der Technik:
  • daraus wird, weil (M*N) bei dieser Genauigkeit unkorrekt berechnet wird
  • anstatt, wie man mit einer höheren als 16-Bit-Genauigkeit erhalten würde, das richtige Ergebnis für M*N:
  • Unter Anwendung des hier geoffenbarten Verfahrens auf die zwei obigen Matrizen M und N, die Matrix
  • bekommt das neue Format
  • Die Matrix
  • bekommt das neue Format
  • und das geoffenbarte Verfahren ergibt das Produkt M*N
  • was das richtige Resultat darstellt
  • Anpassen der Zahlenbereiche für Graphikdaten
  • Wenn die Terme der resultierenden Matrix der Verkettung einen Überlauf verursachen würden, weil die Verschiebefaktoren zu groß sind, paßt das System den Zahlenbereich der grafischen Daten an:
  • Im obigen Beispiel könnte das System die Grafikdaten automatisch durch 2 teilen und somit einen Überlauf bei der Verarbeitung vermeiden (siehe Fig. 4).
  • Implementierung
  • Der IBM 5080 wird hier benutzt, um eine Implementierung zu illustrieren. (Siehe IBM Graphic System 5080 Mod2 Principles of Operation GA23-2012-0).
  • Ein Rastergrafiksystem
  • Das in Fig. 1 dargestellte Rastergrafiksystem besteht aus den folgenden Hauptbestandteilen:
  • 1. Systemsteuerprozessor
  • 2. Hauptrechner-Kommunikationsschnittstelle
  • 3. Anzeigenprozessor
  • 4. Hardware-Rasterisierer - Vektorgenerator
  • 5. Videopixelspeicher
  • 6. Systemspeicher
  • Kurzübersicht über die Funktionen der Hauptbestandteile 1. Systemsteuerprozessor
  • Der Systemsteuerprozessor ist ein allgemein einsetzbarer Prozessor, der die Führungssteuerung des Systems übernimmt. Der Systemsteuerprozessor übernimmt die Bedienung aller angeschlossenen grafischen Ein/Ausgabegeräte (mit Ausnahme des Lichtgriffels und des Anzeigemonitors). - Er koordiniert die zugeordnete Verarbeitung mit dem Anzeigeprozessor. - Der Systemsteuerprozessor kommuniziert über die Hauptrechnerkommunikationsschnittstelle mit dem Hauptrechner.
  • 2. Hauptrechner-Kommunikationsschnittstelle
  • Die Hauptechner-Kommunikationsschnittstelle ist die serielle Schnittstelle mit dem Hauptrechner.
  • 3. Anzeigeprozessor (Display Processor - DP)
  • Der DP führt die Grafikbefehle im Anzeigenspeicherprogramm aus; er sitzt im Systemspeicher und ist hauptsächlich mit der Generierung des Bildes befaßt, das auf dem Anzeigemonitor erscheint. Er hat die folgenden Funktionen: - Dekodieren von Grafikbefehlen und Ausführen von Befehlen, die nichts mit Zeichnen zu tun haben; z. B. Buchführung und Steuerung. - Führt die Transformations- und Kappfunktionen an den geometrischen Grundelementen durch: Linien, Schriftzeichen, Vielecke usw. - Vorbereitung der folgenden geometrischen Objekte in der Ausstellung: Linien, Schriftzeichen, Markierungen, gefüllte Polygone, durch Vorbereiten der Daten und Einspeisen der Daten in den Vektorgenerator und den Videopixelspeicher.
  • 4. Vektorgenerator
  • Vektorgenerator ist eine Hardware-Implementierung des Bresenham Linienerzeugenden Algoritbmus, der die Endpunkte eines (linienförmigen) Vektors als Eingang nimmt und im Videopixelspeicher Pixels als Ausgang für die Anzeige generiert.
  • 5. Video-Pixel-Speicher (Video-Pixel-Memory - VPM)
  • Der Videopixelspeicher besteht aus acht 1k · 1k Bitebenen, und unterstützt gleichzeitig 256 Farben über die Farbnachschlagetabellen. Das hier gespeicherte Bild wird im Bildschirm angezeigt.
  • Der logische Datenfluß
  • Zum logischen Datenfluß des Grafiksystems siehe Fig. 3.
  • 1. Das Anwendungsprogramm wird vom Hauptrechner her über die Hauptrechner-Kommunikationsschnittstelle in den Systemspeicher geladen;
  • 2. Der Systemsteuerprozessor vorbearbeitet die Daten (je nach geforderter Arbeit), unterbricht dann den DP;
  • 3. Dann verarbeitet der Anzeigeprozessor die Daten;
  • 4. Dann werden die Daten zur Direktanzeige oder über den Vektorgenerator in den VPM gespeichert.
  • Transformation und Bilddatenbegrenzung
  • Die Transformation und Bilddatenbegrenzung werden vom Inhalt des Attributregisters 19 gesteuert, das aus 5 Bits besteht
  • 00MP TDC0
  • (Bit-Definition und Steuerfluß siehe Fig. 4).
  • Nachstehend wird ein Vektor (Gerade) als Beispiel benutzt; hier gibt es drei Betriebsstufen:
  • 1. Transformation
  • Für die Endpunkte eines Vektors, der im 16-Bit-Festzahlenformat ausgedrückt wird, wird die Matrixmultiplikation im (-32k,32k-1), 16-Bit x, y, z Raum durchgeführt.
  • 2. Bilddatenbegrenzung
  • Unter Benutzung der beiden Endpunkte eines Vektors (Geraden) gemäß der vom Anwender vorgegebenen Begrenzungsbox kappen.
  • (Die Berechnung erfolgt im 16-Bit-Raum).
  • 3. Abbilden
  • Abbilden des in der Begrenzungsbox (in 3D) oder im Begrenzungsfenster (in 2D) vorhandenen Inhalts in einem vom Anwender definierten Darstellungsbereich im Bildschirm.
  • (Die Bildschirmkoordinate ist (0,4k-1) · (0,4k-1), die dann auf den 1k · 1k Schirm abgebildet wird).
  • Anzeigeprozessor
  • Der Anzeigeprozessor ist ein mikroprogrammiertes System. Er ruft die Daten aus dem Speicher ab und sendet die Daten über den Vektorgenerator, der als Rasterisierer wirkt, zur Rasteranzeige. Er nimmt die Koordinaten der Linienabschnitt-Endpunkte als Eingang und generiert die Pixels im Videopixelspeicher.
  • Die Hauptbestandteile des Systems (siehe Fig. 2) sind:
  • 1. Sortierer, z. B. AMD2910A;
  • 2. 72-Bit breiter beschreibbarer Steuerspeicher;
  • 3. 16-Bit Rechenwerk (Arithmetic Logic Unit - ALU), z. B. 4-Bit-Slice AMD2903;
  • 4. ein 16·16 Multiplizierer mit 32-Bit-Akkumulator, z. B. WTL2010;
  • 5. Der Projektionssystemverschieber ist ein nach Kundenspezifikation hergestellter Chip, der arithmetische Mehrbit-Verschiebungen für 32-Bit-Daten in einem Zyklus durchführt. Er findet auch die Zählung der führenden 0-en/1-en - die Anzahl der nachfolgenden führenden Bits, die gleich sind im höheren 16-Bit- Datenregister.
  • 6. Ein Begrenzer (zur Steuerung konkurrierender Annahme/Zurückweisung);
  • 7. 4k · 16 Notizblockspeicher;
  • 8. Logik für die nächste mikrocodierte Adresse, die vom Inhalt der Notizblockspeicherregister kommt - indizierte Adressierung.
  • Das Mikroprogramm ist im beschreibbaren Steuerspeicher abgespeichert.
  • Berechnung der Matrixelemente
  • Dieser Abschnitt befaßt sich mit den Translations-Termen und ihren Verschiebefaktoren durch Anwendung des Multiplizierer/Akkumulators, Projektionssystemverschiebers, Zählers für führende 0-en/1-en im Anzeigeprozessor. (Siehe Fig. 3).
  • Berechnung der drei neuen Matrixelemente bei der Matrixverkettung
  • Die Positionsnummern in den nachfolgenden Subroutinen beziehen sich auf die Betriebskomponenten in Fig. 3.
  • Hier behandeln wir die Berechnung von:
  • q41 = m41*n11*(2**t1f1)*(2**Sf²) + m42*n21*(2**t2f1)*(2**sf2) + m43*n31*(2**t3f1)*(2**sf2) + n41*(2**t1f2)
  • (Die Terme q42 und q43 können auf die gleiche Weise behandelt werden).
  • Subroutine zur Berechnung der neuen Translationszahl:
  • 1. Mit Hilfe des Multiplizierers/Akkumulators (Pos.Nr.#4) die 32-Bit-Zahl
  • m41*n11
  • berechnen und abspeichern in den zwei Registern aH, aL; (Pos.Nr.#3)
  • 2. Zahl t1f1 + sf2 +1 in einem Register expa; (Pos.Nr.#3) abspeichern
  • (siehe Anm. 1)
  • 3. Mit Hilfe des Multiplizierers/Akkumulators (Pos.Nr.#4) die 32-Bit-Zahl
  • m42*n21
  • berechnen und abspeichern in den zwei Registern bH, bL; (Pos.Nr.#3)
  • 4. Zahl t2f1 + sf2 + 1 abspeichern in einem Register expb; (Pos.Nr.#3)
  • (siehe Anm. 1)
  • 5. Aufrufen der Subroutine ADD;
  • 6. Mit Hilfe des Multiplizierers/Akkumulators (Pos.Nr.#4) die 32-Bit-Zahl
  • m43*n31
  • berechnen und abspeichern in den zwei Registern bH, bL; (Pos.Nr.#3)
  • 7. Zahl t3f1 + sf2 + 1 abspeichern in einem Register expb; (Pos.Nr.#3)
  • (siehe Anm. 1)
  • 8. Aufrufen der Subroutine ADD;
  • 9. n41 abspeichern in Register bH; (Pos.Nr.#3) und
  • 10. 0 abspeichern in bL; (Pos.Nr.#3)
  • 11. Zahl t2f2 abspeichern in einem Register expb; (Pos.Nr.#3)
  • 12. Aufrufen der Subroutine ADD;
  • 13. Zählung für führende 0-en/1-en (Pos.Nr.#6) von aH abspeichern in einem Register leada; (Pos.Nr.#3)
  • 14. aH und aL nach links verschieben um (leada - 1); (Pos.Nr.#6)
  • 15. expa expa - (leada - 1); (Pos.Nr.#3)
  • (Zählung leada - 1 ist entweder 1 oder 0)
  • 16. q41 aH; (Pos.Nr.#5,#3)
  • 17. t1f3 expa. (Pos.Nr.#5,#3)
  • Subroutine ADD
  • Subroutine addiert zwei Zahlen, dargestellt durch die 32-Bit- Mantisse und den 16-Bit-Exponent.
  • (aH aL)*(2**expa) + (bH bL)*(2**expb)
  • Subroutine ADD
  • 1. Zählung für führende 0-en/1-en (Pos.Nr.#6) aus aH abspeichern in Register leada; (Pos.Nt.#3)
  • 2. aH und aL nach links schieben um (leada - 2); (Pos.Nr. #6)
  • 3. expa expa - (leada - 2); (Pos.Nr.#3)
  • 4. Zählung für führende 0-en/1-en (Pos.Nr.#6) aus bH abspeichern in Register leadb; (Pos.Nr.#3)
  • 5. bH und bL nach links schieben um (leadb - 2); (Pos.Nr.#6)
  • 6. expb expb - (leadb - 2); (Pos.Nr.#3) (Siehe Anm. 2)
  • 7. Kontrolle ob expa > = expb ? (Pos.Nr.#3)
  • 8. If [Wenn] expa > = expb
  • a. bH, bL nach rechts schieben um expa - expb; (Pos.Nr. #6)
  • b. Die je zwei 32-Bit-Zahlen aH, aL und bH, bL zusammen addieren; (Pos.Nr.#3)
  • c. Ergebnis in aH bzw. aL speichern. (Pos.Nr.#3)
  • 9. Else [Sonst] (expa < expb)
  • a. aH, aL nach rechts schieben um expb - expa; (Pos.Nr. #6)
  • b. Die je zwei 32-Bit-Zahlen aH, aL und bH, bL zusammen addieren; (Pos.Nr.#3)
  • c. Ergebnis in aH bzw. aL speichern. (Pos.Nr.#3)
  • d. expa expb (Pos.Nr. #3) (Ende Subroutine ADD)
  • Nach der Berechnung ist q41, das von (aH aL)*(2**expa) generiert wird, in drei Registern enthalten -sxxx xxxx xxxx in aH
  • xxxx xxxx xxxx in aL (siehe Anm. 1); und
  • exponent in expa.
  • Anmerkung
  • Anm. 1 der Ausgang des Multiplizierers/Akkumulators hat das Format
  • sxxx xxxx xxxx xxxx x.xxx xxxx xxxx xxxx
  • zum Angleichen an das Format
  • sxxx xxxx xxxx xxxx .xxxx xxxx xxxx xxxx
  • weil der Exponent der ersten Zahl um 1 größer ist als der der zweiten Zahl, wird der Exponent um 1 inkrementiert.
  • Anm. 2 (Zählung - 2) wird benutzt um einen etwaigen Überlauf in der Addition zu vermeiden wenn expa = expb.
  • Abbilden auf 5080 Matrixformat
  • Um die Transformationsmöglichkeit des 5080 nutzen zu können muß die neue Matrix auf das 5080 Matrixformat abgebildet werden.
  • Für eine Matrix M
  • m11 m12 m13
  • M m21 m22 m23 Matrixelement
  • m31 m32 m33
  • m41 m42 m43
  • sf Verschiebefaktor
  • t1f t2f t3f
  • wird eine neue Variable definiert als
  • tsf = max (t1f, t2f, t3f)
  • Wenn eine PHIGS Matrix auf das 5080 Matrixelementformat abgebildet wird, verändern sich sowohl die Transformationsmatrix als auch die Kappgrenzen, um einen etwaigen Datenüberlauf aufgrund der Matrizenverkettung zu vermeiden.
  • Wir passen zunächst die Verschiebefaktoren, die Translationsterme der Matrix und die Kappgrenzen an.
  • Nachstehend wird die Entscheidungstabelle angegeben:
  • neuer Verschiebungsfaktor sf Kappgrenzen/Fenster
  • unverändert
  • multipliziert
  • multipliziert
  • multipliziert
  • Wenn nach der Anpassung der neue Verschiebefaktor sf negativ ist, dann wird jeder der ersten neun Terme
  • m11, m12, m13, m21, m22, m23, m31, m32, m33
  • mit 2**sf multipliziert und sf wird auf 0 gesetzt.
  • PHIGS Matrix Manipulation
  • Für die neue Matrix gibt es zwei Anwendungen:
  • 1. Als Dienstfunktion für das Anwendungsprogramm;
  • 2. Als Dienstfunktion für die Berechnung der PHIGS Transformationsumgebung.
  • Dienstfunktion
  • Für das 5080 Anzeigeprogramm sind 256 Grafikregister definiert. Jedes Register hat 16 Bits und wird mit GRn bezeichnet, wobei n eine Ganzzahl zwischen 0 und 255 ist.
  • Es gibt einen 5080 Grafikbefehl für die Matrixverkettung im folgenden Format:
  • opcode [Befehlscode]
  • a - Adresse
  • b - Adresse
  • c - Adresse
  • der zwei Matrizen A und B - A*B verkettet, und das Ergebnis steht in Matrix C.
  • Alle diese Matrizen sind in den Registern für grafische Zwecke abgespeichert -a-Adresse ist die Anfangsadresse (Registeradresse) des ersten Matrixelements von A -b-Adresse ist die Anfangsadresse (Registeradresse) des ersten Matrixelements von B -c-Adresse ist die Anfangsadresse (Registeradresse) des ersten Matrixelements von C -wie folgt -a11 a-Adresse GRa
  • a12 GR(a+1)
  • a13
  • a21
  • a22
  • a23
  • a31
  • a32
  • a33
  • a41
  • a42
  • a43
  • asf
  • atf1
  • atf2
  • atf3 GR (a+15)
  • b11 b-Adresse GRb
  • b12 GR(b+1)
  • b13
  • b21
  • b22
  • b23
  • b31
  • b32
  • b33
  • b41
  • b42
  • b43
  • bsf
  • btf1
  • btf2
  • btf3 GR(b+15)
  • c11 a-Adresse GRc
  • c12 GR(c+1)
  • c13
  • c21
  • c22
  • c23
  • c31
  • c32
  • c33
  • 020
  • c41
  • c42
  • c43
  • csf
  • ctf1
  • ctf2
  • ctf3 GR(c+15)
  • Berechnung der PHIGS Transformationsumgebung
  • Jedem Zeichnungselement sind in der PHIGS/5080 Schnittstelle die folgenden Matrizen zugeordnet:
  • 1. Sichtmatrix
  • 2. Globalmatrix
  • 3. Örtliche Matrix
  • 4. Normierungsmatrix
  • Jede der ersten drei Matrizen besteht aus 16 Elementen, während die vierte Matrix aus 7 Elementen besteht - Verschiebefaktor, 3 Translationsterme und drei Translations- Verschiebefaktoren. Diese wird erweitert auf eine Matrix im 16-Element-Format bevor sie zur Berechnung verwendet wird, so daß die eingegebene Datenkette
  • ff, m41, m42, m43, tf1, tf2, tf3
  • die folgende Matrix ergibt:
  • Ordnung der Verkettung
  • Die Ordnung der Verkettung der obigen 4 Matrizen ist
  • (Normal) &rarr; (Örtlich) &rarr; (Global) &rarr; (Ansicht)
  • Das Ergebnis wird in 16 Registern abgespeichert, die
  • TraMatrix
  • heißen. Ferner ändern sich Globalmatrix und Ansichtsmatrix nicht sehr oft, so daß es vorteilhaft ist, die Verkettung von (Global) (Ansicht) in 16 Registern, genannt
  • TemMatrix
  • beizubehalten. In den Steuerregistern werden dementsprechend zwei Bits definiert - Tra-bit (gibt an, daß in TraMatrix eine Änderung vorgenommen wurde)
  • Tem-bit (gibt an, daß in TemMatrix eine Änderung vorgenommen wurde)
  • und ihre Anwendung verbessert die Leistung in Durchlaufzeit.
  • TraMatrix ist die Matrix, die auf das 5080 Matrixformat abgebildet wird.
  • Datenfluß für PHIGS Matrizenmanipulation
  • Für jedes PHIGS Zeichenelement - Polygonzüge, Polymarkierungen, Anmerkungstext usw. muß die Matrix vor der Verarbeitung der Zeichendaten (wieder)berechnet werden.
  • Der Datenfluß der Matrixmanipulation ist wie folgt:
  • 1. Wenn Tra-bit off [aus] ist, dann exit [aussteigen] (die derzeitige Matrix wird nicht geändert);
  • 2. Wenn Tra-bit on [ein] ist, dann Tem-bit kontrollieren; und Tra-bit rückstellen;
  • a. Wenn Tem-bit off [aus] ist, dann diesen Schritt überspringen;
  • b. Wenn Tem-bit an [ein] ist, dann die zwei Matrizen Global und Ansicht multiplizieren und Ergebnis in TemMatrix abspeichern; Tem-bit rückstellen;
  • 3. Die drei Matrizen multiplizieren
  • Normal, Örtlich, und TemMatrix
  • und Ergebnis in TraMatrix speichern;
  • 4. TraMatrix auf 5080 Matrix Format abbilden, Kappgrenzen und ggf. Gesichtspunkt anpassen.

Claims (7)

1. Grafisches Anzeigesystem, in dem die interne Datenverarbeitung zwecks Zusammenfassung der zusammen das aus zugebende Bild definierenden Anzeigendatenelemente Matrixtransformationen, einzeln und/oder sequentiell, betrifft und in dem die Genauigkeit der Matrixelemente gleich der systemimmanenten Genauigkeit ist, und bei dem
Fehler aus einem bei der Verkettung von Transformationsmatrizen möglicherweise auftretenden Überlauf vermieden werden durch:
Ausbilden einer ersten Matrix, beinhaltend eine Vielzahl von Matrixelementen, wenigstens einen Maßstabverschiebefaktor und eine Vielzahl von Translationsverschiebefaktoren;
Ausbilden einer zweiten Matrix, beinhaltend eine Vielzahl von Matrixelementen, wenigstens einen Maßstabverschiebefaktor und eine Vielzahl von Translationsverschiebefaktoren;
Berechnen der Ergebnisse der Matrixverkettung für erste n Reihen jeder Matrix, um eine dritte Matrix zu bilden;
Normierung der ersten n Reihen der dritten Matrix; und
Berechnung der Translationsterme enthaltend eine letzte Reihe der dritten Matrix zum Auffüllen der dritten Matrix, die verschobene Grafikdaten enthält, dadurch gekennzeichnet, daß der Schritt der Berechnung der Translationsterme beinhaltet
Multiplizieren einer letzten Reihe der ersten Matrix mit vorgegebenen Elementen der zweiten Matrix und Abspeichern des Ergebnisses in einem Zwischenspeicher;
Berechnung eines Exponenten aus dem Translationsverschiebefaktor und dem Maßstabverschiebefaktor; und
Wiederholen des Schrittes der Multiplikation jedes Elements der letzten Reihe der ersten Matrix mit den Elementen der zweiten Matrix und Addition der Ergebnisse der Multiplikationen, um die Translationsdaten zu erhalten.
2. System gemäß Anspruch 1, in dem die Vielzahl der Matrixelemente Rotationselemente beinhaltet.
3. System gemäß Anspruch 1, in dem die Vielzahl der Matrixelemente Skalierungselemente beinhaltet.
4. System gemäß Anspruch 1, in dem die Vielzahl der Matrixelemente Abscherelemente beinhaltet.
5. System gemäß einem beliebigen der vorstehenden Ansprüche, in dem der Berechnungsschritt eine Matrixverkettung für die ersten n Reihen jeder Matrix bewirkt und ferner die folgenden Schritte enthält:
Multiplizieren einer ersten Reihe einer ersten Matrix mit einer ersten Spalte einer zweiten Matrix;
Kontrollieren auf Überlaufergebnis;
Teilen des Ergebnisses durch eine vorgegebene Konstante, wenn ein Überlauf vorkommt;
Verschieben des Ergebnisses zwecks Multiplizieren mit einem zweiten vorgegebenen Faktor und Laden einer vorgegebenen Bitzahl einer höheren Ordnung des Ergebnisses in ein erstes Element der dritten Matrix;
Multiplizieren der ersten Reihe der ersten Matrix mit der zweiten Spalte der zweiten Matrix;
Wiederholen des Überlauftestschrittes, des Teilungsschrittes bei Überlauf, und des Verschiebeschrittes wie oben;
Laden der vorgegebenen Anzahl Bits höherer Ordnung in ein zweites Element der dritten Matrix;
Wiederholen der obigen Schritte an einer ersten Reihe der ersten Matrix und einer dritten Spalte der zweiten Matrix zum Berechnen eines dritten Elements der dritten Matrix;
Wiederholen der obigen Schritte an einer zweiten Reihe der ersten Matrix und einer ersten Spalte der zweiten Matrix zum Berechnen eines vierten Elements der dritten Matrix;
Wiederholen der obigen Schritte an einer zweiten Reihe der ersten Matrix und einer zweiten Spalte der zweiten Matrix zum Berechnen eines fünften Elements der dritten Matrix;
Wiederholen der obigen Schritte für jede der aufeinanderfolgenden Reihen der ersten Matrix mit jeder der aufeinanderfolgenden Spalten der zweiten Matrix, um jeweils das nachfolgende Element der dritten Matrix zu berechnen; und Berechnen des Skalierungsfaktors für die dritte Matrix als Funktion der Skalierungsfaktoren der ersten und der zweiten Matrix.
6. System gemäß einem beliebigen der vorstehenden Ansprüche, in dem der Normierungsschritt ferner die folgenden Schritte umfaßt:
Festlegen einer Mindestanzahl führender Nullen in jedem Element der dritten Matrix; und
Verschieben jeden Elementes in der dritten Matrix um die Mindestanzahl führender Nullen.
7. System gemäß einem beliebigen der vorstehenden Ansprüche, ferner beinhaltend den Schritt der Anpassung der Kappgrenzen auf der Grundlage eines Verschiebefaktors und eines Translations-Verschiebefaktors der dritten Skaliermatrix.
DE3788260T 1986-09-26 1987-08-18 Aneinanderreihung von Matrizen in einem Grafiksichtsystem. Expired - Fee Related DE3788260T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/912,724 US4805117A (en) 1986-09-26 1986-09-26 Method for controlling concatenation of transformation matrices in a graphics display system

Publications (2)

Publication Number Publication Date
DE3788260D1 DE3788260D1 (de) 1994-01-05
DE3788260T2 true DE3788260T2 (de) 1994-05-19

Family

ID=25432332

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3788260T Expired - Fee Related DE3788260T2 (de) 1986-09-26 1987-08-18 Aneinanderreihung von Matrizen in einem Grafiksichtsystem.

Country Status (4)

Country Link
US (1) US4805117A (de)
EP (1) EP0261390B1 (de)
JP (1) JPH0776987B2 (de)
DE (1) DE3788260T2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3713627A1 (de) * 1986-04-23 1987-10-29 Casio Computer Co Ltd Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten
US5231696A (en) * 1987-05-14 1993-07-27 France Telecom Process and circuitry for implementing plotting of overextending curves inside a display window
US4970636A (en) * 1989-01-23 1990-11-13 Honeywell Inc. Memory interface controller
US4982345A (en) * 1989-01-23 1991-01-01 International Business Machines Corporation Interactive computer graphics display system processing method for identifying an operator selected displayed object
US7382929B2 (en) * 1989-05-22 2008-06-03 Pixel Instruments Corporation Spatial scan replication circuit
US5175808A (en) * 1989-09-12 1992-12-29 Pixar Method and apparatus for non-affine image warping
US5402530A (en) * 1991-08-20 1995-03-28 Island Graphics Corporation Method and system for color film separation preprocess using electronic object-based choking and spreading procedures including object combining operations
US5285402A (en) * 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
EP0569758A3 (de) * 1992-05-15 1995-03-15 Eastman Kodak Co Verfahren und Einrichtung zur Herstellung und zum Speichern von dreimensionalen Schriftzeichen und zum dreidimensionalen Schriftsatz.
WO1995001630A1 (fr) * 1993-06-30 1995-01-12 Sega Enterprises, Ltd. Dispositif et procede de traitement d'images et dispositif electronique dote dudit dispositif
US5568600A (en) * 1994-04-15 1996-10-22 David Sarnoff Research Ctr. Method and apparatus for rotating and scaling images
US6515763B1 (en) 1998-07-31 2003-02-04 Adobe Systems Incorporated Vignette recognition and compression
US6903742B1 (en) * 1999-12-01 2005-06-07 Microsoft Corporation Method and apparatus for transforming and rendering graphical curves
US20040109245A1 (en) * 2002-12-06 2004-06-10 Cross Match Technologies, Inc. Non-planar prism in a system for obtaining print and other hand characteristic information
US7081951B2 (en) * 2003-10-09 2006-07-25 Cross Match Technologies, Inc. Palm print scanner and methods

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4457015A (en) * 1981-12-17 1984-06-26 Ncr Corporation Matrix character preprocessing system
JPS58110255A (ja) * 1981-12-25 1983-06-30 Hitachi Ltd プリンタ制御装置
JPS60169893A (ja) * 1984-02-15 1985-09-03 シチズン時計株式会社 ビツトパタ−ン変換装置
JPS619762A (ja) * 1984-06-25 1986-01-17 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション イメ−ジ処理装置
US4637057A (en) * 1984-07-30 1987-01-13 Xerox Corporation Rotation of digital images
JPH0746391B2 (ja) * 1984-09-14 1995-05-17 株式会社日立製作所 図形シエ−デイング装置
US4658430A (en) * 1984-12-27 1987-04-14 International Business Machines Corp. System for rotating binary images

Also Published As

Publication number Publication date
JPH0776987B2 (ja) 1995-08-16
JPS6385988A (ja) 1988-04-16
DE3788260D1 (de) 1994-01-05
EP0261390B1 (de) 1993-11-24
EP0261390A3 (de) 1991-05-15
US4805117A (en) 1989-02-14
EP0261390A2 (de) 1988-03-30

Similar Documents

Publication Publication Date Title
DE3788260T2 (de) Aneinanderreihung von Matrizen in einem Grafiksichtsystem.
DE2934971C2 (de) Nach dem Fließbandprinzip arbeitender Zentralprozessor
DE69032966T2 (de) Verfahren und Gerät zur Ausführung von Divisionen mit Hilfe eines Multiplizierers rechteckigen Seitenverhältnisses
DE3144015C2 (de)
DE3751505T2 (de) Verfahren und Gerät zur Erzeugung eines gekrümmten Bildes auf einer graphischen Anzeigeeinrichtung.
EP0026266B1 (de) Anzeigesystem für digitale Daten
DE3689654T2 (de) Rechnergraphik, prozessor für parallele subdivision.
DE69224499T2 (de) Dreidimensionale graphische Verarbeitung
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69328850T2 (de) Hybrides Vorwärts-Differenzierungsverfahren und System zur Darstellung von Bezier-Splines-Kurven
DE69328589T2 (de) System und Verfahren zur Darstellung von Bezier-Splines-Kurven
DE69130510T2 (de) Arithmetisches Gerät zur Berechnung von transzendenten Elementarfunktionen
DE69722859T2 (de) Formatumwandlung von Datenwörtern graphischer Bilder
DE3520014A1 (de) Datenkorrelationsanordnung und verfahren zur bestimmung von anpassungen durch pseudokorrelationswerte
DE69430857T2 (de) Zeichnungsverarbeitungsgerät für drei-dimensionalen graphischen Hoch-Leistungsbeschleuniger
DE69032890T2 (de) Verfahren und Gerät zur Ausführung der Quadratwurzelfunktion mit Hilfe eines Multiplizierers rechteckigen Seitenverhältnisses
GB2059728A (en) Digital data display system
DE102008034518A1 (de) Verfahren zur Konstruktion einer Fläche einer auf einer Partikelmethode basierenden Fluidkörpersimulation, Programm dafür, und Speichermedium zum Abspeichern des Programms
DE69231051T2 (de) Verfahren und Anordnung zur vorteilierten Division
DE69129995T2 (de) Dezentrales Verarbeitungsgerät und Verfahren zur Anwendung in globaler Wiedergabe
US5237649A (en) Method and system for acquiring interpolation points from straight short vectors representing figure in curve fitting
DE69112434T2 (de) Kurvengenerator.
DE68926952T2 (de) Verfahren zur Ausführung von interaktiven Bildverarbeitungsoperationen auf grossen Bildern
DE68908728T2 (de) System zum Generieren von Musterdaten.
DE60000681T2 (de) Graphisches system mit superabtastungspuffer mit speicherung von abtastpositionsinformation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee