Krita: Grüne Koordinaten oder wie man aus einem Drachen ein Känguru macht

    Neulich wurde die zweite Beta-Version von Kreta 2.9 veröffentlicht . Mit diesem Artikel möchte ich die Geschichte über die neuen Funktionen beginnen, die die Benutzer in der kommenden Version erwarten.

    Eine der interessantesten Funktionen dieser Version ist die Zelltransformation. Hiermit können Sie die Form von Objekten ändern, ohne das Bild zu verzerren. Wir werden heute über ihn sprechen ...




    Grüne Koordinaten


    Das Interesse an Werkzeugen zur Zelltransformation entstand zunächst als Mittel zur Transformation dreidimensionaler Objekte. Gewöhnlich war eine solche "Zelle" ein Polyeder mit einer kleinen Anzahl von Polygonen, die das interessierende Objekt enthielten. Durch Verschieben der Scheitelpunkte des Polyeders kann der Benutzer das ausgewählte Objekt deformieren und die gewünschte Biegung und Form erhalten. In unserem Fall arbeiten wir nicht mit 3D-Modellen, sondern mit flachen Bildern, sodass sich die Aufgabe erheblich vereinfacht: Die Zelle wird zu einem gewöhnlichen Polygon, und das deformierbare Objekt wird zu einer Menge von Pixeln. Durch Manipulieren der Scheitelpunkte dieses Polygons können Sie die erforderliche Bilddeformation erzielen.

    Es gibt viele Möglichkeiten, eine solche Zelle anzugeben, aber die meisten von ihnen kommen darauf an, die Koordinaten jedes Pixels in der Zelle durch die gewichtete Summe der Koordinaten der Scheitelpunkte derselben Zelle auszudrücken. Die resultierenden Gewichte werden anschließend verwendet, um die neue Position der Pixel zu berechnen, nachdem der Benutzer die Zellknoten bewegt hat. Diese Methode ist einfach und verständlich, hat jedoch einen wesentlichen Nachteil: Bei der Verwendung leidet die Form des Objekts stark unter dem Vorhandensein von Scherverformungen (die Transformation hat keine Konformitätseigenschaft).

    Um dieses Manko zu umgehen, haben sich Entwickler der Universität von Tel Aviv etwas einfallen lassenein anderer Weg. Um Scherdeformationen zu beseitigen und die Form des Objekts beizubehalten, wurde vorgeschlagen, nicht nur die Koordinaten der Scheitelpunkte der Zelle zu verwenden, um die Koordinaten der Pixel zu berechnen, sondern auch die Ausrichtung der Normalen ihrer Kanten. Die resultierenden Koordinaten werden zu Ehren der bei der Ableitung verwendeten Theorie der grünen Funktionen als grüne Koordinaten bezeichnet .

    Das Folgende ist ein Vergleich verschiedener Zellkonvertierungsmethoden: a) das Originalbild; b) Umrechnung mit grünen Koordinaten; c) die klassische Methode der harmonischen Koordinaten. Quelle: [1]


    Die Methode mit grünen Koordinaten hat viele nette Eigenschaften:
    • Hiermit können Sie explizite Ausdrücke für die neuen Koordinaten der Pixel abrufen, d. h. Wir müssen keine Gleichungen lösen oder andere iterative Methoden anwenden
    • Wie andere „zellulare“ Algorithmen funktioniert auch dieses Verfahren in zwei zeitlich getrennten Schritten: In der ersten Stufe werden die grünen Koordinaten für jedes Pixel des Bildes unter Berücksichtigung der ursprünglichen Konfiguration der Zelle berechnet und die zweiten Koordinaten werden einfach mit benutzerdefinierten Werten der Koordinaten der Eckpunkte und Kanten multipliziert Normalen einer neuen Zelle. Die ressourcenintensivste erste Stufe muss daher zu Beginn der Arbeit nur einmal berechnet werden, und alle nachfolgenden Änderungen werden durch einen schnellen Algorithmus neu berechnet
    • Im Gegensatz zu allen anderen Algorithmen haben die grünen Koordinaten die Eigenschaft der Konformität , d.h. Die Anzeige eines beliebigen Punktes im Bild kann in Form von Verschiebung und Drehung dargestellt werden, während in der resultierenden Anzeige keine Scherverformungen (Scherung) auftreten. Dies bedeutet, dass jeder infinitesimale Kreis in einen Kreis und nicht in eine Ellipse umgewandelt wird, wie dies bei herkömmlichen Methoden der Fall wäre


    Kreta Umsetzung und Herausforderungen


    Bei der Implementierung des Algorithmus auf Kreta werden Entwickler mit einigen interessanten Merkmalen des Algorithmus konfrontiert. Wie oben erwähnt, wurde die Transformation gemäß der ursprünglichen Idee der Autoren in zwei Phasen unterteilt, von denen die erste langsam nur einmal bei der Initialisierung des Werkzeugs und die zweite schnell bei jeder Änderung der Zelle durch den Benutzer berücksichtigt werden sollte. Das Problem ist, dass die "schnelle" Phase des Algorithmus nicht so schnell war. Das Konvertieren von Objekten in Originalgröße (> 2k Pixel auf der langen Seite) dauerte einige Sekunden. Infolgedessen wurde die Interpolation über den ursprünglichen Algorithmus hinzugefügt. Das Bild wird durch ein Raster mit einem Schritt von 8 Pixeln geteilt, die Koordinatenwerte von Green werden für seine Knoten berücksichtigt und die verbleibenden Pixel werden interpoliert. Wie sich herausstellte, ist der Unterschied bei echten Bildern fast nicht wahrnehmbar.


    Pfeffer und Karotte von David Revoy

    ...
    Um den vollen Geschwindigkeitsgrad des ursprünglichen Algorithmus zu spüren, wird der Leser aufgefordert, den Gimp-Editor zu öffnen, ein Bild mit einer Größe von 640 x 480 Pixeln zu erstellen und zu versuchen, das Cell Transform-Tool zu verwenden.


    Schlussfolgerungen und Pläne für die Zukunft


    Die Zelltransformation ist bereits in den neuesten Versionen von Crete 2.9 Beta2 verfügbar . Zusammen mit dem neu geschriebenen Warp-Transformations-Werkzeug können Sie die Pose und den Gesichtsausdruck eines zweidimensionalen Charakters ändern, ohne das Skelett zusätzlich zu erstellen und zu binden.

    Zusätzlich zum grundlegenden Algorithmus hat die Zelltransformation jedoch auch eine interessante Erweiterung. Wenn Sie nur einen Scheitelpunkt ändern, kann dies zu Änderungen im gesamten ausgewählten Bereich führen, auch in den Bereichen, die sich auf der anderen Seite des Bildes befinden. Dies ist nicht immer praktisch, da zum Beispiel die Hand des Charakters geändert werden muss, um sie als Ganzes in die Zelle zu bringen (siehe Video)) Um diese Situation zu beheben, gibt es eine Methode, mit der Sie die ausgewählten Kanten der Zelle korrigieren und Teile des Zeichens separat bearbeiten können. Dies wird das Thema für die zukünftige Arbeit der Entwickler sein!

    Die Beta-Version von Krita 2.9 für Windows und Linux kann auf der offiziellen Website des Projekts heruntergeladen werden .

    Abschließend ein Video zum Erstellen einer Titelillustration:


    Jetzt auch beliebt: