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
Links
- 239000011159 matrix material Substances 0.000 claims description 154
- 238000013519 translation Methods 0.000 claims description 30
- 230000009466 transformation Effects 0.000 claims description 22
- 238000010606 normalization Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000000844 transformation Methods 0.000 claims description 2
- 230000014616 translation Effects 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- JBZGUAKXFKKTKY-FTAKRYDZSA-K 2-[3-[(4-amino-2-methylpyrimidin-5-yl)methyl]-4-methyl-1,3-thiazol-3-ium-5-yl]ethanol;4-butyl-1,2-diphenylpyrazolidine-3,5-dione;cobalt(3+);4-(dimethylamino)-1,5-dimethyl-2-phenylpyrazol-3-one;[5-(5,6-dimethylbenzimidazol-1-yl)-4-hydroxy-2-(hydroxymethyl) Chemical compound [Cl-].[Co+3].N#[C-].O=C1C(N(C)C)=C(C)N(C)N1C1=CC=CC=C1.CC1=C(CCO)SC=[N+]1CC1=CN=C(C)N=C1N.O=C1C(CCCC)C(=O)N(C=2C=CC=CC=2)N1C1=CC=CC=C1.C1CC2=CC(=O)C=C[C@]2(C)C2(F)[C@@H]1[C@@H]1C[C@@H](C)[C@@](C(=O)CO)(O)[C@@]1(C)C[C@@H]2O.OCC1OC(N2C3=CC(C)=C(C)C=C3N=C2)C(O)C1OP([O-])(=O)OC(C)CNC(=O)CCC1(C)C(CC(N)=O)C2[N-]\C1=C(C)/C(C(C\1(C)C)CCC(N)=O)=N/C/1=C\C(C(C/1(CC(N)=O)C)CCC(N)=O)=N\C\1=C(C)/C1=NC2(C)C(C)(CC(N)=O)C1CCC(N)=O JBZGUAKXFKKTKY-FTAKRYDZSA-K 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101100026251 Caenorhabditis elegans atf-2 gene Proteins 0.000 description 1
- 101100347672 Dictyostelium discoideum nacB gene Proteins 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/548—Trigonometric functions; Co-ordinate transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow 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).
- Elemente einer Matrix M werden in der Form mij - Element der i-ten Reihe und der j-ten Spalte - dargestellt.
- 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.
- 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
- 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.
- 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.
- 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)
- 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)
- 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)
- 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
- 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).
- Der IBM 5080 wird hier benutzt, um eine Implementierung zu illustrieren. (Siehe IBM Graphic System 5080 Mod2 Principles of Operation GA23-2012-0).
- 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
- 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.
- Die Hauptechner-Kommunikationsschnittstelle ist die serielle Schnittstelle mit dem Hauptrechner.
- 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.
- 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.
- 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.
- 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.
- 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:
- 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.
- Unter Benutzung der beiden Endpunkte eines Vektors (Geraden) gemäß der vom Anwender vorgegebenen Begrenzungsbox kappen.
- (Die Berechnung erfolgt im 16-Bit-Raum).
- 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).
- 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.
- 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).
- 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 addiert zwei Zahlen, dargestellt durch die 32-Bit- Mantisse und den 16-Bit-Exponent.
- (aH aL)*(2**expa) + (bH bL)*(2**expb)
- 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.
- 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.
- 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.
- 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.
- 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)
- 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:
- Die Ordnung der Verkettung der obigen 4 Matrizen ist
- (Normal) → (Örtlich) → (Global) → (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.
- 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.
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)
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)
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 |
-
1986
- 1986-09-26 US US06/912,724 patent/US4805117A/en not_active Expired - Fee Related
-
1987
- 1987-05-29 JP JP62132017A patent/JPH0776987B2/ja not_active Expired - Lifetime
- 1987-08-18 DE DE3788260T patent/DE3788260T2/de not_active Expired - Fee Related
- 1987-08-18 EP EP87111955A patent/EP0261390B1/de not_active Expired - Lifetime
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 |