DE19901934A1 - Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind - Google Patents
Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sindInfo
- Publication number
- DE19901934A1 DE19901934A1 DE19901934A DE19901934A DE19901934A1 DE 19901934 A1 DE19901934 A1 DE 19901934A1 DE 19901934 A DE19901934 A DE 19901934A DE 19901934 A DE19901934 A DE 19901934A DE 19901934 A1 DE19901934 A1 DE 19901934A1
- Authority
- DE
- Germany
- Prior art keywords
- curve
- frame
- bezier
- point
- bezier 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.)
- Granted
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
Abstract
Es wird ein Verfahren zur Erzeugung eines Rahmens für ein grafisches Objekt beschrieben, dessen Umriß durch eine Folge von Bezier-Kurven definiert ist. Dazu wird für jede Bezier-Kurve des Umrisses eine Rahmenkurve erzeugt, die ebenfalls eine Bezier-Kurve ist und die näherungsweise parallel zur gegebenen Bezier-Kurve verläuft. Auf der gegebenen Bezier-Kurve wird ein Mittenpunkt PM konstruiert. Im Abstand der Rahmenbreite wird davon ausgehend ein Mittenpunkt QM für die zu erzeugende Rahmenkurve festgelegt. Die Kontrollpunkte der Rahmenkurve werden so bestimmt, daß sie durch den Punkt QM verlaufen.
Description
Die Erfindung bezieht sich auf das Gebiet der digitalen Bildverarbeitung und
betrifft ein Verfahren zur Erzeugung eines Rahmens für ein grafisches Objekt,
dessen Umriß durch eine Folge von Bezier-Kurven beschrieben ist. Die Erzeu
gung eines Rahmens für grafische Objekte ist eine Aufgabe, die in vielen An
wendungsgebieten der digitalen Bildverarbeitung vorkommt.
Ein wichtiges Anwendungsgebiet ist die elektronische Reproduktionstechnik, bei
der Druckvorlagen für Druckseiten erzeugt werden, die alle zu druckenden Ele
mente wie Texte, grafische Objekte und Bilder enthalten. Im Fall der elektroni
schen Herstellung der Druckvorlagen liegen diese Elemente in Form von digita
len Daten vor. Für ein Bild werden die Daten z. B. erzeugt, indem das Bild in ei
nem Scanner punkt- und zeilenweise abgetastet wird, jeder Bildpunkt in Farb
komponenten zerlegt wird und die Farbwerte dieser Komponenten digitalisiert
werden. Die Daten für Texte und grafische Objekte werden im allgemeinen von
Textverarbeitungs- und Zeichenprogrammen direkt in einem Rechner erzeugt.
Je nach dem später verwendeten Ausgabeprozeß, z. B. Ausgabe auf einem
Farbdrucker oder Drucken in einer konventionellen Druckmaschine, werden die
Daten für die Seitenelemente in den Farbkomponenten Rot, Grün und Blau
(RGB) oder in den Druckfarben des Vierfarbdrucks Cyan, Magenta, Gelb und
Schwarz (CMYK) erzeugt und gespeichert.
Im weiteren Arbeitsablauf werden die digitalisierten Texte, grafischen Objekte
und Bilder in einer Bearbeitungsstation unter Sichtkontrolle auf einem Farbmo
nitor oder automatisch nach gespeicherten Layoutvorgaben zu einer Druckseite
montiert. Die Druckseitendaten werden dann in ein für die Ausgabe geeignetes
Datenformat umgewandelt, z. B. in die Seitenbeschreibungssprache PostScript,
und gespeichert. Für jede der Druckfarben CMYK werden dabei separate
Druckseitendaten erzeugt, die als Farbauszugdaten bezeichnet werden. Die
Farbauszugdaten werden mit einem Film- bzw. Plattenrecorder in hoher Auflö
sung auf Filmmaterial oder direkt auf Druckplatten aufgezeichnet. Es gibt auch
digitale Druckmaschinen, die ohne Druckplatten arbeiten. In dem Fall werden
die Farbauszugdaten direkt zur digitalen Druckmaschine übertragen und dort
auf dem Bedruckstoff ausgedruckt.
Vor der Aufzeichnung werden die Druckseitendaten auf einer Bearbeitungssta
tion geprüft und in vielfältiger Weise nach den Vorgaben eines Layouts und ei
nes Manuskripts bearbeitet, z. B. farblich korrigiert, verändert, auf der Druckseite
positioniert, usw. Eine häufige Veränderung ist dabei die Erzeugung eines
Rahmens für ein grafisches Objekt. Unter einem grafischen Objekt wird hier ei
ne Fläche beliebiger Form verstanden, deren Umriß durch eine Folge von Kur
ven- und Geradenstücken datenmäßig beschrieben ist und die in beliebiger
Weise mit Farbwerten gefüllt ist. Im einfachsten Fall ist die Fläche mit einer
konstanten Farbe gefüllt. Sie kann aber auch einen Farbverlauf enthalten, d. h.
eine kontinuierliche Variation der Farben in einem bestimmten Farbbereich. Ein
grafisches Objekt kann auch gescannte Bilddaten oder ein Muster von ver
schiedenen Farbwerten enthalten. Im Zusammenhang mit der vorliegenden Er
findung ist es unerheblich, welche Farben in der Fläche des grafischen Objekts
enthalten sind und wie sie verteilt sind. Wesentlich ist nur, daß der Umriß des
grafischen Objekts durch eine Folge von Kurven- und Geradenstücken be
schrieben ist und gerahmt werden soll.
Mit der Rahmung eines grafischen Objekts und der Färbung des Rahmens mit
einer kontrastierenden Farbe wird z. B. erreicht, daß es deutlicher gegen be
nachbarte grafische Objekte oder gegen den Hintergrund hervorgehoben wird.
Eine weitere wichtige Anwendung für die Erzeugung eines Rahmens um ein
grafisches Objekt im Bereich der Reproduktions- und Drucktechnik ist das so
genannte Überfüllen (engl. trapping). Dabei wird nur in einigen Farbauszügen
des grafischen Objekts ein Rahmen erzeugt, in anderen Farbauszügen nicht.
Damit wird erreicht, daß bei Verschiebungen der Farbauszüge gegeneinander in
der Druckmaschine (Registerfehler), an einem Teil des Umriß des grafischen
Objekts auf der fertigen Druckseite kein störender weißer Rand von unbe
drucktem Papier zu sehen ist. Durch das Überfüllen der richtigen Farbauszüge
wird sichergestellt, daß auch bei solchen Verschiebungen noch eine genügend
große Überlappung des grafischen Objekts mit seiner Umgebung vorhanden ist,
so daß alle Stellen auf der Druckseite bedruckt werden. Für welche Farbauszü
ge ein Rahmen erzeugt werden muß und für welche nicht, hängt von den Far
ben innerhalb des grafischen Objekts im Verhältnis zu den Farben in seiner
unmittelbaren Umgebung ab.
Der Stand der Technik und die Erfindung werden nachfolgend anhand der
Fig. 1 bis 11 näher beschrieben.
Es zeigen:
Fig. 1 ein Beispiel für ein grafisches Objekt, dessen Umriß aus einer Folge von
Kurven- und Geradenstücken besteht,
Fig. 2 eine kubische Bezier-Kurve,
Fig. 3 ein Verfahren zur Erzeugung eines Rahmens nach dem Stand der
Technik,
Fig. 4 ein weiteres Verfahren zur Erzeugung eines Rahmens nach dem Stand
der Technik (EP 0 604 685),
Fig. 5 die Konstruktion eines Mittenpunktes PM auf der Bezier-Kurve,
Fig. 6 die Konstruktion eines Mittenpunktes QM für eine Rahmenkurve,
Fig. 7 die Beziehung zwischen dem Mittenpunkt QM und den Kontrollpunkten
Q0, Q1, Q2, Q3 der Rahmenkurve,
Fig. 8 einen ersten Sonderfall für eine Bezier-Kurve,
Fig. 9 einen zweiten Sonderfall für eine Bezier-Kurve,
Fig. 10 einen dritten Sonderfall für eine Bezier-Kurve,
Fig. 11 ein Ablaufdiagramm für die Rahmung von Bezier-Kurven.
Der Umriß eines grafischen Objekts wird mit einem Zeichenprogramm im allge
meinen als eine Folge von Kurven- und Geradenstücken erzeugt. Fig. 1 zeigt
ein Beispiel für ein solches grafisches Objekt, dessen Umriß aus einem Gera
denstück (1) und vier Kurvenstücken (2) zusammengesetzt ist. Die Buchstaben
A . . . E kennzeichnen die Stellen auf dem Umriß, an denen ein Kurven- bzw. Ge
radenstück endet und das folgende beginnt.
In vielen Zeichenprogrammen und auch in der Seitenbeschreibungssprache
PostScript werden die Kurvenstücke als kubische Bezier-Kurven beschrieben.
Fig. 2 zeigt eine kubische Bezier-Kurve (3) in einem x,y-Koordinatensystem. Die
Bezier-Kurve (3) wird durch die vier Kontrollpunkte P0, P1, P2, P3 definiert. Die
Kontrollpunkte P0 und P3 definieren den Anfangspunkt und den Endpunkt der
Kurve. Die Gerade P0-P1 ist die Tangente der Kurve im Anfangspunkt P0, d. h.
sie definiert die Steigung der Kurve im Anfangspunkt P0. Ebenso ist die Gerade
P2-P3 die Tangente der Kurve im Endpunkt P3. Die x- und y-Koordinaten von
Punkten auf der Bezier-Kurve sind durch die folgenden parametrischen Glei
chungen definiert:
x(t) = xP0.(1-t)3 + 3.xP1.(1-t)2.t+3.xP2.(1-t).t2+xP3.t3
y(t) = yP0.(1-t)3 + 3.yP1.(1-t)2.t + 3.yP2.(1-t).t2 + yP3.t3 (1)
y(t) = yP0.(1-t)3 + 3.yP1.(1-t)2.t + 3.yP2.(1-t).t2 + yP3.t3 (1)
Dabei sind (xPi, yPi) die Koordinaten der Kontrollpunkte P0 . . . P3, und der Para
meter t nimmt Werte zwischen 0 und 1 an.
Nach dem Stand der Technik sind verschiedene Verfahren zur Erzeugung eines
Rahmens für eine Bezier-Kurve bekannt. Fig. 3 zeigt ein einfaches Verfahren,
bei dem die Bezier-Kurve (3) zunächst durch Geradenstücke (4) approximiert
wird und dann zu jedem Geradenstück (4) im Abstand der Rahmenbreite d ein
paralleles Geradenstück (5) konstruiert wird. Zur Verdeutlichung des Verfahrens
ist in der Fig. 3 eine relativ grobe Approximation der Bezier-Kurve (3) gezeigt. In
der Praxis verwendet man wesentlich mehr kürzere Geradenstücke (4) zur
Approximation. Statt der Geradenstücke (4) bzw. (5) kann man auch einfache
Kurven verwenden, z. B. Parabelstücke. Dieses Verfahren ist sehr rechenauf
wendig, insbesondere wenn für eine genaue Approximation sehr viele kurze Ge
radenstücke (4) bzw. (5) berechnet werden müssen. Außerdem hat das Verfah
ren den Nachteil, daß die Rahmenkurve nicht mehr als Bezier-Kurve beschrie
ben ist, was die weitere Verarbeitung der grafischen Objekte komplizierter
macht.
Bei einem weiteren Verfahren nach dem Stand der Technik wird das grafische
Objekt zunächst in eine Matrix von Bildpunkten in einer gewünschten Auflösung
umgerechnet, vorzugsweise in der Auflösung der späteren Aufzeichnung. Dann
wird nach einem Algorithmus ein gedachter Kreis mit dem Durchmesser der
gewünschten Rahmenbreite auf dem Umriß des grafischen Objekts abgerollt,
und alle von dem Kreis berührten Bildpunkte bilden den Rahmen. Auch dieses
Verfahren ist sehr rechenaufwendig, besonders für eine hohe Aufzeichnungs
auflösung. Außerdem ist der Rahmen hier überhaupt nicht mehr durch begren
zende Kurven- bzw. Geradenstücke beschrieben, was für die weitere Verarbei
tung nachteilig ist, z. B. für eine nachträgliche Umrechnung auf eine andere
Auflösung.
Fig. 4 zeigt ein weiteres Verfahren nach dem Stand der Technik, das in der eu
ropäischen Patentschrift EP 0 604 685 beschrieben ist. Bei diesem Verfahren
wird für die Bezier-Kurve (3) eine Rahmenkurve (6) konstruiert, die ebenfalls ei
ne kubische Bezier-Kurve ist und die näherungsweise im Abstand der Rahmen
breite d zur Bezier-Kurve (3) verläuft. Dazu werden die Kontrollpunkte Q0, Q1,
Q2, Q3 der Rahmenkurve (6) bestimmt. Der Anfangspunkt Q0 wird bestimmt,
indem im Punkt P0 eine Senkrechte zur Geraden P0-P1 konstruiert wird und im
Abstand der Rahmenbreite d auf dieser Senkrechten der Punkt Q0 festgelegt
wird. In gleicher Weise wird der Endpunkt Q3 senkrecht zur Geraden P2-P3
festgelegt. Dann werden durch die Punkte Q0 bzw. Q3 Parallelen zu den Gera
den P0-P1 bzw. P2-P3 konstruiert. Der Kontrollpunkt Q1 wird ermittelt, indem
auf der durch Q0 verlaufenden Parallelen eine Strecke Q0-Q1 berechnet wird,
die um einen Betrag f1 von der Länge der Geraden P0-P1 abweicht. Die Abwei
chung f1 wird nach einer trigonometrischen Funktion aus dem Winkel ϕ0 zwi
schen den Geraden P0-P1 und P1-P2 bestimmt (Gleichungen 2 und 2' in
EP 0 604 685). Ebenso wird zur Ermittlung des Kontrollpunktes Q2 eine Abwei
chung f2 aus dem Winkel ϕ1 zwischen den Geraden P1-P2 und P2-P3 be
stimmt (Gleichungen 3 und 3' in EP 0 604 685).
Es ist die Aufgabe der vorliegenden Erfindung, die Nachteile der bekannten
Verfahren zur Erzeugung eines Rahmens für grafische Objekte, deren Umriß
durch eine Folge von Bezier-Kurven beschrieben ist, zu vermeiden und ein ef
fektives Verfahren anzugeben, das zu einer gegebenen kubischen Bezier-Kurve
eine Rahmenkurve erzeugt, die ebenfalls eine kubische Bezier-Kurve ist. Das
erfindungsgemäße Verfahren ist genauer als das bekannte Verfahren nach EP
0 604 685 und vermeidet außerdem die Verwendung von trigonometrischen
Funktionen. Die Aufgabe wird durch die Merkmale des Anspruchs 1 und der
Unteransprüche 2 bis 7 gelöst.
Es gibt keinen Algorithmus, mit dem analytisch eine exakt parallele Bezier-
Rahmenkurve zu einer gegebenen kubischen Bezier-Kurve berechnet werden
kann. Es kann nur Approximationslösungen geben, bei denen die Rahmenkurve
näherungsweise parallel zur gegebenen Kurve verläuft. Das erfindungsgemäße
Verfahren verwendet dazu einen Mittenpunkt PM auf der gegebenen Bezier-
Kurve und einen Mittenpunkt QM auf der zu erzeugenden Rahmenkurve. Zum
Verständnis für die spätere Erläuterung des erfindungsgemäßen Verfahrens
wird zunächst die bekannte Methode zur Konstruktion eines Mittenpunktes PM
auf einer kubischen Bezier-Kurve beschrieben.
Fig. 5 zeigt die bekannte Methode zur Konstruktion des Mittenpunktes PM. Als
Mittenpunkt PM ist der Punkt auf der Kurve definiert, der sich nach den Glei
chungen (1) für t = 0,5 ergibt. Zunächst werden die Punkte P01, P12, P23 be
stimmt, die sich aus der Halbierung der Geraden P0-P1, P1-P2 und P2-P3 er
geben. Diese neuen Punkte werden durch zwei Geraden P01-P12 und P12-P23
miteinander verbunden. Durch Halbierung dieser Geraden erhält man die weite
ren Punkte P012 und P123, die wiederum durch eine Gerade verbunden wer
den. Die Halbierung dieser Geraden P012-P123 ergibt schließlich den Mitten
punkt PM auf der Bezier-Kurve. Die Gerade P012-P123 ist eine Tangente der
Bezier-Kurve im Punkt PM. Die x- und y-Koordinaten der bei dieser Konstruktion
beteiligten Punkte ergeben sich zu:
xP01 = (xP0 + xP1)/2 | yP01 = (yP0 + yP1)/2 |
xP12 = (xP1 + xP2)/2 | yP12 = (yP1 + yP2)/2 |
xP23 = (xP2 + xP3)/2 | yP23 = (yP2 + yP3)/2 |
xP012 = (xP01 + xP12)/2 | yP012 = (yP01 + yP12)/2 |
xP123 = (xP12 + xP23)/2 | yP123 = (yP12 + yP23)/2 |
xPM = (xP012 + xP123)/2 | yPM = (yP012 + yP123)/2 (2) |
Dieses Konstruktionsprinzip gilt nicht nur für die Bestimmung des Mittenpunktes
PM, d. h. für t = 0,5, sondern zur Konstruktion eines beliebigen Teilungspunktes
auf der Bezier-Kurve bei t = s. Dann werden nur alle bei der Konstruktion ver
wendeten Geraden im Verhältnis (1-s) zu s geteilt, und das Gleichungssystem
(2) muß entsprechend angepaßt werden, d. h. xP01 = (1-s).xP0 + s.xP1 usw.
Durch diese Konstruktion des Mittenpunktes PM (bzw. eines beliebigen Tei
lungspunktes) wird die Bezier-Kurve in zwei Bezier-Teilkurven aufgeteilt. Die
Kontrollpunkte des ersten Teilstücks sind P0, P01, P012, PM, und die Kontroll
punkte des zweiten Teilstücks sind PM, P123, P23, P3.
Fig. 6 zeigt die ersten Schritte des erfindungsgemäßen Verfahrens. Der An
fangspunkt Q0 der zu erzeugenden Rahmenkurve wird bestimmt, indem im
Punkt P0 eine Senkrechte zur Geraden P0-P1 konstruiert wird und im Abstand
der Rahmenbreite d auf dieser Senkrechten der Punkt Q0 festgelegt wird. In
gleicher Weise wird der Endpunkt Q3 senkrecht zur Geraden P2-P3 festgelegt.
Dann werden durch die Punkte Q0 bzw. Q3 die Parallelen (7) bzw. (8) zu den
Geraden P0-P1 bzw. P2-P3 konstruiert. Im nächsten Schritt wird der Mitten
punkt PM der Bezier-Kurve (3) in der beschriebenen Weise nach den Gleichun
gen (2) ermittelt. Dann wird ausgehend vom Mittenpunkt PM senkrecht zur Ge
raden P012-P123, also auch senkrecht zur Bezier-Kurve, im Abstand d ein Mit
tenpunkt QM der zu erzeugenden Rahmenkurve festgelegt.
In den nächsten Schritten werden die noch fehlenden Kontrollpunkte Q1 und Q2
für die zu erzeugende Rahmenkurve bestimmt. Als eine erste Bedingung wird
festgelegt, daß Q1 auf der Parallelen (7) und Q2 auf der Parallelen (8) liegen
muß, damit die Rahmenkurve im Anfangspunkt Q0 und im Endpunkt Q3 parallel
zur ursprünglichen Bezier-Kurve (3) verläuft. Aus der Gleichheit der Steigungen
der Geraden P0-P1 und Q0-Q1 einerseits sowie P2-P3 und Q2-Q3 andererseits
ergeben sich für die x,y-Koordinaten der Punkte P0 . . . P3 und Q0 . . . Q3 die Bezie
hungen:
(yQ1-yQ0)/(xQ1-xQ0) = (yP1-yP0)/(xP1-xP0) (3)
(yQ2-yQ3)/(xQ2-xQ3) = (yP2-yP3)/(xP2-xP3) (4)
In den Gleichungen (3) und (4) sind die Koordinaten (xQ1, yQ1) und (x02, yQ2)
der Kontrollpunkte Q1 und Q2 noch Unbekannte.
Eine weitere Bedingung zur Bestimmung der Kontrollpunkte Q1 und Q2 ergibt
sich daraus, daß der zuvor festgelegte Mittenpunkt QM auch in gleicher Weise
aus den Kontrollpunkten Q0, Q1, Q2, Q3 der zu erzeugenden Rahmenkurve
konstruiert werden könnte, wie der Mittenpunkt PM aus den Kontrollpunkten P0,
P1, P2, P3 konstruiert wurde. Dies ist in Fig. 7 gezeigt. Zwischen den an der
Konstruktion des Mittenpunktes QM beteiligten Punkten Q0, Q1, Q2, Q3, Q01,
Q12, Q23, Q012, Q123 bestehen die zum Gleichungssystem (2) analogen Be
ziehungen:
xQ01 = (xQ0 + xQ1)/2 | yQ01 = (yQ0 + yQ1)/2 |
xQ12 = (xQ1 + x02)/2 | yQ12 = (yQ1 + yQ2)/2 |
xQ23 = (xQ23 + xQ3)/2 | yQ23 = (yQ2 + y03)/2 |
xQ012 = (xQ01 + xQ12)/2 | yQ012 = (yQ01 + yQ12)/2 |
xQ123 = (x012 + xQ23)/2 | yQ123 = (yQ12 + yQ23)/2 |
xQM = (xQ012 + xQ123)/2 | yQM = (yQ012 + yQ123)/2 (5) |
Das Gleichungssystem (5) läßt sich zu den folgenden beiden Gleichungen ver
einfachen:
xQM = (xQ0 + 3.xQ1 + 3.xQ2 + xQ3)/8 (6)
yQM = (yQ0 + 3.yQ1 + 3.yQ1 + 3.yQ2 + yQ3)/8 (7)
Aus den vier Gleichungen (3), (4), (6) und (7) können nun die vier noch unbe
kannten Koordinaten xQ1, yQ1, xQ2, yQ2 der Kontrollpunkte Q1 und Q2 für die
zu erzeugende Rahmenkurve (6) berechnet werden.
Statt des Mittenpunktes PM der zu rahmenden Bezier-Kurve kann das erfin
dungsgemäße Verfahren auch mit einem beliebigen anderen Teilungspunkt der
Bezier-Kurve durchgeführt werden, z. B. mit dem Teilungspunkt, der sich für t =
0,4 ergibt. Das Gleichungssystem (5) muß dann, wie zuvor schon beschrieben,
entsprechend angepaßt werden. Das Verfahren ist auch nicht auf die Erzeu
gung eines äußeren Rahmens, wie in den Figuren gezeigt, beschränkt. Soll die
gegebene Bezier-Kurve nach innen gerahmt werden, müssen nur die Punkte
Q0, Q3 und QM jeweils zur Innenseite der Kurve hin im Abstand der Rahmen
breite festgelegt werden. Wenn ein zentrischer Rahmen erzeugt werden soll,
wird eine äußere und eine innere Rahmenkurve erzeugt und die Fläche dazwi
schen bildet den Rahmen.
In Sonderfällen kann es notwendig werden, die gegebene Bezier-Kurve in der
beschriebenen Weise in Teilkurven zu zerlegen, bevor für die Teilkurven jeweils
eine Rahmenkurve erzeugt wird. Solche Sonderfälle sind gegeben, wenn
- a) die Kontrollpunkte P1 und P2 nicht auf derselben Seite der Verbindungslinie P0-P3 liegen, oder
- b) die Geraden P0-P1 und P2-P3 sich schneiden, oder
- c) die Abstände zwischen den Punkten P0-P2 und den Punkten P1-P3 beide größer sind als der Abstand zwischen den Punkten P0-P3.
Fig. 8 zeigt den Sonderfall (a), bei dem die Bezier-Kurve (3) einen Wendepunkt
hat. Fig. 9 zeigt den Sonderfall (b), bei dem sich die Bezier-Kurve (3) selbst
schneidet. Fig. 10 zeigt den Sonderfall (c), bei dem die Bezier-Kurve (3) mehr
als einen Halbkreis aufspannt.
Fig. 11 zeigt die Rahmung einer Bezier-Kurve unter Berücksichtigung von Son
derfällen als Ablaufdiagramm. Im Schritt (9) wird geprüft, ob einer der drei oben
beschriebenen Sonderfälle (a), (b) oder (c) vorliegt. Wenn nein, wird zum Schritt
(11) weitergegangen. Wenn ein Sonderfall vorliegt, wird im Schritt (10) zunächst
der Mittenpunkt PM der Bezier-Kurve bestimmt und die Kurve dann in die Teil
kurven (P0, P01, P012, PM) und (PM, P123, P23, P3) aufgeteilt (s. auch Fig. 5).
Danach geht es zum Schritt (9) zurück, um zu prüfen, ob für die Teilkurven einer
der Sonderfälle vorliegt. Wenn ja, wird die entsprechende Teilkurve im Schritt
(10) noch einmal geteilt, usw..
Im Schritt (11) wird für alle Teilkurven nach dem erfindungsgemäßen Verfahren
die Rahmenkurve durch Berechnung der Kontrollpunkte Q0, Q1, Q2, Q3 be
stimmt. Im anschließenden Schritt (12) wird für alle Rahmenkurven geprüft, ob
der Abstand Q0-QM größer oder gleich dem doppelten Abstand QM-Q3 ist oder
umgekehrt. Wenn das der Fall ist, ist der Mittenpunkt QM zu nahe am Anfangs
punkt Q0 oder am Endpunkt Q3 der Rahmenkurve. Dann besteht die Möglich
keit, daß die erzeugte Rahmenkurve eine zu schlechte Approximation ist, d. h.
nicht genügend parallel zu der entsprechenden Originalkurve verläuft. Es ist
dann besser, zum Schritt (10) zurückzugehen und die Kurve noch einmal zu
teilen. Die Prüfung auf den doppelten Abstand ist ein Erfahrungswert, der sich in
der Praxis bewährt hat. Im Schritt (12) kann aber auch eine andere Prüfformel
verwendet werden, mit der festgestellt werden kann, ob sich der Punkt QM etwa
in der Mitte zwischen den Punkten Q0 und Q3 befindet.
Claims (7)
1. Verfahren zur Rahmung eines grafischen Objekts, dessen Umriß durch ku
bische Bezier-Kurven beschrieben ist, durch Erzeugung einer näherungs
weise parallelen kubischen Bezier-Rahmenkurve mit den Kontrollpunkten
Q0, Q1, Q2, Q3 zu jeder gegebenen kubischen Bezier-Kurve des Umriß mit
den Kontrollpunkten P0, P1, P2, P3, dadurch gekennzeichnet, daß
- a) der Kontrollpunkt Q0 ausgehend vom Kontrollpunkt P0 senkrecht zur Linie P0-P1 im Abstand der Rahmenbreite festgelegt wird,
- b) der Kontrollpunkt Q3 ausgehend vom Kontrollpunkt P3 senkrecht zur Linie P2-P3 im Abstand der Rahmenbreite festgelegt wird,
- c) der Kontrollpunkt Q1 auf eine erste Parallele gelegt wird, die durch den Kontrollpunkt Q0 parallel zur Linie P0-P1 verläuft,
- d) der Kontrollpunkt Q2 auf eine zweite Parallele gelegt wird, die durch den Kontrollpunkt Q3 parallel zur Linie P2-P3 verläuft,
- e) für die gegebene Bezier-Kurve ein Mittenpunkt PM aus den Kontrollpunk ten P0, P1, P2, P3 konstruiert wird,
- f) für die zu erzeugende Bezier-Rahmenkurve ein Mittenpunkt QM ausge hend vom Mittenpunkt PM senkrecht zur gegebenen Bezier-Kurve im Ab stand der Rahmenbreite festgelegt wird, und
- g) die Lage des Kontrollpunktes Q1 auf der ersten Parallele und des Kon trollpunktes Q2 auf der zweiten Parallele aus der Bedingung berechnet wird, daß der Mittenpunkt QM in gleicher Weise aus den Kontrollpunkten Q0, Q1, Q2, Q3 konstruierbar ist, wie der Mittenpunkt PM aus den Kon trollpunkten P0, P1, P2, P3 konstruiert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Mitten
punkte PM und QM Teilungspunkte der gegebenen Bezier-Kurve bzw. der
zu erzeugenden Bezier-Rahmenkurve sind.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die gegebene
Bezier-Kurve in Teilstücke aufgeteilt wird und für jedes Teilstück eine
Bezier-Rahmenkurve erzeugt wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die gegebene
Bezier-Kurve in Teilstücke aufgeteilt wird, wenn sie einen Wendepunkt hat.
5. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die gegebene
Bezier-Kurve in Teilstücke aufgeteilt wird, wenn sie sich selbst schneidet.
6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die gegebene
Bezier-Kurve in Teilstücke aufgeteilt wird, wenn sie einen Winkel von 180°
oder mehr umschließt.
7. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die gegebene
Bezier-Kurve in Teilstücke aufgeteilt wird, wenn in der erzeugten Bezier-
Rahmenkurve der Mittenpunkt QM zu nahe am Kontrollpunkt Q0 oder am
Kontrollpunkt Q3 liegt.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19901934A DE19901934C2 (de) | 1999-01-19 | 1999-01-19 | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind |
US09/482,915 US6512847B1 (en) | 1999-01-19 | 2000-01-14 | Method for generating a frame for graphic objects that are described by Bezier curves |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19901934A DE19901934C2 (de) | 1999-01-19 | 1999-01-19 | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19901934A1 true DE19901934A1 (de) | 2000-07-27 |
DE19901934C2 DE19901934C2 (de) | 2001-07-19 |
Family
ID=7894722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19901934A Expired - Fee Related DE19901934C2 (de) | 1999-01-19 | 1999-01-19 | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind |
Country Status (2)
Country | Link |
---|---|
US (1) | US6512847B1 (de) |
DE (1) | DE19901934C2 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7116327B2 (en) * | 2004-08-31 | 2006-10-03 | A{grave over (g)}fa Corporation | Methods for generating control points for cubic bezier curves |
JP4652252B2 (ja) * | 2006-02-28 | 2011-03-16 | 株式会社ミツトヨ | 画像測定システム、画像測定方法及び画像測定プログラム |
EP2519933B1 (de) | 2009-12-30 | 2020-04-01 | Telecom Italia S.p.A. | Verfahren zur berechnung des umschliessenden rechtecks vektorieller grafikformen |
US8521484B2 (en) * | 2010-06-02 | 2013-08-27 | Livermore Software Technology Corp. | Curve matching for parameter identification |
CN102918566B (zh) * | 2011-04-15 | 2016-01-06 | 松下电器产业株式会社 | 曲线描绘装置、曲线描绘方法及集成电路 |
TWI476640B (zh) | 2012-09-28 | 2015-03-11 | Ind Tech Res Inst | 時間資料序列的平滑化方法與裝置 |
CN104200423B (zh) * | 2014-08-27 | 2018-01-12 | 大连海事大学 | 基于多控制点的矢量图形上下边界线形状自动调整方法 |
US9418454B1 (en) | 2015-07-23 | 2016-08-16 | Axure Software Solutions, Inc. | Generating markup encodings for the compact rendering of curves in interactive graphical designs |
US10347016B2 (en) * | 2016-01-12 | 2019-07-09 | Monotype Imaging Inc. | Converting font contour curves |
US10936792B2 (en) | 2017-12-21 | 2021-03-02 | Monotype Imaging Inc. | Harmonizing font contours |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214754A (en) * | 1988-06-29 | 1993-05-25 | Fujitsu Limited | Method and apparatus for approximating polygonal line to curve |
US5255198A (en) * | 1990-02-21 | 1993-10-19 | Brother Kogyo Kabushiki Kaisha | Embroidery data processing apparatus |
US5280576A (en) * | 1991-12-24 | 1994-01-18 | Xerox Corporation | Method of adjusting the weight of a character of an outline font |
US5301267A (en) * | 1991-09-27 | 1994-04-05 | Adobe Systems Incorporated | Intelligent font rendering co-processor |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930002339B1 (ko) * | 1989-04-20 | 1993-03-29 | 가부시기가이샤 도시바 | 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법 |
DE4244462A1 (de) * | 1992-12-24 | 1994-06-30 | Equicon Software Gmbh Jena | Verfahren zur Generierung von ebenen technischen Kurven oder Konturen |
JP3405776B2 (ja) * | 1993-09-22 | 2003-05-12 | コニカ株式会社 | 切り抜き画像の輪郭線探索装置 |
JP3330277B2 (ja) * | 1996-03-25 | 2002-09-30 | シャープ株式会社 | 文字パターン生成装置 |
KR100219072B1 (ko) * | 1996-04-02 | 1999-09-01 | 김영환 | 중심축 변환을 이용한 폰트 및 그 폰트 서체의 변형 및 라스터라이징 방식 |
JPH11345344A (ja) * | 1998-06-01 | 1999-12-14 | Matsushita Electric Ind Co Ltd | 3次曲線を与える方法及び装置 |
JP2000149046A (ja) * | 1998-09-04 | 2000-05-30 | Sony Corp | 曲線生成装置及び方法、プログラムを格納した記録媒体、並びに対応点設定方法 |
-
1999
- 1999-01-19 DE DE19901934A patent/DE19901934C2/de not_active Expired - Fee Related
-
2000
- 2000-01-14 US US09/482,915 patent/US6512847B1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214754A (en) * | 1988-06-29 | 1993-05-25 | Fujitsu Limited | Method and apparatus for approximating polygonal line to curve |
US5255198A (en) * | 1990-02-21 | 1993-10-19 | Brother Kogyo Kabushiki Kaisha | Embroidery data processing apparatus |
US5301267A (en) * | 1991-09-27 | 1994-04-05 | Adobe Systems Incorporated | Intelligent font rendering co-processor |
US5280576A (en) * | 1991-12-24 | 1994-01-18 | Xerox Corporation | Method of adjusting the weight of a character of an outline font |
Also Published As
Publication number | Publication date |
---|---|
US6512847B1 (en) | 2003-01-28 |
DE19901934C2 (de) | 2001-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2813519C2 (de) | Interpolationsverfahren für Farbsignale | |
DE3110222C2 (de) | Verfahren zur partielle glättenden Retusche bei der elektronischen Farbbildreproduktion | |
DE19528596C2 (de) | Verfahren und Vorrichtung zur Kolorierunterstützung | |
DE3527500C2 (de) | ||
DE10204751B4 (de) | Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache | |
WO1996031837A1 (de) | Verfahren zur generierung einer contone-map | |
EP0096090A1 (de) | Verfahren und Einrichtung zur Herstellung farbiger Proofs beim Mehrfarbendruck | |
DE3233427A1 (de) | Verfahren zum aendern der farbwiedergabe in dem auf einer farbbildroehre wiedergegebenen bild einer vorlage zur verwendung beim mehrfarbendruck | |
DE2752421A1 (de) | Anordnung fuer die abtastung und digitalisierung von grafischen darstellungen oder daten | |
DE19901934C2 (de) | Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind | |
EP0059705A1 (de) | Verfahren und schaltungsanordnung zur partiellen korrektur der zeichnung bei der farbbildreproduktion. | |
EP1842361B1 (de) | Verfahren, computerprogramm, computer und drucksystem zum trapping von bilddaten | |
DE10205476A1 (de) | Verfahren zur Druckprozesstransformation des Farbdrucks für Schwarzweiß-Bilder | |
DE3935558A1 (de) | Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punkten | |
DE60027187T2 (de) | System und verfahren zur verarbeitung mehrerer pegel mit pegelbeschraenkung | |
DE4027897C2 (de) | Bildverarbeitungsvorrichtung | |
DE10150837B4 (de) | Verfahren zur Bestimmung bzw. Umrechnung von Farbprofilen | |
DE3110471A1 (de) | Verfahren und schaltungsanordnung zur partiellen elektronischen retusche bei der farbbildreproduktion | |
EP1064618B1 (de) | Verfahren zur koordinatenumrechnung von bilddaten mit zufälligem offset der bildpunkte | |
DE102009018284A1 (de) | Verfahren zur Rasterung von Farbauszügen eines Lentikularbildes und Verfahren zur Herstellung eines Lentikularbildes auf einem Bedruckstoff | |
EP1034511B1 (de) | Verfahren zur umsetzung digitaler daten im raster einer ersten auflösung in digitale zieldaten einer zweiten auflösung | |
DE3110517C2 (de) | Verfahren und Schaltungsanordnung zur partiellen elektronischen Korrektur der Strukturierung bei der Farbbildreproduktion | |
EP1985107B1 (de) | Verfahren zur transformation von farbwerten | |
DE4409226C2 (de) | Verfahren und Einrichtung zur Transformation von Farbkörpern | |
EP4325829A1 (de) | Verfahren zur durchführung von transformationen von farbdaten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |