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 fernsehschirmInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/20—Function-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;
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.
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-
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
! 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^
a s^
b = Nebenachse und 2
Θ « der Rotationswinkel sind.
WA 974 004
609824/0bb6
n-1 + A2Xq2
2 2
wobei ΔΧρ und Δ Xq Konstante sind.
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
Δ Xq = s
4ΑΖ
- ( [Υτ^| - 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
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
Λ 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.
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
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
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)|
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-
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.
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
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.
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
Somit wird
Im allgemeinen 1st
X2qn - X2q
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, +
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 ^ ^
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
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
Fehler £X2q± = —|— Fehlerd2X2q
2
Fehler X^qn = (¥^-1) 1 Fehler&
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 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
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-
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
ΐ 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
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:
Ä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
+ 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-
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
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
«-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- "]■
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
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
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
siert, dann ist der Fehler in Xq an der Unterseite der Ellipse
—9
ebenso klein (kleiner als 2 ) und kann vernachlässigt werden.
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
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
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
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 ).
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.
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
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-
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.
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:
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
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.
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)
- PATENTANSPRÜCHEVideogeneratorschaltung 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. 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 2digkeit der Steigung des Kegelschnitts von Δ Χ /Δ Y gekennzeichnet ist und daß die Datensignale sowohl Wertefür die Konstanten ΔΧ und Δ2Χ 2 als auch für die Werte2 2 p qX , ΔΧ und X an den Extremwerten des Kegelschnittes aufweisen, wobei X der horizontale Abstand zwischen derWA 974 004 - Λ Λ n .. .609824/0656Darstellungsachse 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 Quadratwurzel2
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 ρ qsprechenden 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 , X2 P <3und Δ 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/0656gister (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 jAddierstufe (464) mit ihrem Addendeingang am Ausgang jdes 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 X004609824/0658bzw. 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*qnX 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'qngang 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, amWA 974 0046098 2 4/0656Ausgang des Pufferspeichers (38) angeschlossenes Register2 2zur Aufnahme der Werte ΔΧ , Δ X ,X , X 2 und ΔΧ2 pn' qn qnentsprechend der nten Bildschirmzeile und einen Quadratwurzelgenerator enthält, der eingangsseitig am Ausgang des ersten Registers zur Berechnung der Quadratwurzel2
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 derSumme 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 derWerte X .. bzw,AX9 9 Xqn+1undXpn+1 - Xpn + ΔΧ Ρentsprechend dem Schnittpunkt des Kegelschnittes mit einerWA 974 0046098 2 4/0656zwischen der nten und n+1ten Bildschirmzeile liegenden Linie,daß die dritte Addierstufe (452) ausgangsseitig die Werte2 ■.■■■.-,■■von X cm+1 und 2£ +1 eingangsseitig dem ersten Register zuführt,daß der Quadratwurzelgenerator (442) aus dem im ersten2 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 unddaß 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 00460982 A/0656
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)
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)
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)
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 |
-
1974
- 1974-12-03 US US05/529,192 patent/US3987284A/en not_active Expired - Lifetime
-
1975
- 1975-08-06 GB GB32785/75A patent/GB1515385A/en not_active Expired
- 1975-08-06 CA CA232,995A patent/CA1053818A/en not_active Expired
- 1975-08-27 IT IT26600/75A patent/IT1041942B/it active
- 1975-10-13 FR FR7532207A patent/FR2293842A1/fr active Granted
- 1975-10-17 DE DE2546506A patent/DE2546506C2/de not_active Expired
- 1975-12-02 JP JP50142471A patent/JPS5843747B2/ja not_active Expired
Patent Citations (1)
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 |