DE2546506A1 - Video-generatorschaltung fuer die digitale fliegende darstellung eines kegelschnittes auf einem fernsehschirm - Google Patents

Video-generatorschaltung fuer die digitale fliegende darstellung eines kegelschnittes auf einem fernsehschirm

Info

Publication number
DE2546506A1
DE2546506A1 DE19752546506 DE2546506A DE2546506A1 DE 2546506 A1 DE2546506 A1 DE 2546506A1 DE 19752546506 DE19752546506 DE 19752546506 DE 2546506 A DE2546506 A DE 2546506A DE 2546506 A1 DE2546506 A1 DE 2546506A1
Authority
DE
Germany
Prior art keywords
register
output
line
generator
conic section
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.)
Granted
Application number
DE19752546506
Other languages
English (en)
Other versions
DE2546506C2 (de
Inventor
Walter John Hogan
Alfred Alexander Schwartz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2546506A1 publication Critical patent/DE2546506A1/de
Application granted granted Critical
Publication of DE2546506C2 publication Critical patent/DE2546506C2/de
Expired 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

Landscapes

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

Description

heb-aa
Anmelderin: International Business Machines
Corporation, Armonk, N. Y, 10504
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen der Anmelderin: WA 974 004
Video-Generatorschaltung für die digitale fliegende Darstellung eines Kegelschnittes auf einem Fernsehschirm
Die Erfindung betrifft eine digitale Darstellung von Mustern auf einem Fernsehschirm und insbesondere eine Video-Generatorschaltung zur Erzeugung von Kegelschnitten einer codierten, digitalen fliegenden Darstellung auf einem Fernsehschirm,
Der hier beschriebene Kegelschnittgenerator wird als Untersystem in einer Videogeneratorschaltung für die Erzeugung von dynamischen digitalen Darstellungen auf Fernsehschirmen benutzt, wie sie in der Deutschen Patentanmeldung P 25 25 5O9 vom 11. Juni 1974 der Anmelderin beschrieben ist. Diese Videogeneratorschaltung wandelt willkürlich auftretende Datensignale, die graphische Muster darstellen, in eine Zeitfolge von Videosignalen für eine zeilenweise Darstellung auf einem Fernsehschirm um. Die Schaltung besteht aus einem der Aufnahme von Datensignalen dienenden Pufferspeicher, der so aufgebaut ist, daß die Datensignale zu Gruppen zusammenfaßt, die entsprechend den für das darzustellende Muster jeweils äußersten Abtast-
609824/0656
2646506
Zeilenpositionen geordnet sind. Ein Zwischenpufferspeicher ist mit einem ersten Eingang am Ausgang dieses zum Ordnen und Sortieren dienenden Pufferspeichers angeschlossen und speichert die so geordneten Datensignale einmal für jedes Anzeigefeld eJji» bevor dieses so dargestellte Master angezeigt wird und gibt dann die geordneten Datensignale synchron mit der Zeilenabtastung der Anzeigevorrichtung ab, Ein graphischer Mustergenerator ist am Ausgang des Zwischenpufferspeichers angeschlossen und decodiert die von diesem kommenden, geordneten Datensignale und erzeugt auf einer ersten Ausgangsleitung Komponenten des dargestellten Musters, die längs der abzutastenden Zeile lieigen« Ein Teilrasterspeicher ist mit der ersten Äusgangsleitung j des graphischen Mmstergenerators verbanden und speichert die jKomponenten des dargestellten Mustersf die auf einer abzutasten-Iden Zeile liegen, ab. Der graphische Mustergenerator !Kodifiziert idle decodierten» geordneten Datensignale und ermittelt dabei 'die waagrechte Koordinate für einen Schnitt des dargestellten {Musters mit der nächsten abzutastenden Zeile und gibt das so modifizierte Datensignal über eine zweite Ausgangsleitung nach !einer zweiten Eingangsleitung zum Abspeichern Im iwisehenpuffer— speicher ab. Der graphische Mastergenerator läßt jedoch die Abgabe eines modifizierten Datensignals auf der zweiten Äusgangsleitung aus, wenn keine Komponenten des Musters mit nachfolgenden f in dem Feld abzutastenden Seilen der Anzeige zum Schnitt kommen*
!Bisher bekannte Kegelschnittgeneratoren haben Rekursiwerfahren !zur schrittweisen Erzeugung eines elementweise darzustellenden !Kegelschnittes benutzt. Obgleich dies für asynchrone Plotter !brauchbar erscheint, ist doch diese Art der Erzeugung von j Kegelschnitten für rasterartige Darstellung nicht brauchbar, da [die Zeit, die zur Erzeugung eines Kegelschnittes benötigt wird, proportional der Anzahl der auf eine Raster zeile fallenden EIejmente ist. Man benötigt daher dringend einen verbesserten Kejgelschnittgenerator, der alle Elemente auf einer Rasterzeile j zur gleichen Zeit erzeugt und daher für eine Fernsehschirmwie-
974 004 8 0 9 8 2 4/0656
dergabe brauchbar ist.
Diese ganz allgemein der Erfindung zugrundeliegende Aufgabe gilt es zu lösen.
Eine auf einem Bildschirm darzustellende Ellipse zeichnet sich durch eine Anzeigeachse mit einer inversen Steigung ΔΧ /ΔΥ aus, die die vertikalen Extremwerte der Ellipse schneidet f mit einer inversen Änderungsgeschwindigkeit der Neigung der Ellipse
2 2 2 -■
von Δ X /Δ Y, wobei der senkrechte Abstand der Rasterzeilen ΔΥ beträgt. Die Datensignale werden dem Kegelschnittgenerator
mit Werten für die Konstanten ΔΧ und Δ2Χ2 und Werten für
2 2 p q
X ΔΧ und X an den äußersten Enden der Ellipse zugeführt, wobei X der Horizontalabstand zwischen der Anzeigeachse und der Ellipse ist. Der Kegelschnittgenerator enthält ein Registerf das mit dem Ausgang eines Zwischenpufferspeichers verbunden ist, der die Werte ΔΧ , A2X2 , X , X 2 und ΔΧ 2 enthält. Ein Quadratwurzelgenerator ist mit einem Eingang an dem Register ange-
2 schlossen und berechnet die Quadratwurzel von X . Eine erste
<3
Addierstufe ist mit dem Addendeingang am Ausgang des Quadratwurzelgenerators angeschlossen, während der Augendeingang an dem Register angeschlossen ist, so daß diese erste Addierstufe die Summe X + X und die Differenz X-X berechnet, während die Zeile auf einen Schnitt mit der Ellipse abgetastet wird. Ein Videosignalgenerator ist mit einem Eingang an der ersten Addierstufe angeschlossen und ist ausgangsseitig mit einem Partialrasterspeicher zur Erzeugung eines Videosignals an den Punkten längs der abzustastenden Zeile verbunden, die den Werten X + X und X - X entsprechen. Eine zweite Addierstufe mit einem Addend- und einem Augendeingang ist an dem Register angeschlossen und addiert die Werte ΔΧ mit X zur Ermittlung
PP
2 2
eines neuen Wertes von X , sowie ΔΧ zu X zur Ermittlung
P q <I
2 2 2 2 eines neuen Wertes X und Δ X zu ΔΧ zur Ermittlung eines
neuen Wertes von ΔΧ , Eine an den Zwischenpufferspeicher angeschlossene Ausgangstorschaltung ist eingangsseitig mit der
974 004 609824/0666
i zweiten Addierstufe verbunden und hat einen Rückkopplungsausj gang, der am Eingang des ZwisehenpufferSpeichers angeschlossen
■1 2
i ist» wo. dadurch das mit den neuen Werten für X , X und
ι 2 P <ϊ
j ΔΚ gebildete Datenwort wiederum in dem Ewischenptifferspeicher j einzuspeichern. Die Ellipse wird als eine Folge von Vektorseg-I laenten durch iterative Operation des Kegelschnittgenerators I dargestellt«
Die Erfindung wird nunmehr anhand von Äusführtingsbeispielen i in Verbindung mit den beigefügten Zeichnungen im einzelnen be— 1 schrieben« Die unter Schutz zu stellenden Merkmale der Erfindung I fiadea sich in den ebenfalls beigefügten Patentansprüchen,
: In den Zeichnungen zeigt*
Fig, 1 einen Videogenerator, bei dem der Kegelschnittgenerator eingesetzt werden kann;
Fig. 2 das Datenformat für einen Kegelschnitt, das
als Eingangssignal für den Kegelschnittgenerator dient;
Fig, 3 im einzelnen den Vektorgenerator für den in
Fig* 1 gezeigten Videogenerator;
Fig, 4 im einzelnen einen Kegelschnittgenerator gemäß
der Erfindung, der sich in dem Videogenerator der Fig. 1 einsetzen läßt;
Fig. 5 ein Impulsdiagramm oder Taktdiagramm für den , schlechtesten Fall der Erzeugung eines Kegel
schnittes zur Darstellung der Arbeitsweise des Kegelschnittgenerators in Fig. 4;
Fig. 6 einen durch den Kegelschnittgenerator der Fig.
mit Hilfe von RasterSegmenten simulierten Kreis;
WA 974 004
6ü9824/Qb'b8
2 b 4 ü b 0 6
-δι
Fig. 7 ein Blockschaltbild des im Kegelschnittgenera- !
tor der Fig, 4 verwendeten Quadratwurzelgene- j rators; j
Fig. 8A das Verhältnis der Achsen der darzustellenden i
Ellipse; i
Fig. 8B die für die Ellipse der Fig. 8A erzeugten
Vektorsegmente und
Fig. 9 ein Blockschaltbild einer anderen Ausführungsform eines Kegelschnittgenerators.
Diskussion einer bevorzugten Ausführungsform der Erfindung
Zusammenhang des Videogenerators mit dem erfindungsge-
mäß aufgebauten Kegelschnittgenerator
Fig. 1 zeigt den Zusammenhang, in dem der Kegelschnittgenerator 410 in Verbindung mit dem in der Deutschen Patentanmeldung V 25 25 509 offenbarten Videogenerator für eine dynamische digitale Darstellung auf einem Fernsehschirm Anwendung findet. Eine dynamische digitale Darstellung auf einem Fernsehschirm ist eine besondere Art der Darstellung, bei der codierte Daten einer Datenverarbeitungsquelle entnommen und in ein Fernsehvideosignal umgesetzt werden. Dieses Signal steuert einen oder mehrere Fernsehmonitoren an, auf denen dann das von der Datenverarbeitungsanlage gelieferte Bild dargestellt wird. Die logische Schaltungen, mit deren Hilfe die aus der Datenverarbeitungsanlage kommenden codierten Daten in ein Fernsehsignal umgesetzt werden, sind alles Digitalschaltungen, wie sie auch in der Datenverarbeitungsanlage verwendet werden. D.h., die digitale Fernsehdarstellung ist als Nachfolgetechnik anzusehen, die von dem beim Fernsehen und in der Datenverarbeitungsindustrie erarbeiteten technischen Fortschritt Gebrauch
WA 974 004 ßü9824/065Ö
machen, um damit aus der Datenverarbeitungsanlage stammende Information auf einem Fernsehschirm darzustellen.
Eine Bildschirmdarstellung bedeutet in diesem hier benutzten Zusammenhang, daß ein oder mehrere Elektronenstrahlen wiederholt über die Bildschirmfläche einer Kathodenstrahlröhre in einer Folge von sehr eng benachbarten parllelen Zeilen abgelenkt werden, die hier als Raster bezeichnet werden sollen. In jeder Sekunde wird dabei diese Abtastung mehrfach durchgeführt, wobei die Anzahl der Abtastungen festliegt. In einem bestimmten Anzeigesystem liegt sowohl die Anzahl der Zeilen als auch die
Wxederholungsfrequenz bei der Zeilenabtastung fest. In einem ι
typischen Fall verwendet man 525 Zeilen und 30 Zeilenabtastungen pro Sekunde. Jedes Bild wird dabei in zwei Teilbilder unterteilt, wobei das eine Teilbild die ungeradzahligen Zeilen und das andere Teilbild die geradzahligen Zeilen erhält. Durch die-
: se verschachtelte Darstellung entsteht eine offensichtliche Verdoppelung der Bildfrequenz.
Die digitale Bildschirmdarstellung stellt eine Computeranzeige im Bildschirmformat dadurch her, daß das Bild zu einer Matrix aus Punkten oder Bildelementen reduziert wird. In einer Darstellung mit horizontalen Abtastzeilen ist die Anzahl der virtuellen Anzeigeelemente gleich der Anzahl der sichtbaren Abtastzeilen. Die Anzahl der Elemente innerhalb jeder Abtastzeile ist etwa willkürlich gewählt und ist typisch etwa 1,33 mal der Anzeige der Abtastzeilen. Obgleich das Bild aus einzelnen Elementen gebildet wird, so erscheint es doch wegen der großen Anzahl der verwendeten Elemente kontinuierlich.
Der in der US-Patentanmeldung Nummer 478 816 der Anmelderin offenbarte Videogenerator verwendet ein neues Verfahren zur graphischen Erzeugung einer fliegenden Darstellung, die sich bei älteren digital arbeitenden Bildschirmsystemen nicht finden läßt. Diese fliegende Darstellung gestattet es, daß alle darstellbaren Daten in für die Datenverarbeitung bestimmter co-
WA 974 004 Sü9824/ÜBbö
dierter Form ihre Identität bis zu den letzten Stufen der Videobilderzeugung beibehalten.
Im Betrieb kann man bei dieser Art der Darstellung Daten auf der Darstellung löschen, ohne daß dabei darüberliegende oder sich schneidende Daten mitgelöscht werden. Dieses Verfahren bei der Erzeugung einer Bilddarstellung ist dann besonders attraktiv, wenn kurze Einblendungen und Farbe gewünscht werden. Die für 'die Darstellung und Identifizierung von Farbe und Einblendung 'benötigten Bits sind in der für die Datenverarbeitungsanlage !typischen codierten Form enthalten. Diese Art der impliziten j !Wiederholung kann den tatsächlichen Schaltungsaufwand für die ! !Speicher für eine farbige graphische Darstellung um einen Faktor
ί ι
Ivon 18;1 verringern, ;
Die Videogeneratorschaltung in Fig. 1 macht von der fliegenden ! Wiederholungstechnik in der Weise Gebrauch, daß dadurch dyna- ; misch eine digitale Fernseh-Bildschirmdarstellung erzeugt wird. Der Videogenerator besteht aus einem Wiederholungspufferspeicher 28, dem Zwischenpufferspeicher 38, einen Vektorgenerator 42, einem zusätzlich möglichen Symbolgenerator 44 und einem Teilrasterspeicher PRAS 44. Der Kegelschnittgenerator 410, auf den sich die vorliegende Erfindung bezieht, ist mit dem Zwischenpufferspeicher 38 und dem Vektorgenerator 42 verbunden .
Der Wiederholungspufferspeicher 28 nimmt aus einer Datenquelle, wie z.B. einer Datenverarbeitungsanlage oder einer programmierbaren Steuereinheit, die die einzelnen Bildelemente darstellenden Datensignale auf. Der Wiederholungspufferspeicher 28 liest die nach der Y-Adresse geordneten Datenworte aus, einmal je Teilbild für die Vektoren, Symbole und Kegelschnitte, die angezeigt werden sollen, wobei diese als Hintergrund und als dynamische Daten organisiert sind. Der Wiederholungspuffer 28 besteht aus einem Steuermodul und einem Speichermodul für eine Speicherung von insgesamt 8K Halbworten mit je 16 Daten- und zwei
WA974004 6U9824/U6bB
Paritätsbits. Die Hauptfunktion des WiederholungspufferSpeichers besteht darin, die zum Aufbau der visuellen Darstellung erforderlichen codierten Daten einzuspeichern. Die von einer digitalen Datenverarbeitungsanlage in beliebiger Form über die Leitung 68 ankommenden Daten werden in einer durch die Y-Zeile geordneten Form abgespeichert. Dadurch ist es möglich, den Wiederholungspufferspeicher 28 Zeile für Zeile auszulesen. Ein detailliertes Blockdiagramm eines solchen Wiederholungspufferspeichers ist in Fig, 3 der Deutschen Patentanmeldung P 25 25 dargestellt.
Das von der Datenverarbeitungsanlage an den Wiederholungspufferspeicher 28 für Kegelschnitte ankommende, aus Datenworten bestehende Eingangssignal benötigt jeweils Worte mit 32 Bit mit vier zusätzlichen redundanten Worten, um damit ein Auflisten der Daten nach dem Y-Wert zu erleichtern. Die Worte 3, 4, 5 und 6 in Fig. 2 werden jeweils mit einem zusätzlichen Wort 1, das den Wert Y enthält, paarweise benutzt, um die Identifizierung der im Wiederholungspufferspeicher eingespeicherten geordneten Wortschlangen zu erleichtern. Die Datenworte werden von der digitalen Datenverarbeitungsanlage über eine gemeinsam benutzte, in beiden Richtungen einsetzbare Halbwortsammelleitung 68 dem Wiederholungspufferspeicher 28 zugeführt. Der Zwischenpuffer- ! speicher 38 ist ein kleiner Hochgeschwindigkeitspuffer, der die Daten aus dem Wiederholungspufferspeicher 28 in codierter Form aufnimmt und diese Daten - je nach Bedarf - wiederum an den ! Kegelschnittgenerator 410, den Symbolgenerator 40 oder den Vektorgenerator 42 abgibt. Der Zwischenpufferspeicher 38 nimmt aus j dem Wiederholungspufferspeicher 28 sechs 32-Bit-Worte für jeden Kegelschnitt auf, der auf einer Rasterzeile beginnt. Diese Daten werden von dem Zwischenpufferspeicher 38 entsprechend dem zur Verfügung stehenden Speicherplatz benötigt, bevor die Rasterzeile an den Videomischer 46 übertragen wird. Ein detailliertes Blockschaltbild des Zwischenpufferspeichers ist in Fig. 4 der Deutschen Patentanmeldung P 25 25 509 gezeigt.
WA 974 004
609824/übbÖ
254 6
j Die in Fig. 2 gezeigten, sechs codierten Datenworte werden mit hoher Geschwindigkeit an den Kegelschnittgenerator übertragen, wo sie im Zusammenwirken mit dem Vektorgenerator 42 in digitale Videodaten umgesetzt werden. Da ein Kegelschnitt auf verschiedenen Rasterzeilen auftreten kann, modifiziert der Kegelschnitt generator 410 die codierten Datenworte und schreibt sie erneut in den Zwischenpufferspeicher für eine weitere Verwendung bei der Erzeugung der digitalen Videodaten für die nächste Rasterzeile ein. Wenn die Videodatenumwandlung während der Erzeugung der gerade laufenden Rasterzeile abgeschlossen ist, dann wird diese bestimmte Gruppe von Datenworten nicht erneut in den
Zwischenpufferspeicher 38 eingespeichert. j
j Der Zwischenpufferspeicher 38 ist dabei in einen Vorspeicherbe- j reich und einen aktiven Bereich unterteilt, wobei die Gesamtkapazität bei 256 32-Bit-Worten liegt. Die Daten werden vom :Wiederholungspufferspeicher 28 an den Vorspeicherbereich in dem Maße übertragen wie dort Speicherplatz zur Verfügung steht und, je nach Erfordernissen für die Anzeige, von dem Vorspeicherbe-
■ reich nach dem aktiven Bereich. ;
Der Vektorgenerator 42 nimmt von den Zwischenpufferspeicher 38 zwei Datenworte auf und bestimmt damit, welche Elemente auf jeder Zeile der Darstellung einen Vektor bilden. Alle Vektoren werden durch den Hilfsprozessor als individuelle Vektoren gekennzeichnet, beginnend am oberen Ende des Bildschirms, und in Richtung auf das untere Ende des Bildschirms fortschreitend. Das vom ' Videogenerator erzeugte Punktmuster wird durch den Kegelschnitt- ; generator 410 dazu benutzt, ein Videopunktmuster für die darzu- j stellenden Kegelschnitte zu erzeugen. Ein detailliertes Block- : schaltbild des Vektorgenerators ist in Fig. 3 dargestellt.
Der Kegelschnittgenerator 410 ist in Fig. 4 gezeigt. Der Kegel- ! • schnittgenerator 410 weist eine vom Zwischenpufferspeicher 38 kommende Eingangsleitung 200, eine nach dem Zwischenpuffer- ' speicher 38 führende Rückkopplungs-Ausgangsleitung 202 und zwei
WA 974 004 β ο 9 8 2 4 / U b" Ö ti
nach dem Vektorgenerator 42 führende Ausgangsleitungen 412 und 414 auf. Das Taktdiagramm für die Arbeitsweise des Kegelschnittgenerators ist in Fig, 5 gezeigt. Der Kegelschnittgenerator verwendet das in Fig. 2 gezeigte Format für codierte Daten zur Berechnung der Ausgangs-X-Koordinate und der ΔΧ-Länge für jedes von zwei Raster zeilensegementen, die den Schnittpunkt des Kegelschnittes mit der Rasterzeile darstellen. Ein durch Rastersegmente simulierter Kreis ist in Fig. 6 gezeigt. Die X- und ΔΧ-Werte werden über Leitungen 412 und 414 für die Erzeugung eines Videopunktmusters an den Vektorgenerator 42 abgegeben. j Der Kegelschnittgenerator 410 modifiziert dann die codierten Daten, deren Format in Fig. 2 gezeigt ist zur Darstellung des j Schnitts des Kegelschnittes mit der nächsten anzuzeigenden Ra-] sterzeile, und gibt diese modifizierten Daten über die Rückkopplungsleifcung 202 an den Zwischenpufjqerspeicher 38 ab,
, Der Partialrasterspeiclier 44 (PBAS) ist ein fiochgeschwindigkeitsspeicherr dessen Kapazität für zwei volle Rasterzeilen in expliziter (nicht codierter Viäeopunktmusterform) Form ausreicht» Alle Punktmusterdaten für einen Kegelschnitt, einen Vektor oder einen Symbol werden auf einer Zeile im PRAS 44 während der Zeit einer Zeile zusammengestelltf die der normalen Darstellung dieser Zeile vorausgeht. Soll die Videozeile dargestellt werden, dann wird die entsprechende Zeile im PRAS 44 mit Videofrequenz ausgelesen, während die nächste Zeile in der zweiten Zeile des PRAS 44 zusammengestellt wird. Ein detailliertes Blockschaltbild des PRAS ist in Fig. 7 der Deutschen Patentanmeldung P 25 25 509 gezeigt.
Das vom PRAS 44 kommende digitale Videoausgangssignal gelangt an eine Videoausgangstreiberstufe 46, wo sie mit den Synchronisiersignalen gemischt und für eine übertragung über die Leitung 192 nach einer digitalen Bildschirmanzeige in ein zusammengesetztes Videosignal umgesetzt wird. Für jede Primärfarbe ist eine Ausgangstreiberstufe 46 erforderlich.
WÄ974004
- Ί1 _ 2 b 4 6 5 O 6
Kegelschnittgenerator
! Der Hilfsprozessor, d.h. eine hier benutzte Hxlfszentraleinheit I verwendet eine iterative Schleife zur Berechnung einer geraden
Linie (Xp) und einer Verschiebung gegenüber dieser geraden Linie (Xq)· Die Schnitte mit dem Kegelschnitt sind dann XP i χ<ϊ* w^e Fig, 8& zeigt. Dabei gelten folgende Gleichungen;
t, 2 sin θ cos θ (a2 - b2)
r = a2 cos2 θ + b2 sin2 θ
wobei
_ _ Hauptachse
a s^
b = Nebenachse und 2
Θ « der Rotationswinkel sind.
WA 974 004
609824/0bb6
n-1 + A2Xq2
2 2
wobei ΔΧρ und Δ Xq Konstante sind.
Die HilfsZentraleinheit berechnet die ursprünglichen Werte von ι Xp, ΔΧρ, Xq2 t AX2q und A2Xq2 wie folgt? j
2 2
Die Gleichung einer Ellipse ist Ax + Bxy + Cy - 1 = 0 :
wobei 2 2 2 2
a = a sin θ ·*· b ^
2b46506
Dann wird Υχ gefunden, d.h. der Y-Wert für den von der Mitte der Ellipse aus gemessenen obersten Punkt der Ellipse
γ _f -4A
B2 - 4AC
Unter Verwendung von Y lassen sich die Anfangswerte finden
+ Vc
X^q1 « Ξ. ψ£ ( Γγ 1 - 1/2) ^
Λ2γ 2 _ B2 - 4AC
Δ Xq = s
Ζ
- ( [Υτ^| - DA2Xq2
ΔΥ»2
τ]
Diese Werte werden dann für die Y-Zeilenadresse entsprechend ΓυΊ + V geschrieben, wobei ΓυΊ der ganzzahlige Teil von Y , und X und Y die Adresse der Mitte des Kegelschnittes sind.
Wenn man (ΓυΊ - 1/2) in den Berechnungen benutzt, dann lassen sich mit den iterativen Formeln die Schnittpunktes des Kegelschnittes an einem Punkt in der Mitte zwischen benachbarten
■ -■ - - I
Zeilen des Bildschirmes berechnen. Die Darstellung wird dann dadurch erzeugt, daß man ein waagrechtes Zeilensegment von dem Schnittpunkt 1/2 Zeile oberhalb jeder Bildschirmzeile nach ' dem Schnittpunkt 1/2 Zeile unterhalb dieser Linie auf der Bild- j schirmzeile zieht. ΔΥ ist die in Bildschirmzeilen gemessene !
Höhe des Kegelschnittes. j
WA 974 004
6 0 9824/0658
Ausführung
Ein Blockschaltbild der entsprechenden Schaltung ist in Fig. gezeigt, während ein Taktimpulsdiagramm für diese Schaltung in Fig, 5 dargestellt ist.
Die Daten für den Kegelschnitt sind in sechs, in Fig. 2 dargestellten Worten enthalten, die im Zwischenpufferspeicher abgespeichert sind. Diese Worte enthalten
Xq2, A2Xq2, AXq2,
Xp, ΔΧρ, ΔΥ
2 Wenn die beiden ersten Worte gelesen werden, dann wird Xq in
! 2
das Xq -Register 418 geladen und die 24 höchstwertigen Bits werden nach dem Schieberegister SRI 434 übertragen, ΔΥ wird ebenfalls in das ΔΥ-Register 428 geladen. Das Schieberegister SR1 ' 434 ist ein 2-Bit-Schieberegister, das für jeden Schiebevorgang den Speicherinhalt um zwei Bits verschiebt, und das die Daten so lange verschiebt, bis entweder eine Eins in einer der j beiden höchstwertigen Bitpositionen auftritt oder aber für '. maximal fünf Schiebeimpulse, Die Anzahl der Schiebeimpulse wird : in der Schiebesteuerlogik 440 gespeichert und die elf höchstwertigen Bits im Schieberegister SR1 434 werden als Eingangs- ! signale für den Quadratwurzel-Festwertspeicher 436 benutzt.
Die Analyse dieses Verfahrens zum Berechnen einer Quadratwurzel wird noch gegeben. Diese Schaltung ergibt eine Verschiebung,
2 bis entweder die ersten Einsen von Xq in den höchstwertigen Adressen des Festwertspeichers 436 eingespeichert sind, oder bis alle Ziffern des gesamten Zahlenteils (fünf 2-Bit-Verschie-
bungen) von Xq in den Adressen des Festwertspeichers 436 liegen. Wenn sich die Ausgangssignale des Festwertspeichers 436 stabilisiert haben, wird diese Zahl in das Schieberegister 2 438 eingespeichert, SR2 438 ist ein Schieberegister, das jeweils um ein Bit weiter verschiebt und der Speicherinhalt wird gleich
609824/0656
oft nach unten verschoben, wie er im SR1 434 nach oben verschoben wird. Dieses Verfahren stellt einen Weg dar zur Benutzung ;eines Gleitkommas bei der Berechnung einer Quadratwurzel. Wenn
;man beispielsweise den Speicherinhalt des Schieberegisters SR1 : 434 fünfmal um zwei Bits nach oben verschiebt, so entspricht dies einer Multiplikation mit 2 , wenn man dagegen den Speij cherinhalt des Schieberegisters SR2 438 fünfmal um ein Bit nach
!unten verschiebt, so entspricht dies einer Multiplikation mit 2 . Somit ist also nach fünf Schiebetakten:
SR1 = Xq2 χ 210
und das Ausgangssignal des Festwertspeichers ist
Xq2 X 1O+10 = Xq χ 25
Nach fünf Schiebetakten im Schieberegister SR2 ergibt dies;
SR2 = Xq χ 25 X 2~5 = Xq
Dieser Wert wird dann in Xq 454 geladen.
Zum gleichen Zeitpunkt werden die Worte drei und vier aus dem
ο Zwischenpufferspeicher ausgelesen und AXq sowie AXp werden
2 2 in die entsprechenden Register eingespeichert, Xq , AXq und
2 2
Λ Xq sind alle bis 42 Bit genau, wie dies für die unten noch zu beschreibende Fehleranalyse erforderlich ist. Diese Bits werden in zwei Schritten in einer Addierstufe 452 mit 22 Bit addiert. Die 22 niedrigstwertigen Bits werden addiert und der übertrag wird festgehalten, anschließend werden die 20 höherwertigen Bits addiert und der übertrag wird dazuaddiert. Auf
2 2
diese Weise wird Xq 1 dadurch erzeugt, daß man Xq +
2 2 2
AXq addiert und man erzeugt AXq .. dadurch, daß man AXq
2 2 2 2
zu A X q hinzuaddiert. Xq n+1 wird dann in das Xq -Register
418 geladen, und wenn das Ausgangssignal des Festwertspeichers 436 in das Schieberegister SR2 438 geladen wird, wird Xq in das Schieberegister SR1 434 geladen und das Verfahren zum Berechnen der Quadratwurzel wird fortgesetzt, um den Wert
WA 974 004 Λ
6098 2 4/0656
ZU
Wenn die Worte 5 und 6 vom Zwischenpufferspeicher ausgelesen
2 2
werden, dann werden die Werte ΔΧρ, ΔΥ und Δ Xy in die entsprechenden Register geladen. Die elf höchstwertigen Bits von Xp werden dann an das Xp -Register 456 übertragen und nach Be-
2 η
rechnung von Xq .. wird XPn+1 berechnet und dann in die Xp 456 und Xp .. 46O-Register geladen. Anschließend wird Xp +2 berechnet und in das Register Xp 420 eingespeichert, von wo es dann wieder nach dem Zwischenpufferspeicher 38 zurückgespeichert
2 werden kann. Anschließend werden die Werte von Xq ,o und
2 2 n 2 2
AXq +2 berechnet und in die Register Xq 418 bzw. AXq 426 geladen und diese Werte werden wiederum in den Zwischenpufferspeicher 38 zurückgespeichert.
Ist der Wert von Xq-^1 bestimmt, dann wird dieser Wert in das
> Xq .j -Register 458 geladen und die Werte
n+1 HT 1 UT I I
werden in 11 Bit ALUs erzeugt. Diese Werte werden dann nach den ; Registern 480, 482, 474 bzw, 472 übertragen. Die Vergleichs-• stufen 484 und 486 steuern das MUX 488, das den kleineren Wert von X und X1 sowie X„... und X1 ^- ausgibt als Wert X auf : η η n+1 n+i
Leitung 412 und als Differenz dieser Werte ΔΧ auf Leitung 414, die nach dem Vektorgenerator 42 führt. Eine Detektorschaltung ist vorgesehen, die bestimmt, wenn Zeilensegmente sich außerhalb des Bildschirmes befinden, in welchem Fall kein Schreibbefehl an den Vektorgenerator abgeht. Für Kegelschnitte, die oberhalb
2 des sichtbaren Rasters beginnen, werden Werte von Xp., Xq λ
und ΔΧ qA durch die HilfsZentraleinheit unter Verwendung der
WA 974 004 609824/0658
- 16 iterativen Gleichung berechnet.
Der Wert von ΔΥ wird jedesmal dann, wenn er ausgelesen wird, um zwei Werte verringert und mit null verglichen. Wird die Null festgestellt, dann ist der Kegelschnitt fertig, so daß dieser Wert nicht in den Zwischenpufferspeicher 38 zurückgespeichert wird. Um sicherzustellen, daß der Kegelschnitt geschlossen ist, wird Xqn+.] zwangsweise zu null gemacht, so daß die beiden Vektor segmente nach Xp .. gezogen werden, so daß sich am unteren Ende des Kegelschnittes ein ausgezogener Vektor befindet.
Besondere Berücksichtigung ist auch am oberen Ende des Kegelschnittes erforderlich, wenn die Register Xp und Xpn+I beide mit Xp. CXp Ausgangswert) und die Register Xq_ und Xqn+1 beide mit Xq. (Xq Anfangswert) geladen sind, so daß auch auf der Oberseite des Kegelschnittes ein ausgezogener Vektor dargestellt wird.
Mathematische Analyse
Ableitung
!Die iterativen Gleichungen für die Erzeugung von Kegelschnitten [wurden wie folgt abgeleitet:
]Die Gleichung einer Ellipse ists
j xf + Y2. β t
,wobei a und b die beiden Halbachsen sind, damit ist
I b2x2 + aV = a2b2
j Rotiert man die Achse um den Winkel Θ, wie in Fig. 8C gezeigt, dann wirdi
WA 974 004 609824/0656
- 17 - 2b46506
X1 = R cos α
Y1 = R sin α
X2 = R cos (α+Θ)
Y0 = R sin (α+0)
2 i
Χ« = R (cosa COS0 - sina sin9 ) !
Χ1 ί
cos α = ~ !
ti j
Sin α = «1
/Χ1 Υ1 \
Χ2 = R \ Τ~ cos Θ " έΓ sin Θ'
; X2 = X1 cos Θ - Y1 sin Θ (3)
Y„ = R (sin α cos Θ + cos α sin Θ) ;
= / R =~ cos Θ + =ri sin Θ I
Y=Y cos Θ + X sin Θ (4)
substituiert man in Gleichung (2)r dann erhält man;
b2(X1 cose - Y1 sin©)2 + 32IY1COsG + X1 sin0)2 = a2b2
oder, noch allgemeiner
a2sin2e -t- b2cos2e.,2 .2(a2 - b2) sin9 cos9, r
a2cos2e
a2b2
Setzt man
a2sin2e + b2 cos2Q
a2b2
WA 974 004 609824/üBb6
2 (a2 - b2) sine cos0
a2cos2 6 -i- b2sin2e
a b
- c
so erhalt man
AX2 + BXY + CY2 - 1 = O,
i5)
Löst man nach X auf, dann erhält man: - By +
X =
- 4A<CY2-1)
- 2Ä. * = Xp + Xg
4A"
wobei Xp = Linie und
- K1Y ist, d.h» die Gleichung einer geraden
X2 = K2Y2 + K3
ist.
Y^ = Y tritt oben und unten bei einer rotierten Ellipse dann auf, wenn X = Xp (d.h, wenn Xg = 0 ist)«
K2Y*
Y =
* O
-4A
B - 4AC
und daraus
Ym =
"4A
T -
ΈΓ - 4AC
WA 974 OO4
609824/0656
ι *Ντι ~~ "" *ojr Φ
j X £*Ά X
Für die Entwicklung der Rekursivformel für Xp ist;
- K1Yn
Xpn+1 = K1Yn+1
Wenn dies jedoch die Werte von Xp auf zwei aufeinanderfolgenden
Bildschirmzeilen sind, dann ist
ΔΧρ - - K1,
i und neue Werte für Xp können berechnet werden durch ;
= Kpn + ΔΧρ. (9) j
Yn+1 - yn * 1 KP I ) - K Y
1 η
ΔΧρ - Xpn+1 K
1
ΔΧρ = (k Y
1 η
-
Außerdem ist
\ - Κ2γ2η +K
Yn+1 = Yn - 1 !
AX2q « - 2K2Yn + K2 j
= K2 (1 - 2Yn) j
und x\ = X2Qn-1 + AX2q {10)|
WA 974 004 βηΛΟΛ/ /Λ^ί-Λ
60982A/0656
dann ist
AX2qn = K2(I- 2Yn) ) ΔΧ\ =K2 <1 - 2W
A2X2q =
A2X2q. (11)
' 2 2
Dem Kegelschnittgenerator müssen die Anfangswerte für Xq, AXq,
2 2
IAXq, Xp und ΔΧρ zugeführt werden. Aus den oben gegebenen Ab-
i 2 2
ί leitungen erhält man AXq= 2K0 und ΔΧρ = -K1, außerdem ist Xp. j (Xp Anfangswert) = X_ = - "Ταυφ· Diese Werte werden jedoch alle j relativ zum Mittelpunkt der Ellipse abgeleitet. Der tatsächlich erforderliche Wert von X (X ) ist
XACT ~ Xpi + XMITTELPUNKT
wobei xmittelPüNKT die x~Koordinate äes Mittelpunktes des Kegelschnittes ist. Die Werte X q und X q können durch Lösung der ursprünglichen Gleichungen mit Y = Y gefunden werden.
Der berechnete Wert von Y_ ist jedoch der theoretische Wert bei I dem Kegelschnitt ganz oben und ganz unten. Der Anzeigegenerator I muß jedoch mit den Werten dieser Größen an denjenigen Punkten 1 arbeiten, die einen Schnittpunkt mit den Bildschirmzeilen liefern. j Soll der Algorithmus genau sein, dann sollten diese Werte ; Schnittpunkte in der Mitte zwischen Bildschirmzeilen darstellen.
■ ■ 2 2
I Somit werden X q. und ΔΧ q^ mit einem Wert von Y gleich Y„ be-
WA 974 004 609824/0668
- 21 rechnet, der gleich dem ganzzahligen Anteil von Y_ - 1/2 ist.
Abrundungsfehler
Zur Bestimmung der in dem Kegelschnittgenerator erforderlichen Genauigkeit zum Erzielen einer + 1 Genauigkeit in der X-Position wurde die folgende Analyse durchgeführt. Damit die Genauigkeit von + 1 erreicht wird, muß der Wert von Xp + Xq innerhalb von +1/2 liegen, da der Digitalisierungsfehler +1/2 beträgt. Somit müssen also Xp und Xq innerhalb + 1/4 liegen.
Es ist Xpn = XPn-1 +
und dies ist äquivalent
Xpn = Xp± + (η-1)ΔΧρ
wobei Xp. der Anfangswert von Xp ist und η gleich der Anzahl der Iterationen. Der Fehler beim Wert von ΔΧρ hat einen maximalen Fehler Xp zur Folge, wenn η ein Maximum ist. Somit wird
Xp +Fehler Xp = Xp. + Fehler Xp. + (nmav - 1)ΔΧρ nmax ~ nmax x ~ x max
+ (n™=v - D Fehler ΔΧρ
Fehler Xp,,, = + Fehler Xp. + (n aw - 1) Fehler ΔΧρ nmax " ι - max
Da lediglich diejenigen Werte des Kegelschnittes berechnet werden, die zwischen Obergrenze und Untergrenze des sichtbaren Bereiches des Gitters liegen, ist η = 2 und
Fehler Xp = + Fehler Xp, + (210 - 1) Fehler ΔΧρ max
Setzt man den Fehler =1/4 dann erhält man
2~2 β + Fehler Xp± + (210 - 1) Fehler ΔΧρ, und damit
WA 974 004 609824/0656
2"2
Fehler ΔΧρ = + ^r7? , d.h.
- 2Ί0
-12 ' ΔΧρ muß bis + 2~ genau sein.
Dies wird dadurch erreicht, daß man ΔΧρ bis auf eine Genauigkeit !
von 2 berechnet und für die ursprünglich in dem Kegelschnitt- \
generator eingespeicherten Werte auf 2~ abrundet. i
Der Wert von Xp. braucht nicht derartig genau zu sein. Wie die |
nachfolgende Analyse von Xq zeigt, tritt der Maximalfehler in Xq \ dann auf, wenn η = 1/2 η ist. An diesem Punkt ist der Fehler
in Xp_., der sich aus dem Fehler in Xp ergibt, lediglich gleich ;
dem halben Fehler Xp oder + 2 . Um an diesem Punkt Xp j
«lax
auf + 1/4 genau au berechnenf m&Q Xp. nux bts aiif * 2~
sein, was sich dadurch erreichen läßt, daß man Xp, auf 2 Ge-
nauigkeit berechnet und auf 2~ abrundet*
Damit Xq gleich + 1/4 sein kann, naaß der Wert von X g bis auf
± 1/2 Xq + 1/16 richtig sein,
Die Werte von X qn werden wie folgt abgeleitetϊ
2 2
X^q = X^q
y y
Y et — V
X q2 - X
2 +Δχ212 = x2.
9 7
xq3 = .x q
wobei ÄX2q2 = 4X
Somit wird
WA974OO4 809824/0006
und
wobei ÄX2q3 = ^2q2 + A2X2q = Δχ2^ι * 2Ä2X2q
Somit wird
Im allgemeinen 1st
X2qn - X2q
Der Fehler in X2qn ist
Fehler X2q„ = + Fehler X2q. + (n-1) Fehler AX2q, \
η — χ — χ .j
+ pehlerA2X2q
ι Der Fehler in X q. kann dadurch klein gemacht werden, daß man
1 2
ausreichend viele Bits von X q. vorsieht. Wenn dies getan wird,
dann ist
j Fehler X2q„ ^ + (n-1) FehlerAX2q, +
Da sich die Fehler aus der Abrundung ergeben, können sie sich ge- j genseitig addieren und der Maximalfehler tritt dann auf f wenn i η = η ist, das, da das iterative Verfahren nur innerhalb der j Höhenabmessungen des sichtbaren Bereiches des Bildschirmes durchgeführt ist, = 210 ist.
9 ίο 9 /9 —Ή(O —9V 9 9
FehlerX <j = + (21 -1) FehlerAXq. + ^=- ^4= ^- FehlerAzXq
Il "™ 1 ^ ^
O 1Q OO
c* + 2luFehlerAX q± + 2'^FehlerA^X q
Da der Maximalfehler in X q dann auftritt, wenn η ein Maximum
η f
ist, dann bedeutet dies, daß der größte Fehler an der Unterseite
2 des Kegelschnittes zu erwarten ist. Da der Wert von Xq an
diesem Punkt ein Minimum ist, so ist es wünschenswert, daß der .
Maximalfehler im Mittelpunkt des Kegelschnittes auftritt, wenn .j 2 . .
X q ein Maximum ist. Dies kann dadurch erzielt werden, daß man
2 2 2
einen anfänglichen Fehler in AX q. einführt, der den durch Δ X*q
an der Unterseite der Ellipse verursachten Fehler ausgleicht*
(n-1) Fehler Ax2q± - ehler A2X2q
Fehler αχ\± = FehlerA2X2q
101974004 609824/0656
i - 24 -
2 2
ι Eine Möglichkeit, dies zu erreichen, besteht darin,Δ X q mit
ι größerer Genauigkeit zu berechnen als benötigt wird, so daß man
ί 2 2
dann den Wert des Fehlers von £ X q kennt« Dies könnte dann mit
' 2 2
<n-2}/2 multipliziert und von AXq. abgezogen werden. Eine wei-
! tere Möglichkeit, dies zu erreichen, besteht darin, den Wert
■ 2 2Y —2 2 2
(von ΔΧ q. dadurch zu berechnen, daß isan - —5 Δ X q berechnet
] und das als ΔΧ q, nimmt, Damit wird sichergestellt, daß dann,
jwenn η = 2Y ist, (d.h. am unteren Ende der Ellipse), die Werte
j von A 2^2 q ^^ in.-j) &K2q± gleich sind. Der Maximal-]fehler tritt nunmehr in dem Kegelschnitt auf halbem Weg nach xmten I auf ί
j 2
) Fehler xfa_= + "L'4! * J Fehler
aC2V2]
I
Differenziert man und setzt dann gleich null, so erhält mans
O = t2YT-2) feiaer A2X2g, - <2n-3) Fehler £2K%. oder 2 % 2
Ist Y«, grofi^ dann wird 11 Y„,
2ur Bestimroang des Fehlers an diesem Punkt wird die Fehlergieichung mit η gleich Y„ aufgelöst, und es wird
2Y —2
Fehler £X2q± = —|— Fehlerd2X2q
2
Fehler X^qn = (¥^-1) 1 Fehler&
Da Y « 29 ist, wird der Fehler in X2q ^ 217 χ FehlerÄ2X2q max
974 OO4
809824/0658
2 2 '
Es sollte hierbei angemerkt werden, daß AXq nicht unter Ver- j
wendung einer Abrundung spezifiziert werden kann. Würde man ΐ
2 2
eine Abrundung vornehmen, dann wäre der Wert vonA X q größer j
2 als er tatsächlich ist, was zur Folge hätte, daß X q zu
früh einen negativen Wert annimmt und, je nach Ausgestaltung ;
der Schaltung, den Kegelschnitt zu früh abschneiden oder einen ■
negativen Wert erzeugen würde, was bei der Berechnung der ;
Quadratwurzel zu imaginären Werten führen würde. |
Ausführung j
In der tatsächlich ausgeführten Schaltung werden die Werte
2 2 2 2 —20
von AXq und AXq. bis auf 2 genau angegeben.
OO «-9O 0
AXq wird tatsächlich auf 2 berechnet. Der Wert von AXq1
—20
wird auf 2 genau berechnetr so daß dieser Fehler klein sein
wird. Der Fehler wird dann gefunden als
Fehler X2qn = + Fehler X2q± + (n-1)FehlerAX2q± + Fehler A2X2g
wobei -, _20 Fehler X2q = + 2~11 + (n-1) 2~21 +
und der Fehler bei η = YT = 2 (Maximalfehler) ist:
-20
.-I I ._M ,._ ~^ I I IZ -Il [Z — Z. I I Z
^n
-2
Fehler X2g - + 2"11 + (29-1)2-21 ♦ C(29-1) (29-2)J 2
. i2-11 ±2-12 ±2_
= + 2~3 + 2"11 + 2"12
2
Der sich aus dem Fehler in X q ergebende Fehler von Xq ist eine
2 Funktion des Wertes von Xq, Da der Maximalwert von Fehler Xq
eine Konstante ist, ist der Fehler Xqn ein Maximum, wenn Xqn ein Minimum an dem Punkt ist, an dem Fehler X q ein Maximum ist. Der Kleinstwert der kleinen Achse eines Kegelschnittes ist 3 (da ein Kegelschnitt mit einer Nebenachse von 2 als ein Vektor
WA 974 004 609824/0658
erzeugt werden kann) daher erhält man den kleinsten Wert von Xg dann, wenn Y = Υφ 1,5 ist und Xg = 2,25. Der Fehler ist
dann Xq <sa 2~ und damit
τι
2,25 + 2"3^ 1,5 + 1/16,
d.h., daß der Fehler in Xq, der durch den akkumulierten Fehler
2 ·
in X q verursacht wird, im schlimmsten Fall +1/16, im allgemeinen aber sehr viel kleiner ist. Der maximale, in der Quadratwurzel-
schaltung auftretende Fehler tritt dann auf, wenn Yq groß (2 )
2 n ist, an welchem Punkt der durch Fehler Xq in Xq verursachte
Xl XX ;
Fehler sehr klein ist, so daß der Quadratwurzelschaltung der !
Fehler (+ 1/4) in Xq zugeordnet werden kann. j
O^adratwurzelgenerator 442
ΐ Zur Berechnung der Quadratwurzel verwendet man einen Festwert- j S speicher mit Tabellensucfavorgang in Verbindung mit einem bei \ ; jeden Schiebetakt den Speicherinhalt um 2 Bit verschiebenden
Schieberegister SRI 434, Die 24 höchstwertigen Bits von Xq werden in das Schieberegister SR1 434 der Fig. 7 geladen. Ist eines der beiden höchstwertigen Bits eine Eins, dann wird eine Verschiebung nach rechts durchgeführt« Ist dies nicht der Fall, dann wird eine Heihe von Linksverschiebiangen (jeweils 2 Bits) so ; lange durchgeführt* bis entweder eine 1 in den Bitpositionen ] 218 oder 219 festgestellt oder bis fünf Verschiebetakte durch- ■ geführt sind» Man sieht t daß nach fünf Schiebetakten der ganz-
2 '
zahlige Teil von Xq in eine Position verschoben 1st, in der j die Quadratwurzeltabelle 436 adressiert werden kann* Die Quadratwurzel wird gezogen und in das Ausgangsschieberegister 438 geladen, das die gleiche Anzahl von Schiebeschritten in der entgegengesetzten Richtung, jedesmal um 1 Bit, ausführt.
Oas Äasgangssignal des Oaadratwsrzelgenerator 442 ist eine
2
12Bitzahlf bei der 2 zum tatsächlichen Wert der Quadratwurzel
2 des Eingangssignals hinzuaddiert ist, Wenn somit Xq* (wobei
Xq* die Quadratwurzel des abgerundeten Wertes von Xq ist, das
m 974 OO4 60S824/0ÖÖ8
9 19
. in den Bitpositionen 2 bis 2 des Eingaberegis^ers 434 liegt)
das Eingangssignal für das SchieberegisterfSR1 434 darstellt, <iann ist das Ausgangs signal Xq'+2~2 oder Xg1 + 1/4* 1/4 wird
deswegen addiert, damit der Quadratwurzelgenerator 436 ohne
2
Äbrundung von Xq arbeiten kann. Der Grund dafür ist folgender:
ι Für Kegelschnitte ist der Maximalfehler in,Xq1 gleich 2 + 2
65 9
+ 2 + 2 + 2 , Das stellt den größten prozentualen Fehler
dar, wenn Xq'2 = 218 ist, da je£e Zahl, die größer ist als 218, einen Schiebvorgang zur Folge gehabt hätte * Damit nunmehr Xq innerhalb der geforderten Grenzen von +1/4 liegt, muß für .die-. 1 sen schlechtesten Fall das Ausgangssignal des Quadratwurzelgenerators 436 + 1/4 sein,
2 Für diesen Fall liegt der tatsächliche Wert von Xg zwischen
2 2 9 / ο
Xq' und Xq* + 2 und der tatsächliche Wert von ν Xq liegt j zwischen/xq·2 = Xq1 = 29 und/xq1^ + 2*. Der Wert/xq'2 + 'ist angenähert gleich Xq' und 1/2 = 29 + 2~1, da (Xq1 + 1/2) 2 = Xq'2 + Xq§ + 1/4 ist,
Der tatsächliche Wert von / Xq liegt daher zwischen 2 und
Q — ΐ
2+2 . Das Ausgangssignal der Quadratwurzeltabelle 436 ist Xq* + 2~2 = 29 + 2~2, so daß der dafür zulässig erachtete Fehler +1/4 eingehalten ist.
2
Wenn der Wert von Xq kleiner wird, dann wird auch der prozen-
2 : tuale Fehler kleiner. Wenn beispielsweise der Wert von Xq1 = 216 ist, dann ist der Abrundfehler nur 27 und/Xq %l = 28 Xq'2 + 27 = 28 + 1/4.
Xn diesem Fall liegt das Ausgangssignal des Quadratwurzelgenerator 442 nach Verschiebung bei Xq1 + 1/8 und dies liegt tatsächlich innerhalb 1/8 des tatsächlichen Wertes.
2 Diese Genauigkeit gilt für alle Werte von Xq mit Ausnahme sol-
2 —1
eher Werte von Xq , die kleiner sind als 2 , da dies kein
^974004 609824/0656
Eingangssignal für die Quadratwurzeltabelle 436 liefern würde. ι
Statt eines weiteren Schiebeimpulses zur Prüfung dieser Bits ist eine besondere Schaltung vorgesehen, die zwangsweise das \Ausgangssignal auf 2 einstellt, wenn Xq1 = 2 ist und somit
! _,9 2 —2
das Ausgangssignal auf 2 zwingt, wenn Xq1 kleiner als 2 ist. Dies gilt, da folgende Bedingung gilt:
Wenn Xq'2 = 2~2, dann ist X2^3x «* 2~1 und X\in - 2"2
/2~1 = 0,707
und
,-2 . 2-1
i " " —1
;und da das Ausgangssignal zwangsläufig 2 istf ist die Forde-Jrung nach den Grenzen * %/4 eingehalten»
j Ist Xq12 m o, dann ist X2^3x ^ 2~Z und
= 0
«-1
= 0
j und da das Ausgangs signal zwangsläufig auf 2** gehalten ist, !wird die Forderung nach den Grenzen +1/4 erneut eingehalten,
!Diese vorangegange Analyse wurde unter der Annahme durchgeführt, i 2 ■ ■
daß die Quadratwurzel von Xq auf + 1/4 genau sein muß und den Fehler zwischen dem tatsächlichen und dem theoretischen oben ! 2
analysierten Wert von Xq vernachlässigt. Dies kann durch eine überprüfung dieser Fehler gerechtfertigt werden. Zunächst tritt in der Quadratwurzelschaltung ein maximaler Fehler dann auf, wenn Xq einen großen Wert hat, was in der Mitte des Kegelschnittes der Fall ist (n = Ym). Dies ist außerdem der Fall, wo der maximale Fahler in dem iterativen Verfahren auftritt. Dieser
2 Wert ist jedoch sehr klein im Vergleich mit dem Wert von Xq
WA 974 004 609824/06 5-8"
—3 +18
(2 verglichen mit 2 ) und kann daher vernachlässigt werden.
In diesem Punkt ist der Fehler in Xp nur 1/2 des Maximalfehlers
oder +1/8, so daß der kombinierte Fehler in Xp + Xq kleiner j ist als 1/2. Der andere Maximalfehler in der Quadratwurzelschal- "]■
2
tung tritt dann auf, wenn Xq klein ist, was an dem oberen und
unteren Ende der Ellipsen der Fall ist. Am oberen Ende der ;
2
Ellipse ist η sehr klein, so daß der Fehler in Xp und Xq auch
klein ist. Wenn man zwangsweise die Fehler gegeneinander kompen-
2
siert, dann ist der Fehler in Xq an der Unterseite der Ellipse
—9
ebenso klein (kleiner als 2 ) und kann vernachlässigt werden.
2 20
Die einzigen Werte von Xq , die in den Bitpositionen 2 und
21
2 eine "1" haben, finden sich in dem festliegenden oder sich
ausdehnenden Bereich von Kreisen eines Zeigergenerators. Der
Fehler wird in diesem Fall größer seinf da die Abrundung bei
j einer größeren Zahl erfolgt. Unter Verwendung der gleichen
2 20
Analyse berechnet sich der kleinste Wert von Xq1 zu 2 und
der Fehler ist angenähert 2 und
ι Xq1 = 210
r2 ,11 ^ ,10
Nach Verschiebung ist das Ausgangssignal des Quadratwurzelgene- \
rators 442 ι
i Xq1 + 1/2 « 210 +1/2, j
so daß das Ausgangssignal der Quadratwurzelschaltung innerhalb
von +1/2 des tatsächlichen Wertes von Xq liegt. Da für Kreise i
im iterativen Verfahren weder für Xp noch für Xq ein Fehler !
auftritt, kann die gesamte Genauigkeit von + 1/2 in den Quadrat- ;
wurzelgenerator verlegt werden und der Gesamtfehler bei + 1 ge- '
halten werden. Kreise weisen keine Fehler auf, da ΔΧρ null ist ·
2 2 2 *:
(keine Rotation und AXq und Δ Xq ganzzahlig sind (keine Ro-
2 2 2
tation und a = b = Radius ).
WA 974 004
6098 2 4/0656
25465
Es sei darauf verwiesen, daß Kegelschnitte mit Achsen, die größer sind als 2 mit einem maximalen Fehler von ungefähr + 1 - 1/8 an den am weitesten auseinander liegenden Punkten und einem Fehler von weniger als + 1 für die meisten Punkte erzeugt werden können.
Das Taktimpulsdiagramm der Fig. 5 zeigt die mögliche Taktgabe bei der Erzeugung eines Kegelschnitts mit fünf Verschiebetakten auf jeder Seite des Quadratwurzelgenerators 442 und kann in bezug auf die im Kegelschnittgenerator benötigte Zeit als schlechtester Fall angesehen werden. Das Taktimpulsdiagramm zeigt, daß 42 Taktimpulse erforderlich sind, 42 χ 23,437 = 984 Nanosekunden.
Daher beträgt bei einer Zeilendauer einer waagrechten Zeile von 30,989 Mikrosekunden die maximale Anzahl von Kegelschnittpunkten gleich
= 31 Kegelschnittpunkte (2 Schnittpunkte je
Kegelschnitt) je Zeile
Es sei darauf verwiesen, daß die hier beschriebene Schaltung sich leicht so einrichten läßt, daß Teile von Kreisen oder Ellipsen oder offene Kegelschnitte wie Parabeln oder Hyperbeln erzeugt werden können.
Zweite Ausführungsform für einen Kegelschnittgenerator
Die zweite Ausführungsform für einen Kegelschnittgenerator ist in Fig. 9 dargestellt.
2 Wenn die ersten beiden Worte gelesen werden, wird Xq in das
2
Xq -Register 418 geladen und die 24 höchstwertigen Bits werden in das Schieberegister SR1 434 übertragen. Das Schieberegister SR1 434 ist ein Schieberegister, dessen Speicherinhalt bei jedem Schiebetakt um zwei Bits verschoben wird und bei dem die Daten so lange weitergeschoben werden, bis entweder eine "1" in einer der beiden höchstwertigen Bitpositionen auftritt oder
WA 974 004 _ΛΛ ΛΛ
609824/06b6
für maximal fünf Schiebeimpulse, Die Anzahl der Schiebeimpulse wird in der Schiebesteuerlogik 440 abgespeichert und die elf höchstwertigen Bits aus SR1 434 werden als Eingangssignale für den Festwertspeicher 436 des Quadratwurzelgenerators benutzt.
Die Analyse dieses Verfahrens zur Berechnung der Quadratwurzel wurde bereits angegeben. Diese hier dargestellte Schaltung ergibt eine Verschiebung, bis entweder die ersten Einsen von
2
Xq in den höchstwertigen Bitadressen des Festwertspeichers 436 liegen oder bis der gesamte Ziffernteil (fünf 2-Bit-Ver-
2
Schiebungen) von Xq in den Adressen des Festwertspeichers 436 liegen. Wenn sich die Ausgangssignale des Festwertspeichers 436 stabilisiert haben, wird diese Zahl in das Schieberegister SR2 438 eingespeichert, SR2 438 ist ein Schieberegister mit einer Verschiebung um 1 Bit je Schiebetakt und der Speicherinhalt wird um die gleiche Anzahl von Schiebetakten nach unten verschoben wie der Speicherinhalt im Schieberegister SR1 434 nach oben verschoben wurde. Dieses Verfahren stellt einen Weg zur Benutzung eines Gleitkommes bei der Berechnung der Quadratwurzel dar. Wenn beispielsweise im Schieberegister SR1 434 fünfmal um zwei Bit nach oben verschoben ist, entspricht dies einer Multiiplikation mit 2 ° während eine Verschiebung in SR2 438 fünfmal ! um ein Bit nach unten einer Multiplikation mit 2~ nach fünf Verschiebungen entspricht.
SR1 = X 2 χ 210
und das Ausgangssignal des Festwertspeichers =
Xq 2 χ 1O+10 = Xq χ 25
nach fünf Verschiebungen in SR2 erhält man:
X χ 25 χ 2~5 « X
WA 974 004 _A Λ Λ Λ
609824/0656
Dieser Wert wird dann in das X -Register 454 geladen.
Die verbleibenden Datenworte werden dann aus dem Zwischenpufferspeicher ausgelesen und in das Register und in die Tabellen in Fig. 9 geladen. X 2 ΔΧ 2 und Δ2Χ2 sind alle bis 42 Bit genau, wie dies die oben erläuterte Fehleranalyse fordert. Diese Werte werden in einer 22-Bit-Addierstufe 452 in zwei Schritten addiert. Die 22 niedrigstwertigen Bits werden addiert und der übertrag wird festgehalten, dann werden die 20 höchstwertigen Bits addiert und der übertrag wird dazuaddiert. Auf diese Weise
wird X 2 durch Addition von X2 + ΔΧ2 erzeugt und ΔΧ2 .-q n+1 qn gn 3 qn+1
wird durch Addition ΔΧ2 + A2X2 berechnet. X2 gn+1 wird in das Register R4 418 geladen und das Verfahren zur Berechnung ί der Quadratwurzel wird bis zur Ermittlung von X - wiederholt,
!Die elf höchstwertigen Bits von X werden dann an das RS-Re-
I Ρ»
gister 456 übertragen und X sowie X * werden berechnet und
η η
in die C & D-Tabellen geladen, wobei X=X +X and X f ι η pn C[H n
]= X - X ist. Anschließend wird X +- berechnet und in das JR3-Register gelaaen, Wenn der Wert von X - feestiramt ist, dann jwerden Xß+1 und X^ berechnet, wobei Xn+1 = X^+1 4-
!und X1 +- = X ,4 - Χση+1 isfc· Diese Werte werden zur Berechnung der Ausgangswerfce von X uad ΔΧ der zur Darstellung des \ jKegelschnittes benutzten Sektorsegmente berechnet und werden j \an den Sektorgenerator übertragen* der sie daim in das PRÄS j !lädt« Eine Detektorschaltung ist vorgesehen, die feststellt, j
j wenn die Seilensegmente außerhalb des Bildschirms liegen, so ]
j j
jdaS in dieses Fall kein Schreibbefehl an den Sektorgenerator ;
!abgegeben wird« Für Kegelschnitte, die oberhalb des oberen En- \
1 ί
des des sichtbaren Rasters beginnen, werden die Werte X -j j
' 2 2 P* ι
JX-- und Ax . durch die HilfsZentraleinheit unter Benutzung
I Φ Φ j
{der iterativen Gleichung berechnet. ]
i
Der Wert von 4Y wird jedesmal dann, wenn ein Schnittpunkt erzeugt
j ist, um eins zurüekgenoffiaen und jait null verglichen» Wird die \ (Null festgestellt, dann ist der Kegelschnitt fertig erzeugt»
HA974004 609824/0658
jedoch wird diese Null nicht in den Zwischenpufferspeicher zurückgespeichert. Um sicherzustellen, daß der Kegelschnitt in sich geschlossen ist, wird X gleich null gesetzt, wodurch
qn+1
sichergestellt ist, daß an der Unterseite des Kegelschnittes ein ausgezogener Vektor vorhanden ist. Dieses Verfahren wird so lange fortgesetzt, bis alle VektorSegmente für den Kegelschnitt für eine Zeilengruppe erzeugt sind, worauf sodann die Daten in den Zwischenpufferspeicher zurückgespeichert werden.
WA 974 OO4
60 9824/06 5 6

Claims (2)

  1. PATENTANSPRÜCHE
    Videogeneratorschaltung zur Umwandlung geordneter, einen Kegelschnitt, insbesondere eine Ellipse darstellender, aus einem Datenpufferspeicher ankommender Datensignale in ein zeit-seguentielles Videosignal für eine Darstellung mit zeilenweiser Abtastung auf einem Bildschirm, dadurch gekennzeichnet, daß an dem Pufferspeicher (38) ein Kegelschnittgenerator (410) zur Decodierung der Datensignale und zur Erzeugung von auf einer ersten Ausgangsleitung auftretenden, auf der abzutastenden Bildschirmzeile liegenden Teilsignalen des Kegelschnittes und zur Modifizierung der decodierten Datensignale für eine Kennzeichnung der waagrechten Koordinaten der Schnittpunkte des Kegelschnittes mit der nächsten abzutastenden Bildschirmzeile angeschlossen ist, zur Abgabe dieser modifizierten Signale über eine zweite Ausgangsleitung, die mit einem zweiten Eingang des Pufferspeichers (38) verbunden ist und dem Pufferspeicher anzeigt, wenn keine Teile des Kegelschnittes Schnittpunkte mit nachfolgenden, in dem Teilbild abzutastenden Bildschirmzeichen aufweisen.
  2. 2. Videogeneratorschaltung nach Anspruch 1, dadurch gekennzeichnet, daß die Bildschirmrasterzeilen einen Abstand von ΔΥ voneinander aufweisen, daß der Kegelschnitt durch eine Darstellungsachse mit einer inversen Steigung von ΔΧ zu ΔΥ, die die vertikalen Extremwerte des Kegelschnit tes schneidet und durch eine inverse Änderungsgeschwin-
    2 2
    digkeit der Steigung des Kegelschnitts von Δ Χ /Δ Y gekennzeichnet ist und daß die Datensignale sowohl Werte
    für die Konstanten ΔΧ und Δ2Χ 2 als auch für die Werte
    2 2 p q
    X , ΔΧ und X an den Extremwerten des Kegelschnittes aufweisen, wobei X der horizontale Abstand zwischen der
    WA 974 004 - Λ Λ n .. .
    609824/0656
    Darstellungsachse und dem Kegelschnitt ist.
    '3. Videogenerator nach Anspruch 2, dadurch gekennzeichnet, daß in dem Kegelschnittgenerator (410) mit dem Ausgang des Datenpufferspeichers (38) zur Aufnahme der Werte ΔΧ , Δ2Χ 2, Xp, Xy2 und ΔΧ 2 ein Register (418, 420, 422, 424) verbunden ist, das ausgangsseitig mit einem Quadratwurzelgenerator (442) zur Berechnung der Quadratwurzel
    2
    von X verbunden ist,
    daß ferner eine erste Addierstufe (464) mit ihrem Addendeingang an den Quadratwurzelgenerator (442) und ihrem Augendeingang an dem Register (456) angeschlossen ist zur Bildung der Summe X + X und der Differenz X- X als Ort längs der Schnittpunkte mit dem Kegelschnitt aufweisenden abzutastenden Bildschirmzeilef daß außerdem ein Videosignalgenerator mit seinem Eingang an der ersten Addierstufe (464) angeschlossen und ausgangsseitig zur Erzeugung eines den Werten X +X und X - X ent-
    p q ρ q
    sprechenden Orten der abzutastenden Bildschirmzeile entsprechenden Videosignals mit dem Teilrasterspeicher (44) verbunden ist,
    daß eine zweite Addierstufe (468) mit Addend- und Augendeingang an dem Register (418, 420, 422, 424) zur Berech-
    2 2 nung neuer Werte von X , X und AXq durch Addition von ΔΧ : X , von ΔΧ 2 zu X 2 und von Δ2X2 zu ΔΧ2 angeschlossen ist und daß eine Ausgangstorschaltung des Datenpufferspeichers mit einem Eingang an der zweiten Addierstufe angeschlossen ist und einen die zweite Ausgangsleitung darstellenden Ausgang aufweist, der für eine Wiedereinspeicherung der neuen Werte von X , X
    2 P <3
    und Δ in den Pufferspeicher (38) an dessen zweiten Eingang angeschlossen ist,
    4. Videogeneratorschaltung nach Anspruch 3, dadurch gekennzeichnet, daß der Quadratwurzelgenerator (442) ein erstes an dem Register (418) angeschlossenes Schiebere-
    ^974004 609824/0656
    gister (434) und ein für die ersten η höherwertigen Bits des ersten Schieberegisters einen daran angeschlossenen Festwertspeicher (436) enthält, in dem die auf die η höchstwertigen Bits abgerundete Quadratwurzel der in dem Schieberegister (434) liegenden Zahl abgespeichert ist, daß ein zweites Schieberegister (438) an dem Datenausgang des Festwertspeichers (436) angeschlossen und ausgangsseitig mit der ersten Addierstufe (464) zur Aufnahme der Quadratwurzel verbunden ist, daß ferner eine Verschiebesteuerung (440) mit den Steuereingängen der beiden Schieberegister <434, 438) verbunden ist, wobei diese Steuerung einmal den Speicherinhalt des ersten Schieberegisters jeweils η mal je um zwei Bits je Schiebetakt so lange verschiebt, bis ein 1-Bit eine der beiden höchstwertigen Bitspositionen besetzt^ bevor der Festwertspeicher mit den so verschobenen Daten adressiert wird und außerdem den Speicherinhalt des zweiten Schieberegisters m mal je um ein Bit verschiebt, so daß die aufgerufenen Daten die niedrigstwertigsten Bitpositionen einnehmen, und die Quadrat-
    2
    wurzel von X in der kürzesten Zeit bei kleinsten Ab-
    rundungsfehllsr abrufbar ist,
    Videogeneratorschaltung nach Anspruch 2 oder 3f dadurch gekennzeichnet, daß am Ausgang des Datenpufferspeichers {38} ein erstes Register {418 usw.) zur Aufnahme der der n—ten Bildschirmzeile entsprechenden Werte von ΔΧ ,
    2 2 2 2 °
    AX X , X , X »ΔΧ angeschlossen und ausgangsseitig zur Berechnung der Quadratwurzel aus X ein Quadrat—
    wurzelgenerator i442) angeschlossen ist# dafi eine erste j
    Addierstufe (464) mit ihrem Addendeingang am Ausgang j
    des Quadratwurzelgenerators und mit ihrem Augendeingang !
    an dem Register {418»«.) zur Berechnung der Summe X + ;
    X = Xn and der Differenz X - X = x*n als 0^ der Schnittpunkte des Kegelschnitts mit der η-ten Bildschinazeile angeschlossen ist, daB ein zweites und drittes Register {48Q, 482) zur Speicherung der Werte von X
    004
    609824/0658
    bzw. X' mit dem Ausgang der ersten Addierstufe (464) verbunden sind, daß eine zweite Addierstufe (468) mit ihre Addend- und Augend-Εingang am ersten Register und mit ihrem Ausgang mit einer am Eingang des ersten Registers angeschlossenen Rückkopplungsleitung zur Be- j rechnung der Werte Xq 2 n+1 = Xq 2 n +AX*qn
    X pn+1 = Xpn + ΔΧρ
    verbunden ist, die den Schnittpunkten des Kegelschnittes ! mit einer zwischen der η-ten und der n+1ten Bildschirmstufe (468) dabei die Werte X2' +1 und X n+1 an den Ein-
    zeile liegenden Zeile entsprechen, daß die zweite Addierstufe (468) dabei die Werte X2'
    qn
    gang des ersten Registers abgibt,
    2 daß der Quadratwurzelgenerator aus dem Wert X .. den Wert X - als Ort in der Mitte zwischen der nten und n+1ten Bildschirmzeile ermittelt, die den Kegelschnitt schneidet,
    daß ein viertes und fünftes Register (474, 472) mit dem Ausgang der zweiten Addierstufe (468) zur Speicherung der Werte Xn+1 bzw, X1 .. verbunden sind, daß am zweiten, dritten, vierten und fünften Register (480, 482, 474, 472) eine Vergleichsstufe (484, 486) angeschlossen ist, die jeweils den höheren Wert von X oder Xn+1 bzw. x'n oder X* +1 ermittelt, daß eine dritte Addierstufe (490) an den Ausgängen des zweiten, dritten, vierten und fünften Registers und am Ausgang der Vergleichsstufe angeschlossen ist zur Berechnung des Ursprungs und der Länge der Rasterlinien längs der nten Abtastzeile und der Darstellung der entsprechenden Schnittpunkte mit der Ellipse.
    6. Videogeneratorschaltung nach Anspruch 2, dadurch gekennzeichnet, daß der Kegelschnittgenerator ein erstes, am
    WA 974 004
    6098 2 4/0656
    Ausgang des Pufferspeichers (38) angeschlossenes Register
    2 2
    zur Aufnahme der Werte ΔΧ , Δ X ,
    X , X 2 und ΔΧ2 pn' qn qn
    entsprechend der nten Bildschirmzeile und einen Quadratwurzelgenerator enthält, der eingangsseitig am Ausgang des ersten Registers zur Berechnung der Quadratwurzel
    2
    von X angeschlossen ist,
    daß eine erste Addierstufe (464) mit dem Addendeneingang am Ausgang des Quadratwurzelgenerators (442) und mit dem Augendeingang an dem ersten Register zur Berechnung der
    Summe X +X = X und der Differenz X - X = X1 pn qn η pn qn η
    als Ort eines Schnittpunktes der nten Bildschirmzeile mit dem Kegelschnitt verbunden ist,
    daß ein zweites und drittes Register (48Of 482) am Ausgang der ersten Addierstufe zur Speicherung der Werte von X bzw, X1 angeschlossen ist,
    daß eine zweite Addierstufe (468) mit Addendeingang am Ausgang des Quadratwurzelgenerators (442) und mit dem Augendeingang am Ausgang des ersten Registers (418..,) zur Berechnung der Summe X +1 ~ X +i=x +i angeschlossen ist als Ort eines Schnittpunktes des Kegelschnitts mit den n+1ten Bildschirmzeile,
    daß ein viertes und fünftes Register (472, 474) am Ausgang der zweiten Addierstufe (468) zur Speicherung der
    '.-i angeschlossen ist, daß eine dritte Addierstufe (452) mit Augend- und Addendeingängen am Ausgang des ersten Registers angeschlossen, ausgangsseitig über einen Rückkopplungskanal am Eingang des ersten Registers angeschlossen ist zur Berechnung der
    Werte X .. bzw,
    AX
    9 9 X
    qn+1
    und
    Xpn+1 - Xpn + ΔΧ Ρ
    entsprechend dem Schnittpunkt des Kegelschnittes mit einer
    WA 974 004
    6098 2 4/0656
    zwischen der nten und n+1ten Bildschirmzeile liegenden Linie,
    daß die dritte Addierstufe (452) ausgangsseitig die Werte
    2 ■.■■■.-,■■
    von X cm+1 und 2£ +1 eingangsseitig dem ersten Register zuführt,
    daß der Quadratwurzelgenerator (442) aus dem im ersten
    2 Register eingespeicherten Wert von X ^n+1 den Wert X errechnet und daß eine Vergleichsstufe (484, 486) am zweiten, dritten, vierten und fünften Register angeschlossen ist, um den jeweils größeren Wert von X oder von X+1 bzw. X1 oder X'+1 festzustellen, und daß eine vierte Addierstufe (490) am zweiten, dritten, vierten und fünften Register angeschlossen und der Vergleichsstufe angeschlossen ist zur Berechnung des Ursprungs und der Länge der Rasterlinien längs der nten Bildschirmzeile zur Darstellung der Schnittpunkte mit dem Kegelschnitt und
    daß eine Videosignalerzeugungsschaltung eingangsseitig an der vierten Addierstufe und ausgangsseitig mit einer Anzeigevorrichtung zur Erzeugung eines Videosignals an den Orten längs der nten Bildschirmzeile angeschlossen ist, die den Schnittpunkten mit dem Kegelschnitt entspricht.
    WA 974 004
    60982 A/0656
