DE102018001403A1 - Computerisierte Erzeugung von ornamentalen Designs durch Platzieren von Instanzen einfacher Formen in Übereinstimmung mit einem Richtungshinweis - Google Patents

Computerisierte Erzeugung von ornamentalen Designs durch Platzieren von Instanzen einfacher Formen in Übereinstimmung mit einem Richtungshinweis Download PDF

Info

Publication number
DE102018001403A1
DE102018001403A1 DE102018001403.8A DE102018001403A DE102018001403A1 DE 102018001403 A1 DE102018001403 A1 DE 102018001403A1 DE 102018001403 A DE102018001403 A DE 102018001403A DE 102018001403 A1 DE102018001403 A1 DE 102018001403A1
Authority
DE
Germany
Prior art keywords
elements
ornamental
streamline
directional
container
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.)
Pending
Application number
DE102018001403.8A
Other languages
English (en)
Inventor
Paul Asente
Craig Kaplan
Radomir Mech
Reza Adhitya Saputra
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102018001403A1 publication Critical patent/DE102018001403A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • G06T3/153Transformations for image registration, e.g. adjusting or mapping for alignment of images using elastic snapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • 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
    • 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/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Systeme und Verfahren zum computerisierten Zeichnen von ornamentalen Designs, die aus platzierten Instanzen einfacher Formen bestehen. Die Formen, welche Elemente genannt werden, werden aus einer kleinen Bibliothek von Templates ausgewählt. Die Elemente werden verformt, um entlang eines Richtungsfelds zu fließen, das interpliert wird aus von einem Benutzer gegebenen Strichen, um der finalen Komposition einen Eindruck eines visuellen Flusses zu verleihen, und sind darauf beschränkt, dass sie innerhalb eines Containerbereichs liegen. In einer Implementierung wird basierend auf Benutzerstrichen ein Vektorfeld berechnet. Es werden Stromlinien erzeugt, die mit dem Vektorfeld übereinstimmen, und ein Element wird über jede Stromlinie platziert. Die Form der Elemente kann modifiziert werden, beispielsweise durch Biegen, Strecken oder Vergrößern, um Abstände zwischen Elementen zu verringern und Variationen in den Abständen zu minimieren, um die ästhetische Erscheinung zu verbessern.

Description

  • Urheberrechtliche Hinweise
  • Ein Teil der Offenbarung dieses Patentdokuments enthält Material, das urheberrechtlich geschützt ist. Der Rechteinhaber erhebt keine Einwände dagegen, dass Dritte das Patentdokument oder die Patentoffenbarung, so wie sie in den Akten oder Aufzeichnungen des Patent- und Markenamtes erscheint, originalgetreu wiedergeben, behält sich aber alle anderen urheberrechtlichen Rechte vor.
  • Gebiet der Offenbarung
  • Diese Offenbarung bezieht sich allgemein auf das Gebiet der Datenverarbeitung und genauer auf die computerisierte Erzeugung von ornamentalen Designs
  • Hintergrund
  • Ein populärer Stil von ornamentalen Designs beinhaltet das Ausfüllen eines Containerbereichs mit einer Anzahl von kleinen dekorativen Elementen. Die dekorativen Elemente sind einfache geometrische Formen, oftmals stilisierte Pflanzen, Spiralen oder andere abstrakte Formen. Die Elemente sind groß genug, so dass sie einzeln wahrgenommen werden können, wirken jedoch zusammen, um die Gesamtform der Containerform zu kommunizieren. Typischer Weise bilden sie auch eine kohäsive stilistische Familie.
  • Bezüglich der Erzeugung von Packungen oder Mosaiken gibt es ein gewisses Maß an früherer Forschung in Computergrafik gegeben, hauptsächlich im Gebiet des nicht-fotorealistischen Renderns. Die meisten Techniken packen Elemente mittels fester Bewegungen, was zu einer hohen Gleichförmigkeit aber unzureichender Varietät führt. Andere Arbeiten beinhalten das verteilen kleiner geometrischer Elemente, um Texturen oder Mosaike zu erzeugen. A. Hausner beschreibt in: „Simulating decorative mosaics“, Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '01, Seiten 573-580. ACM, New York, NY, USA, 2001. doi: 10.1145/383259.383327 beispielsweise eine Variante von Lloyds Methode, um quadratische Kacheln, welche relativ zu einem Vektorfeld ausgerichtet sind, zu verteilen in einer Simulation traditioneller Mosaike. Nachfolgende Arbeiten haben diesen Ansatz verallgemeinert auf Familien unterschiedlicher Elementformen und einen FFT-basierten Bildkorrelationsschritt aufgenommen, um einen gleichförmigeren negativen Raum bzw. Abstand zu erzeugen. Siehe beispielsweise S. Hiller, H. Hellwig und 0. Deussen, „Beyond Stippling - Methods for Distributing Objects on the Plane“, Computer Graphics Forum, 2003. doi: 10.1111/1467-8659.00699; und K. Dalal, A. W. Klein, Y. Liu, und K. Smith, „A spectral approach to NPR packing“, Proceedings of the 4th International Symposium on Non-photorealistic Animation and Rendering, NPAR '06, Seiten 71-78. ACM, New York, NY, USA, 2006. doi: 10.1145/1124728.1124741.
  • Ein separater Ast der Forschung behandelt das Platzieren von Elementen als eine Form beispielsbasierter Textursynthese, siehe zum Beispiel T. Hurtut, P.-E. Landes, J. Thollot, Y. Gousseau, R. Drouillhet und J.-F. Coeurjolly, „Appearance-guided synthesis of element arrangements by example“, Proceedings of the 7th International Symposium on Non-Photorealistic Animation and Rendering, NPAR '09, Seiten 51-60. ACM, New York, NY, USA, 2009, doi: 10.1145/1572614.1572623; und Z. AlMeraj, C. S. Kaplan und P. Asente, „Patch-based geometric texture synthesis“, Proceedings of the Symposium on Computational Aesthetics, CAE '13, Seiten 15-19. ACM, New York, NY, USA, 2013. doi: 10.1145/2487276.2487278. In diesen Techniken ist es das Ziel, die statistischen Eigenschaften einer eingegebenen Textur zu reproduzieren, einschließlich der unregelmäßigen Abstände zwischen Elementen. T. Ijiri, R. Měch, T. Igarashi und G. S. P. Miller, schlagen in: „An example-based procedural system for element arrangement“, Comput. Graph. Forum, 27:429-436, 2008, ein Wachstumsmodell vor, in welchem Elemente relativ zu einem Vektorfeld orientiert und durch Begrenzungskurven beschränkt werden können. Wie auch in den Techniken, die auf Lloyds Methode basieren, werden in diesen Fällen Elemente mittels Translation und Rotation platziert, ohne dass dabei eine Verformung vorgesehen ist.
  • Andere Arbeiten beinhalten Puzzlebildmosaike („Jigsaw Image Mosaics“, JIMs), die Elemente dicht in einen Containerbereich packen, ohne irgendeinen negativen Raum zu lassen. Siehe beispielsweise J. Kim, F. Pellacini, „Jigsaw image mosaics“, Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '02, Seiten 657-664. ACM, New York, NY, USA, 2002. doi: 10.1145/566570.566633. Die JIMs werden mittels einer Optimierung erzeugt, welche begrenzte Ausmaße an Überlappungen und Verformungen erlaubt. Die Berechnung von Kachelungen der Ebene basierend auf von einem Benutzer bereitgestellten Formen ist beschrieben in: C. S. Kaplan und D. H. Salesin, „Escherization“, Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '00, Seiten 499-510. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 2000. doi: 10.1145/344779.345022. Diese Techniken lassen die Designmöglichkeiten unberücksichtigt, welche durch den Fluss oder die Kontrolle des negativen Raums geboten werden.
  • Eine andere Kategorie früherer Forschungen trachtet danach, explizite Prozedurale Modelle zum Erstellen dekorativer Muster zu entwickeln. Ein Satz von Designprinzipien, welcher beinhaltet: Wiederholung, Balance und Übereinstimmung mit geometrischen Zwangsbedingungen, wird zusammen mit einem grammatikartigen System zum Anordnen pflanzlicher Ornamente von M. T. Wong, D. E. Zongker und D. H. Salesin beschrieben in: „Computer-generated floral ornament“, Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '98, Seiten 423-434. ACM, New York, NY, USA, 1998. doi: 10.1145/280814.280948. Ein weiteres Beispiel ist DecoBrush, wobei ornamentale Elemente entlang Linienkunst verformt wird, wie beschrieben von J. Lu, C. Barnes, C. Wan, P. Asente, R. Měch und A. Finkelstein in DecoBrush: „Drawing structured decorative patterns by example“, ACM Trans. Graph., 33(4):90:1-90:9, Juli 2014. doi: 10.1145/2601097.2601190. Das PATEX System, wie beschrieben von P. Guerrero, G. Bernstein, W. Li und N. J. Mitra in: „PATEX: Exploring pattern variations“, ACM Trans. Graph., 35(4):48:1-48:13, Juli 2016. doi: 10.1145/2897824.2925950, behält geometrische Beziehungen auf hoher Ebene bei, wie Symmetrie und Wiederholung, während ornamentale Designs editiert werden.
  • Andere verwandte Forschungen beinhalten solche, welche sich auf das Packen einzelner Schriftzeichenformen oder von Textblöcken in Containerbereiche bezieht, wie etwa das Erzeugen von Kalligrammen durch das Ausfüllen eines Containers mit einer kleinen Anzahl von Schriftzeichen, welche ein oder zwei Wörter bilden. Siehe beispielsweise J. Xu und C. S. Kaplan, „Calligraphic packing“, Proceedings of Graphics Interface 2007, GI '07, Seiten 43-50. ACM, New York, NY, USA, 2007. doi: 10.1145/1268517.1268527; und C. Zou, J. Cao, W. Ranaweera, I. Alhashim, P. Tan, A. Sheffer und H. Zhang, „Legible compact calligrams“, ACM Trans. Graph., 35(4):122:1-122:12, Juli 2016. doi: 10.1145/2897824.2925887. Das Ziel ist es, eine Balance zwischen dem Ausfüllen des Containerraums und dem Beibehalten der Lesbarkeit zu finden. Ein anderes Beispiel ist die Verformung von Textzeilen, um diese entlang Stromlinien in einem Container anzupassen, wie etwa beschrieben von R. Maharik, M. Bessmeltsev, A. Sheffer, A. Shamir und N. Carr, „Digital micrography“, ACM SIGGRAPH 2011 Papers, SIGGRAPH '11, Seiten 100:1-100:12. ACM, New York, NY, USA, 2011. doi: 10. 1145/1964921.1964995.
  • Schließlich haben einige jüngere Arbeiten das Elaborieren von ornamentalen Mustern auf Oberflächen unter Zwangsbedingungen, die durch die Fabrikation auferlegt werden, untersucht. Beispielsweise beschreiben W. Chen, X. Zhang, S. Xin, Y. Xia, S. Lefebvre und W. Wang in: „Synthesis of filigrees for digitalfabrication“, ACM Trans. Graph., 35(4):98:1-98:13, Juli 2016, doi: 10.1145/2897824.2925911 ein Verfahren, um filigrane Muster zu synthetisieren. J. Zehnder, S. Coros und B. Thomaszewski schlagen in: „Designing structurally sound ornamental curve networks“, ACM Trans. Graph., 35(4):99:1-99:10, Juli 2016, doi: 10.1145/2897824.2925888 halbautomatisierte Werkzeuge zum Verformen von ornamentalen Kurven vor, um eine Oberfläche zu bedecken. In beiden Fällen muss das Layout der Elemente berechnet werden, um sowohl ästhetische und strukturelle Ziele zu erfüllen-vor allem müssen sich Elemente überlappen, um ein verbundenes Ergebnis zu erhalten, das zusammenhalten wird, wenn es 3D gedruckt wird.
  • Während die oben beschriebenen Arbeiten eine Vielfalt von Techniken bereitstellen, um künstlerische Werke zu erzeugen, verbleibt ein Bedürfnis nach computerisierten Verfahren und Systemen, die ornamentale Designs erzeugen können, welche einen Container verwenden, der mit unregelmäßig geformten Elementen gefüllt wird, die visuell gefällig sind und die es erlauben, dass die Elemente einzeln wahrgenommen werden, während die Gesamtform des Containers kommuniziert wird.
  • Figurenliste
  • Die beigefügten Zeichnungen, welche in dieses Dokument inkorporiert werden und einen Bestandteil desselben bilden, exemplifizieren die Ausführungsformen der vorliegenden Erfindung und dienen zusammen mit der Beschreibung dazu, Prinzipien der hierin offenbarten erfinderischen Techniken zu erläutern und zu illustrieren.
    • 1 ist ein Übersichtsdiagramm, welches eine Ausführungsform eines Systems zum Packen ornamentaler Elemente zeigt.
    • 2 zeigt vier weitere Beispiele von ornamentalen Packungen.
    • 3A und 3B sind Flussdiagramme, welche Details der Operation der Elementplatzierungsoperationen 116 von 1 zeigen.
    • 3C ist eine Illustration der in 3A und 3B gezeigten Schritte.
    • 4A ist ein Flussdiagramm, welches weitere Details der Erzeugung einer LR Funktion zur Elementplatzierung darstellt.
    • 4B ist eine Darstellung der in 4A gezeigten Operationen.
    • 5 ist eine Illustration der Nachverfolgung von Stromlinien.
    • 6 ist ein Flussdiagramm, welches weitere Details des Matchens von Elementen und Blobs zeigt.
    • 7A, 7B und 7C illustrieren das Verformen eines Elements.
    • 8A und 8B illustrieren Aspekte des Stromliniendehnens.
    • 9A und 9B illustrieren Stromlinienschnappen.
    • 10, 11 und 12 geben weitere Beispiele ornamentaler Packungen.
    • 13 zeigt ein Blockdiagramm einer Hardware, die in verschiedenen Ausführungsformen verwendet werden kann.
  • Detaillierte Beschreibung
  • In der folgenden detaillierten Beschreibung wird sich auf die beigefügten Zeichnungen bezogen, in welchen gleiche funktionelle Elemente mit gleichen Bezugszeichen bezeichnet sind. Die besagten beigefügten Zeichnungen zeigen allein beispielhaft und nicht beschränkend spezifische Ausführungsformen und Implementierungen i n Übereinstimmung mit Prinzipien der vorliegenden Erfindung. Diese Implementierungen werden in ausreichendem Detail beschrieben, um die Fachleute in die Lage zu versetzen, die Erfindung auszuführen, und es sei verstanden, dass andere Implementierungen verwendet und dass strukturelle Änderungen und/oder Ersetzungen verschiedener Elemente vorgenommen werden können, ohne vom Bereich und Geist der vorliegenden Erfindung abzuweichen. Die folgende detaillierte Beschreibung soll daher nicht in einem beschränkenden Sinn verstanden werden.
  • Die hierin offenbarten Systeme und Verfahren ermöglichen das computerisierte Zeichnen von ornamentalen Designs, welche aus platzierten Instanzen einfacher Formen bestehen. Diese Formen, welche Elemente genannt werden, können aus einer kleinen Bibliothek von Templates ausgewählt werden. Die Elemente werden verformt, so dass sie entlang eines Richtungsfeldes fließen, das aus von einem Benutzer gegebenen Strichen interpoliert wird, was der finalen Komposition einen Eindruck eines visuellen Flusses verleiht, und werden so begrenzt, dass sie innerhalb eines Containerbereichs liegen. In einer Implementierung wird basierend auf den von dem Benutzer gegebenen Strichen ein Vektorfeld berechnet. Es werden Stromlinien konstruiert, welche dem Vektorfeld entsprechen, und es wird ein Element über jede Stromlinie platziert.
  • In 1 ist ein System 100 zum Packen von ornamentalen Elementen gezeigt, das wie oben beschrieben arbeitet. Ein oder mehrere Benutzer 101 interagieren mit dem System 100, um ornamentale Designs zu erzeugen, wie etwa bei 106 gezeigt. Das System 100 beinhaltet einen Speicher 103, der verwendet werden kann, um eine Vielzahl von im Voraus erzeugten Containern 104 und eine Vielzahl von im Voraus erzeugten Elementen 105 zu speichern. Die Container 104 haben die Form visueller Bilder, welche die Form einer einfach geschlossenen Kurve (simple closed curve) annehmen, mit anderen Worten, einer Kurve, die keine Endpunkte aufweist und die einen Bereich vollständig einschließt, und den die Kurve nicht selbst durchkreuzt. Die einfach geschlossene Kurve ist auf keine bestimmte Form beschränkt, wie etwa bekannte geometrische Formen, sondern kann stattdessen asymmetrisch sein und kann irregulär geformt sein, wie etwa die verschiedenen in den Zeichnungen gezeigten Bilder. Auch wenn die in den Zeichnungen gezeigten Bilder von Tieren sind, oder ein Tierkopf oder ein menschlicher Schädel, sind die Container 104 nicht auf Bilder von Tieren oder Menschen beschränkt. Auch wenn der Container 104 als ein visuell geschlossener Container mit einem durchzogenen Umfang gezeigt ist, braucht das vervollständigte ornamentale Design 106 keinen sichtbaren Umfang aufweisen, der zusammenhängend oder ununterbrochen ist. So weist etwa das ornamentale Design 106 in 1 in seinem Umfang mehrere Diskontinuitäten auf, wie auch die ornamentalen Designs in den anderen Zeichnungen. Wie weiter erläutert, in Verbindung mit 4B, haben die Elemente 105 die Form visueller Formen, welche die Form einer einfach geschlossenen Kurve annehmen, welche nicht symmetrisch zu sein braucht und welche auch unregelmäßig geformt sein kann. Ein Element 105 kann auch eine Menge einfach geschlossener Kurven sein, wie etwa als 105.1 in 4B zu sehen ist welches zwei Kurven aufweist.
  • Der Benutzer 101 kann das System 100 dazu veranlassen, ein ornamentales Design 106 zu erzeugen, indem er einen Container 104 auswählt. Der von dem Benutzer 101 in 1 ausgewählte Container 104 ist eine Menge von drei Containern: der Fischkörper und zwei Flossen. Der Benutzer 101 kann auch ein oder mehrere Elemente 105 zur Platzierung in dem Container 104 auswählen. Das bzw. die ausgewählte(n) Element(e) 105 wird bzw. werden durch das System 100 mittels einer Reihe von Operationen platziert, welche allgemein bei 116 gezeigt und weiter in Verbindung mit den verbleibenden Figuren und der begleitenden Beschreibung beschrieben werden. Kurz gesagt wird zur Elementplatzierung 116 der Benutzer 101 einen oder mehrere, typischer Weise multiple vom Benutzer spezifizierte Richtungsflüsse, oder Richtungshinweise, für den ausgewählten Container 104 geben. Ein Fluss ist in 1 bei 114 innerhalb des Körpers des Fisches zu sehen. Andere Flüsse können an anderen Positionen innerhalb des Containers 104 platziert werden, und ebenfalls, wie zu sehen, entlang des Umfangs des Containers 104. Der Benutzer 101 kann auch ein oder mehrere erste Elemente in den Container 110 platzieren, wie etwa das Auge 112. Die festen Elemente 112 können aus einer Menge fester Elemente ausgewählt werden, die in dem Speicher 103 gespeichert sind, oder können von dem Benutzer 103 manuell erzeugt werden. Die ausgewählten Elemente 105 werden in den ausgewählten Container 104 platziert, indem sie in der lokalen Richtung des Flusses, wie durch den gerichteten Fluss 114 angezeigt, ausgerichtet werden. Die ausgewählten Elemente 105 können auch verformt werden, um Änderungen der Flussrichtung zu erfassen. Bestimmte Elemente 105 werden auch verformt, um die Nutzung negativen Raums mit benachbarten Elementen auszubalancieren. Die Größe bestimmter Elemente 105 kann auch geändert werden. In bestimmten Ausführungsformen platzieren die Elementplatzierungsoperationen 116 die ausgewählten Elemente 105 so, dass eines oder mehreren der folgenden erreicht wird: (i) folge dem Fluss, der durch den Richtungshinweis 114 definiert wird, (ii) erhalte so wenig freiem Raum wie möglich zwischen den platzierten Elementen, (iii) mache den Abstand zwischen Elementen so gleich wie möglich, (iv) bringe die Elemente mit den Containerbegrenzungen in Übereinstimmung, (v) variiere Elementbreite und -länge, um eine übermäßig gleichförmige Anordnung zu vermeiden.
  • Das resultierende ornamentale Design 106 für den Container 104 kann in dem Speicher 103 gespeichert und/oder dem Benutzer 101 für andere Verwendungen verfügbar gemacht werden, wie etwa zum Senden an andere, zur weiteren Bearbeitung, zum Drucken und so weiter. Der digitale Speicher 103 ist allgemein dargestellt, kann aber eine Vielfalt von Formen von Speichern für digitale Inhalte annehmen, einschließlich einem Speicher, der physisch über zahlreiche Speichervorrichtungen hinweg verteilt ist, und der auch teilweise oder vollständig physisch von anderen Teilen des Systems 100 entfernt ist.
  • 2 zeigt vier weitere Beispiele ornamentaler Designs 106, wie einen Hund, einen Fisch, einen Löwenkopf und einen Schädel, welche von dem System 100 erzeugt werden können. Beispiele von Elementen 105 sind in 4B gezeigt (in größerem Detail später beschrieben), wobei mit jedem Element 105 ein Rückgrat 109 assoziiert ist, welche die Verformung des zugeordneten Elements 105 kontrolliert. Ausführungsformen des Systems 100 arbeiten, um die ornamentalen Designs 106 zu erzeugen, die in 1 und 2 zu sehen sind (sowie auch später beschrieben in 9-11), in Übereinstimmung mit einem oder mit mehreren höheren Prinzipien, die für deren Erstellung von Wichtigkeit sind. (1) Balance - die Komposition zeigt nicht zu viel Variation in lokalen Ausmaßen von positivem und negativem Raum. Dieses Ziel wird typischer Weise erreicht, indem die Variationen in Durchmessern von Elementen begrenzt wird (was die Variation in positivem Raum kontrolliert), und indem sichergestellt wird, dass Elemente gleichmäßig beabstandet werden (was den negativen Raum kontrolliert). (2) Fluss - in lokalen Teilen einer Komposition werden die Elemente ausgerichtet, um einen Eindruck von Gerichtetheit oder Fluss zu kommunizieren. Die gezeigten Beispiele zeigen ein gewisses Maß an Fluss. In dem Hund schienen viele Elemente von der Blume in der Mitte des Körpers nach außen hin zu fließen, und dann den Hals hoch und in die Beine. Die Schuppen und andere Elemente auf dem Fisch fließen entlang der Körperlänge. In dem Löwen und dem Schädel fließen Elemente von einer mittleren Symmetrieachse horizontal nach außen, was im Fall des Löwen ein Fell oder Schnurrhaare suggeriert. Fluss verschafft einer Komposition ein visuelles Interesse, was den Betrachter engagiert, indem ein Eindruck von Progression und Bewegung durch die Elemente gegeben wird. (3) Gleichförmigkeit inmitten von Vielfalt - wiederholte Elemente müssen eine Balance zwischen zwei entgegengesetzten Kräften finden. Gleichförmigkeit zielt auf eine gesamtheitliche Einheit des Designs ab; Varietät trachtet danach, die Monotonie reiner Wiederholung zu durchbrechen. Es sollte den Elementen erlaubt sein, in Form zu variieren, aber auf kontrollierte Weise. Dieses Prinzip wird als Gleichförmigkeit inmitten von Vielfalt bzw. „uniformity amidst variety“ bezeichnet, ein Ausdruck, der von dem Philosophen Francis Hutcheson entliehen ist. Siehe F. Hutcheson, „An Inquiry Into the Original of Our Ideas of Beauty and Virtue“, J. und J. Knapton et al, 1729. Siehe zur Rolle der Variation im Design auch E. H. Gombrich, „The Sense of Order: A Study in the Psychology of Decorative Art", Phaidon Press Limited, 1984. In den Beispielen hierin folgen sowohl die Spiralen des Hundes als auch die Schuppen des Fisches beide diesem Prinzip. Auch der Löwe und der Schädel tun dies, außer dass die Hälfte der Elemente gespiegelte Kopien der anderen Hälfte sind, gespiegelt an einer vertikalen Linie durch die Mitte der Komposition. Diese Wiederholung betont die zweiseitige Symmetrie in dem Design. (4) Feste Elemente - Kompositionen verwenden eine kleine Anzahl fester Elemente, um spezifische Designprobleme zu lösen oder um Fokussierungspunkte zu bieten. In jeder figürlichen Zeichnung dienen Augen als ein mächtiger Fokussierungspunkt; in jedem Beispiel in 2 sind Augen eingezeichnet als besondere bzw. einzigartige feste Elemente 112 (das Auge des Hundes wird durch eine sorgsam platzierte Spirale ausgedrückt). Andere Situationen, die nach spezialisierten Formen verlangen, beinhalten die Pfoten des Hundes, die Zähne und Flossen des Fisches, der Bart des Löwen und die Zähne des Schädels. Eine scharfe Variation in der Balance von positivem und negativem Raum kann auch verwendet werden, um einen Fokussierungspunkt zu betonen, wie etwa in dem leeren Raum um die Augen des Fisches. (5) Begrenzungen - in vielen ornamentalen Packungen werden Elemente sorgsam angeordnet, so dass sie mit Containerbegrenzungen übereinstimmen und diese betonen. Der Fisch zeigt dieses Prinzip am deutlichsten: wir können die Lücken zwischen Elementen leicht ausfüllen, um ein mentales Bild eines kontinuierlichen Umrisses zu formen. Die Elemente des Hundes sind ebenso wohl angeordnet, um die Form des Containers anzuzeigen. Diese Regel ist jedoch nicht universell. Der Löwe untergräbt dies auf raffinierte Weise mit Elementen, die nach außen hin zu einer undeutlichen Begrenzung fließen, was dabei hilft, die Erscheinung von Fell zu vermitteln.
  • Die Ergebnisse des Systems 100 vermeiden auch, Elemente über rigide Bewegungen zu packen, die zu einer hohen Gleichförmigkeit, aber ungenügenden Varietät führen. Das System 100 stellt systematische Moden geometrischer Verformung bereit, die aus einer einzelnen eingegebenen Form plausible Familien miteinander in Beziehung stehender dekorativer Elemente erzeugen kann. Das System 100 fokussiert darauf, eine große Anzahl kleiner Elemente zu packen, um Kompositionen großer, visuell unterschiedlicher Elemente zu erzeugen. Die Packung ist nicht zu dicht, so dass jede einzelne Form erkannt werden kann.
  • 3A und 3B sind Flussdiagramme, welche Operationsdetails der Elementplatzierungsoperationen 116 von 1 zeigen. 3C zeigt visuell die Ergebnisse der Schritte, die in 3A und 3B ausgeführt werden. Die in 3A, 3B und 3C ausgeführten Operationen werden hier zusammengefasst, wobei Details in Verbindung mit den verbleibenden Figuren gegeben werden. Bei 302 werden Ausgabedatenstrukturen initialisiert, und es werden über Benutzereingaben 306 etwaige feste Elemente wie beispielsweise 112 bei 304 erhalten. Die ausgewählten ornamentalen Elemente 105 werden bei 308 analysiert und bei 310 wird für jedes ausgewählte ornamentale Element 105 ein Formdeskriptor erzeugt. Der Richtungshinweis 114 wird bei 310 verwendet, um jeden Zielcontainer 106 mit einem Vektorfeld zu füllen. 1 zeigt einen einzelnen Richtungshinweis 114, aber es kann mehr als einen Richtungshinweis geben. Bei 312 werden Stromlinien in die Vektorfelder nachverfolgt. Die Zielcontainer werden bei 314 in Blobs um die Stromlinien unterteilt. Bei 316 werden die Elementformdeskriptoren verwendet, um für jeden Blob das beste Element zu bestimmen. Bei 318 wird das Element in einen entsprechenden Blob platziert, wobei es als ein Skelettstrich behandelt wird und dessen Rückgrat auf die Stromlinie abgebildet wird.
  • Falls es mehrere zu füllende Container gibt, werden die hierin beschriebenen Operationen für jeden Container ausgeführt. Es wird eine Variable eingabe_größe definiert als das Maximum der kombinierten Breite oder Höhe von allen Zielcontainern und festen Elementen, wie sie durch den Benutzer 101 ausgelegt wurden. Diese wird verwendet, um verschiedene Parameter im Syntheseprozess einzustellen.
  • Ornamentale Elemente 105 haben die Form von einer oder mehreren geschlossenen Kurven, die unregelmäßig geformt sein können. Das Platzieren der Elemente 105 erfordert die Verformung von einigen, wenn nicht sogar von allen Elementen unter Verwendung eines einfachen Skelettstrichalgorithmus, wie etwa beschrieben von S. C. Hsu, I. H. H. Lee und N. E. Wiseman in: „Skeletal strokes“, in Proceedings of the 6th Annual ACM Symposium on User Interface Software and Technology, UIST '93, Seiten 197-206. ACM, New York, NY, USA, 1993. doi: 10.1145/168642.168662. Eine solche Technik verwendet ein gerades Rückgrat, wie das Rückgrat 109, um die Verformung zu führen. Das Rückgrat 109 braucht nicht durch die Mitte des Elements 105 zu verlaufen; es kann an beliebiger Stelle sein. In 4B sind Beispiele von Rückgraten 109 (genauer 109.1-109.6), die den Elementen 105 entsprechen, zu sehen, wobei zwei Klassen von Elementen gezeigt sind: ganze Elemente, wie 105.1-105.3, welche sich zu beiden Seiten ihres Rückgrat erstrecken, und halbe Elemente, wie etwa 105.4-105.6, die gänzlich auf einer Seite ihres Rückgrat sind. Wenn die Eingabe 101 Richtungshinweise 114 enthält, die mit Begrenzungen des Zielcontainers zusammenfallen, werden die Halbelemente so platziert werden, dass diese entlang dieser Begrenzungen ausgerichtet sind. Halbelemente, die Kanten aufweisen, die ihren Rückgraten eng folgen, wirken dergestalt, dass sie Containerbegrenzungen visuell verstärken.
  • Für jedes Element wird ein einfacher Formdeskriptor erzeugt, der als LR Funktion bezeichnet wird. Dieser wird später verwendet, um auszuwählen, welches Element platziert werden soll. 4A zeigt die Erzeugung des Formdeskriptors. In 402 wird das Rückgrat 109 des Elements 105 an n Stellen gesampelt. Ein Wert von n = 100 liefert allgemein eine hinreichende Granularität bereit. Bei 404 wird an jeder gesampelten Stelle eine Bestimmung gemacht, wie weit sich das Ornament zur linken und zur rechten des Rückgrats erstreckt. Die LR Funktion ist die Menge {L, R}, wobei L = {L1, ..., Ln} die linke Funktion und R = {r1, ..., rn} die rechte Funktion ist. Weitere Einzelheiten einer solchen Technik sind beschrieben von R. Gal, A. Shamir und D. Cohen-Or in: „Poseoblivious shape signature“, IEEE Transactions on Visualization and Computer Graphics, 13(2):261-271, März 2007. doi: 10.1109/TVCG.2007.45.
  • Intuitiv nehmen LR Funktionen einen näherungsweisen Bereich eines ornamentalen Elements ein. 4B zeigt sechs Elemente (ganze Elemente 105.1-105.3 und halbe Elemente 105.4-105.6). Die linken und rechten Werte, die mit jedem Element 105 assoziiert sind, sind graphisch dargestellt, zusammen mit dem mit dem Element assoziierten Element, bei 420.1-420.6. Ganze Element 105.1-105.3 haben nichtleere linke und rechte Seiten, während halbe Elemente 105.4-105.6 nur eine Seite aufweisen. Die LR Funktionen werden bei 406 auf ein Einheitsquadrat normalisiert, indem ihre Domäne und ihr Bereich auf das Intervall [0,1] skaliert wird.
  • Um die Elemente 105 entsprechend den benutzerdefinierten Flüssen zu platzieren, wie durch die Richtungshinweise 114 definiert, wird jeder Zielcontainer 104 mit einem Vektorfeld gefüllt, beschränkt durch die Richtungshinweise 114 in diesem Container. Die Richtungshinweise 114, D = {d1, d2, ..., dn} werden jeweils gesampelt, und die Tangente an jedem Samplepunkt wird als eine Richtungsbedingung verwendet. Es wird dann ein Vektorfeld, allgemein bei 310 in 3C gezeigt, erzeugt unter Verwendung des N-RoSy („N-way Rotational Symmetry“) Algorithmus, der beschrieben ist von J. Palacios und E. Zhang, „Rotational symmetry field design on surfaces“, in ACM SIGGRAPH 2007 Papers, SIGGRAPH '07. ACM, New York, NY, USA, 2007. doi: 10.1145/1275808.1276446. Feste Elemente 112 beeinflussen das Vektorfeld nicht. Der Benutzer 101 kann falls gewünscht Richtungshinweise 114 einbringen, um das Vektorfeld um feste Elemente 112 zu leiten.
  • 5 zeigt weitere Einzelheiten des Schritts 312 von 3B und 3C des Nachverfolgens von Stromlinien (wie zum Beispiel 501-508 in 5) in dem Vektorfeld. Das Stromliniennachverfolgen wird durch drei Eingabeparameter angeleitet: d_gap ist der gewünschte Raum bzw. Abstand zwischen Stromlinien, wie bei 509-513 gesehen, s_max ist die gewünschte maximale Stromlinienlänge, s_min ist die gewünschte minimale Stromlinienlänge. Die erste Stromlinie 501 beginnt immer auf einem Richtungshinweis 114. Nachfolgende Stromlinien (502-508) beginnen auf der Umrandung des Containers 104, einem Richtungshinweis 114 oder an einem Punkt, der von einer vorhergehenden Stromlinie um d_gap entfernt ist. In einem späteren Schritt werden Elemente 105 ohne Überlappung entlang Stromlinien platziert, daher bestimmt d_gap die ungefähre Breite der platzierten Elemente und s_max die maximale Länge. Um zu verhindern, dass sich Stromlinien zu nahe kommen, wird ein Wert d_stop abgeleitet und verwendet. In einer beispielhaften Implementierung ist d_stop = 0.8 d_gap.
  • In einer Ausführungsform wird der Stromliniennachverfolgungsalgorithmus, der beschrieben ist von B. Jobard und W. Lefer, „Creating evenly-spaced streamlines of arbitrary density,“ in W. Lefer und M. Grave, eds., Visualization in Scientific Computing'97: Proceedings of the Eurographics Workshop in Boulogne-sur-Mer, Frankreich, 28. bis 30. April, 1997, Seiten 43-55, Springer Wien, Wien, 1997. doi: 10.1007/978-3-7091-6876-9_5, angepasst und implementiert wie in dem nachstehenden Pseudocode gezeigt. Es wird eine Menge von Startpunkten P = {p1, p2, ..., pn} erzeugt durch dichtes Resampeln der Begrenzung T des Zielcontainers 104 und der Richtungshinweise 114 in D. Beispielsweise kann ein Abtastabstand von 0.005 eingabe_größe verwendet werden. Eine leere Menge von Stromlinien wird erzeugt, und die potentiellen Startpunkte von P werden zufällig geordnet. Es wird eine neue Stromlinie s erzeugt, indem zufällig ein Startpunkt aus P entfernt wird und dem Vektorfeld gefolgt wird, bis eine der folgenden Bedingungen erfüllt ist:
    1. 1. die Länge von s würde s_max überschreiten.
    2. 2. s käme innerhalb d_stop von einer anderen Stromlinie.
    3. 3. s würde T kreuzen und den Container 104 verlassen.
    4. 4. s würde die Begrenzung eines festen Elements 112 kreuzen.
  • Die Länge von s wird überprüft, und wenn die Länge von s kleiner als s_min ist, wird sie verworfen. Andernfalls wird s erneut gesampelt unter Verwendung von 0.005 eingabe_größe, und es werden bei jedem Punkt zwei weitere potentielle Startpunkte erzeugt, die auf jeder Seite von s um d_gap entfernt liegen. Wenn ein Startpunkt innerhalb des Containers 104 ist, wird er zu P hinzugefügt. Der Prozess wird wiederholt, bis P leer ist. Es sei bemerkt, dass die Überprüfung auf den Abstand d_stop in Kombination mit dem Test auf die Länge s_min impliziert, dass viele Versuche, Stromlinien zu bilden, sofort beendet werden, insbesondere wenn sich der Container mit Stromlinien füllt. P wird sortiert, um die Punkte in P entsprechend deren Abständen von der Begrenzung T und den Richtungshinweisen in D zu ordnen, wobei nähere Punkte zuerst und Punkte mit gleichem Abstand zufällig geordnet werden. Da die anfänglichen Punkte alle auf T oder auf einem Pfad in D liegen, ist deren Sortierungswert null und diese werden verarbeitet, bevor irgendein abgeleiteter Punkt verarbeitet wird.
  • Die Zielcontainer 104 werden mit Vektorfeldern gefüllt (Schritt 310 von 3A) wie nachstehend gezeigt für das Füllen eines einzelnen Containers 106. Die oben beschriebenen Operationen können in Softwarecode implementiert werden auf eine Weise, die in nachstehendem Pseudocode gezeigt ist.
    Figure DE102018001403A1_0001
    Copyright 2016 Adobe Systems Inc.
  • 6 zeigt die Operationen, die ausgeführt werden, um dabei zu helfen, welches Element 105 gewählt werden soll, um es entlang jeder Stromlinie zu platzieren. Bei 602 werden die Bereiche aller etwaigen festen Elemente 105 von dem Zielcontainer 104 subtrahiert. Bei 604 wird ein geeignetes verallgemeinertes Voronoi-Diagramm des Inneren konstruiert unter Verwendung der Methode, die beschrieben wurde von S. Osher und J. A. Sethian in: „Fronts propagating with curvature-dependentspeed: Algorithms based on hamilton-jacobi formulations“, J. Comput. Phys., 79(1):12-49, Nov. 1988. doi: 10.1016/0021-9991(88)90002-2. Wie von den Fachleuten verstanden wird, ist ein Voronoi-Diagramm eine Partitionierung einer Ebene in Bereiche basierend auf Abständen zu Punkten in einer bestimmten Untermenge der Ebene. Die Stromlinien werden bei 606 an jedem Ende dem Vektorfeld folgend erweitert, bis diese die Begrenzungen ihrer Voronoi Bereiche erreichen. Der Bereich um jede Stromlinie herum wird als ein Unterbereichs-Blob bezeichnet, wie allgemein bei 314 in 3C zu sehen, und fungiert als ein Platzierungsbereich für ein Element 105. Bei 608 wird eine LR Funktion berechnet für jeden Blob wie oben in Verbindung mit 4A beschrieben unter Verwendung der Stromlinie als das Rückgrat 109. Da die Stromlinie normaler Weise nicht geradlinig ist, werden die Abstände links und rechts entlang der Normalen zur Stromlinie berechnet. Die LR Funktion nähert die Form des Blobs an, wenn die Stromlinie geradegebogen würde.
  • Der nächste Schritt ist es, in jeden Blob ein ornamentales Element 105 zu platzieren, wie in 7A-7C gezeigt. Das Element 105, das in den Blob 702 platziert werden soll, wird ausgewählt, indem das Element gefunden wird, welches eine Summe von kleinsten quadratischen Abständen zwischen dem Außenumfang des Elements 105 und dem Innenumfang des Blobs 702 minimiert, definiert als i = 1 N ( α l i β l i ) 2 + i = 1 N ( α r i β r i ) 2
    Figure DE102018001403A1_0002
    wobei
    αl die Linksfunktion des Elements ist
    αr die Rechtsfunktion des Elements ist
    βl die Linksfunktion des Blobs ist
    βr die Rechtsfunktion des Blobs ist.
  • Jedes Element 105 wird für das Platzieren in vier Ausrichtungen platzier: wie gezeichnet, wie gespiegelt quer zu dessen Rückgrat, wie gespiegelt entlang zu dessen Rückgrat, und wie gespiegelt quer und entlang zu dessen Rückgrat. Für die Spiegelung quer zum Rückgrat werden die Linksfunktion und die Rechtsfunktion getauscht. Für die Spiegelung entlang zum Rückgrat werden die Linksfunktion und die Rechtsfunktion parametrisiert, von 1 nach 0 zu laufen, anstatt von 0 zu 1. Es sei bemerkt, dass dieses Matchingverfahren Halbelemente automatisch entlang von Stromlinien platziert, die einer Containerbegrenzung folgen, was die Gesamtform visuell verstärkt.
  • Eine Alternative zum Formmatching kann verwendet werden unter Verwendung eines Ansatzes, der beschrieben ist von R. Gal, O. Sorkine, T. Popa, A. Sheffer und D. Cohen-Or in: „3D collage: Expressive non-realistic modeling“, in Proceedings of the 5th International Symposium on Non-photorealistic Animation and Rendering, NPAR'07, Seiten 7-14. ACM, New York, NY, USA, 2007, doi: 10.1145/1274871.1274873. Ein solcher Ansatz trachtet danach, einen Teilbereichsblob so gut wie möglich zu füllen, wobei es stark bestraft wird, wenn ein Teil eines Elements über die Begrenzung des Blobs hinaussteht. Es wurde jedoch festgestellt, dass dies die Berechnungen aufwändiger macht, ohne signifikante Vorteile zu bieten im Vergleich zu den hierin offenbarten LR Funktionen.
  • 7A, 7B und 7C zeigen den Verformungsprozess, wie er das Element 105 entlang der Stromlinie biegt und so skaliert, dass es in einen Blob 702 passt. Sobald ein Element 105 gewählt wurde, wird es, wie in 7A, 7B und 7C gezeigt, entlang der Stromlinie 114 platziert unter Verwendung eines einfachen Skelettstrichalgorithmus, wie beschrieben von S. C. Hsu, I. H. H. Lee und N. E. Wiseman, in: „Skeletal strokes“, in Proceedings of the 6th Annual ACM Symposium on User Interface Software and Technology, UIST '93, Seiten 197-206. ACM, New York, NY, USA, 1993. doi: 10.1145/168642.168662. Die Breite des Elements 105 wird gleichmäßig skaliert, um es so breit wie möglich zu machen, während es weiterhin in das Innere des Blobs 702 passt, wie in 7C gezeigt. 7A zeigt das ausgewählte Element 105 und das Rückgrat 109. In Fig. 7Bwurde das Element in den Blob 702 platziert und das Element wurde so verformt, dass das Rückgrat 109 einer Stromlinie folgt, wie etwa der Stromlinie 501. Wie in 7B zu sehen, passt das Element 105 größtenteils in den Blob 702, aber ein Teil, wie etwa bei 704 zu sehen, erstreckt sich über den Umriss des Blobs 702 hinaus. In 7C wurde das Element 105 skaliert, so dass der Teil 704, der sich über den Umriss des Blobs 702 erstreckt, in den Umriss des Blobs 702 hineinpasst.
  • 8A und 8B zeigen Aspekte des Stromlinienstreckens, wie oben mit Bezug auf den Schritt 606 beschrieben. Wie in 8A und 8B zu sehen, wird die Stromlinie 501 gestreckt, bis die Enden 801 und 802 sich den Begrenzungen 803 und 804 des Blobs 702 nähern und diese berühren. Dies erlaubt es, dass ein Element 105, das in den Blob 702 hinein platziert wird, länger ist, da die zugeordnete Stromlinie 501 länger ist.
  • 9A und 9B zeigen einen weiteren Aspekt, der als Stromlinienschnappen bezeichnet wird. Wenn annähernd die ganze Stromlinie 501 nahe einer Begrenzung des Elements 105 ist, wird die ganze Stromlinie so angepasst (,geschnappt'), dass sie exakt auf der Begrenzung ist. Die ermöglicht eine bessere Übereinstimmung zwischen der Stromlinie 501 und der Begrenzung des Elements 105.
  • Die Container und die dekorativen Elemente können in einem Vektorgraphikeditierprogramm entworfen werden, wie etwa Adobe Illustrator, das erhältlich ist von Adobe Systems Incorporated, und können dann als Eingaben für ein C++ Programm verwendet werden, welches die endgültig platzierten Elemente in einer SVG Datei ausgibt. Die Clipper Bibliothek, die beschrieben ist von A. Johnson, „Clipper-an open source freeware library for clipping and offsetting lines and polygons!“, http://www.angusj.com/delphi/clipper.php, 2014, kann zur Berechnung von LR Funktionen und zum Prüfen von Polygonkreuzungen während der Verformung und dem Wachstum verwendet werden. Als eine nachgelagerte Verarbeitung können optional Konturen geglättet und Polygonzüge durch Bézierkurven ersetzt werden. Schließlich können in einem Editierprogramm Farben und andere Bearbeitungen angewandt werden.
  • Die hierin offenbarten Techniken können mit einer Vielfalt von Containerformern verwendet werden, und mit vielen unterschiedlichen ornamentalen Elementen von unterschiedlicher geometrischer Komplexität. 10 zeigt eine Packung eines Rhinozeros 106 mit einfachen Tränenelementen 105, welche die Vielfalt demonstrieren, die in Form und Krümmung erzielt werden kann. Für den Bären 106 in 11 werden komplexere Blattelemente 105 verwendet. Die Nachverfolgungsparameter sind angepasst, um kürzer platzierte Elemente zu erhalten. Die platzierten Elemente können weiter verarbeitet werden, um einen beunruhigten Ausdruck zu erzeugen.
  • In bestimmten Ausführungsformen können der Pipeline Erweiterungen hinzugefügt werden, um den ästhetischen Wert und die Flexibilität zu verbessern. Wie in 12 gezeigt, werden beispielsweise explizit neue Formen konstruiert, um den negativen Raum zwischen platzierten Elementen zu füllen, mittels Berechnen von versetzten Polygonen aus dem negativen Raum zwischen Elementen. Das Ergebnis ist ein ausgeprägter und ansprechender Stil.
  • Die hierin offenbarten Ausführungsformen erzeugen ornamentale Packungen, in welchen Vektorfelder verwendet werden, um einen Eindruck von visuellem Fluss zu erzeugen. Ein Maß an Gleichförmigkeit wird erzielt, indem wiederholte Kopien einer kleinen Menge von dekorativen Elementen verwendet werden, diese Gleichförmigkeit wird aber ausbalanciert mit einer Vielfältigkeit durch Verformen dieser Elemente. In anderen Ausführungsformen können mehrere kürzere Elemente auf Stromlinien entlang aufgereiht werden, anstatt dass diese Elemente die Stromlinien komplett füllen müssen.
  • 13 zeigt ein verallgemeinertes Beispiel eines geeigneten Allzweckrechnersystems 1300, in welchem die beschriebenen Innovationen implementiert werden können, um die Verarbeitungsgeschwindigkeit und -effizienz zu verbessern, mit welch en das Rechnersystem 1300 ornamentale ornamental Designs 106 entwirft. Mit Bezug auf 13 beinhaltet das Rechnersystem 1300 eine oder mehrere Verarbeitungseinheiten 1302, 1304 und Speicher 1306, 1308. Die Verarbeitungseinheiten 1302, 1306 führen von einem Computer ausführbare Anweisungen aus. Eine Verarbeitungseinheit kann eine Allzweck-CPU, ein Prozessor in einer anwendungsspezifischen integrierten Schaltung (ASIC) oder ein anderer Art von Prozessor sein. Der greifbare Speicher 1306, 1308 kann ein flüchtiger Speicher sein (beispielsweise Register, Cache, RAM), ein nichtflüchtiger Speicher (beispielsweise ROM, EEPROM, Flash Speicher und so weiter), oder eine Kombination der beiden, auf den die Verarbeitungseinheit(en) zugreifen kann bzw. können. Die Hardwarekomponenten in 13 können Standardhardwarekomponenten sein, oder alternativ können einige Ausführungsformen spezialisierte Hardwarekomponenten verwenden, um die Operationseffizienz und -geschwindigkeit, mit welcher das System 100 arbeitet, weiter zu erhöhen.
  • Das Rechnersystem 1300 kann über zusätzliche Merkmale verfügen, wie beispielsweise Speicher 1310, eine oder mehrere Eingabevorrichtungen 1314, eine oder mehrere Ausgabevorrichtungen 1312 und eine oder mehrere Kommunikationsverbindungen 1316. Ein Verbindungsmechanismus (nicht dargestellt), wie etwa ein Bus, ein Controller oder Netzwerkverbindungen, welche die Komponenten des Rechnersystems 1300 miteinander verbindet. Typischer Weise stellt eine Betriebssystemsoftware (nicht dargestellt) ein Betriebssystem für andere Software bereit, welche auf dem Rechnersystem 1300 existiert, und koordiniert Aktivitäten der Komponenten des Rechnersystems 1300.
  • Der greifbare Speicher 1310 kann entfernbar oder nicht entfernbar sein, und umfasst Magnetplatten, Magnetbänder oder Cassetten, CD-ROMs, DVDs oder ein anderes Medium, das dazu verwendet werden kann, um Informationen auf dauerhafte Weise zu speichern, und auf welches das Rechnersystem 1300 zugreifen kann. Der Speicher 1310 speichert Anweisungen für die Software, welche eine oder mehrere der hierin beschriebenen Innovationen implementiert.
  • Die Eingabevorrichtung(en) 1314 kann bzw. können einen Berührungseingabevorrichtung wie etwa eine Tastatur, eine Maus, ein Stift oder rein Trackball, eine Spracheingabevorrichtung, eine Scanner Vorrichtung oder eine andere Vorrichtung sein, welche dem Rechnersystem 1300 Eingaben bereitstellt. Für Videocodierung kann bzw. können die Eingabevorrichtung(en) 1314 eine Kamera, eine Videokarte, eine TV Empfängerkarte oder eine ähnliche Vorrichtung sein, welche Videoeingaben in analoger oder digitaler Form akzeptiert, oder eine CD-ROM oder eine CD-RW, welche Videosamples in das Rechnersystem 1300 einliest. Die Ausgabevorrichtung(2n) 1312 kann bzw. können eine Anzeige, ein Drucker, ein Lautsprecher, eine CD-Schreibvorrichtung oder eine andere Vorrichtung sein, welche Ausgaben von dem Rechnersystem 1300 bereitstellt.
  • Die Kommunikationsverbindung(en) 1316 ermöglicht bzw. ermöglichen eine Kommunikation mit einer anderen Rechnerentität über ein Kommunikationsmedium. Das Kommunikationsmedium übermittelt in einem modulierten Datensignal Information wie etwa von einem Computer ausführbare Anweisungen, Audio- oder Videoeingaben oder -ausgaben, oder andere Daten. Ein moduliertes Datensignal ist ein Signal, von dem eine oder mehrere Eigenschaften auf solch eine Weise gesetzt oder geändert sind, um Information in dem Signal zu codieren. Kommunikationsmedien können beispielsweise und ohne hierauf beschränkt zu sein einen elektrischen, optischen Funk- oder anderen Träger verwenden.
  • Die Innovationen können im generellen Kontext von von einem Computer ausführbaren Anweisungen beschrieben werden, wie diejenigen, die in Programmodulen enthalten sind, welche in einem Rechnersystem auf einem reellen oder virtuellen Zielprozessor ausgeführt werden. Allgemein beinhalten Programmodule Routinen, Programme, Bibliotheken, Objekte, Klassen, Komponenten, Datenstrukturen und so weiter, welche bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Funktionalität der Programmodule kann in verschiedenen Ausführungsformen wie gewünscht kombiniert oder auf mehrere Programmodule aufgeteilt sein. Von einem Computer ausführbare Anweisungen für Programmodule können in einem lokalen oder einem verteilten Rechnersystem ausgeführt werden.
  • Die Begriffe „System“ und „Rechnervorrichtung“ werden hierin synonym verwendet. Solange sich aus dem Kontext nicht eindeutig anderes ergibt, impliziert keiner dieser Begriffe eine Beschränkung auf eine Art von Rechnersystem oder Rechnervorrichtung. Allgemein kann ein Rechnersystem oder eine Rechnervorrichtung lokal oder verteilt sein, und kann jede Kombination von Hardware für dedizierte Aufgaben und/oder Allzweckhardware umfassen, mit Software, welche die hierin beschriebene Funktionalität implementiert.
  • Auch wenn die Erfindung mit Bezug auf eine bevorzugte Ausführungsform beschrieben wurde, so ist es nicht beabsichtigt, dass der Bereich der Erfindung auf die spezielle dargelegte Form beschränkt werden soll, und stattdessen ist es beabsichtigt, dass alle solchen Alternativen, Modifikationen und Äquivalente umfasst sein sollen, die in den Geist und Bereich der Erfindung fallen, wie durch die beigefügten Ansprüche definiert.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • J. Knapton et al, 1729. Siehe zur Rolle der Variation im Design auch E. H. Gombrich, „The Sense of Order: A Study in the Psychology of Decorative Art“, Phaidon Press Limited, 1984 [0017]
    • J. Comput. Phys., 79(1):12-49, Nov. 1988. doi: 10.1016/0021-9991(88)90002-2 [0029]

Claims (20)

  1. Computerisiertes Verfahren zum Erzeugen zweidimensionaler ornamentaler Designs, umfassend: Empfangen von einem oder von mehreren Zielcontainern, welche jeweils durch eine zugeordnete einfach geschlossene Kurve repräsentiert sind, welche eine unregelmäßige und asymmetrische Form bilden kann; Empfangen von einem oder von mehreren ornamentalen Elementen; Empfangen von einem oder von mehreren Richtungshinweisen, welche den Zielcontainern entsprechen, wobei die Richtungshinweise gewünschte Richtungsflüsse der ornamentalen Elemente anzeigen; und Platzieren, in Übereinstimmung mit Richtungen, welche von den Richtungshinweisen angezeigt werden, der ornamentalen Elemente ein oder mehrere Male in einer nicht überlappenden Weise innerhalb von Begrenzungen der Zielcontainer, um eine ästhetische Anordnung einer Vielzahl von platzierten ornamentalen Elementen zu erzeugen.
  2. Computerisiertes Verfahren nach Anspruch 1, wobei das Platzieren, in Übereinstimmung mit Richtungen, welche von den Richtungshinweisen angezeigt werden, der ornamentalen Elemente ein oder mehrere Male in einer nicht überlappenden Weise innerhalb von Begrenzungen der Zielcontainer, um eine ästhetische Anordnung einer Vielzahl von platzierten ornamentalen Elementen zu erzeugen, umfasst: Erzeugen eines Vektorfelds in jedem Zielcontainer als eine Funktion von Richtungshinweisen, die mit dem Zielcontainer assoziiert sind; Erzeugen einer Vielzahl von Stromlinien in jedem Vektorfeld als eine Funktion von einem gewünschten Abstand zwischen den Stromlinien, einer maximalen gewünschten Stromlinienlänge und einer minimalen gewünschten Stromlinienlänge; Unterteilen jedes Zielcontainers in eine Vielzahl von Platzierungsbereichen, wobei jeder Platzierungsbereich einen Bereich repräsentiert, der ein ornamentales Element enthalten wird, organisiert um die Stromlinien herum; Matchen eines ornamentalen Elements zu jedem Platzierungsbereich; und Platzieren eines ornamentalen Elements in jeden gematchten Platzierungsbereich.
  3. Computerisiertes Verfahren nach Anspruch 2, worin das Erzeugen einer Vielzahl von Stromlinien in jedem Vektorfeld als eine Funktion von einem gewünschten Abstand zwischen den Stromlinien, einer maximalen gewünschten Stromlinienlänge und einer minimalen gewünschten Stromlinienlänge umfasst: Erzeugen einer initialen Stromlinie, die auf einem ersten Richtungshinweis platziert ist; und Erzeugen von nachfolgenden Stromlinien, die platziert sind auf einem oder mehreren zusätzlichen Richtungshinweisen, einer Begrenzung eines zugeordneten Zielcontainers oder an einer Position, die an dem gewünschten Abstand zwischen einer existierenden Stromlinie und der nachfolgenden Stromlinie ist.
  4. Computerisiertes Verfahren nach Anspruch 2 oder 3, wobei das Platzieren eines ornamentalen Elements zu jedem Platzierungsbereich umfasst: Assoziieren von einem Rückgrat mit dem ornamentalen Element; und Platzieren des Rückgrats auf die entsprechende Stromlinie, Verformen des Rückgrats, um es einem Pfad der entsprechenden Stromlinie anzupassen, und Verformen des ornamentalen Elements gemäß der Verformung des Rückgrats.
  5. Computerisiertes Verfahren nach einem der Ansprüche 2 bis 4, wobei das Platzieren eines ornamentalen Elements in einen gematchten Platzierungsbereich ein Anpassen der Größe des ornamentalen Elements so, dass es vollständig innerhalb von Begrenzungen des gematchten Platzierungsbereichs passt und kein anderes platziertes ornamentales Element überlappt, umfasst.
  6. Computerisiertes Verfahren nach einem der Ansprüche 2 bis 5, weiter umfassend Empfangen einer Vielzahl von Richtungshinweisen, die jedem Zielcontainer entsprechen, und wobei zumindest einer der Richtungshinweise Begrenzungen des Zielcontainers folgt.
  7. Computerisiertes Verfahren nach einem der Ansprüche 2 bis 6, worin das Matchen eines ornamentalen Elements zu jedem Platzierungsbereich ausgeführt wird durch: Konstruieren eines Formdeskriptors für jedes Element; Konstruieren eines Formdeskriptors für jeden Platzierungsbereich; und Matchen eines ornamentalen Elements zu einem Platzierungsbereich, der einen Formdeskriptor aufweist, der am besten mit dem Formdeskriptor des ornamentalen Elements übereinstimmt.
  8. Computerisiertes Verfahren nach Anspruch 7, wobei das Konstruieren eines Formdeskriptors für jedes Element und das Konstruieren eines Formdeskriptors für jeden Platzierungsbereich umfasst: Assoziieren von einem Rückgrat mit einem Element; Messen, an einer Vielzahl von Punkten auf dem Rückgrat, von Rückgratsabständen, mit welchen sich das Element zur linken und zur rechten des Rückgrats erstreckt; Normalisieren der Rückgratabstände; Messen, an einer Vielzahl von Punkten auf einer Stromlinie, die mit einem Platzierungsbereich assoziiert ist, von Stromlinienabständen, mit welchen der Platzierungsbereich sich zur linken und zur rechten der Stromlinie erstreckt; und Normalisieren der Stromlinienabstände.
  9. Computerisiertes Verfahren nach einem der Ansprüche 2 bis 8, weiter umfassend ein Strecken einer Stromlinie, so dass sich Enden der Stromlinie zu Enden des gematchten Platzierungsbereichs erstrecken.
  10. Computerisiertes Verfahren nach einem der Ansprüche 2 bis 9, weiter umfassend ein Anpassen der Positionierung einer Stromlinie, so dass die gesamte Stromlinie im Wesentlichen mit einem Umriss eines assoziierten Elements ausgerichtet ist, wenn ein wesentlicher Teil der Stromlinie bereits auf dem Umriss des assoziierten Elements positioniert ist.
  11. Computerisiertes Verfahren nach einem der Ansprüche 1 bis 10, wobei das Platzieren, in Übereinstimmung mit Richtungen, welche von den Richtungshinweisen angezeigt werden, der ornamentalen Elemente ein oder mehrere Male in einer nicht überlappenden Weise innerhalb von Begrenzungen der Zielcontainer, um eine ästhetische Anordnung einer Vielzahl von platzierten ornamentalen Elementen zu erzeugen, umfasst: Modifizieren der Form von zumindest einer Teilmenge der platzierten ornamentalen Elemente in Übereinstimmung mit den Richtungshinweisen, um die Gleichförmigkeit der Anordnung der platzierten ornamentalen Elemente zu verringern.
  12. Computerisiertes Verfahren nach einem der Ansprüche 1 bis 11, wobei das Platzieren, in Übereinstimmung mit Richtungen, welche von den Richtungshinweisen angezeigt werden, der ornamentalen Elemente ein oder mehrere Male in einer nicht überlappenden Weise innerhalb von Begrenzungen der Zielcontainer, um eine ästhetische Anordnung einer Vielzahl von platzierten ornamentalen Elementen zu erzeugen, umfasst: Modifizieren der Form von zumindest einer Teilmenge der platzierten ornamentalen Elemente in Übereinstimmung mit den Richtungshinweisen, um den Abstand bzw. Abstände zwischen den platzierten ornamentalen Elementen zu verringern.
  13. Computerisiertes Verfahren nach einem der Ansprüche 1 bis 12, wobei das Platzieren, in Übereinstimmung mit Richtungen, welche von den Richtungshinweisen angezeigt werden, der ornamentalen Elemente ein oder mehrere Male in einer nicht überlappenden Weise innerhalb von Begrenzungen der Zielcontainer, um eine ästhetische Anordnung einer Vielzahl von platzierten ornamentalen Elementen zu erzeugen, umfasst: Modifizieren der Form von zumindest einer Teilmenge der platzierten ornamentalen Elemente in Übereinstimmung mit den Richtungshinweisen, um eine Variation der Abstände zwischen den platzierten ornamentalen Elementen zu verringern.
  14. Computerisiertes Verfahren nach einem der Ansprüche 1 bis 13, weiter umfassend: Empfangen eines festen Elements, das dem Zielcontainer entspricht; und wobei die Vielzahl von platzierten ornamentalen Elementen das feste Element nicht überlappt.
  15. Computer-implementiertes Verfahren nach einem der Ansprüche 1 bis 14, wobei das eine oder die mehreren ornamentalen Elemente ornamentale Elemente von einer oder von mehreren Formen umfassen.
  16. Computersystem zum Erzeugen von ornamentalen Designs, umfassend: einen Datenspeicher, der eine Bibliothek von geschlossenen Containern und Elementtemplates enthält; und einen Prozessor, welcher operativ mit dem Datenspeicher gekoppelt ist, wobei der Prozessor konfiguriert ist, Anweisungen auszuführen, welche, wenn sie ausgeführt werden, den Prozessor dazu veranlassen: Abrufen eines ausgewählten geschlossenen Containers und eines ausgewählten Elementtemplates; Empfangen von einer oder von mehreren Benutzereingaben, um ein oder mehrere Richtungsfelder innerhalb des ausgewählten geschlossenen Containers zu definieren; und Platzieren des ausgewählten Elementtemplates an einer Vielzahl von Stellen innerhalb des ausgewählten geschlossenen Containers in Übereinstimmung mit Richtungen, welche durch die Richtungsfelder definiert werden.
  17. Computersystem nach Anspruch 16, wobei jeder geschlossene Container eine visuelle Darstellung einer unregelmäßig geformten einfach geschlossenen Kurve aufweist.
  18. Computersystem nach Anspruch 17, wobei das ausgewählte Elementtemplate ein erstes ausgewähltes Elementtemplate umfasst, und wobei der Prozessor weiter konfiguriert ist, Anweisungen auszuführen, welche, wenn sie ausgeführt werden, den Prozessor dazu veranlassen: Abrufen eines ausgewählten zweiten Elementtemplates; und Platzieren des ausgewählten zweiten Elementtemplates an einer Vielzahl von Stellen innerhalb des ausgewählten geschlossenen Containers.
  19. Computerimplementiertes Verfahren zum Erzeugen eines ornamentalen Designs, umfassend: Empfangen eines Bildcontainers, welcher eine Darstellung eines geschlossen geformten Objekts bereitstellt Empfangen von einem oder von mehreren unregelmäßig geformten dekorativen Elementen; Empfangen einer Menge von Richtungshinweisen, welche einen visuellen Fluss für eine anfängliche Platzierung der dekorativen Elemente innerhalb des Bildcontainers bereitstellen; und Platzieren der dekorativen Elemente mehrere Male in einer nichtüberlappenden Weise innerhalb dem Bildcontainer in Übereinstimmung mit Richtungen, die von den Richtungshinweisen angezeigt werden.
  20. Computerimplementiertes Verfahren nach Anspruch 19, weiter umfassend: Platzieren eines empfangenen festen Elements innerhalb des Bildcontainers; und wobei das Platzieren der dekorativen Elemente mehrere Male in einer nichtüberlappenden Weise innerhalb des Bildcontainers entsprechend Richtungen, die von den Richtungshinweisen angezeigt werden, ausgeführt wird durch Platzieren der dekorativen Elemente um die festen Element herum, ohne das feste Element zu überlappen.
DE102018001403.8A 2017-05-08 2018-02-22 Computerisierte Erzeugung von ornamentalen Designs durch Platzieren von Instanzen einfacher Formen in Übereinstimmung mit einem Richtungshinweis Pending DE102018001403A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/589,943 2017-05-08
US15/589,943 US10559061B2 (en) 2017-05-08 2017-05-08 Computerized generation of ornamental designs by placing instances of simple shapes in accordance with a direction guide

Publications (1)

Publication Number Publication Date
DE102018001403A1 true DE102018001403A1 (de) 2018-11-08

Family

ID=61903460

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018001403.8A Pending DE102018001403A1 (de) 2017-05-08 2018-02-22 Computerisierte Erzeugung von ornamentalen Designs durch Platzieren von Instanzen einfacher Formen in Übereinstimmung mit einem Richtungshinweis

Country Status (4)

Country Link
US (1) US10559061B2 (de)
CN (1) CN108876868B (de)
DE (1) DE102018001403A1 (de)
GB (1) GB2562353B (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461874B2 (en) * 2020-04-02 2022-10-04 Adobe Inc. Graphics processing using matrices of transformations
US11610350B2 (en) 2021-08-05 2023-03-21 Adobe Inc. Automatically filling a geometric shape with graphical cells aligned with the geometric shape
US11651536B2 (en) * 2021-09-16 2023-05-16 Adobe Inc. Directional pattern generation for digital images
US11704848B2 (en) 2021-10-19 2023-07-18 Adobe Inc. Systems for generating stroked paths
CN114708358B (zh) * 2022-05-25 2022-09-02 腾讯科技(深圳)有限公司 对象处理方法、装置、设备及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117822B1 (en) * 2003-12-10 2006-10-10 Innotek, Inc. Method and apparatus for communicating a randomized signal
US7495670B1 (en) 2005-04-15 2009-02-24 Johnnie Manzari Shapes comprising repeated graphic elements
GB201110343D0 (en) 2011-06-20 2011-08-03 Delcam Plc Improvements relating to designing and manufacturing an article
CN102521854B (zh) * 2011-12-29 2013-12-25 北京理工大学 一种适用于二维流场的并行流线放置方法
WO2016207875A1 (en) * 2015-06-22 2016-12-29 Photomyne Ltd. System and method for detecting objects in an image

Also Published As

Publication number Publication date
GB2562353A (en) 2018-11-14
CN108876868B (zh) 2023-10-27
US10559061B2 (en) 2020-02-11
US20180322612A1 (en) 2018-11-08
CN108876868A (zh) 2018-11-23
GB2562353B (en) 2020-08-12
GB201803574D0 (en) 2018-04-18

Similar Documents

Publication Publication Date Title
DE102018001403A1 (de) Computerisierte Erzeugung von ornamentalen Designs durch Platzieren von Instanzen einfacher Formen in Übereinstimmung mit einem Richtungshinweis
AU2018201319B2 (en) Flow-based ornamental element packing
Neubert et al. Approximate image-based tree-modeling using particle flows
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
Sousa et al. A few good lines: Suggestive drawing of 3d models
CN105374007A (zh) 融合骨架笔画和纹理特征的铅笔画生成方法和装置
DE102015009981A1 (de) Verfahren und Vorrichtung zur Bildsynthese
Kerber et al. Computer assisted relief generation—A survey
DE19807013A1 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
Chi et al. Image stylization using anisotropic reaction diffusion
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
Qian et al. Aesthetic art simulation for embroidery style
Loi et al. Programmable 2d arrangements for element texture design
DE202017007534U1 (de) Multiskalige 3D-Textursynthese
Anastacio et al. Sketch-based parameterization of L-systems using illustration-inspired construction lines and depth modulation
Zheng et al. Layered modeling and generation of Pollock’s drip style
DE102018007146A1 (de) Ölgemälde-Strichsimulation mittels eines neuronalen Netzwerks
Doyle et al. Automated pebble mosaic stylization of images
DE69830766T2 (de) Verfahren und Vorrichtung zum Bestimmen des Anwendungsumfangs geschichteter synthetischer graphischer Filter
Saputra et al. FLOWPAK: Flow-based Ornamental Element Packing.
Ji et al. ReliefNet: fast bas-relief generation from 3D scenes
Futschik et al. Real-Time Patch-Based Stylization of Portraits Using Generative Adversarial Network.
Wong et al. Abstracting images into continuous-line artistic styles
Yang et al. Binary image carving for 3D printing
Zhang et al. Neural Modelling of Flower Bas‐relief from 2D Line Drawing

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R012 Request for examination validly filed