DE4000021A1 - Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementen - Google Patents
Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementenInfo
- Publication number
- DE4000021A1 DE4000021A1 DE19904000021 DE4000021A DE4000021A1 DE 4000021 A1 DE4000021 A1 DE 4000021A1 DE 19904000021 DE19904000021 DE 19904000021 DE 4000021 A DE4000021 A DE 4000021A DE 4000021 A1 DE4000021 A1 DE 4000021A1
- Authority
- DE
- Germany
- Prior art keywords
- picture element
- picture
- input
- function value
- curve
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Description
Die Erfindung bezieht sich auf ein Verfahren zur Dar
stellung von Kurven in einem zweidimensionalen Raster von
Bildelementen, bei dem die einzelnen Bildelemente in Abhän
gigkeit von dem Durchgang oder Nichtdurchgang der Kurve durch
das jeweilige Bildelement in voneinander optisch unterscheid
bare Zustände versetzt werden, wobei die Kurve durch eine
zweidimensionale Kurvengleichung der Form F(x,y) = 0 dar
stellbar ist und sowohl in der x-Koordinatenrichtung als auch
in der y-Koordinatenrichtung des Rasters die Differenzen
erster Ordnung dx(x,y) = F(x+1,y) - F(x,y) und dy(x,y) =
F(x,y+1) - F(x,y) der Funktionswerte an den Koordinaten
(x+1,y) und (x,y) bzw. (x,y+1) und (x,y) jeweils benachbarter
Bildelemente bzw. alle aus diesen Differenzen dx, dy erster
Ordnung zwischen den Koordinaten benachbarter Bildelemente
schrittweise gebildeten weiteren Differenzen höherer Ordnung
d(x)i(y) j nach einer endlichen Anzahl i + j = n von Schritten
jeweils einen für die Koordinaten aller Bildelemente gleichen
konstanten Wert annehmen, und auf eine Vorrichtung zur Durch
führung dieses Verfahrens.
Derartige Verfahren werden insbesondere zum raschen
Erstellen technischer Zeichnungen auf einem Bildschirm oder
auch für deren Ausdruck mittels einer geeigneten Druckervor
richtung, beispielsweise einem Laserdrucker oder LED-Drucker,
verwendet. Da bei der Darstellung der Kurven für jedes ein
zelne Bildelement die Feststellung getroffen werden muß, ob
das Bildelement als Kurvenpunkt oder als abseits der Kurve
gelegener Punkt zu behandeln ist, besteht ein wesentliches
Erfordernis darin, diesen Vorgang für eine bei guter Auflö
sung hohe Anzahl von Bildelementen möglichst schnell durchzu
führen.
Ein derartiges bekanntes Verfahren beruht darauf, für
jedes einzelne Bildelement dessen beide Koordinaten in dem
dem zweidimensionalen Raster zugrundeliegenden kartesischen
Koordinatensystem festzustellen und den zugehörigen Funk
tionswert der die Kurvengleichung bestimmenden Funktion
F(x,y) zu berechnen. Als Kurvenpunkte sind dann nur diejeni
gen Bildelemente zu deuten, deren zugeordneter Funktionswert
den Wert Null annimmt oder dem Wert Null so naheliegt, daß er
als Wert Null zu deuten ist. Alle übrigen Bildelemente, denen
ein in diesem Sinne von Null verschiedener Funktionswert ent
spricht, liegen abseits der Kurve, so daß in Abhängigkeit von
dem für jedes Bildelement ausgehend von dessen Koordinaten
berechneten Funktionswert F(x,y) der der Kurvendarstellung
entsprechende optische Zustand der Bildelemente eingestellt
werden kann. Allerdings erfordert diese jeweils von den zwei
dimensionalen Koordinatenvektoren aller Bildelemente ausge
hende Berechnung des Funktionswertes bei einer hohen Auf
lösung also bei einer hohen Anzahl von Bildelementen, auch
schon für verhältnismäßig einfache Kurvenformen einen hohen
Rechenzeitaufwand, so daß der Aufbau der Darstellung über dem
Raster mit äußerst störenden Wartezeiten verbunden ist.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren
der eingangs genannten Art zu schaffen, bei dem die Darstel
lung der Kurven auf dem Raster mit einer vielfach gestei
gerten Geschwindigkeit erfolgt, sowie eine Vorrichtung zur
Durchführung dieses Verfahrens anzugeben.
Erfindungsgemäß wird diese Aufgabe hinsichtlich des
Verfahrens dadurch gelöst, daß an einem vorgegebenen Bild
element des Rasters für dessen Koordinaten (x0,y0) der ent
sprechende Funktionswert F(x0,y0 ) sowie die Differenzen aller
Ordnungen d(x)i(y)j ermittelt werden und ausgehend von diesem
vorgegebenen Bildelement längs den beiden Koordinatenachsen
über das gesamte Raster selbsttätig fortschreitend jeweils
der Funktionswert des in der Richtung des Fortschreitens
längs der Koordinatenachsen zu einem Bildelement unmittelbar
benachbarten Bildelementes sowie die den Koordinaten dieses
benachbarten Bildelementes entsprechenden Werte der Differen
zen aller Ordnungen durch Summenbildung aus dem für das in
der Richtung des Fortschreitens vorherige Bildelement ermit
telten Funktionswert und den dafür ermittelten Differenzen
gebildet werden.
Zunächst ist darauf hinzuweisen, daß die für das erfin
dungsgemäße Verfahren an die darstellbaren Kurven gestellte
Voraussetzung einer Koordinatenunabhängigkeit, d. h. einer
Konstanz der Differenzen höherer Ordnung nach einer endlichen
Anzahl von Schritten in der Praxis keine Beschränkung bedeu
tet, weil alle in der Praxis tatsächlich verwendeten Kurven
diese Voraussetzung ohne weiteres erfüllen. Beispielsweise
lassen sich in der ebenen analytischen Geometrie die Kurven
erster, zweiter und aller höheren Ordnungen durch Kurvenglei
chungen der Form darstellen
wobei x₁ = x, x₂ = y, x₃ = 1 gilt und die Koeffizienten der
obigen Summendarstellungen in allen Indizes symmetrisch sind.
Bekanntlich beschreibt die obige Kurvengleichung (2) die
Kegelschnitte, während die obige Kurvengleichung (3) die
sogenannten B-Splines beschreibt. Wie ohne weiteres gezeigt
werden kann, sind bei diesen Beispielen der Kurven n-ter
Ordnung schon jeweils die Differenzen n-ter Ordnung konstant.
Bei dem erfindungsgemäßen Verfahren werden also nur für
die Koordinaten x0 , y0 des als Ausgangsbildelement gewählten
vorgegebenen Bildelementes der Funktionswert
F: = F(x₀, y₀) (4)
und die zu den Koordinaten x0 , y0 gehörenden Differenzen
d(x)i(y)j: = d(x)i(y)j(x₀, y₀) (5)
berechnet. Ausgehend von diesen für das vorgegebene Bildele
ment ermittelten Werten wird dann die gesamte Kurvendarstel
lung von dem vorgegebenen Bildelement aus über das gesamte
zweidimensionale Raster fortschreitend durch Iteration dieser
Werte aufgebaut, ohne daß es einer weiteren Koordinatenrech
nung bedarf. Aus der Definition der Differenzen ergeben sich
bei einem Übergang von einem Bildelement zu seinem längs der
x-Koordinatenachse unmittelbar benachbarten Bildelement der
neue Funktionswert und die neuen Werte für die Differenzen
aus der Iteration
F: = F + dx
d(x)i(y)j: = d(x)i(y)j + d(x)i+1(y)j. (6)
d(x)i(y)j: = d(x)i(y)j + d(x)i+1(y)j. (6)
Bei Übergang zwischen zwei benachbarten Bildelementen längs
der y-Koordinatenachse lautet die Iteration
F: = F + dy
d(x)i(y)j: = d(x)i(y)j + d(x)i(y)j+1. (7)
d(x)i(y)j: = d(x)i(y)j + d(x)i(y)j+1. (7)
Die für die Entscheidung, ob ein Bildelement einen Kur
venpunkt darstellt oder nicht, zu ermittelnden Funktionswerte
werden also bei dem erfindungsgemäßen Verfahren von Bildele
ment zu Bildelement weitergegeben, wobei der Übergang von dem
Funktionswert eines Bildelementes zu dem Funktionswert des
benachbarten Bildelementes nur wenige Additionsoperationen
erfordert, die im Vergleich zur Berechnung der Funktionswerte
ausgehend von ihren Koordinaten nur eine verschwindend kurze
Rechenzeit erfordern.
Selbst bei einer Rasterauflösung von 1 Million Bildzel
len lassen sich beim derzeitigen Integrationsgrad logischer
Schaltungen etwa 10 000 bis 100 000 Kurven pro Sekunde auf
dem Raster aufbauen. Durch die derzeitigen Entwicklungen zur
Erhöhung des Integrationsgrades wird eine weitere Steigerung
auf eine Milliarde oder mehr Kurven pro Sekunde möglich
sein.
Eine zweckmäßige Ausführungsform des erfindungsgemäßen
Verfahrens besteht darin, daß als das vorgegebene Bildelement
das am Koordinatenursprung liegende Bildelement mit den Koor
dinaten (0,0) gewählt wird. Bei dieser Wahl des vorgegebenen
Bildelementes breitet sich die Kurvendarstellung von dem
durch die Koordinaten x = 0, y = 0 gegebenen Eckpunkt des
zweidimensionalen Rasters über das gesamte Raster hinweg aus,
wobei die Iteration sowohl in der positiven x-Koordinaten
richtung als auch der positiven y-Koordinatenrichtung fort
schreitet.
In diesem Zusammenhang erweist es sich als besonders
vorteilhaft, daß jeweils für diejenigen Bildelemente, deren
Koordinaten (x,y) auf den Diagonalen x + y = k, wobei k eine
natürliche Zahl ist, liegen, die Ermittlung der Funktions
werte und Differenzen simultan durchgeführt wird. Da die auf
der Diagonalen liegenden Bildelemente die zur Iteration er
forderlichen Eingangswerte für F und die Differenzen jeweils
nur von dem in der einen Koordinatenrichtung links gelegenen
bzw. dem in der anderen Koordinatenrichtung unten gelegenen
Bildelement erhalten, sind die in den auf den Diagonalen
liegenden Bildelementen auszuführenden Iterationsschritte von
einander unabhängig, so daß sie gleichzeitig ausgeführt wer
den können. Dies setzt lediglich voraus, daß den auf der Dia
gonalen liegenden Bildelementen die von den vorangehenden
Bildelementen zu übergebenden Eingangswerte auch gleichzeitig
zugeführt werden, was ohne weiteres möglich ist. Durch diese
Simultanverarbeitung wird die Arbeitsgeschwindigkeit des Ver
fahrens weiter gesteigert.
Gemäß einer besonderen Ausführungsform des erfindungs
gemäßen Verfahrens ist es schon ausreichend, daß die
entsprechenden Funktionswerte und Differenzen des vorgege
benen Bildelementes und der längs einer der beiden Koordina
tenachsen mit dem vorgegebenen Bildelement fluchtenden Bild
elemente in beiden Koordinatenrichtungen fortschreitend an
die jeweils unmittelbar benachbarten Bildelemente weiterge
geben werden, wogegen die Funktionswerte und Differenzen al
ler übrigen Bildelemente fortschreitend jeweils nur an das in
der anderen Koordinatenrichtung unmittelbar benachbarte Bild
element weitergegeben werden. Wenn bei dieser Ausführungsform
beispielsweise das durch die Koordinaten 0,0 gegebene Bild
element, also das mit seinem linken unteren Eckpunkt am Ur
sprung des kartesischen Koordinatensystems liegende Bildele
ment als Startelement gewählt wird, übergibt dieses den hier
für ermittelten Funktionswert sowie die hierfür ermittelten
Differenzen sowohl an das rechts gelegene Bildelement mit den
Koordinaten x = 1, y = 0 als auch an das darüber gelegene
Bildelement mit den Koordinaten x = 0, y = 1. Während die in
dem letztgenannten, am linken Bildrand des Rasters gelegenen
Bildelement ermittelten neuen Werte für die Funktion und die
Differenzen ebenfalls wieder sowohl an das rechts gelegene
Bildelement mit den Koordinaten x = 1, y = 1 als auch an das
darüber gelegene Bildelement mit den Koordinaten x = 0, y = 2
weiterzugeben sind, brauchen die in dem nicht am linken
Bildrand gelegenen Bildelement mit den Koordinaten x = 1, y = 0
ermittelten Werte für die Funktion und die Differenzen da
gegen nur an das rechts davon gelegene Nachbarbildelement mit
den Koordinaten x = 2, y = 0 weitergegeben zu werden. Auf
diese Weise wird die gesamte für die Iteration erforderliche
Information an die beim nächsten Iterationsschritt aktiven
Bildelemente übertragen.
Gemäß einem weiteren Gedanken der Erfindung ist vorge
sehen, daß für jedes Bildelement die beiden Summen aus dessen
zugeordnetem Funktionswert und den jeweils zugeordneten Funk
tionswerten der längs den beiden Koordinatenachsen in der
Richtung des Fortschreitens unmittelbar benachbarten Bildele
mente gebildet werden, das Bildelement als inneres Bildele
ment vorgemerkt wird, wenn sein zugeordneter Funktionswert
und die beiden Summen negativ sowie für beide Koordinaten
achsen die dem Bildelement in der Richtung des Fortschreitens
unmittelbar vorangegangenen Bildelemente nicht als äußere
Bildelemente vorgemerkt sind, das Bildelement als äußeres
Bildelement vorgemerkt wird, wenn sein zugeordneter Funk
tionswert und die beiden Summen positiv sowie für die beiden
Koordinatenachsen die dem Bildelement in der Richtung des
Fortschreitens unmittelbar vorangegangenen Bildelemente nicht
als innere Bildelemente vorgemerkt sind, und das Bildelement
in seinen den Durchgang der Kurve anzeigenden Zustand ge
steuert wird, wenn das Bildelement weder als inneres noch als
äußeres Bildelement vorgemerkt wird.
Diese Maßnahme trägt der Schwierigkeit Rechnung, daß
wegen der endlichen Feinheit des Rasters der für ein einen
Kurvenpunkt darstellendes Bildelement ermittelte Funktions
wert meistens nicht exakt gleich Null sein wird. Dies läßt
sich jedoch ohne weiteres durch einen Vergleich des für die
ses Bildelement ermittelten Funktionswertes mit den für die
dazu benachbarten Bildelemente ermittelten Funktionswerten
entscheiden. Wenn nämlich beim Übergang von einem Bildelement
zum anderen der Funktionswert sein Vorzeichen wechselt, so
steht fest, daß eines dieser beiden Bildelemente einen Kur
venpunkt darstellen muß. Bei Hinnahme eines gewissen Genau
igkeitsverlustes kann somit entweder das eine oder das andere
derartige Bildelement als Kurvenpunkt angenommen werden.
Durch die speziellen Maßnahmen der vorstehenden Ver
fahrensvariante wird jedoch auch diese Ungenauigkeit behoben.
Jedes Bildelement wird dabei mit seinen beiden Nachbarbild
elementen sowohl längs der einen Koordinatenachse als auch
längs der anderen Koordinatenachse verglichen, wobei nicht
nur ein Vorzeichenwechsel erfaßt wird, sondern auch fest
gestellt wird, ob der Funktionswert des gerade betrachteten
Bildelementes gegenüber den Nachbarbildelementen angestiegen
oder abgefallen ist.
Bekanntlich wird im Kontinuum also bei unendlicher
Rasterfeinheit, ein Punkt als innerer Punkt einer Kurve be
zeichnet, wenn der Wert der die Kurvengleichung definierenden
Funktion F negativ ist. Umgekehrt definiert ein positiver
Wert der Funktion F einen äußeren Punkt der Kurve. Für die
Punkte der Kurve selbst gilt exakt F = 0. Für das zwei
dimensionale Raster endlicher Feinheit läßt sich dies dahin
gehend neu definieren, daß ein Bildelement des Rasters dann
als innerer Punkt anzusehen ist, wenn der für dieses Bild
element ermittelte Funktionswert negativ ist und die für die
vier Nachbarbildelemente ermittelten Funktionswerte entweder
ebenfalls negativ sind oder ihre Absolutwerte kleiner sind
als der Absolutwert des für das gerade betrachtete Bildele
ment ermittelten Funktionswertes. Umgekehrt stellt ein Bild
element in dem Raster einen äußeren Punkt der Kurve dar, wenn
der für dieses Bildelement ermittelte Funktionswert größer
Null ist und die Funktionswerte der vier Nachbarbildelemente
entweder positiv sind oder deren Absolutwert kleiner ist als
der für das betrachtete Bildelement ermittelte Funktionswert.
Alle anderen Bildelemente, die nicht unter diese Definition
des äußeren und inneren Kurvenpunktes fallen, stellen dann
einen Kurvenpunkt dar.
Durch die bei der vorstehenden Variante des erfindungs
gemäßen Verfahrens vorgesehene Vormerkung der im früheren
Iterationsschritt behandelten Bildelemente als innere bzw.
äußere Bildelemente vermindert sich die Anzahl der an sich
notwendigen vier Vergleichsschritte auf zwei, was zu einer
weiteren Vereinfachung und Geschwindigkeitserhöhung beiträgt.
Eine im Rahmen der Erfindung vorgesehene Vorrichtung
zur Durchführung des erfindungsgemäßen Verfahrens mit einer
Einrichtung zur Darstellung eines zweidimensionalen Rasters
von Bildelementen und einer Prozessoreinrichtung zur An
steuerung der einzelnen Bildelemente entsprechend der auf der
Rastereinrichtung darzustellenden Kurve ist erfindungsgemäß
dadurch gekennzeichnet, daß die Prozessoreinrichtung eine
Prozessoreinheit aufweist, an die der für das in der Richtung
des Fortschreitens unmittelbar vorhergehende Bildelement ge
bildete Funktionswert sowie die dafür gebildeten Differenz
werte übergeben und daraus durch Summation der neue Funk
tionswert und die neuen Differenzwerte für das in der Rich
tung des Fortschreitens folgende Bildelement gebildet werden
sowie das zugehörige Bildelement in den dem Funktionswert
entsprechenden Zustand gesteuert wird.
Wie sich aus dem erfindungsgemäßen Verfahren ergibt,
sind in der für dessen Durchführung vorgesehenen Prozessor
einheit nur einfache Additionen auszuführen, so daß jede
solche Prozessoreinheit nur einen sehr einfachen Aufbau er
fordert und für eine hohe Arbeitsgeschwindigkeit ausgelegt
sein kann. Diese besonders einfach aufgebauten Prozessorein
heiten können daher mit hoher Integrationsdichte verwirklicht
werden, so daß eine ganze Anzahl derartiger Prozessoreinhei
ten simultan betrieben werden kann, um die für die Kurvendar
stellung erforderlichen Operationen mit einem Mindestmaß an
Zeit auszuführen.
Eine im Hinblick auf die Verarbeitungsgeschwindigkeit
optimale Ausgestaltung der erfindungsgemäßen Vorrichtung be
steht darin, daß für jedes Bildelement eine eigene Prozessor
einheit vorgesehen ist, an die die durch die Prozessoreinheit
des in der Richtung des Fortschreitens unmittelbar vorher
gehenden Bildelementes gebildeten Werte übergeben werden.
Durch diese Ausbildung der erfindungsgemäßen Vorrich
tung wird die theoretisch höchstmögliche Geschwindigkeit
erreicht. Es läßt sich zeigen, daß hierfür die zur Darstel
lung von n Kurven erforderliche Zeit T gegeben ist durch
T = Δτ ((w + h)k + n ∼ 1), (8)
wobei Δτ die pro Schaltvorgang eines einzelnen logischen
Gates erforderliche Zeit und w und h die Rasterdimensionen in
beiden Koordinatenrichtungen darstellen. k ist die Anzahl der
für den Iterationsdurchgang durch ein Bildelement zu durch
laufenden logischen Gates, deren Anzahl für die in der Praxis
vorkommenden Kurven in der Größenordnung von 15 liegt.
Hierdurch wird also ein Optimum an Verarbeitungsgeschwindig
keit erreicht.
Eine in der Praxis leicht zu verwirklichende Aus
führungsform der Prozessoreinheit besteht darin, daß in jeder
Prozessoreinheit zwei den beiden Koordinatenachsen zugeord
nete Gruppen von jeweils zwei Eingänge für zwei Summanden und
einen Ausgang für die aus den beiden Summanden gebildete Sum
me aufweisenden Addierwerken vorgesehen sind, in den beiden
Gruppen an den einen Eingang des ersten Addierwerkes die
längs der betreffenden Koordinatenachse gebildete Differenz
erster Ordnung und an dessen anderen Eingang sowie den einen
Eingang des zweiten Addierwerkes jeweils die betreffende
Differenz zweiter Ordnung und von Addierwerk zu Addierwerk
fortschreitend jeweils an den anderen Eingang des jeweils
vorausgehenden Addierwerks und den einen Eingang des nach
folgenden Addierwerks die bezüglich der am einen Eingang des
vorausgehenden Addierwerkes angelegten Differenz betreffende
Differenz der nächsthöheren Ordnung angelegt wird bis zum
letzten Addierwerk, an dessen einem Eingang die betreffende
Differenz der zweithöchsten Ordnung und dessen anderem Ein
gang die betreffende konstante Differenz der höchsten Ordnung
angelegt wird und von den Ausgängen des ersten bis letzten
Addierwerkes jeweils die längs der betreffenden Koordinaten
achse iterierten Differenzen der ersten bis zweithöchsten
Ordnung abgenommen werden, und daß mindestens eine der beiden
Gruppen ein weiteres Addierwerk aufweist, dessen einem Ein
gang der Funktionswert und dessen anderem Eingang die längs
einer der beiden Koordinatenachsen gebildete Differenz erster
Ordnung zugeführt und an dessen Ausgang der längs dieser
Koordinatenachse iterierte Funktionswert abgenommen wird.
Bei diesem Aufbau ist somit sowohl für die Iteration
des Funktionswertes als auch für die Iterationen der Diffe
renzen aller vorkommenden Ordnungen ein eigenes Addierwerk
vorgesehen, so daß diese Iterationen gleichzeitig erfolgen
können. Hierdurch wird bei einem dank der Einfachheit des
Verfahrens einfachen Aufbau die Erzielung der optimalen Ver
arbeitungsgeschwindigkeit sichergestellt.
Zur Verwirklichung der in einer Ausführungsform des er
findungsgemäßen Verfahrens vorgesehenen genauen Entscheidung
über die Zugehörigkeit eines Bildelementes als Kurvenpunkt
ist in einer vorteilhaften Ausführungsform der erfindungsge
mäßen Vorrichtung ferner vorgesehen, daß in jeder Prozessor
einheit zwei jeweils einen ersten Eingang zur Verdopplung
eines daran angelegten ersten Summanden und einen zweiten
Eingang für einen zweiten Summanden sowie zwei Ausgänge für
je ein ein positives Vorzeichen bzw. ein negatives Vorzeichen
der aus dem verdoppelten ersten Summanden und dem zweiten
Summanden gebildeten Summe anzeigendes logisches Signal px,
nx, py, ny aufweisende weitere Addierwerke vorgesehen sind,
deren erste Eingänge gemeinsam von dem in der Prozessorein
heit gebildeten iterierten Funktionswert und deren zweite
Eingänge jeweils mit den in der Prozessoreinheit gebildeten,
längs den beiden Koordinatenachsen iterierten Differenzen dx,
dy erster Ordnung beaufschlagt sind, sowie eine zwei logische
Ausgangssignale i, o liefernde logische Einrichtung, die ein
gangsseitig mit den logischen Signalen px, nx, py, ny, den zu
den beiden in der Richtung des Fortschreitens längs den
beiden Koordinatenachsen unmittelbar vorangehenden Bildele
menten gehörenden logischen Ausgangssignale ix, ox, iy, oy
und zwei aus dem iterierten Funktionswert hergeleiteten, ein
positives bzw. negatives Vorzeichen des iterierten Funktions
wertes anzeigenden weiteren logischen Signalen pF, nF be
aufschlagt ist und daraus die logischen Ausgangssignale gemäß
den logischen Verknüpfungen i = nFnxny x y und o = pFpxpy x y
bildet.
Bei dieser Ausführungsform sind also zur Entscheidung
über die genaue Zugehörigkeit eines Bildelementes zur Kurve
nur zwei zusätzliche Addierwerke und eine einfach aufgebaute
logische Einrichtung erforderlich. Insbesondere ist darauf
hinzuweisen, daß in der Binärdarstellung die Verdopplung des
jeweils an den ersten Eingang der beiden Zählwerke angelegten
Summanden lediglich durch eine Verschiebung um eine Binär
stelle bewerkstelligt werden kann. Die verschiedenen logi
schen Signale oder Flags entsprechen jeweils einem einzelnen
Bit, so daß sowohl die Bildung dieser Signale als auch ihre
Weiterleitung mit einem geringstmöglichen Aufwand verbunden
ist. Sowohl die Einfachheit des Aufbaus als auch die hohe
Arbeitsgeschwindigkeit der Vorrichtung werden also durch
diese zusätzliche Entscheidungslogik nicht beeinträchtigt.
Mit besonderem Vorteil ist die erfindungsgemäße Vor
richtung derart aufgebaut, daß die Addierwerke ausschließlich
für ganzzahlige Arithmetik ausgelegt sind. Die Verwendung nur
ganzzahliger Arithmetik bedeutet keinerlei Einschränkung,
weil wegen der Endlichkeit des Rasters alle zu verarbeitenden
Größen auf ganze Zahlen normiert werden können. Bekanntlich
erlaubt aber die ganzzahlige Arithmetik besonders hohe Ar
beitsgeschwindigkeiten sowie einen besonders einfachen Auf
bau.
Weitere Merkmale, Einzelheiten und Vorteile der Er
findung ergeben sich aus der folgenden Beschreibung und der
Zeichnung, auf die bezüglich einer erfindungswesentlichen
Offenbarung aller im Text nicht erwähnten Einzelheiten aus
drücklich hingewiesen wird. Hierin zeigen:
Fig. 1 eine schematische Darstellung eines zweidimen
sionalen Rasters zur Wiedergabe von Kurven,
Fig. 2 und 3 einen schematischen Aufbau einer Prozessorein
heit zur iterativen Verarbeitung von aus einem
vorangehenden Nachbarbildelement übernommenen
Werten und Weitergabe der iterierten Werte längs
einer bzw. längs beiden Koordinatenachsen und
Fig. 4 eine durch eine Entscheidungslogik erweiterte
Ausführungsform der Prozessoreinheit von Fig. 2.
Gemäß Fig. 1 soll auf einem zweidimensionalen Raster 1
endlicher Feinheit, bei dem es sich beispielsweise um den
Bildschirm eines Sichtanzeigegeräts oder das von Matrix- oder
Laserdruckern erzeugte Raster handelt, eine durch die Funk
tion F(x,y) = 0 beschreibbare Kurve dargestellt werden. Zur
Beschreibung des Rasters 1 werden die y-Koordinatenachse und
die x-Koordinatenachse eines kartesischen Koordinatensystems
an den linken bzw. den unteren Bildrand des Rasters gelegt.
Nach entsprechender Normierung der Funktion F(x,y) spannen
die durch die ganzzahligen Werte 0, 1, 2 . . . der Koordina
tenachsen parallel zur jeweils anderen Koordinatenachse ge
zogenen Geraden die Begrenzungslinien der Bildelemente 2 des
Rasters 1 auf. Jedes Bildelement 2 werde beispielsweise durch
die Koordinaten x, y seines linken unteren Eckpunktes be
schrieben. Bei einer Einteilung des gesamten Rasters 1 in
1000 Schritte pro Koordinatenachse ergeben sich somit insge
samt 106 Bildelemente 2.
Für die Funktion F(x,y) seien in beiden Koordinaten
richtungen die von Bildelement zu Bildelement bestehenden
Differenzen
dx(x, y) = F(x + 1, y) - F(x, y)
dy(x, y) = F(x, y + 1) - F(x, y)
d(x)i+1(y)j = d(x)i(y)j(x + 1, y) - d(x)i(y)j(x, y)
d(x)i(y)j+1 = d(x)i(y)j(x, y + 1) - d(x)i(y)j(x, y), (9)
dy(x, y) = F(x, y + 1) - F(x, y)
d(x)i+1(y)j = d(x)i(y)j(x + 1, y) - d(x)i(y)j(x, y)
d(x)i(y)j+1 = d(x)i(y)j(x, y + 1) - d(x)i(y)j(x, y), (9)
wobei n = i + j als Ordnung der Differenz bezeichnet werde.
Für die in der Form F(x,y) = 0 darzustellenden Kurven
wird lediglich vorausgesetzt, daß für einen bestimmten end
lichen Wert von n die Differenzen dieser höchsten Ordnung n
konstant sind, also von den Koordinaten x, y des jeweiligen
Bildelementes unabhängig sind. Dies ist jedenfalls für alle
in technischen Darstellungen vorkommenden Kurven in der Pra
xis der Fall, wobei insbesondere die Menge aller für die
praktischen Bedürfnisse verwendeten Kurven diese Bedingungen
schon für einen verhältnismäßig kleinen Wert der Ordnung n
erfüllen.
Beispielsweise ergibt sich für die Kurven zweiter Ord
nung der analytischen Geometrie, nämlich die Kegelschnitte,
im Einklang mit der eingangs dargestellten Gleichung (2) die
allgemeine Form
F(x, y) ≡ a₁₁x² + 2a₁₂xy + a₂₂y² + 2a₁₃x + 2a₂₃y +a₃₃ = 0. (10)
Bei Anwendung der die Differenzen aller Ordnungen defi
nierenden Gleichungen (9) auf die vorstehende Kegelschnitt
gleichung (10) ergeben sich sodann die folgenden Beziehungen:
dx(x, y) = 2(a₁₁x + a₁₂y + a₁₃) + a₁₁
dy(x, y) = 2(a₁₂x + a₂₂y + a₂₃) + a₂₂
dxx(x, y) = 2a₁₁
dxy(x, y) = 2a₁₂
dyx(x, y) = 2a₁₂
dyy(x, y) = 2a₂₂ (11)
dy(x, y) = 2(a₁₂x + a₂₂y + a₂₃) + a₂₂
dxx(x, y) = 2a₁₁
dxy(x, y) = 2a₁₂
dyx(x, y) = 2a₁₂
dyy(x, y) = 2a₂₂ (11)
Für die Kurven zweiter Ordnung sind also bereits die
Differenzen zweiter Ordnung konstant, und es läßt sich zei
gen daß allgemein für die bei einem Übergang der eingangs
unter den Gleichungen (1) bis (3) dargestellten Funktionen zu
Kurven einer beliebigen höheren Ordnung n jeweils die Diffe
renzen der Ordnung n konstant sind.
Zum Aufbau der Kurvendarstellung auf dem Raster 1 wird
beispielsweise das an der linken unteren Bildecke des Rasters
1 befindliche Bildelement 2 mit den Koordinaten x = 0, y = 0
als Anfangsbildelement gewählt. Dann werden für dieses spezi
elle Bildelement gemäß den eingangs dargestellten Gleichungen
(4) und (5) der Funktionswert und die Differenzen aller auf
tretenden Ordnungen bestimmt. Im einzelnen ergeben sich hier
bei für die Kurven zweiter Ordnung gemäß Gleichung (10) und
(11) die Werte
F(0, 0) = a₃₃
dx(0, 0) = 2a₁₃ + a₁₁
dy(0, 0) = 2a₂₃ + a₂₂. (12)
dx(0, 0) = 2a₁₃ + a₁₁
dy(0, 0) = 2a₂₃ + a₂₂. (12)
Die Werte der Differenzen zweiter Ordnung sind für das
vorliegende Beispiel der Kurven zweiter Ordnung gemäß Glei
chung (11) bereits konstant, wobei diese konstanten Werte aus
letzterer entnommen werden können. Nachdem somit für das An
fangsbildelement mit den Koordinaten x = 0, y = 0 die Werte
für F und alle Differenzen wie vorstehend im Einklang mit den
eingangs wiedergegebenen Gleichungen (4) und (5) bestimmt
sind, werden schrittweise für alle längs der x-Achse und der
y-Achse benachbarten Bildzellen die folgenden Iterationen
durchgeführt:
- 1. Die Bildzelle übernimmt von der in der Richtung des Fortschreitens gesehen vorangehenden Bildzelle die dort ermittelten Werte für F, dx, dy, dxx = 2a11, dxy = dyx = 2a₁₂ und dyy = 2a22.
- 2. Falls das Bildelement nicht am linken Rand des Rasters 1
liegt (x < 0),
- 2.a ermittelt das Bildelement im Einklang mit der eingangs niedergelegten Gleichung (6) neue Werte für F, dx und dy gemäß F : = F + dx, dx := dx + dxx, dy := dy + dxyDiese drei Additionen können gleichzeitig ausgeführt werden.
- 2.b Durch Untersuchen des Verhaltens des Vorzeichens von F beim Übergang von dem einen Bildelement zu dem ande ren, d. h. durch Erfassung eines bei diesem Übergang stattfindenden Vorzeichenwechsels, wird entschieden, ob das Bildelement oder Pixel ein Kurvenpunkt ist und daher dieses Bildelement, beispielsweise durch Farb änderung, optisch unterschiedlich darzustellen ist.
- 2.c Das Bildelement gibt die neuen Werte für F und die Differenzen an das rechts benachbarte Bildelement wei ter.
- 3. Wenn das Bildelement oder Pixel am linken Rand des Rasters
1 liegt (x = 0),
- 3.a berechnet das Bildelement die neuen Werte für F, dx und dy gemäß der eingangs niedergelegten allgemeinen Iterationsgleichung (7) als F : = F + dy, dx : = dx + dxy, dy : = dy + dyy. Auch diese drei Additionen können gleichzeitig ausgeführt werden.
- 3.b Die Behandlung des Bildelementes als Kurvenpunkt oder von der Kurve abseits gelegener Punkt erfolgt sodann wie in dem oben erläuterten Schritt 2.b.
- 3.c Das Bildelement gibt den neuen Funktionswert und die iterierten Differenzen sowohl an das rechts gelegene, also das in der x-Richtung benachbarte Bildelement als auch an das darüber gelegene, also an das in der y- Koordinatenrichtung benachbarte Bildelement weiter.
Aus dem vorstehend beispielhaft für Kurven zweiter
Ordnung dargestellten Ablauf der einzelnen Schritte ist also
ersichtlich, daß ausgehend von dem am Koordinatenursprung
liegenden Bildelement jeweils die durch die Koordinatenbe
ziehung x + y = k, wobei k eine natürliche Zahl ist, gege
benen Bildelemente bearbeitet werden. Der Aufbau der Kurven
darstellung auf dem Raster 1 schreitet somit nach Art einer
sich längs der Diagonalen x + y = k erstreckenden Wellenfront
mit dazu senkrechter Ausbreitungsrichtung fort.
Für die eingangs unter Gleichung (3) definierten Kurven
dritter Ordnung (B-Splines) ergibt sich in ausgeschriebener
Form
a₁₁₁x³ + 3a₁₁₂x²y + 3a₁₂₂xy² + a₂₂₂y³ + 3a₁₁₃x² + 6a₁₂₃xy + 3a₂₂₃y² + 6a₁₃₃x + 6a₂₃₃y + a₃₃₃ = 0. (13)
Die hieraus zu entnehmenden konstanten Differenzen
dritter Ordnung lauten dann
dxxx = 6a₁₁₁
dxyx = 6a₁₁₂
dyyx = 6a₁₂₂
dxxy = 6a₁₁₂
dxyy = 6a₁₂₂
dyyy = 6a₂₂₂. (14)
dxyx = 6a₁₁₂
dyyx = 6a₁₂₂
dxxy = 6a₁₁₂
dxyy = 6a₁₂₂
dyyy = 6a₂₂₂. (14)
Der dem vorstehend für die Kurven zweiter Ordnung
beschriebenen Iterationsschritt 2.a entsprechende Schritt
lautet dann für die Kurven dritter Ordnung
F: = F + dx
dx: = dx + dxx
dy: = dy + dxy
dxx: = dxx + dxxx
dxy: = dxy + dxyx
dyy: = dyy + dyyx.
dx: = dx + dxx
dy: = dy + dxy
dxx: = dxx + dxxx
dxy: = dxy + dxyx
dyy: = dyy + dyyx.
Ebenso lautet der dem Schritt 3.a bei Kurven zweiter
Ordnung entsprechende Schritt
F: = F +dy
dx: = dx + dxy
dy: = dy + dyy
dxx: = dxx + dxxy
dxy: = dxy + dxyy
dyy: = dyy + dyyy.
dx: = dx + dxy
dy: = dy + dyy
dxx: = dxx + dxxy
dxy: = dxy + dxyy
dyy: = dyy + dyyy.
Eine zur Durchführung des Verfahrens dienende Pro
zessoreinrichtung, durch die die einzelnen Bildelemente 2 in
Abhängigkeit von ihrer Eigenschaft, Kurvenpunkt zu sein oder
nicht, in einen entsprechenden optischen Zustand gesteuert
werden, weist gemäß Fig. 2 und 3 mindestens eine Prozessor
einheit 3,3′ auf, die eingangsseitig die für ein bereits
bearbeitetes Bildelement 2 ermittelten Werte empfängt, daraus
gemäß dem vorstehend beschriebenen Iterationsverfahren die
für das in der Richtung des Fortschreitens unmittelbar be
nachbarte Bildelement 2 zutreffenden Werte bildet und diese
neu gebildeten Werte an das in der Richtung des Fortschrei
tens nächstbenachbarte Bildelement 2 weitergibt. Fig. 2
veranschaulicht diejenige Situation, bei der die Prozessor
einheit 3 die Werte von einem längs der x-Koordinatenachse
vorangehenden Bildelement 2 empfängt und die neuen Werte an
das in der Richtung des Fortschreitens längs der x-Koordi
natenachse benachbarte Bildelement 2 weiterleitet. Ein zwei
Eingänge 5, 6 aufweisendes Addierwerk 7 empfängt an seinem
einen Eingang 5 die längs der y-Koordinatenachse gebildete
Differenz dy erster Ordnung und an seinem zweiten Eingang 6
die zu deren Iteration längs der x-Koordinatenachse erfor
derliche Differenz dyx zweiter Ordnung. Bei der in Fig. 2
beispielhaft vorgenommenen Beschränkung der Prozessoreinheit
3 auf die Verarbeitung von Kurven bis zur zweiten Ordnung ist
bereits die Differenz zweiter Ordnung konstant, so daß deren
Iteration nicht erforderlich ist und diese unverändert auf
einen Ausgang 8 der Prozessoreinheit 3 weitergegeben werden
kann. Dagegen tritt an dem Ausgang 9 des Addierwerkes 7 der
zur Weitergabe an die Prozessoreinheit 3 des benachbarten
Bildelementes 2 dienende iterierte Wert der Differenz dy er
ster Ordnung auf.
Ähnlich ist auch für die Iteration der längs der x-
Koordinatenachse gebildeten Differenz dx erster Ordnung ein
zwei Eingänge 10, 11 aufweisendes Addierwerk 12 vorgesehen,
dessen einem Eingang 10 die Differenz dx erster Ordnung längs
der x-Koordinatenachse und dessen anderem Eingang 11 die zur
Iteration dieser Differenz erster Ordnung erforderliche Dif
ferenz dxx zweiter Ordnung zugeführt wird. Wegen der für
Kurven zweiter Ordnung festgestellten Konstanz der Diffe
renzen zweiter Ordnung wird diese keiner weiteren Iteration
unterzogen, sondern unverändert zu einem Ausgang 13 der Pro
zessoreinheit 3 weitergeleitet. Am Ausgang 14 des Addier
werkes 12 steht der iterierte Wert der Differenz dx erster
Ordnung längs der x-Koordinatenachse zur Verfügung.
Das in Fig. 2 dargestellte Beispiel für die Prozes
soreinheit 3 ermöglicht somit die parallele Berechnung aller
benötigten Differenzen für Kurven bis zur zweiten Ordnung.
Für Kurven höherer Ordnungen müssen nach den vorstehenden
Erläuterungen auch die weiteren Differenzen bis zur vor
letzten Ordnung iteriert werden. Dies würde bei dem in Fig. 2
dargestellten Aufbau der Prozessoreinheit 3 mit nur zwei der
Iteration der Differenzen dienenden Addierwerken 7 und 12
einen mehrfachen Durchlauf durch die Prozessoreinheit 3 er
fordern. Um auch für höhere Ordnungen den Vorteil der Ge
schwindigkeit einer Parallelverarbeitung zur Verfügung zu
stellen, braucht das in Fig. 2 dargestellte Beispiel nur um
eine entsprechende Anzahl weiterer Addierwerke ergänzt zu
werden. An die Stelle der Addierwerke 7 und 12 von Fig. 3
tritt dann jeweils eine ganze Gruppe identischer Addierwerke
7 bzw. 12, wobei in jeder dieser beiden Gruppen dem ersten
Addierwerk 7 bzw. 12 an seinem einen Eingang 5 bzw. 10 die
längs der betreffenden Koordinatenachse gebildete Differenz
erster Ordnung und an seinem anderen Eingang 6 bzw. 11 die zu
deren Iteration benötigte Differenz zweiter Ordnung zugelei
tet wird. Gleichzeitig wird diese Differenz zweiter Ordnung
dem jeweils nächsten Addierwerk 7 bzw. 12 an dessen einem
Eingang 5 bzw. 10 zugeleitet, wogegen dessen anderer Eingang
6 bzw. 11 mit der betreffenden Differenz nächsthöherer
Ordnung beaufschlagt ist. Dies setzt sich bis zum jeweils
letzten Addierwerk 7 bzw. 12 der beiden Gruppen fort, so daß
also das jeweils letzte Addierwerk 7 bzw. 12 an seinem einen
Eingang 5 bzw. 10 mit der betreffenden Differenz zweit
höchster Ordnung und an seinem anderen Eingang 6 bzw. 11 mit
der konstanten Differenz höchster Ordnung beaufschlagt ist.
Folglich können von den Ausgängen 9 bzw. 14 der in diesen
Gruppen zusammengeschlossenen Addierwerke 7 bzw. 12 die
iterierten Differenzen bis zur gewünschten Ordnung abgenommen
werden. Damit bleibt auch bei Kurven höherer Ordnungen der
Vorteil einer schnellen Parallelverarbeitung gewahrt. Für das
vorstehend näher erläuterte Beispiel der Kurven dritter
Ordnung muß also zu den in Fig. 2 dargestellten Addierwerken
7 und 12 jeweils nur ein einziges weiteres Addierwerk hinzu
gefügt werden.
Da in dem in Fig. 2 dargestellten Fall die Prozessor
einheit 3 die Eingangswerte von einem längs der x-Koordina
tenachse gesehen linken Nachbarbildelement 2 erhält und daher
gemäß dem vorstehend beschriebenen Ausführungsbeispiel des
Verfahrens die Iteration des Funktionswertes F in der x-
Richtung auszuführen sowie an das in der x-Koordinatenachse
gesehen rechte Nachbarbildelement 2 weiterzugeben hat, ist
dem Addierwerk 12 bzw. der Gruppe von Addierwerken 12 ein
weiteres Addierwerk 15 zugeordnet, dessen einem Eingang 16
der von links übernommene Funktionswert F und dessen anderem
Eingang 17 die von links übernommene Differenz dx erster
Ordnung längs der x-Koordinatenachse zugeführt wird. In Über
einstimmung mit der eingangs dargestellten Gleichung (6) kann
dann am Ausgang 18 des zusätzlichen Addierwerkes 15 der in
der x-Richtung an das nächstbenachbarte Bildelement 2 weiter
zugebende iterierte Funktionswert F abgenommen werden.
Bei der in Fig. 3 dargestellten Prozessoreinheit 3′
herrschen dieselben baulichen und funktionellen Gegebenheiten
wie bei der vorstehend im Zusammenhang mit Fig. 2 erläuterten
Prozessoreinheit 3 mit der einzigen Ausnahme, daß die Prozes
soreinheit 3′ zur Bearbeitung der am linken Rand des Rasters
1 gelegenen Bildzellen 2 dient, die ihre Eingangswerte nicht
von links, sondern von dem längs der y-Koordinatenachse be
nachbarten Bildelement 2, also von unten, erhält. Abgesehen
davon besteht noch ein Unterschied gegenüber Fig. 2 darin,
daß die Prozessoreinheit 3′ wegen der Lage des zugeordneten
Bildelementes 2 am linken Rasterrand die in der Prozessor
einheit 3′ gebildeten iterierten Werte nicht nur nach rechts
längs der x-Koordinatenachse zu dem dort benachbarten Bild
element 2, sondern auch nach oben längs der y-Koordinaten
achse zu dem vertikal benachbarten Bildelement 2 weitergibt.
Die in der Prozessoreinheit 3′ durchgeführten Iterationen er
folgen somit gemäß der eingangs dargestellten Gleichung (7),
wobei die einzelnen Differenzen an der Eingangsseite und
der Ausgangsseite in Fig. 3 im einzelnen angegeben sind. Im
übrigen sind einander entsprechende Bauteile in Fig. 2 und 3
mit denselben Bezugszeichen bezeichnet. Ferner wird darauf
hingewiesen, daß die Ausführungen von Fig. 2 wegen der Er
weiterung auf die Parallelverarbeitung Kurven höherer Ordnung
entsprechend zutreffen.
Wegen der endlichen Feinheit des Rasters 1 ist für die
Koordinaten x, y derjenigen Punkte, durch die die durch die
Gleichung F(x,y) = 0 definierte Kurve hindurchgeht, der Wert
von F im allgemeinen nicht exakt gleich Null. Daher ist der
zu einem gerade betrachteten Bildelement 2 gehörende Funk
tionswert allein nicht ausreichend, für dieses Bildelement 2
die Entscheidung zu treffen, ob es als Darstellung eines Kur
venpunktes behandelt werden soll oder nicht. Diese Entschei
dung ergibt sich aber aus einem Vergleich des für das jeweils
betrachtete Bildelement 2 ermittelten Funktionswertes mit den
für die zwei Paare von längs beiden Koordinatenachsen zu dem
gerade betrachteten Bildelement 2 benachbarten Bildelemente 2
ermittelten Funktionswerten.
Eine Möglichkeit dieses Vergleichs besteht darin, die
im Kontinuum gebräuchliche Definition für die abseits der
Kurve F(x,y) = 0 gelegenen Punkte als innerer Punkt, wenn
F(x,y) < 0,und als äußerer Punkt, wenn F(x,y) < 0, auf den Fall
des Rasters 1 von endlicher Feinheit zu übertragen. Danach
entspricht ein Bildelement 2 einem inneren Punkt der Kurve,
wenn der diesem Bildelement 2 zugeordnete Funktionswert F < 0
ist und die Funktionswerte für die zu diesem Bildelement 2
längs der beiden Koordinatenachsen unmittelbar benachbarten
vier Bildelemente 2 ebenfalls negativ oder betragsmäßig nicht
größer sind als der Betrag des zu dem betrachteten Bild
element 2 gehörenden Funktionswertes. Ebenso ergibt sich die
Definition eines einen äußeren Kurvenpunkt darstellenden
Bildelementes 2 dadurch, daß der für dieses Bildelement 2
ermittelte Funktionswert F größer Null ist und die Funktions
werte der vier benachbarten Bildelemente alle positiv sind
oder betragsmäßig kleiner sind als der zu dem betrachteten
Bildelement 2 gehörende Funktionswert. Bildelemente 2, die
weder im Sinne dieser Definition einem äußeren oder einem in
neren Kurvenpunkt entsprechen, stellen dann einen Kurvenpunkt
dar.
Für die iterative Durchführung dieses Vergleichs werden
daher die bereits bearbeiteten Nachbarbildelemente 2 eines
gerade betrachteten Bildelementes 2, in dem vorstehend be
schriebenen Ausführungsbeispiel also das längs der x-Koordi
natenachse links gelegene Bildelement 2 und das längs der y-
Koordinatenachse unterhalb des gerade betrachteten Bildele
mentes 2 gelegene Bildelement 2, jeweils durch zwei logische
Signale (Flags) vorgemerkt, von denen das eine logische Si
gnal i durch seinen Wahrheitswert 1 anzeigt, daß das vorher
gehende Bildelement 2 einem inneren Kurvenpunkt entspricht
und das andere logische Signal o durch seinen Wahrheitswert 1
anzeigt, daß das vorangegangene Bildelement 2 einem äußeren
Kurvenpunkt entspricht.
Für den Vergleich mit den in der Richtung des Fort
schreitens nachfolgenden Bildelementen 2, also im beschrie
benen Ausführungsbeispiel die beiden dem gerade betrachteten
Bildelement 2 in der x-Koordinatenrichtung und der y-Koordi
natenrichtung unmittelbar benachbarten Bildelemente 2, wird
bei der Bearbeitung des gerade betrachteten Bildelements 2
die Summe aus dem für das gerade betrachtete Bildelement 2
ermittelten Funktionswert F und dem für das benachbarte Bild
element 2 jeweils geltenden Funktionswert F + dx bzw. F + dy
gebildet und das Vorzeichen der solchermaßen gebildeten Sum
men erfaßt. Dadurch ergeben sich bei der Bearbeitung des ge
rade betrachteten Bildelements 2 vier logische Signale px,
nx, py und ny (Flags), die ihren Wahrheitswert 1 unter genau
den nachstehenden Bedingungen annehmen:
2F + dx < 0, dann px wahr
2F + dx < 0, dann nx wahr
2F + dy < 0, dann py wahr
2F + dy < 0, dann ny wahr. (15)
2F + dx < 0, dann nx wahr
2F + dy < 0, dann py wahr
2F + dy < 0, dann ny wahr. (15)
Wenn also der für das gerade betrachtete Bildelement 2
gebildete Funktionswert F positiv ist, was durch den Wahr
heitswert 1 eines weiteren logischen Signals (Flag) pF ange
zeigt werden kann, stellt das gerade betrachtete Bildelement
2 ein einem äußeren Kurvenpunkt entsprechendes Bildelement
dar, sofern gleichzeitig auch die logischen Signale px und py
sowie die von den in den beiden Koordinatenrichtungen voran
gegangenen Bildelementen 2 zugeführten negierten Signale x
und y wahr sind. Umgekehrt entspricht das gerade betrachtete
Bildelement 2 einem inneren Kurvenpunkt, wenn der für dieses
Bildelement 2 ermittelte Funktionswert F negativ ist und
gleichzeitig die logischen Signale nx und ny sowie die von
den beiden vorhergehenden Nachbarbildelementen 2 zugeführten
invertierten logischen Signale x und y wahr sind. Sofern
keines der beiden auf diese Weise für das gerade betrachtete
Bildelement 2 ermittelten logischen Signale i und o wahr ist,
entspricht dieses Bildelement 2 einem Kurvenpunkt und wird in
einen entsprechenden Zustand gesteuert.
Der vorstehend beschriebene Ablauf läßt sich bei den
anhand von Fig. 2 und 3 beispielhaft erläuterten Prozessoreinheiten
3 und 3′ mit einem geringfügigen zusätzlichen baulichen Auf
wand verwirklichen. Eine derartige Prozessoreinheit 3′′ ist in
Fig. 4 dargestellt, wobei die den Bauteilen von Fig. 2 ent
sprechenden Komponenten mit denselben Bezugszeichen bezeich
net sind wie in Fig. 2. Im einzelnen sind in Fig. 4 zusätz
lich zu den Komponenten der in Fig. 2 dargestellten Prozes
soreinheit 3 zwei weitere Addierwerke 19 und 20 vorgesehen.
Ein jeweils erster Eingang 21 bzw. 22 der zusätzlichen Ad
dierwerke 19, 20, dem jeweils der für das gerade betrachtete
Bildelement 2 ermittelte, iterierte Funktionswert F aus dem
Addierwerk 15 zugeführt wird hat die Eigenschaft, daß der
zugeführte Funktionswert F für den Additionsvorgang der Ad
dierwerke 19, 20 zunächst verdoppelt wird, was in der Binär
darstellung einer einfachen Verschiebung um eine Digital
stelle entspricht. Dem jeweils zweiten Eingang 23 bzw. 24 der
Addierwerke 19, 20 wird der iterierte Wert der Differenz er
ster Ordnung dx in der x-Richtung bzw. der iterierten Diffe
renz dy in der y-Richtung aus den Addierwerken 12 bzw. 7
zugeführt, wobei die Addierwerke 19, 20 lediglich mit Aus
gängen für das Vorzeichen der darin gebildeten Summen dar
stellende logische Signale, also die logischen Signale px und
nx beim Addierwerk 19 und py und ny beim Addierwerk 20, ver
sehen sind. Ferner ist das den iterierten Funktionswert lie
fernde Addierwerk 15 durch zwei Ausgänge für dem Vorzeichen
der darin gebildeten Summe entsprechende Signale, also die
logischen Signale pF und nF, ergänzt.
Schließlich weist die Prozessoreinheit 3′′ eine in dem
dargestellten Ausführungsbeispiel durch zwei UND-Glieder
25, 26 gebildete logische Einrichtung auf, an deren beiden
Ausgängen 27, 28 die logischen Signale i bzw. o zur Weitergabe
bei der Bearbeitung der benachbarten Bildelemente 2 auftre
ten. Die beiden UND-Glieder 25, 26 weisen je drei nicht inver
tierende und zwei invertierende Eingänge auf, wobei an die
nicht invertierenden Eingänge des UND-Gliedes 25 die logi
schen Signale nF, ny und nx und an die invertierenden Ein
gänge die logischen Signale ox und oy angelegt sind, wogegen
die nicht invertierenden Eingänge des UND-Gliedes 26 mit den
Signalen pF, py und px sowie die invertierenden Eingänge mit
den logischen Signalen ix und iy aus den beiden Nachbarbild
elementen 2 beaufschlagt sind. Somit liefern die beiden UND-
Glieder 25, 26 die gewünschten Signale i = nFnxny x y und
o = pFpxpy x y. Die Vorgabe der für diesen Iterationsvorgang
erforderlichen Anfangswerte von ix, iy, ox, oy bei Bearbei
tung der am linken und am unteren Bildrand des Rasters 1
gelegenen Bildelemente 2 stellt kein Problem dar, weil hier
für das Raster 1 um eine fiktive, links bzw. unterhalb dieser
beiden Bildränder gelegene Spalte bzw. Zeile von Bildelemen
ten angenommen werden kann, wobei diese Spalte und Zeile also
außerhalb der Darstellung liegt und somit hierfür die An
fangswerte entsprechend gewählt werden können.
Aus der vorstehenden Beschreibung ist ohne weiteres
ersichtlich, daß wegen der endlichen Feinheit des Rasters 1
eine Normierung auf nur ganzzahlige Werte möglich ist, so
daß sämtliche Addierwerke 7, 12, 15, 19 und 20 lediglich für
ganzzahlige Arithmetik ausgelegt werden müssen. Die Prozes
soreinheiten 3, 3′ und 3′′ weisen daher eine hohe Verarbei
tungsgeschwindigkeit auf und sind gleichzeitig baulich ein
fach und für einen hohen Integrationsgrad geeignet.
Claims (10)
1. Verfahren zur Darstellung von Kurven in einem zwei
dimensionalen Raster von Bildelementen, bei dem die einzelnen
Bildelemente in Abhängigkeit von dem Durchgang oder Nicht
durchgang der Kurve durch das jeweilige Bildelement in von
einander optisch unterscheidbare Zustände versetzt werden,
wobei die Kurve durch eine zweidimensionale Kurvengleichung
der Form F(x,y) = 0 darstellbar ist und sowohl in der x-Koor
dinatenrichtung als auch in der y-Koordinatenrichtung des
Rasters die Differenzen erster Ordnung dx(x,y) = F(x+1,y) -
F(x,y) und dy(x,y) = F(x,y+1) - F(x,y) der Funktionswerte an
den Koordinaten (x+1,y) und (x,y) bzw. (x,y+1) und (x,y) je
weils benachbarter Bildelemente bzw. alle aus diesen Diffe
renzen dx, dy erster Ordnung zwischen den Koordinaten benach
barter Bildelemente schrittweise gebildeten weiteren Diffe
renzen höherer Ordnung d(x)i(y)j nach einer endlichen Anzahl
i + j = n von Schritten jeweils einen für die Koordinaten al
ler Bildelemente gleichen konstanten Wert annehmen, dadurch
gekennzeichnet, daß an einem vorgegebenen Bildelement des
Rasters für dessen Koordinaten (x0,y0) der entsprechende
Funktionswert F(x0,y0) sowie die Differenzen aller Ordnungen
d(x)i(y)j ermittelt werden und ausgehend von diesem vorgege
benen Bildelement längs den beiden Koordinatenachsen über das
gesamte Raster selbsttätig fortschreitend jeweils der Funk
tionswert des in der Richtung des Fortschreitens längs der
Koordinatenachsen zu einem Bildelement unmittelbar benachbar
ten Bildelementes sowie die den Koordinaten dieses benachbar
ten Bildelementes entsprechenden Werte der Differenzen aller
Ordnungen durch Summenbildung aus dem für das in der Richtung
des Fortschreitens vorherige Bildelement ermittelten Funk
tionswert und den dafür ermittelten Differenzen gebildet
werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß als das vorgegebene Bildelement das am Koordinatenur
sprung liegende Bildelement mit den Koordinaten (0,0) gewählt
wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet,
daß jeweils für diejenigen Bildelemente, deren Koordinaten
(x,y) auf den Diagonalen x + y = k, wobei k eine natürliche
Zahl ist, liegen, die Ermittlung der Funktionswerte und Dif
ferenzen simultan durchgeführt wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß die entsprechenden Funktionswerte und
Differenzen des vorgegebenen Bildelementes und der längs
einer der beiden Koordinatenachsen mit dem vorgegebenen Bild
element fluchtenden Bildelemente in beiden Koordinatenrich
tungen fortschreitend an die jeweils unmittelbar benachbarten
Bildelemente weitergegeben werden, wogegen die Funktionswerte
und Differenzen aller übrigen Bildelemente fortschreitend
jeweils nur an das in der anderen Koordinatenrichtung unmit
telbar benachbarte Bildelement weitergegeben werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß für jedes Bildelement die beiden Summen
aus dessen zugeordnetem Funktionswert und den jeweils zuge
ordneten Funktionswerten der längs den beiden Koordinatenach
sen in der Richtung des Fortschreitens unmittelbar benachbar
ten Bildelemente gebildet werden, das Bildelement als inneres
Bildelement vorgemerkt wird, wenn sein zugeordneter Funk
tionswert und die beiden Summen negativ sowie für beide Ko
ordinatenachsen die dem Bildelement in der Richtung des Fort
schreitens unmittelbar vorangegangenen Bildelemente nicht als
äußere Bildelemente vorgemerkt sind, das Bildelement als
äußeres Bildelement vorgemerkt wird, wenn sein zugeordneter
Funktionswert und die beiden Summen positiv sowie für die
beiden Koordinatenachsen die dem Bildelement in der Richtung
des Fortschreitens unmittelbar vorangegangenen Bildelemente
nicht als innere Bildelemente vorgemerkt sind, und das Bild
element in seinen den Durchgang der Kurve anzeigenden Zustand
gesteuert wird, wenn das Bildelement weder als inneres noch
als äußeres Bildelement vorgemerkt wird.
6. Vorrichtung zur Durchführung des Verfahrens nach
einem der Ansprüche 1 bis 5, mit einer Einrichtung zur Dar
stellung eines zweidimensionalen Rasters (1) von Bildele
menten (2) und einer Prozessoreinrichtung zur Ansteuerung der
einzelnen Bildelemente (2) entsprechend der auf der Raster
einrichtung darzustellenden Kurve, dadurch gekennzeichnet,
daß die Prozessoreinrichtung eine Prozessoreinheit (3, 3′,3′′)
aufweist, an die der für das in der Richtung des Fortschrei
tens unmittelbar vorhergehende Bildelement (2) gebildete
Funktionswert (F) sowie die dafür gebildeten Differenzwerte
(d(x)id(y)j) übergeben und daraus durch Summation der neue
Funktionswert und die neuen Differenzwerte für das in der
Richtung des Fortschreitens folgende Bildelement (2) gebildet
werden sowie das zugehörige Bildelement (2) in den dem Funk
tionswert entsprechenden Zustand gesteuert wird.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet,
daß für jedes Bildelement (2) eine eigene Prozessoreinheit
(3, 3′,3′′) vorgesehen ist, an die die durch die Prozessor
einheit des in der Richtung des Fortschreitens unmittelbar
vorhergehenden Bildelementes (2) gebildeten Werte übergeben
werden.
8. Vorrichtung nach Anspruch 6 oder 7, dadurch gekenn
zeichnet, daß in jeder Prozessoreinheit (3, 3′,3′′) zwei den
beiden Koordinatenachsen zugeordnete Gruppen von jeweils zwei
Eingängen (5, 6; 10, 11) für zwei Summanden und einen Ausgang (9;
14) für die aus den beiden Summanden gebildete Summe auf
weisenden Addierwerken (7, 12) vorgesehen sind, in den beiden
Gruppen an den einen Eingang (5; 10) des ersten Addierwerkes
(7, 12) die längs der betreffenden Koordinatenachse gebildete
Differenz erster Ordnung und an dessen anderen Eingang (6; 11)
sowie den einen Eingang (5, 10) des zweiten Addierwerkes je
weils die betreffende Differenz zweiter Ordnung und von Ad
dierwerk zu Addierwerk fortschreitend jeweils an den anderen
Eingang (6; 11) des jeweils vorausgehenden Addierwerks und den
einen Eingang (5, 10) des nachfolgenden Addierwerks die bezüg
lich der am einen Eingang (5, 10) des vorausgehenden Addier
werkes angelegten Differenz betreffende Differenz der nächst
höheren Ordnung angelegt wird bis zum letzten Addierwerk, an
dessen einem Eingang (5; 10) die betreffende Differenz der
zweithöchsten Ordnung und dessen anderem Eingang (6; 11) die
betreffende konstante Differenz der höchsten Ordnung angelegt
wird und von den Ausgängen (9; 14) des ersten bis letzten
Addierwerkes jeweils die längs der betreffenden Koordinaten
achse iterierten Differenzen der ersten bis zweithöchsten
Ordnung abgenommen werden, und daß mindestens eine der beiden
Gruppen ein weiteres Addierwerk (15) aufweist, dessen einem
Eingang (16) der Funktionswert und dessen anderem Eingang
(17) die längs einer der beiden Koordinatenachsen gebildete
Differenz erster Ordnung zugeführt und an dessen Ausgang (18)
der längs dieser Koordinatenachse iterierte Funktionswert ab
genommen wird.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet,
daß in jeder Prozessoreinheit (3′′) zwei jeweils einen ersten
Eingang (21; 22) zur Verdopplung eines daran angelegten ersten
Summanden und einen zweiten Eingang (23; 24) für einen zweiten
Summanden sowie zwei Ausgänge für je ein ein positives Vor
zeichen bzw. ein negatives Vorzeichen der aus dem verdop
pelten ersten Summanden und dem zweiten Summanden gebildeten
Summe anzeigendes logisches Signal px, nx, py, ny aufweisende
weitere Addierwerke (19, 20) vorgesehen sind, deren erste Ein
gänge (21; 22) gemeinsam von dem in der Prozessoreinheit (3′′)
gebildeten iterierten Funktionswert und deren zweite Eingänge
(23; 24) jeweils mit den in der Prozessoreinheit (3′′) gebilde
ten, längs den beiden Koordinatenachsen iterierten Differen
zen dx, dy erster Ordnung beaufschlagt sind, sowie eine zwei
logische Ausgangssignale i, o liefernde logische Einrichtung
(25, 26), die eingangsseitig mit den logischen Signalen px,
nx, py, ny, den zu den beiden in der Richtung des Fortschrei
tens längs den beiden Koordinatenachsen unmittelbar vorange
henden Bildelementen (2) gehörenden logischen Ausgangssignalen
ix, ox, iy, oy und zwei aus dem iterierten Funktionswert
hergeleiteten, ein positives bzw. negatives Vorzeichen des
iterierten Funktionswertes anzeigenden weiteren logischen
Signalen pF, nF beaufschlagt ist und daraus die logischen
Ausgangssignale gemäß den logischen Verknüpfungen i =
nFnxny x y und o = pFpxpy x y bildet.
10. Vorrichtung nach einem der Ansprüche 6 bis 9,
dadurch gekennzeichnet, daß die Addierwerke (7, 12, 15, 19, 20)
ausschließlich für ganzzahlige Arithmetik ausgelegt sind.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19904000021 DE4000021A1 (de) | 1990-01-02 | 1990-01-02 | Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19904000021 DE4000021A1 (de) | 1990-01-02 | 1990-01-02 | Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementen |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4000021A1 true DE4000021A1 (de) | 1991-07-04 |
Family
ID=6397559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19904000021 Withdrawn DE4000021A1 (de) | 1990-01-02 | 1990-01-02 | Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4000021A1 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0568359A2 (de) * | 1992-04-29 | 1993-11-03 | Canon Kabushiki Kaisha | Grafisches System |
EP0568360A2 (de) * | 1992-04-29 | 1993-11-03 | Canon Kabushiki Kaisha | Grafisches System mit Anwendung von quadratischen Polynomelementen |
AU667892B2 (en) * | 1992-04-29 | 1996-04-18 | Canon Kabushiki Kaisha | A real-time object based graphics sytems |
AU669696B2 (en) * | 1992-04-29 | 1996-06-20 | Canon Kabushiki Kaisha | Object based graphics using quadratic polynomial fragments |
-
1990
- 1990-01-02 DE DE19904000021 patent/DE4000021A1/de not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0568359A2 (de) * | 1992-04-29 | 1993-11-03 | Canon Kabushiki Kaisha | Grafisches System |
EP0568360A2 (de) * | 1992-04-29 | 1993-11-03 | Canon Kabushiki Kaisha | Grafisches System mit Anwendung von quadratischen Polynomelementen |
EP0568360A3 (en) * | 1992-04-29 | 1994-05-11 | Canon Kk | Graphics system using quadratic polynomial fragments |
EP0568359A3 (en) * | 1992-04-29 | 1994-05-11 | Canon Kk | Graphics system |
US5444839A (en) * | 1992-04-29 | 1995-08-22 | Canon Kabushiki Kaisha | Object based graphics system for rasterizing images in real-time |
AU667892B2 (en) * | 1992-04-29 | 1996-04-18 | Canon Kabushiki Kaisha | A real-time object based graphics sytems |
AU669696B2 (en) * | 1992-04-29 | 1996-06-20 | Canon Kabushiki Kaisha | Object based graphics using quadratic polynomial fragments |
US6124863A (en) * | 1992-04-29 | 2000-09-26 | Canon Kabushiki Kaisha | Object-based graphics system for displaying an image using explicit quadratic polynomial fragments |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3407983C2 (de) | Mehrprozessorrechnersystem zum Erzeugen von Bildpunktinformationen aus in einer hierarchischen Datenstruktur definierten Objektelementen | |
DE2909153C2 (de) | Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern | |
DE3750784T2 (de) | Generation eines intrapolierten charakteristischen Wertes zur Anzeige. | |
DE19546769C2 (de) | Verfahren und Vorrichtung zur Erzeugung von Musterdaten | |
DE3632639C2 (de) | Einrichtung zum Hochgeschwindigkeitsverarbeiten von Bilddaten durch Faltung | |
EP1002421A1 (de) | Vorrichtung und verfahren zum bereitstellen von vorlagen für die mehrfarbenreproduktion | |
DE4326487C2 (de) | Adaptives Filter | |
DE102010055708A1 (de) | Verfahren zum Berechnen einer kollisionsfreien Geschwindigkeit für einen Agenten in einer Menschenmassensimulationsumgebung | |
DE69215719T2 (de) | Digitaler Generator eines Randes um ein einem Hintergrund überlagertes Objekt | |
EP0954618B1 (de) | Verfahren zur generierung von ebenen technischen kurven oder konturen | |
EP2064672A2 (de) | Verfahren und vorrichtung zur bildverarbeitung | |
EP1154369A2 (de) | Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens | |
DE4000021A1 (de) | Verfahren und vorrichtung zur darstellung von kurven in einem zweidimensionalen raster von bildelementen | |
DE102018200534A1 (de) | Verfahren zum Betreiben eines künstlichen neuronalen Netzes | |
DE10226915A1 (de) | Verfahren zum Verändern von Entwurfsdaten für die Herstellung eines Bauteils sowie zugehörige Einheiten | |
DE102008046505B4 (de) | Verfahren zur Bildverarbeitung von Stereobildern | |
DE102018217114A1 (de) | Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen | |
DE69204064T2 (de) | Filter zur erweiterung und erosionsumwandlung von bildern. | |
DE10023377C2 (de) | Verfahren zur Erhöhung der Leistungsfähigkeit einer Computereinrichtung bei Finite-Elemente-Simulationen und eine solche Computereinrichtung | |
EP1699036A1 (de) | LED-Anzeige mit hoher Auflösung | |
EP3685352B1 (de) | Verfahren und vorrichtung zum bewerten von bildern, betriebsassistenzverfahren und betriebsvorrichtung | |
EP2642749B1 (de) | Vorrichtung und Verfahren zur Optimierung der Bestimmung von Aufnahmebereichen | |
EP0213683A2 (de) | Verfahren und Anordnung zur Erzeugung von Zwischenbildsignalen aus Referenzbildsignalen mit verringerter Bildfrequenz | |
EP3391329B1 (de) | Bestimmung von helligkeitswerten virtueller pixel | |
EP3869380A1 (de) | Verfahren, computerbasiertes system und computerprogramm-produkt zum floorplanning für eine programmierbare gatteranordnung mit nicht-rechteckigen blockgrenzen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |