DE3882269T2 - Generierung von Kurven in ein Anzeigesystem. - Google Patents

Generierung von Kurven in ein Anzeigesystem.

Info

Publication number
DE3882269T2
DE3882269T2 DE88104225T DE3882269T DE3882269T2 DE 3882269 T2 DE3882269 T2 DE 3882269T2 DE 88104225 T DE88104225 T DE 88104225T DE 3882269 T DE3882269 T DE 3882269T DE 3882269 T2 DE3882269 T2 DE 3882269T2
Authority
DE
Germany
Prior art keywords
vector
arc
curve
points
point
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 - Lifetime
Application number
DE88104225T
Other languages
English (en)
Other versions
DE3882269D1 (de
Inventor
David Andrew Clarke
Robert William Eric Farr
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
Application granted granted Critical
Publication of DE3882269D1 publication Critical patent/DE3882269D1/de
Publication of DE3882269T2 publication Critical patent/DE3882269T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/08Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam directly tracing characters, the information to be displayed controlling the deflection and the intensity as a function of time in two spatial co-ordinates, e.g. according to a cartesian co-ordinate system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Generation (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf einen Kurvengenerator für ein Anzeigesystem, auf ein Anzeigesystem, welches einen solchen Generator enthält und auf Verfahren zur Erzeugung von Kurven in einem Anzeigesystem.
  • Die Erzeugung von Kurven, beispielsweise eines Kreisbogens, aus Daten, die den Bogen definieren, ist keine einfache Aufgabe in einem Computer, da hierzu umfangreiche Berechnungen erforderlich sind.
  • Ein am Ursprung eines Koordinatensystems zentrierter Kreis läßt sich durch die folgende bekannte Gleichung definieren:
  • x² + y² = R² (1)
  • wobei x und y variable horizontale und vertikale Koordinaten im Koordinatensystem sind und R der Radius des Kreises ist.
  • Eine Auflösung dieser Gleichung nach y ergibt:
  • y = ± (R² - x²)1/2 (2)
  • Eine einfache Möglichkeit für das Zeichnen eines Quadranten eines Kreises unter Verwendung dieser Gleichung besteht darin, x in einheitlichen Schritten von 0 bis R zu inkrementieren und +y an jedem der Schritte aufzulösen. Die anderen drei Kreisquadranten können dann bezüglich ihres Ursprungs unter Verwendung der Symmetrie des Kreises bestimmt werden. Zwar funktioniert dieses Verfahren, doch ist es aufgrund der Multiplikations- und Quadratwurzeloperationen nicht effizient.
  • Ein ähnliches nicht effizientes Verfahren besteht darin, einfach R cos 0 oder R sin 0 durch schrittweises Durchlaufen des 0 von 0 bis 90º festzulegen und dann die anderen drei Quadranten unter Verwendung der Symmetrie des Kreises zu erzeugen.
  • Ein besseres Verfahren zur Erzeugung eines kreisförmigen Bogens wird im Artikel von J. E. Bresenham beschrieben; dieser trägt den Titel "A Linear Algorithm for Incremental Digital Display of Circular Arcs"; er ist veröffentlicht auf den Seiten 100 bis 106 in der Schrift "Communications of the ACM", Vol 20, Nr. 2, Februar 1977. Dieses Verfahren basiert auf der obigen Gleichung (1) und wurde für die Verwendung mit Pen-Plottern ausgearbeitet, kann jedoch auch allgemein auf alle Anzeigesysteme auf Pixelbasis angewandt werden.
  • In Übereinstimmung mit dem Verfahren werden Punkte eines Kreises, der am Ursprung zentriert ist, durch schrittweises Umlaufen des Kreises erzeugt. An jedem Schritt wird der Pixelpunkt, der sich am nächsten am richtigen Kreis befindet, für die Anzeige durch die Verwendung folgenden Fehlerterms ausgewählt:
  • D (Pti) = (x²i + y²i) - R² (3)
  • wobei D (Pti) die Differenz zwischen dem richtigen Kreis für den i-ten Punkt (Pti) ist und xi und yi die für den i-ten Punkt berechneten x- und y-Werte sind.
  • Verweise auf diese und viele andere Verfahren befinden sich im Buch von Foley und Van Dam mit dem Titel "Fundamentals of Interactive Computer Graphics" (1982 von Addison-Wesley veröffentlicht) auf den Seiten 442-446.
  • Theoretisch gesehen funktionieren diese Verfahren zufriedenstellend, wenn auch mit unterschiedlicher Effizienz. Diese Verfahren dienen hauptsächlich dazu, komplette Kreise zu zeichnen. Natürlich können sie auch dazu verwendet werden, einen Kreisbogen zu zeichnen. Praktisch gesehen ist jedoch die Anwendbarkeit in einem graphischen Verarbeitungssystem beim Zeichnen der Kreisbögen stark eingeschränkt. Insbesondere treten unter Verwendung der bisherigen Verfahren beim genauen Plotten eines Bogens, der Bestandteil eines sehr großen Kreises ist, schnell Schwierigkeiten auf, wenn sich nur ein Teil des Kreises innerhalb des Koordinatensystems befindet. Diese Schwierigkeiten sind insbesondere auf die Erfordernis zurückzuführen, den eigentlichen Mittelpunkt des Kreises, dessen Bestandteil der Kreisbogen ist, entweder explizit oder implizit zu berechnen. Soll ein Bogen gezeichnet werden, der nahezu keine Krümmung aufweist, so ist es empfehlenswert, eine sehr große Zahl zu verwenden, um den Radius des Kreises, dessen Bestandteil der Kreisbogen ist, zu definieren, da der Mittelpunkt des Kreises weit außerhalb des Koordinatensystems, in dem der Kreisbogen erzeugt werden soll, liegen kann.
  • In Übereinstimmung mit einem ersten Aspekt der Erfindung ist ein Kurvengenerator für ein Anzeigesystem vorhanden, wobei der Kurvengenerator ein bogenerzeugendes Mittel für die Erzeugung eines Kreisbogens aufgrund von Daten, die die Position der beiden Endpunkte sowie eines Mittelpunkts auf dem Bogen angeben, enthält, und wobei das bogenerzeugende Mittel ein initialisierendes Mittel enthält, um den Winkel zu berechnen, der zwischen einem ersten Vektor, von einem der ersten Endpunkte zum Mittelpunkt, und einem zweiten Vektor, vom zweiten Endpunkt zum Mittelpunkt, herrscht, und ein bogen-plottendes Mittel zur Definition einer Folge weiterer Vektoren von diesem ersten Endpunkt, und zur Berechnung für jeden weiteren Vektor seines Kreuzungspunktes mit einem Gegenvektor aus dem genannten zweiten Endpunkt, mit dem er einen Winkel bildet, wobei eine Folge weiterer Schnittpunkte auf dem kreisförmigen Bogen geplottet wird.
  • In Übereinstimmung mit einem zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren vorhanden, das es ermöglicht, einen Kreisbogen in einem Anzeigesystem zu erzeugen, welches Verarbeitungs- und Speichermittel enthält, aus Daten zur Definition der Positionen zweier Endpunkte und eines Mittelpunkts auf dem Bogen, wobei folgende Schritte enthalten sind:
  • (a) Berechnung des Winkels zwischen einem ersten Vektor, von einem ersten der beiden Endpunkte zum Mittelpunkt, und einem zweiten Vektor, vom zweiten der Endpunkte zum Mittelpunkt;
  • (b) Speicherung des berechneten Winkels im Speichermittel;
  • (c) Definition eines zweiten Vektors aus dem ersten Endpunkt;
  • (d) Berechnung für den weiteren Vektor seines Kreuzungspunktes mit einem Gegenvektor aus dem zweiten Endpunkt, mit dem dieser den berechneten Winkel bildet; und
  • (e) Wiederholungsschritte (c) und (d) für weitere Vektoren vom ersten Endpunkt, wobei eine Folge weiterer Kreuzungspunkte auf dem kreisförmigen Bogen geplottet werden.
  • Die vorliegende Erfindung gründet sich auf das bekannte Theorem in der Geometrie, welches aussagt, daß für ein Dreieck mit den Scheitelpunkten P1, P2, P3, die sich auf dem Kreisradius R befinden, folgendes gilt:
  • A/Sin (a) = B/Sin(b) = C/Sin(C) = 2R (4)
  • wobei a, b und c die Winkel sind, die an den Scheitelpunkten P1, P2 bzw. P3 herrschen und A, B und C die Längen der Seiten gegenüber der Scheitelpunkte P1, P2 bzw. P3 darstellen.
  • Zwar wird dieses Theorem in den in Schulen verwendeten Geometriebüchern aufgeführt, doch wurde dessen Anwendung zur Lösung des Problems der Bogenerzeugung in Computern trotz der weitreichenden Bemühungen zur Verbesserung der Leistung von Bogengeneratoren bislang nicht anerkannt.
  • Die Vorteile der vorliegenden Erfindung lassen sich hauptsächlich auf die Tatsache zurückführen, daß die Berechnung der Punkte des Bogens nicht in bezug auf den Mittelpunkt des Kreises erfolgt, von dem der Bogen einen Bestandteil bildet. Die Punkte auf dem Bogen werden anstelle dessen in bezug auf einen gegebenen Punkt auf dem Bogen durch Erzeugung von Vektoren dieser gegebenen Punkte geplottet. Die vorliegende Erfindung macht es möglich, daß die Berechnung des Bogens im wesentlichen innerhalb des Koordinatensystems, in dem der Bogen vorhanden ist, erfolgen kann, wodurch die Anzahl der erforderlichen Genauigkeitsstellen zur präzisen Berechnung des Bogens reduziert werden kann. Darüberhinaus besitzt die vorliegende Erfindung den Vorteil, daß die Berechnung des Bogens in einer ganzzahligen Arithmetik erfolgen kann, wodurch die Leistung des Bogengenerators erhöht wird.
  • Damit die vorliegende Erfindung besser verständlich wird, folgt eine Beschreibung der Zusammenhänge und Prinzipien der vorliegenden Erfindung und der speziellen Anordnungen der Erfindung unter Bezugnahme auf die begleitenden Zeichnungen, wobei folgendes gilt:
  • Fig. 1 ist eine Darstellung, die dazu verwendet wird, um die Operationsabläufe der vorliegenden Erfindung zu beschreiben, die darin besteht, daß ein Bogen innerhalb eines rechteckigen Koordinatensystems gezeichnet werden kann.
  • Fig. 2 ist eine weitere Darstellung, die dazu verwendet wird, um die Operationsabläufe der vorliegenden Erfindung zu beschreiben.
  • Fig. 3 ist ein schematisches Blockdiagramm, welches die logische Struktur einer bestimmten Anordnung der vorliegenden Erfindung darstellt;
  • Fig. 4 ist eine Darstellung, aus der ersichtlich ist, wie eine allgemeine Kurve unter Verwendung der Prinzipien der vorliegenden Erfindung gezeichnet werden kann;
  • Fig. 5 ist ein schematisches Blockdiagramm, welches die logische Struktur einer weiteren bestimmten Anordnung der vorliegenden Erfindung darstellt; und
  • Fig. 6 ist ein schematisches Diagramm einer Workstation, in die eine Anordnung der vorliegenden Erfindung integriert werden kann, wie sie in Fig. 3 oder 5 dargestellt wird.
  • Bevor auf die verschiedenen Anordnungen der vorliegenden Erfindung eingegangen wird, folgt eine Beschreibung der Prinzipien, auf denen die vorliegende Erfindung beruht.
  • Wir gehen von der Annahme aus, daß ein Bogen in einem dreidimensionalen (a, b, c) Koordinatensystem so definiert ist, daß zwei Endpunkte des Bogens und ein dritter Punkt, der zwischen den Endpunkten auf dem Bogen liegt, vorhanden sind.
  • In Fig. 1 ist ein Beispiel eines solchen Bogens 10 innerhalb eines Koordinatensystems 12 dargestellt. Der Einfachheit halber ist nur ein zweidimensionales (x, y) Koordinatensystem dargestellt; aus der nachfolgenden Beschreibung geht jedoch hervor, daß sich die Behandlung im Fall des zweidimensionalen Koordinatensystems ohne weiteres auf das dreidimensionale (x, y, z) Koordinatensystem übertragen läßt.
  • Der Bogen 10 bildet einen Bestandteil des Kreises 14 mit dem Radius R, dessen Mittelpunkt 16 im dargestellten Beispiel außerhalb des Koordinatensystems 12 liegt. Der Bogen 10 wird durch die Koordinaten (x¹, y¹) eines ersten Endpunktes P1 des Bogens, die Koordinaten (x³, y³) eines zweiten Endpunktes P3 des Bogens und die Koordinaten (x², y²) eines dritten Punktes P2 definiert, der auf dem Bogen liegt.
  • Die drei Punkte P1, P2 und P3 bilden ersten, zweiten bzw. dritten Scheitelpunkt des Dreiecks 18. Fig. 1 zeigt die inneren Winkel, die an den drei Scheitelpunkten P1, P2 und P3 die Werte a, b bzw. c aufweisen, und die Seiten 32, 31, 21 des Dreiecks, die die Längen A, B, bzw. C aufweisen.
  • Die obige Gleichung läßt sich auf jedes beliebige Dreieck anwenden, das in einem Kreis angeordnet ist. Das heißt, die folgende Gleichung läßt sich auf das Dreieck 20, welches in Fig. 2 dargestellt ist, anwenden, und welches die Scheitelpunkte P1, P3 und Pn auf dem Kreis 14 aufweist, wobei die inneren Winkel an den Scheitelpunkten P1, P3 und Pn den Werten an, bn bzw. cn entsprechen und die Längen der gegenüberliegenden Seiten 3n, 31, n1 den Längen An, Bn und Cn entsprechen:
  • Da die Punkte P1 und P3 des Punktes 20 dem Dreieck 18 gemeinsam sind, folgt daraus, daß die Länge der Seite 31, die diese Punkte miteinander verbindet, die Länge B für beide Dreiecke aufweist. Daraus folgt ebenfalls, daß für jedes Dreieck, welches aufgrund der Punkte P1 und P3 und eines dritten Punktes Pn auf dem Bogen gebildet wird, der interne Winkel bn konstant ist:
  • bn = b = arcsin (B/2R) (6)
  • Ausgehend von der Tatsache, daß die Summe der internen Winkel eines Dreiecks Pi Bogenmaße ist und daß eine gerade Linie durch einen Punkt Pi Bogenmaße um diesen Punkt bildet, kann nachfolgend veranschaulicht werden, daß der Winkel deltan zwischen einer Tangente 24 zum Kreis 14 am Punkt P&sub1; und der Linie n1, die die Punkte P1 und Pn des Dreiecks 20 miteinander verbindet, gleich dem inneren Winkel Cn am Scheitelpunkt P3 des Dreiecks 20 ist. Das heißt:
  • Pi = t + deltan + an; und (7)
  • Pi = b + an + cn (8)
  • deltan = Pi - t - (Pi - b - cn) = + b + cn - t (9)
  • Pn → P1 deltan → 0 und cn → 0.
  • das heißt, t = b, wobei beide Konstanten sind, und
  • deltan = cn (10)
  • Aus den Gleichungen (5) und (10) geht hervor, daß die Länge der Seite n1 des Dreiecks 20 gegenüber des Scheitelpunkts P3 ist wie folgt:
  • Wenn also ein Winkel dir definiert ist als der Winkel, der gebildet wird durch die Linie n1 und die x-Koordinatenachse (der Gradient dieser Linie), so kann zur Berechnung von dir die folgende Gleichung verwendet werden:
  • dir = Pi - deltan - t + g&sub3;&sub1;
  • = Pi - deltan - b + g&sub3;&sub1; (12)
  • wobei g&sub3;&sub1; der Winkel der Linie 31 zur x-Achse ist (das heißt, g&sub3;&sub1; ist der Gradient dieser Linie).
  • Unter Verwendung der Gleichungen (11) und (12) ist es dann möglich, die xn- und yn-Koordinaten des Punktes Pn zu berechnen, indem die folgenden Ausdrücke ausgewertet werden:
  • und
  • Fig. 3 ist ein schematisches Blockdiagramm, welches die logische Struktur eines Bogengenerators darstellt, der eine bestimmte Anordnung der vorliegenden Erfindung bildet. Nur diejenigen Teile des Bogengenerators, die für die Beschreibung der vorliegenden Erfindung erforderlich sind, werden in Fig. 3 dargestellt. Der Bogengenerator wäre normalerweise in einem Anzeigesystem (beispielsweise in einer graphischen Workstation) mit ansonsten konventionellem Aufbau integriert (siehe beispielsweise Fig. 6).
  • Die Initialisierungslogik 40 berechnet aus den Koordinatenpositionen der Punkte P1, P2 und P3, die im Eingabespeicher 38 enthalten sind, eine Anzahl an Initialisierungswerten. Der Eingabespeicher kann Bestandteil eines Mehrzweckspeichers eines Anzeigesystems, oder ein Eingabepuffer, oder bestehend aus mehreren Eingaberegistern, oder aber Bestandteil des Bogengenerators sein. Die Koordinatenpositionen können in einem Anzeigesystem als Reaktion auf Positionen, die auf dem Bildschirm eines Anzeigesystems durch Mausbewegungen angezeigt werden, oder auf andere geeignete Weise, erzeugt worden sein. Da die Initialisierungswerte durch die Initialisierungslogik berechnet werden, werden sie im Zwischenspeicher 42 gespeichert. Der Zwischenspeicher kann aus speziell zugeordneten Registern gebildet oder in einem Mehrzweckspeicher konfiguriert werden.
  • Der Gradient oder die Steigung g&sub3;&sub1; der Linie 31, die die Punkte P3 und P1 miteinander verbindet, wird aus den Koordinatenwerten dieser Punkte berechnet:
  • g&sub3;&sub1; = arctan ((y&sub3;-y&sub1;)/(x&sub3;-x&sub1;)) (15)
  • Die Gradienten (g&sub3;&sub2; und g&sub2;&sub1;) für die Zeilen 32 und 21 werden in ähnlicher Weise berechnet.
  • Ausgehend von den Gradienten der Seiten 32 und 21, die im Zwischenspeicher 42 gespeichert sind, werden der interne Winkel b an Punkt P3 und der absolute Sinuswert dieses Winkels berechnet als:
  • b = g&sub3;&sub2; - g&sub2;&sub1; (16)
  • sin(b) = sin(g&sub3;&sub2; - g&sub2;&sub1;) (17)
  • Die Länge (B) der Linie 31, die die Punkte P1 und P3 miteinander verbindet, wird ebenfalls berechnet als:
  • B = (x&sub3; - x&sub1;) cos (g&sub3;&sub1;) (18a)
  • oder B = (y&sub3; - y&sub1;) sin (g&sub3;&sub1;) (18b)
  • Die Wahl zwischen sin und cos für die Berechnung von B ist abhängig davon, ob der Winkel g&sub3;&sub1; größer oder kleiner als Pi/4 ist, um Fehler zu vermeiden.
  • Ein schrittweiser Winkel delta wird ebenso berechnet, um den durchschrittenen Winkel zwischen aufeinanderfolgenden Punkten auf dem Bogen zu bestimmen. Dies kann auf der Basis von delta = (Pi + b)/N berechnet werden, wobei die Zahl N als gewünschte Punktdichte für den Bogen gewählt wird. Die Zahl N kann auch als Eingabe vom Eingabespeicher 38, oder von anderswo, geliefert werden. Sie kann aber auch als Funktion einer gewünschten Auflösung berechnet werden.
  • Sobald die Initialisierungswerte berechnet und im Zwischenspeicher 42 gespeichert wurden, können die einzelnen Punkte auf dem Bogen durch die Plotting-Logik 44 geplottet werden.
  • Die Plotting-Logik definiert eine Folge an weiteren Vektoren vom ersten Punkt in bezug auf einen Vektorwinkel deltan = n·delta, wobei delta&sub1; = delta für den ersten Vektor und deltan = n·delta für den n-ten Vektor ist, bis deltaN-1 = (N-1)delta für den N-1- ten Vektor ist. Wie in Fig. 2 dargestellt ist, ist der Winkel deltan der Winkel zwischen der Tangente t zum Kreis und dem in Frage kommenden Vektor. Durch die Inkrementierung von n von 1 bis N-1 durchschreitet die Plotting-Logik den Bogen von einem der Punkte (beispielsweise des ersten Punktes) des Bogens aus und nicht, wie dies in bisherigen Verfahren der Fall ist, vom Kreismittelpunkt aus. Die x- und y-Werte der Endpunkte des Bogens P1 und P3 sind für n=o bzw. n=N gegeben.
  • Die Plotting-Logik bestimmt den Kreuzungspunkt jedes Vektors mit einem Gegenvektor vom dritten Punkt, mit dem dieser sich im Winkel b schneidet, der im Zwischenspeicher gespeichert ist. Die Plotting-Logik definiert hierzu nicht einen Satz an Vektoren vom dritten Punkt, sondern wertet die Gleichungen (13) und (14) für jeden der Vektoren vom ersten Punkt aus und verwendet hierzu die im Zwischenspeicher gespeicherten Werte. Die Endpunkte des Bogens werden durch die Punkte P1 und P3 definiert.
  • Die Gleichungen (13) und (14) können, wie dies nachfolgend aufgeführt wird, in bestimmten Fällen vereinfacht werden; die Plotting-Logik enthält eine spezielle Logik zur Bestimmung dieser speziellen Fälle.
  • Wenn sich die drei Punkte in einer nahezu geraden Linie befinden, dann ist der Winkel B ungefähr gleich Pi. Wenn also beim Testen des Wertes von B festgestellt wird, daß sich dieser Wert innerhalb von 2&supmin;¹² von Pi befindet (die exakte Zahl ist abhängig von der erforderlichen Genauigkeit der Berechnungen), dann können die Verhältnisse b = Ndelta, b = sin(b) und deltan = sin deltan dazu verwendet werden, die Gleichung (13) auf folgende zu vereinfachen:
  • xn= x&sub1; + (nB)/(Ncos(dir)) (19)
  • und die Gleichung (14) auf folgende zu vereinfachen:
  • yn = y&sub1; + (nB)/(Nsin(dir)) (20)
  • Wenn festgestellt wird, daß der Winkel B weniger als 2&supmin;¹&sup6; Bogenmaße beträgt (die exakte Zahl ist abhängig von der erforderlichen Genauigkeit der Berechnungen), dann sind die beiden Endpunkte nahezu identisch und die Verhältnisse 2R = B/sin(b) = m, wobei m eine Konstante ist, und m = (x&sub2; - x&sub1;)/cos(g&sub2;&sub1;) oder m = (y&sub2; - y&sub1;)/sin(g&sub2;&sub1;) können dazu verwendet werden, die Gleichung (13) auf folgende zu vereinfachen:
  • xn= x&sub1; + (m sin(deltan) cos(dir)) (21)
  • und die Gleichung (14) auf folgende zu vereinfachen:
  • yn = y&sub1; + (m sin(deltan sin(dir)) (22)
  • Es ist zu beachten, daß, wenn festgestellt wird, daß B gleich Null ist, die beiden Endpunkte des Bogens identisch sind und daher kein Bogen gezeichnet werden kann, weil keine Orientierungsdaten zur Verfügung stehen.
  • Die Berechnung der obigen Werte kann unter Verwendung einer ganzzahligen Arithmetik erfolgen. Dies bedeutet nicht nur einen bedeutenden Leistungsvorteil gegenüber der Gleitkomma-Arithmetik, sondern hat darüberhinaus auch den Vorteil, daß bei einem Überfluß während der binären ganzzahligen Arithmetik das Vorzeichen sich ändert, wodurch die Vorzeichenänderung für den Winkel widergespiegelt wird. Hierdurch wird die Vorzeichenverwaltung (+/-) wesentlich vereinfacht. Die verschiedenen erforderlichen trigonometrischen Funktionen stehen ohne Schwierigkeiten zusammen mit Referenztabellen in der Plotting-Logik zur Verfügung. Die trigonometrischen Tabellen könnten ebenso in der Steuerlogik, oder auch anderswo, zur Verfügung gestellt werden. Diese ist verantwortlich für die Gesamtsteuerung der Bogenerzeugung. Ein weiterer Vorteil bei der Verwendung der binären Arithmetik besteht darin, daß die aus der Auswertung der Gleichungen (13)/(14) etc. hervorgehenden Werte auf einzelne Anzeigepositionen (Pixel) übertragen werden können, indem das Plotting-Logik-Clipping der Binärzahl mit einer geeigneten Genauigkeit durchgeführt wird. In derselben Weise können Zwischenpunkte auf dem Bogen, die außerhalb des Koordinatensystems liegen, durch einfaches Clipping vernachlässigt werden.
  • Die Ergebnisse der Berechnungen werden im Ergebnisspeicher 46 gespeichert. Der in Fig. 3 dargestellte Ergebnisspeicher 46 ist der Anzeigepuffer des Anzeigesystems und ist als solcher nicht Bestandteil des Bogengenerators. Die Ausgabe der Plotting-Logik (das heißt, die Clipping-Werte) wird (werden) dazu verwendet, den Anzeigepuffer zur Speicherung solcher Daten zu adressieren, die die auf einem Anzeigebildschirm anzuzeigenden Pixel angeben. Dies muß jedoch nicht der Fall sein; der Ergebnisspeicher könnte anstelle dessen auch Bestandteil des allgemeinen Speichers oder auch Bestandteil des Bogengenerators selbst sein. In diesem Fall würde die Ausgabe der Anzeige-Plotting-Logik lediglich für die weitere Verarbeitung gespeichert.
  • Zwar werden für diese bestimmte Anwendung der Erfindung die Gleichungen 13/14 usw. verwendet, doch könnte auch eine Anordnung der vorliegenden Erfindung dazu verwendet werden, auf dem Bogen einen Punkt zu finden, indem ausgehend vom ersten Punkt ein Vektor definiert wird, der in bezug auf den Vektor 21 um einen gegebenen Winkel rotiert wird, wodurch ein Vektor auf der Grundlage des dritten Punktes definiert wird, welcher um denselben Winkel gegenüber Vektor 32 rotiert wird; anschließend werden die Kreuzungspunkte dieser Vektoren bestimmt. Ein Satz an Punkten auf dem Bogen könnte dann durch Wiederholung dieses Verfahrens für verschiedene Rotationswinkel geplottet werden. Dies funktioniert deshalb, weil der innere Winkel am Kreuzungspunkt konstant bleibt, was auch in diesem Fall der Tatsache zu verdanken ist, daß der innere Winkel eines Dreiecks Bogenmaße addiert.
  • Die oben beschriebenen Verfahren können nicht nur dazu verwendet werden, den Bogen eines Kreises zu erzeugen, sondern auch zur Erzeugung jeder beliebigen anderen Kurve, für die ein Umwandlungsoperator für die Übertragung der Kurve auf einen kreisförmigen Bogen bekannt ist. Beispielsweise wird in der Graphics Object Content Architecture (GOCA), die ein bestimmter Bestandteil der Systems Network Architecture (SNA) für die Definition von graphischen Objekten ist, ein Teil einer Ellipse echt oder als Referenz in einem elliptischen Raum als entsprechender Bogen eines Kreises in bezug auf die zwei Endpunkte und einen Zwischenpunkt auf dem Bogen definiert.
  • Fig. 4 zeigt, wie eine Ellipse auf diese Weise dargestellt werden kann. GOCA nimmt den echten Raum als einen Würfel 60 mit 2¹&sup6; Positionen in jeder der Richtungen x, y und z an. In anderen Worten, es werden 3 mal 16 Bits benötigt, um eine Position im echten Raum zu identifizieren. Um Punkte zwischen einem echten und einem übertragenen Raum zu übertragen, wird eine Übertragungsmatrix (wird auch als PQRS-Matrix bezeichnet) verwendet. Der elliptische Raum wird ebenfalls als ein Würfel definiert, doch hat dieser als Ergebnis der Matrixberechnung 2³³ Positionen auf jeder Seite (2¹&sup6; * 2¹&sup6; + carry).
  • Aus Gründen einer vereinfachten Darstellung werden in Fig. 4 lediglich ein zweidimensionaler echter Raum 60 und ein zweidimensionaler übertragener Raum 62 dargestellt. Innerhalb des echten Raums 60 wird eine Kurve 64, die Bestandteil einer Ellipse 65 ist, in bezug auf die beiden Endpunkte C1 und C3 und eines Zwischenpunktes C2 auf der Kurve definiert. Um die Kurve auf einen Bogen des Kreises zu übertragen, wird eine PQRS-Matrix 68 verwendet. Die Punkte C1, C2 und C3 werden nach der Umkehr der PQRS-Übertragung zu den übertragenen Punkten P1, P2 und P3 im übertragenen Raum. Die Punkte P1 und P3 bilden die zwei Endpunkte und der Punkt P2 bildet den Zwischenpunkt auf dem Bogen 67 eines Kreises 68.
  • Wenn die oben beschriebenen Verfahren für das Plotten des Bogens eines Kreises anschließend für das Plotten eines Bogens 68 verwendet werden und die daraus hervorgehenden geplotteten Punkte im übertragenen Raum unter Verwendung der PQRS-Übertragung in den echten Raum zurückübertragen werden, dann können die einzelnen Punkte auf der Kurve 64 im echten Raum geplottet werden.
  • Es ist daher klar ersichtlich, daß dieses Verfahren für jede beliebige allgemeine Kurve verwendet werden kann, für die eine Übertragung bekannt ist, bei der die Kurve auf den Bogen eines Kreises und umgekehrt übertragen werden kann.
  • Fig. 5 ist ein schematisches Blockdiagramm, welches die logische Struktur eines Kurvengenerators darstellt, der eine zweite bestimmte Anordnung der vorliegenden Erfindung bildet. Dieser Kurvengenerator ist in der Lage, eine Kurve wie beispielsweise die Kurve 64 zu erzeugen. Der Kurvengenerator enthält einen PQRS-Matrixspeicher zur Speicherung der Übertragungsoperatorinformationen, die für die Übertragung von Daten zwischen einem echten und einem übertragenen Raum erforderlich sind. Außerdem enthält er einen Eingangsspeicher 72 für die Speicherung der drei Punkte C1, C2 und C3 für die im echten Raum zu zeichnende Ellipse. Die Koordinaten der Punkte auf der Ellipse werden durch die Umkehrübertragungslogik 74 in den übertragenen Raum gestellt und werden im Eingabespeicher 38 des Bogengenerators als übertragene Punkte P1, P2 und P3 gespeichert. Diese übertragenen Punkte werden dann durch die Initialisierungslogik 40 des Bogengenerators verarbeitet und im Zwischenspeicher 42 gespeichert, wie dies für die Kurve 10 unter Bezugnahme auf Fig. 3 oben beschrieben wurde. Die im Zwischenspeicher gespeicherten Zwischenwerte werden dann unter Verwendung der Gleichungen 13/14 usw. verarbeitet, wie dies für die Plotting-Logik 44 des Bogengenerators beschrieben wird. Wie aus Fig. 5 ersichtlich ist, werden die Ergebnisse der Plotting- Logik (das heißt, die Plots des kreisförmigen Bogens) nicht direkt in den Ergebnisspeicher 46 gestellt, sondern anstelle dessen zur Übertragungslogik 76 übertragen, welche die Umkehr der Übertragung dazu verwendet, die Übertragungslogik 74 herzustellen, die die Plots des kreisförmigen Bogens im übertragenen Raum in entsprechende Plots auf der Kurve 64 zur Speicherung im Ergebnisspeicher 46 stellt. Es wird darauf verwiesen, daß die in Fig. 3 für die Plotting-Logik beschriebene Clipping- Logik anstelle dessen auch durch die Übertragungslogik in der Anordnung von Fig. 5 ausgeführt werden kann. Es wird ebenfalls darauf verwiesen, daß die Plotting-Logik und die Übertragungslogik in einer Einheit zusammengefaßt werden können, da die Ausgabe einer Einheit direkt in die andere eingegeben wird. Alternativ können die Übertragungs- und die Umkehrübertragungslogik kombiniert werden, da ihre Eingabeparameter ähnlich sind und durch die Steuerlogik 48 eine geeignete Steuerung zur Verfügung steht.
  • Die Vorteile der vorliegenden Erfindung kommen besonders deutlich zum Ausdruck, wenn die Anzahl der Binärstellen für die in der vorliegenden Erfindung erforderlichen Genauigkeit mit der in bisherigen Verfahren benötigten Genauigkeit verglichen wird.
  • Im Beispiel des GOCA 33-Bit-Koordinatensystems kann verdeutlicht werden, daß die bisherigen Verfahren bis zu 81 Binärstellen an Genauigkeit erfordern können, um sämtliche Bögen, die gezeichnet werden müssen, exakt zu berechnen. Andererseits ermöglicht die vorliegende Erfindung, daß Kurven geplottet werden, wenn höchstens 32 Binärstellen an Genauigkeit für die Berechnung der Punkte auf einem kreisförmigen Bogen verwendet werden, obwohl für die umgekehrte Übertragung, oder die Übertragung in den echten Raum, 48 Stellen benötigt werden. Die meisten Berechnungen lassen sich mit einer 16-stelligen Genauigkeit durchführen. Das Übertragen der resultierenden Kurve, des Bogens oder der Punkte auf Positionen im echten Raum (beispielsweise auf Pixelpositionen) läßt sich auf einfache Weise durch Rundung oder Clipping der berechneten Werte am 16-ten bedeutendsten Bit durchführen.
  • Fig. 6 zeigt eine Übersicht über eine Workstation, die eine Anordnung der vorliegenden Erfindung miteinbeziehen kann, wie dies in Fig. 3 oder Fig. 5 dargestellt ist.
  • Die Workstation enthält eine Anzahl unterschiedlicher Systemeinheiten, die über einen Systembus 82 miteinander verbunden sind. Der Systembus enthält einen Datenbus 84, einen Adreßbus 86 und einen Steuerbus 88. An den Systembus angeschlossen sind ein Mikroprozessor 80, ein beliebiger Zugriffsspeicher (RAM) 90, ein Tastaturadapter 98, ein Anzeigeadapter 102, ein I/O-Adapter 92 und ein Kommunikationsadapter 96. Der Tastaturadapter wird dazu verwendet, eine Tastatur 100 an den Systembus anzuschließen. Der Anzeigeadapter verbindet den Systembus mit einem Anzeigegerät 104. Der I/O-Adapter verbindet in entsprechender Weise den Systembus mit anderen I/O-Geräten wie beispielsweise Platteneinheiten; der Kommunikationsadapter ermöglicht, daß die Workstation an einen externen Prozessor oder mehrere externe Prozessoren, wie beispielsweise einen Host-Prozessor, angeschlossen und mit diesen Prozessoren kommunizieren kann.
  • Ein Kurvengenerator, der in Übereinstimmung mit der vorliegenden Erfindung einen Bogengenerator enthält, ist in der in Figur l dargestellten Workstation in der Software implementiert. Der Steuercode zur Implementierung der Logik wird in den Fig. 3 und 5 dargestellt und wird im Speicher 90 der Workstation zur Verfügung gestellt; die in den Fig. 3 und 5 dargestellten Speicherelemente werden durch Konfiguration des RAM-Speichers der Workstation zur Verfügung gestellt. In der dargestellten Anordnung wird der Anzeigepuffer ebenfalls im RAM-Speicher konfiguriert. Eine ausführliche Auflistung des Codes für die Implementierung der Logik und die in den Fig. 3 und 5 dargestellten Speicherelemente ist in dieser Beschreibung nicht enthalten, da die Implementierung dieser Logik aufgrund der obigen Beschreibung der durchzuführenden Funktionen für den Fachmann lediglich eine routinemäßige Angelegenheit ist.
  • Zwar wurden bestimmte Anordnungen und eine bestimmte Implementierung der vorliegenden Erfindung hier beschrieben, doch wird darauf hingewiesen, daß zahlreiche Änderungen und Zusätze innerhalb des Anwendungsbereichs der beigefügten Ansprüche liegen.
  • Anstelle einer Implementierung der vorliegenden Erfindung in einer Software wird darauf hingewiesen , daß die vorliegende Erfindung beispielsweise auch mit Spezialzweck-Hardware-Logik implementiert werden könnte, mit oder ohne spezielle Register für die Zwischenspeicherung von Variablen. Die in den Fig. 3 und 5 dargestellten Logikeinheiten könnten beispielsweise unter Verwendung von programmierbaren Logikfeldern implementiert werden. Auch gilt, daß, wenn der Anzeigepuffer anstelle dessen im Anzeigeadapter enthalten wäre, die Bogen- und/oder Kurvengeneratoren im Anzeigeadapter integriert werden könnten, auch mit dem Ziel, den Systemprozessor von der Aufgabe zu befreien, einzelne Anzeigepunkte zu plotten.

Claims (6)

1. Ein Kurvengenerator für ein Anzeigesystem, wobei der Kurvengenerator ein bogenerzeugendes Mittel für die Erzeugung eines Bogens als Bestandteil eines Kreises enthält; die Erzeugung des Bogens erfolgt aufgrund von Daten, die die Position zweier Endpunkte und eines Zwischenpunktes auf dem Bogen definieren, wobei das bogenerzeugende Mittel ein Initialisierungsmittel (40) zur Berechnung des Winkels zwischen einem ersten Vektor, von einem ersten der beiden Punkte zum Zwischenpunkt, und einem zweiten Vektor, vom zweiten der Endpunkte zum Zwischenpunkt, enthält, sowie ein Plotting-Mittel (44) für den Bogen, um eine Folge weiterer Vektoren vom ersten Endpunkt zu definieren, und zur Berechnung bei jedem weiteren Vektor von dessen Kreuzungspunkt mit einem Gegenvektor vom zweiten Endpunkt, mit dem dieser einen Winkel bildet, wobei eine Folge an weiteren Kreuzungspunkten auf dem kreisförmigen Bogen geplottet werden.
2. Ein Kurvengenerator in Übereinstimmung mit Anspruch 1, wobei das Plotting-Mittel (40) für den Bogen jeden weiteren Vektor bezüglich eines Vektorwinkels delta = n delta definiert, wobei n für jeden einer Folge an weiteren Vektoren schrittweise von 1 bis n läuft, und wobei jeder Vektor vom nächsten durch einen Schreitwinkel delta getrennt ist, und wobei das Plotting-Mittel für den Bogen den Kreuzungspunkt für jeden weiteren Vektor auf der Grundlage des Gradienten dieses weiteren Vektors in bezug auf eine Referenzrichtung und aufgrund der Entfernung von diesem ersten Endpunkt entlang des weiteren Vektors berechnet.
3. Ein Kurvengenerator in Übereinstimmung mit Anspruch 2, wobei das Initialisierungsmittel (40) auch ein Mittel zur Berechnung eines dritten Vektors vom ersten zum zweiten Endpunkt aufweist, und wobei das Plotting-Mittel den Gradienten eines weiteren Vektors folgendermaßen berechnet:
Pi - deltan - b g&sub3;&sub1;,
Das Plotting-Mittel berechnet die Distanz vom ersten Endpunkt entlang des weiteren Vektors als:
wobei b der Winkel zwischen dem ersten und dem zweiten Winkel, g&sub3;&sub1; der Gradient des dritten Vektors und B die Distanz zwischen dem ersten und dem zweiten Endpunkt ist.
4. Ein Kurvengenerator in Übereinstimmung mit allen vorhergehenden Ansprüchen, wobei der Kurvengenerator der Erzeugung einer Kurve aufgrund von Daten dient, die die Position zweier Endpunkte und eines Zwischenpunktes auf der Kurve im Referenzraum definieren, und wobei der Kurvengenerator der Erzeugung eines Übertragungsoperators für die Übertragung der Kurve auf den Bogen eines Kreises im übertragenen Raum dient, und wobei der Kurvengenerator zusätzlich eine Übertragungslogik (74) enthält, um unter Verwendung des Übertragungsoperators oder seiner Umkehr, je nach dem, welcher sich besser eignet, Daten zu übertragen, die für die Kurve zwischen dem Referenzraum und dem übertragenen Raum repräsentativ sind, und wobei das bogenerzeugende Mittel der Erzeugung eines Kreisbogens im übertragenen Raum aufgrund der Positionen der beiden Endpunkte und des Zwischenpunktes auf der Kurve bei der Übertragung in den übertragenen Raum dient.
5. Ein Verfahren zur Erzeugung eines Kreisbogens in einem Anzeigesystem, welches ein Verarbeitungsmittel (80) und ein Speichermittel (90) enthält, aufgrund von Daten, die die Positionen zweier Endpunkte und eines Zwischenpunktes auf dem Bogen definieren, wobei die folgenden Schritte durchlaufen werden:
(a) Berechnung des Winkels zwischen einem ersten Vektor, von einem ersten der beiden Punkte zum Zwischenpunkt, und einem zweiten Vektor, vom zweiten der Punkte zum Zwischenpunkt;
(b) Speicherung des berechneten Winkels im Speichermittel;
(c) Definition eines weiteren Vektors aufgrund des ersten Endpunktes;
(d) Berechnung für den weiteren Vektor von dessen Kreuzungspunkt mit einem Gegenvektor aufgrund des zweiten Endpunktes, mit dem dieser den berechneten Winkel bildet; und
(e) Wiederholung der Schritte (c) und (d) für weitere Vektoren aufgrund dieses ersten Endpunktes, wobei eine Folge an weiteren Kreuzungspunkten auf dem kreisförmigen Bogen geplottet werden.
6. Ein Verfahren zur Erzeugung einer Kurve in einem Anzeigesystem, welches ein Verarbeitungsmittel (80) und ein Speichermittel (90) enthält, aufgrund von Daten, die die Positionen zweier Endpunkte und eines Zwischenpunktes auf der Kurve im Referenzraum definieren, und ein Übertragungsoperator für die Übertragung der Kurve auf den Bogen eines Kreises im übertragenen Raum, wobei sich dieses Verfahren aus folgenden Schritten zusammensetzt:
(a) Übertragung der drei Punkte vom Referenzraum in den übertragenen Raum,
(b) Berechnung des Winkels zwischen einem ersten Vektor, von einem ersten der beiden übertragenen Endpunkte zum übertragenen Zwischenpunkt, und einem zweiten Vektor, vom zweiten der übertragenen Endpunkte zum übertragenen Zwischenpunkt;
(c) Speicherung des berechneten Winkels im Speichermittel;
(d) Definition eines weiteren Vektors aufgrund des ersten übertragenen Endpunktes;
(e) Berechnung für den weiteren Vektor von dessen Kreuzungspunkt mit einem Gegenvektor aufgrund des zweiten übertragenen Endpunktes, mit dem dieser den berechneten Winkel bildet;
(f) Übertragung des Kreuzungspunktes vom übertragenen Raum in den Referenzraum unter Verwendung des Übertragungsoperators; und
(g) Wiederholung der Schritte (d), (e) und (f) für weitere Vektoren, wobei eine Folge an weiteren Kreuzungspunkten auf der Kurve im Referenzraum geplottet werden.
DE88104225T 1987-04-30 1988-03-17 Generierung von Kurven in ein Anzeigesystem. Expired - Lifetime DE3882269T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB8710325A GB2204216B (en) 1987-04-30 1987-04-30 Curve generation in a display system

Publications (2)

Publication Number Publication Date
DE3882269D1 DE3882269D1 (de) 1993-08-19
DE3882269T2 true DE3882269T2 (de) 1994-02-17

Family

ID=10616671

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88104225T Expired - Lifetime DE3882269T2 (de) 1987-04-30 1988-03-17 Generierung von Kurven in ein Anzeigesystem.

Country Status (6)

Country Link
US (1) US4835722A (de)
EP (1) EP0288720B1 (de)
JP (1) JPH0677265B2 (de)
CA (1) CA1309523C (de)
DE (1) DE3882269T2 (de)
GB (1) GB2204216B (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297240A (en) * 1989-01-13 1994-03-22 Sun Microsystems, Inc. Hardware implementation of clipping and intercoordinate comparison logic
US5142668A (en) * 1989-01-13 1992-08-25 Sun Microsystems, Inc. Apparatus and method for loading coordinate registers for use with a graphics subsystem utilizing an index register
US5086482A (en) * 1989-01-25 1992-02-04 Ezel, Inc. Image processing method
JP2969285B2 (ja) * 1990-09-26 1999-11-02 武藤工業株式会社 Cad用入力装置
JP2522108B2 (ja) * 1990-10-17 1996-08-07 株式会社精工舎 曲線近似方法
US5420970A (en) * 1991-03-13 1995-05-30 Martin Marietta Corporation Method for determining computer image generation display pixels occupied by a circular feature
JPH0594500A (ja) * 1991-10-02 1993-04-16 Fujitsu Ltd Cadシステムにおける3次元形状検索方式
GB9312447D0 (en) * 1992-10-28 1993-07-28 Int Technical Illustration Co Method of tracing a drawing and apparatus for embodying the method
US5495160A (en) * 1993-12-06 1996-02-27 Reliance Electric Company Digital sine wave generator and motor controller
US6111588A (en) * 1996-12-05 2000-08-29 Adobe Systems Incorporated Creating and modifying curves on a computer display
US6700576B1 (en) * 1999-03-25 2004-03-02 3Dlabs, Inc., Ltd. Variable stride circle rendering apparatus and method
US6441822B1 (en) * 1999-04-02 2002-08-27 Bruce H. Johnson Drawing with circular arcs
US20050264554A1 (en) 2004-05-25 2005-12-01 Deming James L Tile based rendering of smooth points using polygons
CN108984495A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 用于数据处理的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3917932A (en) * 1970-03-24 1975-11-04 Yaskawa Denki Seisakusho Kk Generation of digital functions
US4115863A (en) * 1976-12-07 1978-09-19 Sperry Rand Corporation Digital stroke display with vector, circle and character generation capability
FR2448194A1 (fr) * 1979-01-30 1980-08-29 Thomson Csf Dispositif generateur de courses pour la visualisation de symboles sur un ecran cathodique
US4272808A (en) * 1979-05-21 1981-06-09 Sperry Corporation Digital graphics generation system
US4484298A (en) * 1981-04-30 1984-11-20 Yokogawa Hokushin Electric Corporation Method and device for generation of quadratic curve signal
US4692887A (en) * 1983-05-10 1987-09-08 Casio Computer Co., Ltd. Circle and circular arc generator
KR900001976B1 (ko) * 1984-11-01 1990-03-30 가부시끼가이샤 히다찌세이사꾸쇼 다수 개의 패턴 발생기를 포함하는 패턴 검사 장치
US4760548A (en) * 1986-06-13 1988-07-26 International Business Machines Corporation Method and apparatus for producing a curve image

Also Published As

Publication number Publication date
EP0288720A3 (en) 1990-01-31
EP0288720A2 (de) 1988-11-02
JPS63276183A (ja) 1988-11-14
JPH0677265B2 (ja) 1994-09-28
GB8710325D0 (en) 1987-06-03
US4835722A (en) 1989-05-30
EP0288720B1 (de) 1993-07-14
CA1309523C (en) 1992-10-27
GB2204216A (en) 1988-11-02
DE3882269D1 (de) 1993-08-19
GB2204216B (en) 1991-02-06

Similar Documents

Publication Publication Date Title
DE3882269T2 (de) Generierung von Kurven in ein Anzeigesystem.
DE3689654T2 (de) Rechnergraphik, prozessor für parallele subdivision.
DE69328589T2 (de) System und Verfahren zur Darstellung von Bezier-Splines-Kurven
DE69032932T2 (de) System und Verfahren zum unverfälschten Polygonenzeichnen
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE69029119T2 (de) Interaktives grafisches Rechnersystem um deutliche Zeichnungen zu machen
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE68923227T2 (de) Vektor-zu-Raster-Umwandlungsverfahren.
DE69328850T2 (de) Hybrides Vorwärts-Differenzierungsverfahren und System zur Darstellung von Bezier-Splines-Kurven
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE69322575T2 (de) Verfahren und Gerät zur Wiedergabe von abgeglichenen NURB Oberflächen
DE3407983C2 (de) Mehrprozessorrechnersystem zum Erzeugen von Bildpunktinformationen aus in einer hierarchischen Datenstruktur definierten Objektelementen
DE3419063C2 (de)
DE69027402T2 (de) Verfahren und Vorrichtung zur Steuerung von Robotern und ähnlichem zum Gebrauch hierarchisch organisierter "Bubble-Daten", die entlang einer Mittelachse angeordnet sind
DE69600392T2 (de) Vorrichtung und verfahren zum gestalten von bahndefiniertenkurven
DE3608438A1 (de) Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc
DE102013020614A1 (de) Mit Mehrfachauflösung konsistente Rastereinteilung
DE102011016347A1 (de) Hierarchisches Umgrenzen von verschobenen parametrischen Flächen
EP0829822B1 (de) Verfahren zur Anzeige von geometrischen Objektoberflächen
DE69529732T2 (de) Korrektur der Perspektive von Texturen in graphischen Bildern durch adaptive Approximation
DE68917125T2 (de) Verfahren zur Erzeugung von graphischen Modellen und rechnergestütztes Entwurfssystem.
DE102008034518A1 (de) Verfahren zur Konstruktion einer Fläche einer auf einer Partikelmethode basierenden Fluidkörpersimulation, Programm dafür, und Speichermedium zum Abspeichern des Programms
DE3853511T2 (de) Mehrbildelementgenerator.
DE112018000347T5 (de) Verfahren und System für automatische Erzeugung von Kurven mit Zwangsbedingungen für Computergraphik
DE69229669T2 (de) Verfahren und Vorrichtung zur Erzeugung und Darstellung von Freiform-Strichen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8330 Complete renunciation