DE2546506A 1974-12-03 1975-10-17 Digitaler Videogenerator für eine zeilenweise Darstellung eines Kegelschnittes auf einem Fernsehbildschirm Expired DE2546506C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/529,192 US3987284A (en) 1974-12-03 1974-12-03 Conic generator for on-the-fly digital television display

Publications (2)

Publication Number Publication Date
DE2546506A1 true DE2546506A1 (de) 1976-06-10
DE2546506C2 DE2546506C2 (de) 1985-05-23

Family

ID=24108896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2546506A Expired DE2546506C2 (de) 1974-12-03 1975-10-17 Digitaler Videogenerator für eine zeilenweise Darstellung eines Kegelschnittes auf einem Fernsehbildschirm

Country Status (7)

Country Link
US (1) US3987284A (de)
JP (1) JPS5843747B2 (de)
CA (1) CA1053818A (de)
DE (1) DE2546506C2 (de)
FR (1) FR2293842A1 (de)
GB (1) GB1515385A (de)
IT (1) IT1041942B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410621A (en) * 1970-12-28 1995-04-25 Hyatt; Gilbert P. Image processing system having a sampled filter
JPS578584A (en) * 1980-06-18 1982-01-16 Nippon Electric Co Video controller
US4384286A (en) * 1980-08-29 1983-05-17 General Signal Corp. High speed graphics
US4396988A (en) * 1980-12-31 1983-08-02 International Business Machines Corporation Method and apparatus for automatically determining the X-Y intersection of two curves in a raster type display system including a buffer refresh memory
US4692887A (en) * 1983-05-10 1987-09-08 Casio Computer Co., Ltd. Circle and circular arc generator

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2252556A1 (de) * 1971-10-27 1973-05-03 Gec Elliott Automation Ltd Vorrichtung zum erzeugen eines videosignals zur eingabe in ein rasterabgetastetes sichtgeraet

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3763363A (en) * 1970-03-24 1973-10-02 Yaskawa Denki Seisakusho Kk Numerical curve generator in a machine tool system
US3821731A (en) * 1971-06-07 1974-06-28 Ann Arbor Terminals Inc Graphics display system and method
GB1359674A (en) * 1971-06-11 1974-07-10 Elliott Brothers London Ltd Display system with circle drawing
US3781850A (en) * 1972-06-21 1973-12-25 Gte Sylvania Inc Television type display system for displaying information in the form of curves or graphs
US3792464A (en) * 1973-01-10 1974-02-12 Hitachi Ltd Graphic display device
US3848232A (en) * 1973-07-12 1974-11-12 Omnitext Inc Interpretive display processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2252556A1 (de) * 1971-10-27 1973-05-03 Gec Elliott Automation Ltd Vorrichtung zum erzeugen eines videosignals zur eingabe in ein rasterabgetastetes sichtgeraet

Also Published As

Publication number Publication date
FR2293842A1 (fr) 1976-07-02
DE2546506C2 (de) 1985-05-23
IT1041942B (it) 1980-01-10
CA1053818A (en) 1979-05-01
US3987284A (en) 1976-10-19
JPS5177135A (de) 1976-07-03
GB1515385A (en) 1978-06-21
JPS5843747B2 (ja) 1983-09-28
FR2293842B1 (de) 1979-06-15

Similar Documents

Publication Publication Date Title
DE3337677C2 (de) Einrichtung zum Ausfüllen einer Kontur
DE69115762T2 (de) Verfahren und Einrichtung zur Anzeigesteuerung von Mehrfenstern
DE3202365C2 (de) Datenspeicher mit Fensterabtastung
DE2233757C3 (de) Steuerschaltung fur eine Zeichendarstellanordnung
DE69633477T2 (de) Bildspeicher für graphische Daten
DE3882365T2 (de) Einrichtung zur erzeugung eines cursormusters auf einer anzeige.
DE2907992A1 (de) Verfahren zur behandlung von videodaten
DE2261141C3 (de) Einrichtung zur graphischen Darstellung von in einem Computer enthaltenen Daten
DE2746969C2 (de) Einrichtung zum Vergleichen von Mustern
DE2252556A1 (de) Vorrichtung zum erzeugen eines videosignals zur eingabe in ein rasterabgetastetes sichtgeraet
DE2525155A1 (de) Verfahren und anordnung zur rasterpunktdarstellung von codierter - liniensegmente darstellende - information in computergesteuerten datensichtgeraeten, insbesondere in kathodenstrahlbildschirmstationen
DE69129721T2 (de) Verfahren zur Bildglättung
DE2833175C2 (de) Signalgenerator für ein Anzeigesystem
DE2459106A1 (de) Anordnung zur erzeugung von graphischen symbolen auf einer kathodenstrahlroehre und bei dieser anordnung verwendbarer zeichensymbolgenerator
DE69109040T2 (de) Verbesserungen bei den nach dem Rasterverfahren arbeitenden Sichtgeräten.
DE3888891T2 (de) Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit.
DE2213953C3 (de) Schaltungsanordnung zum Darstellen von Zeichen auf dem Bildschirm eines Sichtgerätes
DE3508606C2 (de)
DE69127759T2 (de) Abspeicherungsverfahren für die Bildverarbeitung und Gerät,um dieses einzusetzen
DE2546506A1 (de) Video-generatorschaltung fuer die digitale fliegende darstellung eines kegelschnittes auf einem fernsehschirm
DE3688513T2 (de) Bit-adressierbares mehrdimensionales Netz.
DE2850710A1 (de) Bildschirmgeraet
DE2461651B2 (de) Zählvorrichtung zum Zählen von Mustern
DE3836789A1 (de) Vorrichtung zur erzeugung von helligkeitsstufen auf einem anzeigeschirm
DE3938366C2 (de) Vorrichtung zur Bilddatenreduktion für ein Anzeigegerät

Legal Events

Date Code Title Description
OD Request for examination
8128 New person/name/address of the agent

Representative=s name: BOEHMER, H., DIPL.-ING., PAT.-ANW., 7031 AIDLINGEN

D2 Grant after examination
8380 Miscellaneous part iii

Free format text: PA 1 Z. 7: (182,183,182,184) AENDERN IN (182,183,184,185) Z. 26: WERT XP(PFEIL ABWAERTS)N(PFEIL ABWAERTS)(PFEIL ABWAERTS)+(PFEIL ABWAERTS)(PFEIL ABWAERTS)1(PFEIL ABWAERTS) AENDERN IN XQ(PFEIL ABWAERTS)N(PFEIL ABWAERTS)(PFEIL ABWAERTS)+(PFEIL ABWAERTS)(PFEIL ABWAERTS)1(PFEIL ABWAERTS) PA 2 Z. 38: ANGESCHLOSSENEN AENDERN IN ANGESCHLOSSEN Z. 45: NIEDRIGSTWERTIGEN AENDERN IN NIEDRIGSTWERTIGSTEN.

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee