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 sind

Info

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
Application number
DE19901934A
Other languages
English (en)
Other versions
DE19901934C2 (de
Inventor
Frank Gnutzmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heidelberger Druckmaschinen AG
Original Assignee
Heidelberger Druckmaschinen AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Heidelberger Druckmaschinen AG filed Critical Heidelberger Druckmaschinen AG
Priority to DE19901934A priority Critical patent/DE19901934C2/de
Priority to US09/482,915 priority patent/US6512847B1/en
Publication of DE19901934A1 publication Critical patent/DE19901934A1/de
Application granted granted Critical
Publication of DE19901934C2 publication Critical patent/DE19901934C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing 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)
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.
DE19901934A 1999-01-19 1999-01-19 Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind Expired - Fee Related DE19901934C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 曲線生成装置及び方法、プログラムを格納した記録媒体、並びに対応点設定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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