DE69028333T2 - Verfahren und Vorrichtung zur Erzeugung von Abbildungen mit drei Freiheitsgraden - Google Patents

Verfahren und Vorrichtung zur Erzeugung von Abbildungen mit drei Freiheitsgraden

Info

Publication number
DE69028333T2
DE69028333T2 DE69028333T DE69028333T DE69028333T2 DE 69028333 T2 DE69028333 T2 DE 69028333T2 DE 69028333 T DE69028333 T DE 69028333T DE 69028333 T DE69028333 T DE 69028333T DE 69028333 T2 DE69028333 T2 DE 69028333T2
Authority
DE
Germany
Prior art keywords
cos
sin
axes
unit vectors
rotation parameters
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
DE69028333T
Other languages
English (en)
Other versions
DE69028333D1 (de
Inventor
Joseph D Clark
Thomas A Weingartner
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.)
Honeywell Inc
Original Assignee
Honeywell 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 Honeywell Inc filed Critical Honeywell Inc
Application granted granted Critical
Publication of DE69028333D1 publication Critical patent/DE69028333D1/de
Publication of DE69028333T2 publication Critical patent/DE69028333T2/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
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

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

Description

  • Die Erfindung richtet sich auf ein Verfahren sowie eine Vorrichtung zum Erzeugen von Figuren auf einer Anzeigeeinrichtung und insbesondere auf ein Verfahren sowie eine Vorrichtung zum Erzeugen von Figuren wie Linien, Bögen und Kurven durch Verwenden miteinander verketteter, dreidimensionaler Einheitsvektoren zum Zeichnen von Buchstaben, Symbolen sowie Gitterrahmenobjekten auf einer Anzeigeeinrichtung wie dem Schirm einer Kathodenstrahlröhre.
  • Anzeigeeinrichtungen werden zur Weitergabe von Informationen für viele Anwendungen benutzt. Bei einer Anwendungsart setzen fortschrittliche Cockpit-Konzepte am Helm befestigte Anzeigevorrichtungen ein, um dem Flugzeugpiloten Informationen zukommen zu lassen. Die auf einer solchen Anzeigevorrichtung dargestellte Information muß infolge der Veränderungen der Ausrichtung des Helms und des Flugzeuges um Querachse, Längsachse und Hochachse stabilisiert werden. Wegen der dreidimensionalen Eigenschaft der erforderlichen Stabilisierung ist hiermit ein hoher Rechenaufwand verbunden. Gegenwärtig werden Standard-Rotationsalgorithmen in Form von Rechnersoftware für eine solche Stabilisierung benutzt. Zusätzlich zu den Stabilisierungsanforderungen haben Studien hinsichtlich der durch den Piloten bedingten Faktoren gezeigt, daß am Helm befestigte Anzeigevorrichtungen eine höhere Auffrischrate brauchen als herkömmliche unterhalb der Blicklinie oder oberhalb der Blicklinie angeordnete Anzeigevorrichtungen. Folglich muß mehr rechenintensive Information in einer kürzeren Zeit dargestellt werden, als dies mit vorhandenen Einrichtungen gegenwärtig möglich ist.
  • Heutige Anzeigeprozessoren konstruieren Anzeigeformate unter Verwendung einer kartesischen Koordinaten-Datenbank mit zweidimensionalen Vektoren. Diese Vektoren können unterschiedliche Rotationsrechenalgorithmen als Rechnersoftware benutzen, um das Bild zu stabilisieren. Unglücklicherweise sind die in Software vorliegenden Algorithmen zu langsam, um die Systemanforderungen für Anwendungen wie bei am Helm befestigten Anzeigevorrichtungen zu erfüllen. Man hat Koprozessoren dazu verwendet, um die Recheneffektivität solche Software benutzender Prozessoren zu erhöhen. Die Verwendung von Koprozessoren verbessert jedoch die gegenwärtig für die Berechnung jedes x-, y-Punkts in einem kartesischen Gitter benötigten zeitraubenden Rotationsalgorithmen nicht wesentlich. Datensignalprozessoren mit höherer Recheneffektivität sowie Datensignalprozessormodule haben erfolgreich die Lücke hinsichtlich der zur Berechnung der x-, y-Punkte erforderlichen Zeit überbrückt. Sie konnten jedoch nicht die hohen Auffrischraten liefern, wie sie für Cockpit-Anzeigeanwendungen benötigt werden.
  • Die in den unabhängigen Ansprüchen beschriebene Erfindung bietet eine Lösung für das obengenannte Rechenproblem, weil sie nicht erfordert, daß der Prozessor für die Berechnung jedes x-, y-Punkts einen Rotationsalgorithmus benutzt. Die Erfindung gestattet es dem Prozessor, auf einem höheren Pegel der Abstraktion zu arbeiten, ohne durch die Verarbeitung der Rechenaspekte bei der Anzeigeerzeugung Zeitverzögerungen herbeizuführen. Dieser höhere Grad von Abstraktion wird durch die Verwendung von Polarvektoren für den Aufbau von Blöcken gewonnen, welche gerade Linien, Kreisbögen und beliebige Kurven (wie Bezier-Kurven) zu erzeugen. Die Abstraktion wird mittels eines Verfahrens erreicht, bei dem gemäß der Erfindung dreidimensionale Rotationsgleichungen eingesetzt werden. Das Verfahren benutzt einen Einheitsvektor längs der x-Achse, der um die z-Achse und anschließend um die y-Achse rotiert wird. Eine Veränderung der Rotation liefert zwei Funktionen:
  • a) eine Konstruktion irgendeiner Linie, irgendeines Bogens oder irgendeiner Kurve im dreidimensionalen Raum; sowie
  • b) Orientierung der erzeugten Linie oder des Bogens in einer beliebigen Richtung im dreidimensionalen Raum.
  • Beim Aufbau von Anzeigeformaten unter Verwendung der Erfindung wird ein Prozessor benötigt, um lediglich die Größe, die Orientierung und die Position von Objekten festzulegen. Der Prozessor kann dann für die Organisation des Anzeigeformats benutzt werden und wird nicht benötigt für das Zeichnen des Anzeigeformats Punkt für Punkt. Bevorzugte Einzelheiten und Ausführungsbeispiele der Erfindung sind in den abhängigen Ansprüchen beschrieben.
  • Die Erfindung gleicht Hardwareaufgaben gegenüber Softwareaufgaben aus, um Anzeigeformate, welche einen hohen Durchsatz sowie Bildstabilisierung benötigen, wirkungsvoll aufzubauen. Ein Vorteil der Erfindung besteht darin, daß sie die Erzeugung von Objekten Off-Line als dreidimensionale Ikonen und abgespeicherte Symbole ermöglicht. Ein weiterer Vorteil der Erfindung besteht darin, daß mit der Erfindung erzeugte Anzeigeformatobjekte inherent die Fähigkeit haben, gedreht, verschoben und skaliert zu werden. Ein weiterer Vorteil der Erfindung ist darin zu sehen, daß das Verfähren gemäß der Erfindung für die Anwendung in einer Pipeline-Architektur gut geeignet ist, wodurch sich im Vergleich zu bekannten Systemen ein erhöhter Systemdurchsatz ergibt. Ein weiterer Vorteil und ein Merkmal der Erfindung ist die Tatsache, daß der Anzeigeprozessor nicht, wie im Stand der Technik, durch rechenintensive Anzeigeerzeugungsaufgaben belastet wird. Weiterhin ist von Vorteil, daß die Anzeigefiguren mit Anzeigeprozessoren unter Anwendung einer Z-Puffereinrichtung eingeschlossen werden können. Schließlich liegt ein Vorteil der Erfindung darin, daß die Anzeigefiguren mit Tiefen-Unterprogrammierung für Anzeigeprozessoren wiedergegeben werden können, welche eine Tiefen-Cueing-Funktion unter Verwendung der Z-Werte aus der vorliegenden Erfindung einsetzen.
  • Weitere Ziele, Merkmale und Vorteile der Erfindung ergeben sich für den Fachmann aus den Ansprüchen, der Beschreibung sowie den Zeichnungen, wo gleiche Bezugszeichen auf gleiche Elemente hinweisen.
  • Die in den unabhängigen Ansprüchen gekennzeichnete Erfindung offenbart eine Vorrichtung und ein Verfähren zum Erzeugen von x-, y- und z-Werten für den Aufbau von Figuren aus im dreidimensionalen Raum rotierten Einheitsvektoren, wobei x-, y- und z-Werte aus der Verarbeitung von Konstruktions- sowie globalen Rotationsparmetern gemaß den folgenden Beziehungen resultieren:
  • ΔX' = ΔX COS (Gz) + ΔY SIN (Gz)
  • ΔY' = -ΔX SIN (Gz) + ΔY COS (Gz)
  • ΔZ' = ΔZ,
  • wobei:
  • ΔX = COS (Rz) COS (Ry + Gy)
  • ΔY = COS (Rz) SIN (Ry + Gy) SIN (Gx) - SIN (Rz) COS (Gx)
  • ΔZ = COS (Rz) SIN (Ry + Gy) COS (Gx) + SIN (Rz) SIN (Gx),
  • und wobei:
  • Rz und Ry Konstruktions-Rotationsparameter und Gy, Gx sowie Gz globale Rotationsparameter für eine Rotation um die x-, y- und z-Achse sind. Bevorzugte Einzelheiten sind in den abhängigen Ansprüchen beschrieben.
  • Wie bei graphischen Anzeigesystem üblich, sieht die Erfindung Offset-Werte als Mittel zum Summieren von Offset-Werten aus einem speziellen Punkt vor. Mittel zur Tiefendämpfüng bezogen auf die Offset-Werte können bei einer alternativen Ausführungsform der die Prinzipien der Erfindung anwendenden Vorrichtung vorteilhaft eingesetzt werden. Die verarbeiteten x-, y- und z-Werte zusammen mit einer Farbdämpfüngsinformation können dann in einem Speicher abgelegt werden, ehe die Figur angezeigt wird.
  • FR-A 2,568,388 beschreibt einen im Raum stationären Graphiksimulator, der ein geometrisches Bild anzeigt, welches einer Rotation oder Verschiebung im erscheinenden Blickwinkel ausgesetzt ist. Das geometrische Bild hat zwei Dimensionen mit anfänglichen kartesischen Koordinaten X, Y sowie endgültigen kartesischen Koordinaten X&sub2;, Y&sub2;. Die kartesischen Koordinaten können in einem Polarkoordinatensystem als M (einen Vektor) sowie Θ (ein Winkel) für einen ersten Punkt 1 sowie als M&sub2; (einen Vektor) und Θ&sub2; (einen Winkel) für einen zweiten Punkt 2 dargestellt werden. Unter Verwendung eines Polarkoordinatensystems wird die Transformation von Punkt 1 auf Punkt 2 in folgende Transformationsgleichungen vereinfacht:
  • Xvi = Pcos[π/2 + iπ/N + Θ&sub2;]
  • Yvi = Psin[π/2 + iπ/N + Θ&sub2;]
  • Diese Transformationsgleichungen werden unter Verwendung eines an den Eingangsspeicher/Register eines Mikroprozessors angeschlossenen multiplizierenden Addierer manipuliert. Einfache zweidimensionale Polarkoordinaten-Transformationen können von einem solchen System ausgeführt werden. Dreidimensionale Transformationen, insbesondere dreidimensionale Transformationen, bei denen sich die Anzeige auch bewegt, können mit einer solch einfachen Vorrichtung nicht schnell und wirkungsvoll berechnet werden.
  • Kurzbeschreibung der Zeichnungen
  • Figur 1 zeigt einen Einheitsvektor, der im dreidimensionalen Raum längs der X-Achse orientiert ist, und beschreibt die Rotationsparameter;
  • Figur 2(a) zeigt eine durch Verändern von Ry und Rz für jeden Einheitsvektor erzeugte Linie;
  • Figur 2(b) zeigt eine Linie, welche mit Ry = Rz = 0 und veränderlichem Gy sowie Gz konstruiert ist;
  • Figur 2(c) zeigt ein Beispiel eines durch Verändern von Rz erzeugten Polygons;
  • Figur 3 ist ein funktionales Blockschaltbild einer Ausführungsform der Erfindung;
  • Figur 4 ist ein System-Blockschaltbild, welches ein Beispiel eines Systems zeigt, das die Erfindung verwendet;
  • Figur 5 ist ein Schaltbild eines Ausführungsbeispiels einer Ausführungsform der Erfindung;und
  • Figur 6 ist ein Beispiel einer Kompaß-Rose.
  • Beschreibung der bevorzugten Ausführungsform
  • In Figur 1 ist die Rotation des Einheitsvektors im dreidimensionalen Raum graphisch dargestellt. Das Verfahren und die Vorrichtung gemaß der Erfindung zum Erzeugen dreidimensionaler Symbole und Zeichen basiert auf der Konstruktion und Drehung eines Einheitsvektors 10, der sich im dreidimensionalen Raum, wie in Figur 1 gezeigt, längs der x-Achse erstreckt. Der Fachmann erkennt, daß die in der Beschreibung verwendete Anordnung der x-, y- und z-Achsen im dreidimensionalen Raum nur beispielsweise ist.
  • Andere Konventionen können Verwendung finden und werden zu ähnlichen Ergebnissen führen, wenn man das Verfahren und die Vorrichtung gemäß der Erfindung verwendet. Um die Erläuterung der Erfindung zu vereinfachen, wird die in Figur 1 gezeigte Konvention für den dreidimensionalen Raum durch die Beschreibung der Erfindung hindurch angewandt, allerdings mit dem Verständnis, das die Erfindung nicht auf die Anwendung mit dieser speziellen Konvention beschränkt ist.
  • Mit einem gegebenen Einheitsvektor 10 im dreidimensionalen Raum, angeordnet längs der positiven x-Achse, kann jede dreidimensionale Gitterrahmenfigur dadurch konstruiert werden, daß man eine Reihe solcher Einheitsvektoren aneinanderreiht, nachdem jeder Vektor zunächst um die z-Achse und dann um die y-Achse gedreht wurde. Sobald eine Gitterrahmenfigur aus einer Folge von rotierten Einheitsvektoren aufgebaut ist, kann das Gitterrahmenobjekt dann durch die folgenden Schritte manipuliert werden:
  • (a) Ändern des Startpunkts für die Übertragung;
  • (b) Addieren einer Konstanten zum x-Rotationswert für die Rotation um die x-Achse;
  • (c) Addieren einer Konstanten zum y-Rotationswert für die Rotation um die y-Achse; und
  • (d) Addieren einer Konstanten zum z-Rotationswert für die Rotation um die z-Achse.
  • Die für die Konstruktion und die Manipulation des Gitterrahmenobjekts verwendeten mathematischen Beziehungen sind durch folgende Gleichungen gegeben:
  • ΔX' = ΔX COS (Gz) + ΔY SIN (Gz)
  • ΔY' = -ΔX SIN (Gz) + ΔY COS (Gz)
  • ΔZ' = ΔZ,
  • wobei:
  • ΔX = COS (Rz) COS (Ry + Gy)
  • ΔY = COS (Rz) SIN (Ry + Gy) SIN (Gx) - SIN (Rz) COS (Gx)
  • ΔZ = COS (Rz) SIN (Ry + Gy) COS (Gx) + SIN (Rz) SIN (Gx),
  • und wobei:
  • Rz und Ry Konstruktions-Rotationsparameter für die Z- bzw. die Y-Achse sind und
  • Gy, Gx sowie Gz globale Rotationsparameter für die Y-, X- bzw. Z-Achse sind.
  • Obige Gleichungen werden zur Berechnung der die Einheitsvektoren definierenden Punkte benutzt, wenn die Einheitsvektoren gemäß obiger Beschreibung aufgebaut werden. Ein wesentliches Merkmal dieses Verfahrens ist die Reihenfolge der Rotation.
  • Figur 2(a) zeigt eine Linie aus Einheitsvektoren 10, wobei diese Linie durch Verändern von Ry und Rz für jeden Einheitsvektor aufgebaut ist. Die Vektoren 10 können um die z-Achse und dann um die y-Achse rotiert werden, um jede beliebige Orientierung zu erreichen. Sobald eine Orientierung gewählt ist, kann man die Vektoren 10 beliebig oft wiederholen, um eine Linie von "n"-Einheiten Länge zu konstruieren, wobei "n" eine ganze Zahl ist. Eine alternative Methode für die Darstellung einer Linie zeigt Figur 2(b). Die Linie ist hier aufgebaut durch Variieren von Gy und Gz bei Ry = Rz = 0.
  • Man kann eine Kurve oder einen Bogen konstruieren, wenn man einen Vektor n-mal wiederholt und jedesmal eine neue Orientierung vorgibt. Figur 2(c) zeigt ein Oktagon 20 im dreidimensionalen Raum, welches aus Einheitsvektoren 10 besteht und wobei der Aufbau des Oktagons 20 durch Verändern von Rz erfolgt. Kleinere Rotationswinkel um z würden eine bessere Annäherung an einen Kreis zur Folge haben. Die Größe eines Objekts wird dadurch bestimmt, wie oft ein Einheitsvektor für eine vorgegebene Orientierung wiederholt wird. Außer der Rotation eines Einheitsvektors im dreidimensionalen Raum verwendet die Erfindung globale Rotationsparameter, um Linien und Bögen und Kurven insgesamt zu rotieren. Die globalen Rotationsparameter können auch zum Drehen von Mehrfachlinien, -Bögen und -Kurven und zum Drehen eines Symbols oder Zeichens im dreidimensionalen Raum verwendet werden. Mit dem Einsatz globaler Rotationsparameter kann man deshalb z.B. vordefinierte Zeichen in einem programmierbaren Lesespeicher PROM abspeichern, die Zeichen aus dem Speicher auslesen und sie auf dem Bildschirm mit irgendeiner vorgegebenen Rotation im dreidimensionalen Raum darstellen.
  • Figur 3 zeigt ein fünktionales Blockschaltbild einer Ausführungsform des Rechenalgorithmus gemäß der Erfindung und gibt die Reihenfolge der Operationen zum Berechnen der x-, y- und z-Punkte wieder. Im allgemeinen geht die Kalkulation von einer Polarbeschreibung auf Offsets ΔX', ΔY' und ΔZ' in kartesischen Koordinaten über. Die Offsets werden von einem durch die Konstruktionsparameter Rz und Ry sowie die Rotationsparameter Gy, Gx und Gz definierten Startpunkt aus akkumuliert. Diese Akkumulationen der Offsets vom Startpunkt aus erfolgt, um die Koordinatenposition des zu beleuchtenden Punktes auf der Anzeigevorrichtung anzugeben. Wenn in Figur 3 der Befehl decodiert ist, werden die Konstruktions- und Rotationsparameter in den dreidimensionalen Vektorgenerator 30 geladen. Wegen der Reihenfolge der Rotation können zuerst die y-Konstruktions- und Rotationswerte zusammen addiert werden. Die Summe der y-Werte zusammen mit den z-Konstruktions- und x-Rotationsparametern werden dann den Sinus/Kosinus-Suchtabellen 32 bzw. 34 eingegeben. Die Sinus/Kosinussuchtabellen können vorteilhafterweise PROMs bekannter Art sein. Die Ausgänge von der mathematischen ersten Stufe 36 sind, wie die gestrichelte Linie zeigt, x-, y- und z-Offsetwerte. In diesem Zeitpunkt konstruieren die Werte ein Objekt im dreidimensionalen Raum, welches nur in x- und y-Richtung rotiert ist. Der z-Rotationsparameter Gz wird in der nächsten Stufe 38 der Sinus/Kosinustabellen zum Heraussuchen der z-Rotationswerte benutzt. Die letzte Stufe der mathematischen Einrichtung 40 erzeugt die endgültigen Werte ΔX', ΔY' und ΔZ' für ein im dreidimensionellen Raum gedrehtes Objekt.
  • Das Systemblockschaltbild in Figur 4 ist ein Beispiel eines Videoanzeigesystems mit den Merkmalen der Erfindung. Das System umfaßt einen Zeichenvorrat-PROM 50, eine Dualport-Schnittstelle 52, einen Eingangsregler 54, einen 3D-Vektorgenerator 30, Sinus/Kosinus-PROMs 31, einen Ablenkakkumulator 56, eine Farbsuchtabelle 58, einen Vollbildspeicher 60 sowie einen Videobus 62. Eine Befehlsliste wird dem System vom Anzeigeprozessor 70 geliefert. Auf die Liste nimmt der Eingangskontroller 54 über die Schnittstelle 52 Zugriff und decodiert sie. Der Eingangskontroller 54 kann jede Art von bekanntem Prozessor sein, beispielsweise ein Mikroprozessor oder eine programmierbare Gatteranordnung oder eine andere programmierbare Logikanordnung. Wenn der Anzeigeprozessor 70 ein Zeichen oder ein vom Benutzer definiertes Symbol anzeigen soll, greift der Kontroller auf den Zeichenvorrat PROM zu. Der Zeichenvorrat PROM wird vom Benutzer des Systems, wie benötigt, mit vorgegebenen Zeichen und Typen geladen. Der Fachmann weiß, daß solche Zeichenvorrats-PROMs bekannt sind. Die Aneinanderreihung der Befehls- und Charaktervorratslisten werden dann dem dreidimensionalen Vektorgenerator 30 für die Verarbeitung zugeleitet. Wenn dieser Generator die Information verarbeitet, werden die Offsetwerte im Ablenkakkumulator 56 summiert, welcher die laufende Position verfolgt. Das Vorabladen des Ablenkakkumulators 56 mit einem vorgegebenen Punkt auf der Anzeigevorrichtung hat die Wirkung einer Verschiebung des Objekts. Mit anderen Worten, die erzeugten Offsetwerte beginnen vom vorbestimmten Punkt auf dem Schirm an, akkumuliert zu werden. Im Fall einer Farbanzeige kann eine Farbsuchtabelle 58 benutzt werden, um eine Tiefendämpfung mit irgendeiner Farbe vorzusehen. Die Tiefendämpfung (Cueing) wird durch Intensitätsmodulation als Funktion der Z-Tiefe erzielt, wodurch weiter entfernte Objekte verringerte Leuchtintensität haben. Das Ausgangssignal der Farbsuchtabelle 58 wird in einem Ganzbildspeicher 60 abgelegt und zwar basierend auf den Werten der Ausgangssignale x und y. Im Falle eines Schwarz/Weiß-Bildschirms wird natürlich die Farbsuchtabelle nicht benötigt. Der Vollbildspeicher 60 kann vorzugsweise ein Hochgeschwindigkeitsspeicher für Videoanzeigeanwendungen sein. Der Vollbildspeicher 60 wird über einen digitalen Videobus 62 oder mittels D/A-Umsetzung abgetastet und sein Inhalt anschließend auf der Anzeigevorrichtung 100 dargeboten.
  • In Figur 5 ist ein mehr ins einzelne gehendes Schaltbild eines Ausführungsbeispiels der Erfindung dargestellt. Die in Figur 5 benutzten Zeichnungen und Signalnamen sind in Tabelle I definiert. Tabelle I Begriffsdefinitionen für den 3D-Vektorgenerator
  • Die in Figur 5 gezeigte Ausführungsform der Erfindung umfaßt einen programmierbaren Logikanordnungblock (PAL) 200, einen Addierer 202, einen zweiten programmierbaren Logikanordnungblock 204, ein Sinus/Kosinus-PROM 206, einen ersten Rückkopplungspuffer 208, einen zweiten Rückkopplungspuffer 210, ein Register 212 sowie Ausgangsregister 220, 222 und 224. Ein zweiter programmierbarer Eingangs- Logikanordnungblock 230 ist ebenso vorgesehen, wie ein zweiter Addierer 234 und ein dritter programmierbarer Logikanordnungsblock 236. Zweite und dritte Sinus/Kosinus-PROMs 240 und 242 sind ebenso vorhanden. In den letzten Stufen der Schaltung werden auch Ausgangs-Multiplizierer/Akkumulatoren 250 verwendet. Der dreidimensionale Vektorgenerator nach Figur 5 wird durch einen Zustandsregler 300 gesteuert, und die Komponenten sind über mehrere Datenbusse 310 miteinander verbunden.
  • Nach der allgemeinen Beschreibung der Elemente, welche die Ausführungsform nach Figur 5 bilden, wird ein Beispiel der Erfindung im Betrieb beschrieben, um deren Verständnis zu unterstützen.
  • Unter der Steuerung der Zustandsmaschine 300 werden über den Datenbus 310 übertragene Befehle decodiert, und die geeigneten Aktivierungssignale werden in die Pipeline eingegeben. Alle Aktivierungssignale werden anhand des Zustands des dreidimensionalen Vektorgenerators und der decodierten Befehle gesteuert. Diese Steuerung ist erforderlich, um die richtigen Daten an den Eingängen der arithmetischen Einheiten 202 und 234 zur richtigen Zeit bereitzustellen. Im Betrieb wird der die Register 102 und 104 umfassende programmierbare Logikanordnungsblock 200 dazu benutzt, eine schrittweise Änderung des Z-Drehwinkels vorzunehmen. Das Register 102 ist an den Datenbus 310 angeschlossen und umfaßt ein 12-Bit-Register. Der Ausgang des Registers 102 ist an den Eingang des Registers 104 angeschlossen, welches ihm vom Register 102 zugeführte Information in den Addierer 202 lädt, sobald der Ausführungsbefehl EXE* auftritt. Der Addierer 202 nimmt dann die Daten in seinen B-Eingang und summiert sie mit den Daten am A-Eingang, um die Summe von ΔZ zuzüglich der von PAL 204 und im Datenbus 106 rückgeführten Information auszugeben. PAL 204 besteht ferner aus mehreren Registern und FLIP-FLOPs, um infolge der Funktionen LGZ*, ACU*, EXE* und SGR* Pipeline-Operationen mit den Daten durchzuführen. Das Ausgangssignal von PAL 204 wird dann als Adreßeingang dem Sinus/Kosinus-PROM 206 zugeleitet, der aufgrund des OEB*-Steuersignals einen Vorwärtsfluß der Daten in die Ablenkakkumulatoren 250A und 250B ermöglicht. Die Ablenkakkumulatoren führen, wie gezeigt, Multiplikations- und Additionsoperationen durch. Die Ablenkakkumulatoren sprechen ferner auf das Ausgangs- Akkumulatorsteuersignal OAC* an, welches ein Akkumulieren der vorherigen Produktworte mit den laufenden Produktworten ermöglicht, wie dies durch die Gleichung gefordert wird. Das Ausgangssignal des Akkumulators 250A wird in das Z-Ausgangsregister 220 geladen und außerdem durch den Rückkopplungsverstärker 208 an den Eingang von 250A und einen Eingang von 250B zurückgeführt. Die übrigen Bauteile arbeiten in ähnlicher Weise aufgrund der Steuersignale gemaß Tabelle I.
  • In Figur 6 ist ein Beispiel für den Aufbau einer Kompaß-Rose unter Verwendung des Verfahrens nach der Erfindung dargestellt. Die Befehlsliste zum Aufbau dieses Objekts ist unten wiedergegeben zusammen mit den Ausführungszeiten zur Durchführung der Befehlsfolge gemaß dem Verfahren nach der Erfindung. Dies ist ein Beispiel für eine aneinandergekettete Liste, wie sie oben in bezug auf die Figuren beschrieben wurde. Die in der letzten Spalte der Anwendung des dreidimensionalen Vektorgenerators (3DVG) angegebene Zeit basiert auf einem Systemtakt von 12,5 MHz. Im Anschluß an die 3DVG-Anwendungsliste folgt eine Liste mit der Bezeichnung "Vielfäch-Linienanwendung". Diese Vielfach-Linienanwendungsliste kann mit einem herkömmlichen Anzeigeprozessor verwendet werden, welcher den bekannten "Programmer's Hierarchical Interactive Graphics Standard" benutzt. Die für die Mehrlinien-Anwendung in der letzten Spalte angegebenen Zeiten basieren auf der Verwendung eines Mikroprozessors vom Typ 68030 mit einem 25 MHz-Takt. Zu bemerken ist, daß der Vergleich eine Drehung des Bildes nicht einschließt. Da die Möglichkeit der Drehung im 3DVG ohnehin vorhanden ist, braucht man für eine Drehung des Bildes keine weitere Berechnung. Die Mehrlinienanwendung würde zum Drehen des Bildes einen Rotationsalgorithmus hinzufügen müssen. Folglich würde der Prozessordurchsatz, um zumindestens eine Größenordnung verringert werden, und zwar wegen der vermehrten Multiplikationen, Additionen, Subtraktionen und Tabellen- Nachsuchungen. Im Falle dieses Beispiels erzielt der 3DVG nahezu zwei Größenordnungen an Gesamtverbesserung bei einer Drehung und nahezu eine Größenordnung Gesamtverbesserung, wenn keine Drehung vorgesehen ist. 3DVG-Anwendung
  • Mehrlinien-Anwendung
  • Kreis:
  • POLYLINE (48 pts)
  • Funktionsmarken:
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • POLYLINE (2 pts)
  • Zeichen:
  • POLYLINE (16 pts) ('S')
  • POLYLINE (5 pts) ('W')
  • POLYLINE (4 pts) ('N')
  • POLYLINE (7pts) ('E')
  • 19 Befehlelesen @ 209 Zyklen
  • 108 Kantenlesen @ 2268 Zyklen
  • 108 Vektorumwandlungen @ 7020 Zyklen
  • 756 Schreibvorgänge @ 8316 Zyklen
  • 712,5 µs GESAMTZEIT
  • Bei einem Ausführungsbeispiel der Erfindung wurde für die programmierbare Feldlogik PAL200 ein Typ 2-EP610 der Firma Altera, für PAL204 ein Typ 6-22V10 der Firma Cypress, und für die Akkumulatoren 250 wurden multiplizierende Akkumulatoren 7243 als hochintegrierte Schaltkreise der Firma IDT eingesetzt. Die als Ausgangsregister für x und y benutzten Register waren 16-Bit-Register vom Typ Model 2-'374. Als Zustandskontroller wurde ein Typ PAL3-22V10 eingesetzt.

Claims (8)

1. Vorrichtung zum Erzeugen von Abbildungen aufgrund einer Prozessorbefehlsliste (70) unter Verwendung dreidimensionaler Einheitsvektoren in einem 3-Achsen-System mit x-, y- und z-Achsen umfassend:
a) eine Vorrichtung (31 bis 40) zum Decodieren der Befehlsliste;
b) eine Einrichtung (54) zur Erzeugung von Aktivierungssignalen, um die Befehlsliste in einer Zeitfolge abzuarbeiten; und
c) Mittel (30) zum Erzeugen dreidimensionaler Einheitsvektoren aufgrund der decodierten Befehle und Aktivierungssignale, wobei die erzeugten Einheitsvektoren Offset-Werte für die x-, y- und z-Achsen aufweisen, welche nach den folgenden Beziehungen erzeugt werden:
ΔX' = ΔX COS (Gz) + ΔY SIN (Gz)
ΔY' = -ΔX SIN (Gz) + ΔY COS (Gz)
ΔZ' = ΔZ,
wobei:
ΔX = COS (Rz) COS (Ry + Gy)
ΔY = COS (Rz) SIN (Ry + Gy) SIN (Gx) - SIN (Rz) COS (Gx)
ΔZ = COS (Rz) SIN (Ry + Gy) COS (Gx) + SIN (Rz) SIN (Gx),
und wobei:
Rz und Ry Konstruktions-Rotationsparameter für die Z- bzw. die Y-Achse sind und
Gy, Gx sowie Gz globale Rotationsparameter für die Y-, X- bzw. Z-Achse sind.
2. Vorrichtung nach Anspruch 1 mit:
a) einer Einrichtung (52) für den Empfang von Daten, welche die Konstruktions- Rotationsparameter (R) und die globalen Rotationsparameter (G) für einen Vektor umfassen; und
b) einer Einrichtung (31) zum Erzeugen der Sinus- und Cosinuswerte entsprechend den Konstruktions-Rotationsparametern und den globalen Rotationsparametern.
3. Vorrichtung nach Anspruch 2, wobei die Einrichtung zur Erzeugung der Sinus- und Cosinuswerte einen programmierbaren Lesespeicher (31) umfaßt.
4. Vorrichtung nach Anspruch 1, 2 oder 3 mit einer Einrichtung (58) zur Tiefendämpfung für den erzeugten Einheitsvektoren zugeordnete Farben.
5. Vorrichtung nach einem der vorangehenden Ansprüche, wobei die Decodiereinrichtung eine Zustandsmaschine (300) umfaßt.
6. Vorrichtung nach einem der vorangehenden Ansprüche, wobei die Decodiervorrichtung sowie die Aktivierungssignaleinrichtung in einem Zustandsregler (300) vereinigt sind.
7. Verfahren zur Erzeugung von Abbildungen aufgrund einer Prozessorbefehlsliste unter Verwendung dreidimensionaler Einheitsvektoren in einem 3-Achsensystem mit X-, Y- und Z-Achsen mit folgenden Schritten:
a) Decodieren der Befehlsliste;
b) Abgabe von Aktivierungssignalen zum Abarbeiten der Befehlsliste in einer Zeitfolge;
c) Erzeugen dreidimensionaler Einheitsvektoren entsprechend der decodierten Befehle und Aktivierungssignale, wobei die erzeugten Einheitsvektoren Offset- Werte für die X-, Y- und Z-Achse umfassen, welche nach folgenden Beziehungen erzeugt werden:
ΔX' = ΔX COS (Gz) + ΔY SIN (Gz)
ΔY' = -ΔX SIN (Gz) + ΔY COS (Gz)
ΔZ' = ΔZ,
wobei:
ΔX = COS (Rz) COS (Ry + Gy)
ΔY = COS (Rz) SIN (Ry + Gy) SIN (Gx) - SIN (Rz) COS (Gx)
ΔZ = COS (Rz) SIN (Ry + Gy) COS (Gx) + SIN (Rz) SIN (Gx),
und wobei:
Rz und Ry Konstruktions-Rotationsparameter für die Z- bzw. die Y-Achse sind und
Gy, Gx sowie Gz globale Rotationsparameter für die Y-, X- bzw. Z-Achse sind.
8. Verfahren nach Anspruch 7, gekennzeichnet durch den weiteren Schritt der Tiefenabschwächung für den erzeugten Einheitsvektoren zugeordnete Farben.
DE69028333T 1989-03-20 1990-03-16 Verfahren und Vorrichtung zur Erzeugung von Abbildungen mit drei Freiheitsgraden Expired - Fee Related DE69028333T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/325,779 US5091867A (en) 1989-03-20 1989-03-20 Method and apparatus for generating display figures with three degrees of freedom

Publications (2)

Publication Number Publication Date
DE69028333D1 DE69028333D1 (de) 1996-10-10
DE69028333T2 true DE69028333T2 (de) 1997-02-06

Family

ID=23269413

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69028333T Expired - Fee Related DE69028333T2 (de) 1989-03-20 1990-03-16 Verfahren und Vorrichtung zur Erzeugung von Abbildungen mit drei Freiheitsgraden

Country Status (5)

Country Link
US (1) US5091867A (de)
EP (1) EP0389890B1 (de)
JP (1) JP2756850B2 (de)
CA (1) CA2011825C (de)
DE (1) DE69028333T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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.
DE19752890B4 (de) * 1996-11-28 2004-09-30 TBO Treuhandbüro Dr. Ottiker & Partner AG Verfahren zur rechnergestützten Generierung einer Maschine mit geometrisch bestimmten, sphärischen Bauteilpaaren, und Verwendung des Verfahrens
JP4252214B2 (ja) * 1998-07-03 2009-04-08 テーベーオー・トロイハントビュロー・ドクトル・オッティカー・ウント・パルトナー・アクチェンゲゼルシャフト 幾何学的に定まった球状部品を有する機械を電算機支援で形成する方法
EP1282106A1 (de) 2001-08-01 2003-02-05 Agere Systems System, Verfahren und Rechnerprogrammprodukt zur Anzeige und/oder Kompression von digitalen Daten
US9244275B1 (en) * 2009-07-10 2016-01-26 Rockwell Collins, Inc. Visual display system using multiple image sources and heads-up-display system using the same

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152766A (en) * 1978-02-08 1979-05-01 The Singer Company Variable resolution for real-time simulation of a polygon face object system
US4291380A (en) * 1979-05-14 1981-09-22 The Singer Company Resolvability test and projection size clipping for polygon face display
US4682160A (en) * 1983-07-25 1987-07-21 Harris Corporation Real time perspective display employing digital map generator
JPS60186967A (ja) * 1984-03-05 1985-09-24 Fanuc Ltd 画像表示方法
FR2568388B1 (fr) * 1984-07-24 1989-04-28 France Etat Armement Processeur de transformation geometrique
US4845643A (en) * 1986-04-14 1989-07-04 Clapp Roy A Simplified computer graphics perspectives
US5015188A (en) * 1988-05-03 1991-05-14 The United States Of America As Represented By The Secretary Of The Air Force Three dimensional tactical element situation (3DTES) display

Also Published As

Publication number Publication date
CA2011825A1 (en) 1995-12-22
JPH03121578A (ja) 1991-05-23
EP0389890A3 (de) 1992-12-02
EP0389890A2 (de) 1990-10-03
US5091867A (en) 1992-02-25
CA2011825C (en) 2001-04-10
JP2756850B2 (ja) 1998-05-25
DE69028333D1 (de) 1996-10-10
EP0389890B1 (de) 1996-09-04

Similar Documents

Publication Publication Date Title
DE3750803T2 (de) Schattierungsschaltung zur Schattierung mehrerer Polygone, die ein Festkörpermodel einsetzen, und Schattierungsverfahren dafür.
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE68924389T2 (de) Verfahren und Einrichtung zur Anzeige einer Vielzahl von graphischen Bildern.
DE3873792T2 (de) Elektronische bildverarbeitung.
DE69221414T2 (de) Intelligenter Schriftartdarstellungskoprozessor
DE3689654T2 (de) Rechnergraphik, prozessor für parallele subdivision.
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69926986T2 (de) Rechnergrafiken-animationsverfahren und vorrichtung
DE69028690T2 (de) Speziale Effekte mit Polarbildkoordinaten
DE69014702T2 (de) Verfahren und Gerät zur Abtastumsetzung von Radarvideosignalen in Fernsehsignale.
DE68923191T2 (de) Dreidimensionales graphisches Verarbeitungsgerät.
DE19807013A1 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE3785465T2 (de) Festzeichenreihenabschneidung in einem graphischen anzeigesystem.
DE68926640T2 (de) Reduziertes Bildfenster für eine graphische Anzeige
JPH02183384A (ja) コンピュータ表示装置に表示する対象物をクリツプする方法
DE69027637T2 (de) Abschneidungsprozessor
DE3854619T2 (de) Quadratische interpolation zur schattierten bilderzeugung.
DE3788260T2 (de) Aneinanderreihung von Matrizen in einem Grafiksichtsystem.
DE69028333T2 (de) Verfahren und Vorrichtung zur Erzeugung von Abbildungen mit drei Freiheitsgraden
DE3882269T2 (de) Generierung von Kurven in ein Anzeigesystem.
DE19581872B4 (de) Dreidimensionales Graphikaufbereitungssystem
DE68926952T2 (de) Verfahren zur Ausführung von interaktiven Bildverarbeitungsoperationen auf grossen Bildern
DE3787813T2 (de) Zeichnen von breiten Linien in einem System zur Wiedergabe von graphischen Darstellungen.

Legal Events

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