DE3404001A1 - Verfahren zum verarbeiten von liniensegment-koordinanten bei hoher geschwindigkeit - Google Patents
Verfahren zum verarbeiten von liniensegment-koordinanten bei hoher geschwindigkeitInfo
- Publication number
- DE3404001A1 DE3404001A1 DE19843404001 DE3404001A DE3404001A1 DE 3404001 A1 DE3404001 A1 DE 3404001A1 DE 19843404001 DE19843404001 DE 19843404001 DE 3404001 A DE3404001 A DE 3404001A DE 3404001 A1 DE3404001 A1 DE 3404001A1
- Authority
- DE
- Germany
- Prior art keywords
- counters
- output
- axis
- counter
- value
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/62—Performing operations exclusively by counting total number of pulses ; Multiplication, division or derived operations using combined denominational and incremental processing by counters, i.e. without column shift
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Image Generation (AREA)
- Complex Calculations (AREA)
Description
X.
Anwaltsakte: P 1102 DAINIPPON SCREEN SEIZO K.K,
Kyoto, Japan
Verfahren zum Verarbeiten von Liniensegment-Koordinaten bei hoher Geschwindigkeit
Die Erfindung betrifft ein Verfahren zum Bestimmen von Koordinatenwerten kontinuierlicher und aufeinanderfolgender
Punkte (dots) in einem quantifizierten zweidimensionalen Koordinatensystem.
Als Grundverarbeitung beim Zeichnen und dergleichen stellt man Liniensegmente häufig auf der Basis ihrer entsprechenden,
gewünschten zwei Punkte in quantifizierten zweidimensionalen Koordinatensystemen dar. In vielen Fällen verursacht jedoch
die Verarbeitungsgeschwindigkeit Probleme beim Durchführen dieses Verarbeitens über Software mittels Computer und
dergleichen.
3. 2
Der Erfindung liegt die Aufgabe zugrunde, ein Hochgeschwindigkeits-Processing
solcher Liniensegment-Koordinaten durchzuführen, ohne nennenswerte Fehler durch Beeinflussen
eines Teiles des obengenannten Processing entstehen zu lassen, und zwar mit Hilfe von Hardware.
Üblicherweise wurden aufeinanderfolgende Dots, die zwei Punkte miteinander verbinden, aus den Koordinatenwerten (x^, y^),
(xp, y2) der beiden Punkte dadurch berechnet, daß man die
Neigung θ jener Linie ermittelt, die die beiden Punkte miteinander verbindet:
ι Yo - Y1
θ = tan "x -S -L (l)
θ = tan "x -S -L (l)
auf der Basis der Neigung (slope) erhält man den Wert für y ,
der Xn auf dem Liniensegment entspricht, und zwar in der
folgenden Form:
y~ = 7i + (^ - x
η ι η j.
Alternativ läßt sich der Wert von y auch wie nachstehend
wiedergegeben ermitteln, und zwar unter Erlangung des Increments ^Y von y pro Δχ von den beiden Punkten, und unter
Hinzuaddieren des Produktes von Ay x (n-1) zum Ausgangswert
n
1
x2- X1
Die Software-Operation des Best immens (y«- y ^)Z(Xp - x-,)
aus den Gleichungen (1) und (2) oder der Gleichung (3) setzt voraus, daß man im Falle eines langen Liniensegmentes eine
hochgenaue Teilung vornimmt, was eine lange Operationszeitspanne erfordert und was natürlich auch die Gesamt-Prozess-Zeitspanne
vergrößert.
Opfert man Rechengenauigkeit von (y2 - y ^Z(X2 - X1), um
die Operäfciönszeitspanne abzukürzen, so kumrnUlieren' sich
im Verlaufe der Berechnung von (y2 - V1)Z(X2 - X1) Fehler,
was in manchen Fällen dazu führen kann, daß die beiden Punkte nicht miteinander verbunden werden.
Demgegenüber wird es durch die Erfindung möglich, fehlerfreie und hochgenaue Operationen durchzuführen und gleichzeitig
die Operation abzukürzen durch Durchführung von Operationsteilen unter Zuhilfenahme von Hardware.
Gemäß einem Gedanken der Erfindung wird ein Verfahren zum Verarbeiten von Liniensegment-Koordinaten bei hohen Geschwindigkeiten
angegeben, um die Koordinatenwerte quantifizierter aufeinanderfolgender Dots (sequential dots) auf einem Liniensegment
zu bestimmen, das zwei gewünschte Punkte (x., 3^1)*
(xp* vp) ^31 einem zweidimensionalen quantifizierten
Koordinatensystem miteinander verbindet.Ein solches Verfahren
umfaßt die folgenden Verfahrensschritte:
Es werden Zähler vorgesehen, deren jeder als Bezugs-Taktsignal
auf der x-Achse bzw. auf der y-Achse eine Quantum-Einheit
(qiantum unit) verwendet;
die Bezugs-Taktsignale (reference clock signals), die in die
Zähler einzuspeisen sind, werden gemäß der Information auf den beiden Punkten (x,, y,), (x2, y«) kontrolliert;
die Ausgangswerte der Zähler werden als Koordinatenwerte der quantifizierten aufeinanderfolgenden Dots verwendet
(quantized sequential dots).
Das obengenannte Verarbeitungsverfahren gemäß der Erfindung läßt sich bei hoher Geschwindigkeit durchführen und ist aus
praktischer Sicht von größtem Wert.
Die Erfindung ist anhand der Zeichnung näher erläutert. Darin ist im einzelnen folgendes dargestellt:
340A001
Fig. 1 zeigt ein Koordinaten-Diagramm mit den gewünschten beiden Punkten.
Fig. 2 ist ein Blockschaltbild, das eine Ausführungsform
der Erfindung veranschaulicht.
Fig. 3 ist ein Zeitschema.
Fig. 4 veranschaulicht quantisierte Diagramme (quantized diagrams).
Fig. 5 ist ein Blockschaltbild, das eine weitere Ausführungsform der Erfindung veranschaulicht.
Fig. β ist eine Tabelle, die die Ausgangswerte zu verschiedenen
Zeitpunkten von einer Mehrzahl von in Fig. 5 dargestellten Blocks wiedergibt.
Fig. 7 ist ein Blookschaltbild, das eine weitere Ausführungsform der Erfindung darstellt.
Fig. 8 ist eine Tabelle, die Ausgangswerte zu verschiedenen Zeitpunkten aus einer Mehrzahl von in Fig. 4 dargestellten
Blocks wiedergibt.
Fig. 9 veranschaulicht quantisierte Diagramme.
Zunächst sei das Grundprinzip der Erfindung anhand von Fig. 1 erläutert. In Fig. 1 soll zunächst ein Liniensegment
ausgewählt werden, das die gewünschten beiden Punkte (Xj, y,), (χ~>
Vo) miteinander verbindet. Dieses Liniensegment
läßt sich durch die folgende Gleichung ausdrücken:
y -
: -Γ:': : .'*':' ::<l' 3404ÜÜ1
■ (,' 5
Zur Vereinfachung der Gleichung wird hierbei der gewünschte Punkt (x*, y,) in ein Koordinatensystem umgewandelt, dessen
Ursprung bei (0, 0) liegt. Gleichung (4) schreibt sich sodann wie folgt:
y -. 3^t-X (5)
Nimmt man nunmehr an, daß die Neigung der x-Achse χ ist,
so läßt sich Gleichung (5) wie folgt schreiben:
y «
yn = iq-'m' x (6)
nun angenommen, daß χ = — , ist. x„ läßt sich sodann durch
Bei Gleichung β ist m eine positive, ganze Zahl. Es werde nun angenommen, daß χ = — , ist.
die folgende Gleichung ausdrucken:
die folgende Gleichung ausdrucken:
(7)
χ = | 1 | |
X | ||
p n | ||
Da χ ein gevrünschter (ganzzahligpr) Koordinatenwert ist,
der zwischen x, und Xp vorliegt und zu quantisieren ist, so
ist der Wert, den m annehmen kann, lediglich gleich dem Produkt von yo und einer ganzen Zahl. Dies trifft deshalb
zu, weil χ eine ganze Zahl ist und weil sich die Gleichung (7) in der folgenden Weise ausdrücken läßt:
m = xn.y^ (8)
Aus der obigen Beziehung läßt sich Gleichung (6) in die
folgende Form umschreiben:
\is den Gleichungen (7) und (9) ergeben sich die Koordinaten
des Liniensegmentes, das die beiden Punkte (0,0), (x' , y' )
miteinander verbindet, wie folgt:
β* .« i* «111 · + "
ΫΓ'~ΖΓ]
do)
Auf der Basis der Gleichung (10) ergeben sich für die einzelnen Werte von m quantisierte, durch Gleichung (5)
wiedergegebene Koordinatenwer.te wie folgt :
When mOx = 0 χ y2, (0,0);
When m0 = 0 χ X2, (0,0)
*2 When mlx « 1 x Y^' (1'xj);
x· When m. = 1 x x^, (ρτ
y >
When m2x = 2 χ y^, (22)
'2
When m2 « 2 χ x2,
Χ2
When m = η χ Y2, ^χ'^χ^Γ1"
2 *2 /
When mny = ny χ χ£, (nyyJ'V
Quantisierte ganze Zahlen werden jeweils als Werte xn>yn
erhalten. Ist einer der beiden Werte χ , y eine ganze Zahl,
so wird der andere Wert dadurch zu einer ganzen Zahl, daß man den resultierenden Wert rundet, und zwar durch Weglassen
von Brüchen, die !deiner als ein Dezimalpunkt sind, wobei man Brüche von 0,5 und größer als 1 zählt und den Rest weglässt,
oder durch Vergrößern von Brüchen, die kleiner als ein Dezimalpunkt zu 1 sind. Koordinatenwerte, die auf die obige
Welse quantisiert sind, in Bezug auf Folge-Dots (sequential dots
auf einem Liniensegment enthalten keine nennenswerten Fehler.
Eine Ausführungsform dieser Erfindung, die gemäß dem oben
geschilderten Konzept gestaltet ist, ist in Fig. 2 dargestellt.
34Ü4UU
In Fig. 1 wird die Frequenz f eines Impulses C anstelle
von m verwendet. Außerdem werden Frequenz-Teilungszähler 1, 2
verwendet, um die Operationen und
1 -X2 V1 - V2
durchzuführen, ferner werden Auf-Ab-Zähler 3>
4 verwendet, um die Ergebnisse in absoluten Zahlen auszudrücken.
Bei dieser Ausführungsform werden, wie erwähnt, Zähler verwendet.
Deswegen lassen sich die Werte χ , y lediglich als Taktzahlen erhalten, die ganzzahlige Multiplikationen
von yA oder χλ sind.
Eine weitere Ausführungsform ist in Fig. 5 veranschaulicht,
wobei die Frequenz-Demulüpliers durch Addierwerke, Subtrahierwerke
usw. verwendet werden, wobei es möglich ist, das Zählen (Teilen) von yl °&ev xp sofort durchzuführen. Mit
dieser Ausführungsform lassen sich schnelle Rechenoperationen
zuwege bringen.
Die Ausführungsform gemäß Fig. 2 soll im folgenden in Einzelheiten
beschrieben werden. Man erkennt hierbei jeweils Frequenzteilungszähler 1,2 sowie voreinstellbare Auf-Ab-Zähler
(up-down counters) 3, 4.
Die Frequenzteilungszähler 1, 2 dienen jeweils als Frequenzteilungszähler
von ~ und ^ auf der Basis der Koordinatendifferenzen
X1 - X2 und Vi - 'S2 zwischen zwel Punkten, die
im voraus vorliegen. Jeder Ausgang des Frequenzteilungszählers 1 (frequency division counter) wird als Taktsignal C„ von — f
verwendet. Zähler β wird durch den Anfangsimpuls G. auf y.
1 Ii eingestellt und zählt Taktsignale C„ von —f. Ist yn
> yo, so
el SL Ic
arbeitet Zähler 3 als ein Down-Zähler gemäß den Signalen, die
aus einer Einrichtung abgegeben werden, die y^ y? unterscheidet.
Ist hingegen y,<y2i so arbeitet Zähler 3 als ein
up-Zähler auf dieselbe Weise.
lit«
Zähler 4 ist auf χχ einzustellen, und zwar als Voreinstell-Wert,
durch den Anfangsimpuls C.. Zähler 4 ist derart gestaltet und angeordnet, daß er Taktsignale C^ zählt, deren jedes eine
Frequenz if hat, und die aus dem Frequenz-Teilungszähler 2 abgegeben
werden. Zähler 4 dient ähnlich wie der obenerwähnte Zähler 3 als ein down-Zähler, wenn X1^x2, jedoch als ein up-Zähler,
wenn x^Xg ist.
Die von den Zählern 3, 4 abgegebenen Werte erhält man mit dem Timing des Frequenz-größeren der Tal
Frequenzen, die —f und ?-f betragen.
Frequenzen, die —f und ?-f betragen.
Timing des Frequenz-größeren der Taktsignale C und C der
el C
In Fig. 2 können die Relation - als relativer Wert - zwischen χ. und Xp und jene zwischen y.. und y„ wie auch die positiven oder
negativen Symbole und Werte von x. - Xp und y, - y2, und die
Relation - als relativer absoluter Wert - zwischen x. - Xp und
'S ι ~ Vo. roi'fc'kel3 Signalen eingegeben werden, und zwar durch
Software eines Computers oder dergleichen oder durch ähnliche Mittel. Sie sind durch gestrichelte Linien veranschaulicht.
Zur Vereinfachung der Darstellung sei angenommen, daß x.<
Xp, X2 - X1 = a, yx<
y2, y2 - γχ - b, a b, a = 4 und b = J>
gilt. Eine weitere Beschreibung folgt unter Bezugnahme auf Fig. J5·
Durch den Anfangsimpuls (L werden die Teilerwerte der Frequenzteilerzähler
1, 2 jeweils auf ein a = 4 und b = 3 eingestellt. Die Ausgangsfrequenzen —f und ^f entsprechen ihren jeweiligen
Einstellwerten. Somit dienen die Taktsignale CL, C, mit den
11 a D
Frequenzen —f und ^-f als Eingangs-Taktsignale für die Zähler 3,
Die Zähler 3, 4 sind daher derart aufgebaut, daß sie ihre entsprechenden Taktsignale (clock signals) Ca, C^ zählen. Die
Zählungen der Zähler 3, 4 werden jeweils als y und χ angezeigt.
Sobald das Ablesen durch Taktsignale durchgeführt ist, deren
Frequenz 4f ist* so ergeben die ausgelesenen Taktsignale
1 ,2,3 und 4 quantisierte Werte, die geringfügig voneinander abweichen. Dieses Ergebnis ist in Fig. 4 veranschaulicht.
In einem Sonderfall, wobei beispielsweise X1 = X3, Y1 = y2
oder x. -"X2 = vi ~ vp gi1^, wird das Processing separat
mittels der Software eines Computers oder dergleichen durchgeführt. Die Software läßt sich auch für das Processing dann
anwenden, wenn die Zähler 3, 4 ihre jeweiligen, vorgegebenen
Zählwerte erreicht haben.
In Abwandlung der Ausführungsform von Fig. 2 ist es auch
denkbar, Taktsignale C mit einer Frequenz f direkt in den Zähler 4 einzugeben sowie in den Zähler j5, die Frequenz f
des Taktsignales C mit b durch einen Synthesizer zu
multiplizieren, um bf zu erhalten, bf zu teilen durch —
durch einen Frequenz-Demultiplier, um eine Frequenz 2.f zu anlangen, und sodann die Frequenz hier einzuget
Diese Abwandlung ist insofern vorteilhaft, als sich das Lesen synenn
nehmen läßt.
nehmen läßt.
2.f zu anlangen, und sodann die Frequenz hier einzugeben.
Lesen synchron mit den Taktsignalen C der Frequenz f vor-
Wird der Teilungswert b oder a in Fig. 2 größer, so nimmt die Frequenz eines jeden Eingangs-Taktsignales der Zähler 3, 4 ab.
Demzufolge wird die one quantum processing time länger und ihr Anwendungsbereich ist somit begrenzt.
Fig. 5 veranschaulicht - wie bereits erwähnt - die zweite Aus führungs form der'Erfindung,· diese erlaubt die Anwendung
arithmetischer Operationen bei noch größerer Geschwindigkeit.
Die OR-Gatter 11, 12 arbeiten als Gatter für Taktsignale C ,
die den Zählern J5, 4 einzugeben sind. Nimmt man an, daß
der Teilungswert a größer als der Teilungswert b ist (a>b),
10
so gibt ein Komparator 21 ein Signal "H" ab. Signal "H"
wird mittels einer NOT-Schaltung 22 in "L" umgewandelt. Sodann wird Signal "L" einem UND-Gatter 25 eingespeist, das
das Signal "L" abgibt. Durch das Signal "L" wird ein OR-Gatter offengehalten, so daß Zähler 3 immer dann zählen kann,
wenn er den Impuls eines jeden Taktsignales C mit der Frequenz f erhält.
Ist andererseits a kleiner als b, so gibt Komparator 21 ein
Signal "L" ab, das sodann in ein Signal "H" durch eine NOT-Schaltung
24 umgewandelt wird. Das resultierende Signal "H" tritt sodann in ein UND-Gatter 26 ein. Je nach dem, ob der
Ausgang der NOT-Schaltung "H" oder "L" ist, wird das Ausgangs-Signal des UND-Gatters 26 entweder "H" oder "L". Das Ausgangssignal
des UND-Gatters 26 tritt in das OR-Gatter, fias Ausgangssignal
"H", so wird das OR-Gatter 12 geschlossen und Zähler 4 zählt selbst dann nicht, wenn Taktsignale C einge-
geben werden. Ist das Ausgangssignal stattdessen jedoch "L", so öffnet dieses Signal "L" das OR-Gatter 12, so daß Zähler
Taktsignale C zu zählen vermag.
Zähler 3 führt die Zählung durch den Impuls eines jeden Taktsignales
C nämlich dann durch, wenn a größer als b ist. Zähler' 4 zählt nicht, wenn Taktsignale C eingegeben werden
und wenn das Ausgangssignal aud der NOT-Schaltung "H" ist. Hingegen zählt Zähler 4 dann, wenn immer Impulse eines jeden
Taktsignals C eingegeben wen
der NOT-Schaltung 24 "L" ist.
der NOT-Schaltung 24 "L" ist.
Taktsignals C eingegeben werden, und wenn dasAusgangssignal
Ist a kleiner als b, so zählt Zähler 3 Taktsignale C dann
nicht, wenn das Ausgangssignal der NOT-Schaltung "H" ist. Er zählt die Impulse eines jeden Taktsignales C jedoch dann,
wenn das Ausgangssignal der NOT-Schaltung "L" ist. Zähler 4
zählt die Impulse eines jeden Taktsignales C .
11
Im folgenden soll ein niedrigeres Teil (das durch eine gestrichelte
Linie umgeben ist) der in Fig. 5 dargestellten Schaltung beschrieben werden.
Ist a größer als b, so werden die Werte für a, b der vorgegebenen
Daten jeweils ausgewählt als Ausgänge d.,, d^ von
Selektoren 27, 28. Zunächst wird ein D-flip-flop (D-FP) 33
vom Anfangsimpuls C. freigemacht und der Ausgang des D-PP als "0" einem Addierwerk 30 eingespeist.
Andererseits wird ein Ausgang d, des Addierwerkes 30 einem
Komparator 32 und einem Subtraktor 31 eingegeben. Der Ausgang Zl des Komparators 32, der entweder ein Signal "H" oder "L"
sein kann, wird mittels einer NOT-Schaltung 34 in einen Ausgang
de umgewandelt, der wiederum den UND-Gattern 25, 26 und
dem Gatter-Eingangs-Terminal eines Selektors 29 eingespeist wird.
Wie oben beschrieben, kontrollieren die UND-Gatter 25, 26 Taktsignale für die Zähler 3, 4 entsprechend dem Ausgang d(-,
der durch Verarbeiten des Augangs des Komparators 32 mittels der NOT-Schaltung 34 erhalten wird. Selektor 29 gibt den Ausgang
(Operationsergebnis) d^ bzw. dh des Addierwerkes 30 bzw.
des Subtraktors 31 selektiv an den D-FP 33 gemäß dem Ausgang d,- der NOT-Schaltung 3^· Der D-PF 33 nimmt während der Anstiegszeit
eines jeden Taktsignales C Eingabedaten auf und behält die derart aufgenommenen Eingabedaten für den Ausgang.
Als Taktsignal C ist es vorzuziehen, einen "L"-Auslösetakt
zu verwenden, wenn die Ausleseimpulse (l) - (%) gemäß Fig.
als OR-Schaltungen für die Gatter 11, 12 verwendet werden,
so daß die Zähler 3, 4 durch Ausgangsschwankungen der UND-Gatter 25, 26 nicht betätigt werden.
12
Um die Sache leichter verständliche zu machen, soll die Operation der Schaltung gemäß Fig. 5 im folgenden unter
Verwendung spezifischer Werte für a und b beschrieben werden, und zwar wird angenommen, daß a = 4 und b = 3 ist.
Das Ausgangssignal der a>b -Seite des Komparators 21 wird
"H" und Zähler 3 zählt die Impulse eines jeden Taktsignales On wie oben beschrieben. Zu diesem Zeitpunkt wird das Ausgangssignal
von der a<b-Seite des Komparators 21 zu "L", und der Impuls eines jeden Taktsignales C\ für den Zähler 4
wird demgemäß durch die Art der Ausgänge aus Komparator 32
kontrolliert.
Fig. 6 zeigt die Werte eines jeden Takeimpulses in jedem Block. Im folgenden sollen Veränderungen der Taktimpulswerte
beschrieben werden.
Die Vorgabedaten (presetting data) werden in den Zählern 3>4
mittels des Anfangs impuls es Cj, eingegeben. Die Ausgangswerte
der Zähler 3, 4 betragen jeweils x_, y., und der Ausgangswert
dg des D-FF 33 wird zu "0". Der Ausgangswert ^ des Selektors
ist "3n# während der Ausgangswert d-, des Addierwerkes 30 "3"
ist. Der Ausgangswert d^ des Selektors 28 ist andererseits "4",
und die Ausgangssignale cL und dp. des Komparators 32 und der
NOT-Schaltung 34 sind "L" bzw. "H". Zähler 4 vermag somit
keinerlei Zähloperation durchzuführen.
Der Ausgangswert d„ des Subtraktors 31 beträgt "-l". Da das
Ausgangssignal d5 der NOT-Schaltung 34 "H" ist, wählt
Selektor 29 den Ausgangswert d-, des Addierwerkes 30, nämlich
"3"· Somit wird "3" als Eingangswert dg dem D-FF 33 eingespeist.
Dieser Zustand wird fest beibehalten, bis der erste Taktimpuls nach dem Ausgang des Anfangsimpulses C. kommt.
Sobald der erste Taktimpuls gekommen ist, wird der Wert des Zählers 3 x, +1, während der Wert des Zählers 4 auf y. bleibt.
13
: IV: "ι ι.;;.":..:":· 3404UÜ1
Der Ausgangswert dg des D-PF 33 ist "3". Der Ausgangswert
d, des Addierwerkes 30 ist andererseits "6", das Ausgangssignal cL des Komparators 32 ist "H" (unter der Annahme,
daß d, = dh stimmt), daß Aus gangs signal d,- der NOT-Schaltung
34 ist "L", und der Ausgangswert d„ des Subtraktors 31 nach
dem Durchführen von d, - dj. ist "2 . Auf diese Weise wählt
Selektor 29 das Subtraktionsergebnis, nämlich den Ausgangswert
dy, wobei "2" als Eingangswert dg dem D-PP 33 eingespeist
wird.
Sobald der zweite Taktimpuls angekommen ist, erreicht der Wert des Zählers 3 X1 +2, und der Kalkulationswert des
Zählers 4 wird zu y, + 1, da das Ausgangssignal d,- der NOT-Schaltung
34 "L" ist und Zähler 4 somit zählbereit ist.
Der Ausgangswert dp des D-FP 3^ ist 2 , der Ausgangswert d,
des Addierwerkes 30 ist "5", das Aus gangs signal dj- der NOT-Schaltung
3^ ist "L", und der Ausgangswert d„ des Subtraktors
31 wird "l" als Ergebnis der Subtraktion d, - d^. Sodann wählt
Selektor 29 das Subtraktionsergebnis d„ und speist "l" als
Eingangswert dg dem D-PP 33 ein.
Ist der dritte Taktimpuls gekommen, so wird der Wert des Zählers 3 zu X1 +3 und der Wert des Zählers 4 wird zu
J1 + 2.
Zu diesem Zeitpunkt ist der Ausgangswert dg des D-FF 3J>
"l , der Ausgangswert d-, des Addierwerkes 30 ist "4", das Ausgangssignal
dp- der NOT-Schaltung 34 ist "L", und der Ausgangswert
dy des Subtraktors 31 ist "θ". Selektor 29 wählt
auf diese Weise das Subtraktionsergebnis dy, was zu einem
Einspeisen von "o" als Eingangswert dg zum D-FP ~yj>
führt.
Ist der vierte Taktimpuls gekommen, so werden die Werte der Zähler 3, 4 zu X1 + 4 = Xp und y. + 3 = y . Ähnlich den
oben aufgeführten Operationen wird demzufolge der Ausgangswert dp des D-FP 33 "θ", der Ausgangswert d-^ des Addier-
14
«ft ft * ft ft
werkes 30 "3", das Ausgangssignal der NOT-Schaltung 34
wird "H", der Ausgangswert des Subtraktors 31 wird "-l"
als Ergebnis der Subtraktion d^ - d^. Selektor 29 wählt
das Additionsergebnis d, und speist hierbei "3" als Eingangswert
dg in den D-PP 33.ein.
Die obigen Operationsergebnisse sind demgemäß (X1, y^),
(X1 + Y1), (X1 + 2, yx + 1), (X1 + 3, I1 + 2), und
(X1 + 4 a X2, yx + 3 = y2), was mit der in Fig. 2 veranschaulichten
Ausführung zusammenfällt. Das quantisierte Stadium ist das gleiche wie jenes in Fig. 4 (a) dargestellt.
In Fig. 5 werden voreingestellte Werte mittels Software eines Computers oder dergleichen verarbeitet, so wie durch
die gestrichelten Signaleinspeiseleitungen in Fig. 2 veranschaulicht und oben unter Bezug auf dieselbe Zeichnung
erläutert.
Mit der Ausführungsform gemäß Fig. 5 läßt sich die
Quantisierung dann durchführen, wenn das Ergebnis entweder größer oder gleich der one quantum unit ist. Die Quantisierung
läßt sich sorgfältiger und genauer durch die Zählfraktionen von 0,5 und größer als 1, und Wegstreichen des Restes durch
führen. Dieses Quantisierverfahren ist in Fig. 7 veranschaulicht. Die Schaltung gemäß Fig. 7 läßt sich bezüglich des
unteren linken Teiles (durch gestrichelte Linien umrissen) in Fig. 5 ersetzen.
Fig. 7 ist ein Schaltbild einer weiteren Ausführungsform,
die Fraktionen von 0,5 und größer als 1 unter Wegfallenlassen des Restes zu zählen erlaubt. Die Ausführungsform gemäß Fig.
umfaßt zusätzlich zur Ausführungsform gemäß Fig. 5 einen Verdoppler
40, ein Addierwerk 4l, eine NOT-Schaltung 42, ein UND-Gatter 43 und ein OR-Gatter 44. Ähnlich dem in Fig.
veranschaulichten Fall zeigt Fig. 8 Werte der verschiedenen Blöcke nach dem Einleiten des Initialimpulses C^ und nach dem
Einspeisen des N-ten Taktsignales. In Fig. 8 sind die Werte
15
.3404UU-I
für a und b mit 4 bzw. 25 angenommen. Die in Pig. 8 wiedergegebenen
Ergebnisse entsprechen dem in Fig. 4(c) veranschaulichfcerl
Stadium.
Um die in Fig. 8 dargestellten Ergebnisse identisch jenen in Fig. 4(b) zu machen, muß man die Vergleichsbedingungen
eines Komparators 4l mit I1 i2 ansetzen, um 2*d, d^ zu
erlangen. Der Verdoppler 40 ist lediglich erforderlich, um 1 bit von Eingangs-Digitalsignalen d, dem untersten bit
hinzu zu addieren, so daß die Digitalsignale d., dem Komparator
kl eingegeben werden, nachdem die effektiven bits von d-,
um ein bit nach oben verschoben worden sind.
Die AusfUhrungsform gemäß Fig. 7 zeigt einen deutlichen
Unterschied gegenüber jener gemäß Fig. 5, wenn das Verhältnis von a zu b gleich 1 wird.
Fig. 9 veranschaulicht ein AusfUhrungsbeispiel einer
Quantisierung, wobei a = 10 und b = 1 ist. Fig. 9(a) entspricht der in Fig. 5 veranschaulichten Ausführungsform,
während Fig. 9 (b) der in Fig. 7 veranschaulichten Ausführungsform entspricht. Es versteht sich, daß die Ausführungsform
gemäß Fig. 7 eine natürlichere Annäherung durchzuführen vermag.
Unter besonderen Bedingungen, beispielsweise X1 = X2, V1- y?,
Ix1 - Xg\ β Jy1 - y2jläßt sich die Quantisierung mittels
Hardware leicht ausführen. Die Quantisierung braucht deshaib bezüglich solcher spezieller Bedingungen nicht beschrieben
zu werden. Es versteht sich ferner, daß sie mittels Software eines Computers durchgeführt werden kann.
Die vorliegende Erfindung läßt sich für Zeichenarbeit und dergleichen anwenden und verwendet einen quantisierten Wert
von 40 000 χ 40 000.
16
Um den Anstieg der Gleichung (l) oder (3) zu ermitteln,
betrug die herkömmliche Software-Processing-Zeitspanne JH see. - 20(USeC. bei einer Genauigkeit von 16 bits, und
4o^sec. - 500>usec. bei einer Genauigkeit von 32 bits. Da
3 - 5 see. für jedes Quantum erforderlich sind, ist es notwendig,
10 - 500//see. + 3 - 5/JSeC. χ 10 000 = 30 000 μ sec,
- 50 000 μ sec. (0,3 sec. - 0,5 sec.) dann aufzuwenden,
wenn 10 000 Quantisierungsoperationen erforderlich sind.
Wird Software-Verarbeitung unter Verwendung der Hardware gemäß Fig. 5 vorgenommen, so muß man 15 see. - 20 see.
für jedes Quantum aufwenden (15/rfsec. - 2Oysee. χ 10
= 1,5 - 2,0 sec.).
Andererseits benötigt die Hardware gemäß Hg. 7 0,05 see.
- 0,2 see. für jedes Quantum (0,05 see. - 0,2 see.
χ 10 000 = 500 see. - 2 000 see.) Die VerarbeitungsZeitspanne
wird somit auf " x0Oabsekürzt* Bei
tatsächlich durchgeführten Operationen sind diese Verarbeitungen viele Male erforderlich. Somit entstehen erhebliche
Zeitgewinne im Falle eines gesamten Verarbeitungsprozesses. Hierdurch läßt sich mittels der Erfindung ein
sehr erheblicher Gesamtwert an Zeitersparnis erzielen.
01432.1984
DrW/MJ
DrW/MJ
- Leerseite -
Claims (1)
- PatentansprücheVerfahren zum Verarbeiten von Liniensegment-Koordinaten bei hoher Geschwindigkeit zur Ermittlung der Koordinatenwerte von quantisierten, folgenden Dots auf einem Liniensegment, das zwei gewünschte Punkte (X1, V1), (x2, y2) in einem zweidimensionalen quantisierten Koordinatensystem miteinander verbindet, gekennzeichnet durch die Kombination der folgenden Merkmale:es werden Zähler vorgesehen, deren jeder eine Quantum-Einheit (quantum unit) als sein Bezugstaktsignal verwendet, jeweils mit der x-Achse und y-Achse;Bezugstaktsignale, die den Zählern einzugeben sind, werden gemäß der auf den zwei Punkten (X1, y·^, (x2, y2) kontrolliert; undAusgangswerte der Zähler werden als Koordinatenwerte der quantisierten aufeinanderfolgenden Dots verwendet.Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Bezugstaktsignal einer Ein-Quantum-Eiriheit derart eingestellt sind, daß das Bezugstaktsignal mit dem umgekehrten Verhältnis der Differenzen I X1-X2J,\y1-y2l zwischen den gewünschten zwei Punkten (X^y1), (x2,y2) auf der x-Achse und der y-Achse konform ist, und daß die resultierenden Bezugstaktsignale den Zählern für die x-Achse und für die y-Achse eingegeben werden.Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Erzeugen des Bezugstaktsignales der Ein-Quantum-Eiriheit durch die Kombination von Addition, Subtraktion, relative Wertdiskrimination usw. der Differenzen |x.,-Xp| , jy..-y2| zwischen den gewünschten beiden Punkten (x^y.,),(x2,y2) auf der x-Achse und der y-Achse kontrolliert wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58017394A JPS59144973A (ja) | 1983-02-07 | 1983-02-07 | 線分座標の高速処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3404001A1 true DE3404001A1 (de) | 1984-08-16 |
Family
ID=11942780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19843404001 Ceased DE3404001A1 (de) | 1983-02-07 | 1984-02-06 | Verfahren zum verarbeiten von liniensegment-koordinanten bei hoher geschwindigkeit |
Country Status (4)
Country | Link |
---|---|
US (1) | US4593377A (de) |
JP (1) | JPS59144973A (de) |
DE (1) | DE3404001A1 (de) |
GB (1) | GB2136176A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3508606A1 (de) * | 1984-03-12 | 1985-09-12 | Daikin Industries, Ltd., Osaka | Hochgeschwindigkeits-linearinterpolationsschal tung einer katodenstrahlroehren-display-einheit |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499328A (en) * | 1991-02-22 | 1996-03-12 | Network Computing Devices, Inc. | Line draw method for generating, storing and displaying lines in a display system |
US5613053A (en) | 1992-01-21 | 1997-03-18 | Compaq Computer Corporation | Video graphics controller with automatic starting for line draws |
JPH07504052A (ja) * | 1992-01-21 | 1995-04-27 | コンパック・コンピュータ・コーポレイション | 改善された計算性能を有するビデオグラフィック制御器 |
US5481658A (en) * | 1993-09-20 | 1996-01-02 | International Business Machines Corporation | Method and apparatus for displaying a line passing through a plurality of boxes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1524194B2 (de) * | 1966-08-17 | 1971-03-18 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Anordnung zur interpolatn einer bahnkurve |
DE2326851B1 (de) * | 1973-01-23 | 1974-11-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Einrichtung zur Durchführung einer mehrdimensionalen Interpolation in Verbindung mit einem Festwertspeicher |
DE2523680B2 (de) * | 1974-05-30 | 1977-06-08 | Asahi Kogaku Kogyo KJC., Tokio | Vorrichtung zur anzeige von lichtinformationen |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1054000A (de) * | ||||
US3569682A (en) * | 1968-02-02 | 1971-03-09 | Gen Electric | Multiple path numerical control system |
US3657525A (en) * | 1970-03-17 | 1972-04-18 | Gen Electric | Direct feed rate control circuit |
US4000451A (en) * | 1974-11-18 | 1976-12-28 | The Superior Electric Company | Motion control system and method for length coded sequential commands |
JPS5850351B2 (ja) * | 1976-03-09 | 1983-11-10 | 日本電気株式会社 | ベクトル発生器 |
US4208723A (en) * | 1977-11-28 | 1980-06-17 | Gould Inc. | Data point connection circuitry for use in display devices |
JPS56168277A (en) * | 1980-05-28 | 1981-12-24 | Mitsubishi Electric Corp | Linear approximating means |
-
1983
- 1983-02-07 JP JP58017394A patent/JPS59144973A/ja active Pending
-
1984
- 1984-01-30 US US06/575,222 patent/US4593377A/en not_active Expired - Fee Related
- 1984-01-31 GB GB08402509A patent/GB2136176A/en not_active Withdrawn
- 1984-02-06 DE DE19843404001 patent/DE3404001A1/de not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1524194B2 (de) * | 1966-08-17 | 1971-03-18 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Anordnung zur interpolatn einer bahnkurve |
DE2326851B1 (de) * | 1973-01-23 | 1974-11-07 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Einrichtung zur Durchführung einer mehrdimensionalen Interpolation in Verbindung mit einem Festwertspeicher |
DE2523680B2 (de) * | 1974-05-30 | 1977-06-08 | Asahi Kogaku Kogyo KJC., Tokio | Vorrichtung zur anzeige von lichtinformationen |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3508606A1 (de) * | 1984-03-12 | 1985-09-12 | Daikin Industries, Ltd., Osaka | Hochgeschwindigkeits-linearinterpolationsschal tung einer katodenstrahlroehren-display-einheit |
Also Published As
Publication number | Publication date |
---|---|
JPS59144973A (ja) | 1984-08-20 |
GB2136176A (en) | 1984-09-12 |
US4593377A (en) | 1986-06-03 |
GB8402509D0 (en) | 1984-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2536585C3 (de) | Anordnung zur statistischen Signalanalyse | |
DE2150878C3 (de) | Rekursives digitales Filter | |
DE3013554C2 (de) | Schaltungsanordnung zum Auswerten von unterschiedlichen Synchronisationssignalen | |
DE2124754B2 (de) | Verfahren und Vorrichtung zur differentiellen Pulscodemodulation | |
DE2405858A1 (de) | Normalisierendes verschiebezaehlernetzwerk | |
DE2131635A1 (de) | Digitale Komprimierschaltung | |
DE1201406B (de) | In seinem Teilerfaktor einstellbarer digitaler Frequenzteiler | |
DE2951245A1 (de) | Taktsignalverteilungsschaltungsanordnung und verfahren zum einstellen einer taktsignalverteilungsschaltung | |
DE1237177B (de) | Asynchrone Zaehleinrichtung | |
DE3404001A1 (de) | Verfahren zum verarbeiten von liniensegment-koordinanten bei hoher geschwindigkeit | |
DE3329023C2 (de) | ||
DE68926613T2 (de) | Gerät zur Signalwandlung, für Fernmeldevermittlungsanwendungen das die Quantisierungsfehler reduziert | |
DE1239124B (de) | Vorrichtung zum Einspeichern einer Dezimalzahl in ein Register | |
DE3822324C2 (de) | Vorrichtung zum Zerlegen des Prioritätswertes | |
DE2235802A1 (de) | Verfahren und einrichtung zur pruefung nichtlinearer schaltkreise | |
DE1292179B (de) | Verfahren zur Analog-Digital-Umsetzung | |
DE2900587B2 (de) | Decodierschaltung | |
DE3113189C2 (de) | Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden | |
DE1183723B (de) | Elektronischer Schluesselgenerator | |
DE3124194A1 (de) | "frequenzabfuehlschaltung" | |
DE1212151B (de) | Statischer Zaehler mit Haupt- und Hilfsspeicher je Zaehlstufe | |
DE1282082B (de) | Schaltungsanordnung zur Ablesung des Zaehlstandes eines aus mehrere Dekaden bestehenden Zaehlers fuer elektronische Impulse | |
EP0106000A1 (de) | Digitalschaltung zur Unterdrückung von Änderungen eines Digitalsignals | |
DE2239737B1 (de) | Elektronische vorrichtung zur verfuenffachung einer im 8-4-2-1-kode binaer kodierten dezimalzahl | |
DE1240928B (de) | Gleichstromgekoppelter elektronischer Binaerzaehler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |