So erstellen Sie ein Muster oder Kacheln aus gedrehten Elementen


7

Ich habe ein geometrisches Muster - sagen wir ein Kreuz:

Elementarsymbol wiederholt werden

Was ich mit etwas Überlappung und Kachel wiederholen möchte… einfach:

Wiederholen Sie das Muster mit der markierten Einheitskachel

Das blaue Quadrat markiert die Einheitskachel 100 × 100 px.

Hier kommt jedoch der Haken: Ich möchte das Bild um etwa 30 ° drehen und dann kacheln. Dies hat sich als überraschend schwierig erwiesen. Das Drehen des Bildes ist natürlich einfach - aber das Finden einer senkrechten Einheitskachel (der blaue Block im obigen Bild) ist nicht:

Gedrehtes Wiederholungsmuster

Es ist klar, dass die 100 × 100-Einheitskachel sie nicht schneidet. Wie wähle ich die richtige Einheitskachel aus? Die Position spielt vermutlich keine Rolle, nur die Größe ist wichtig, aber ich weiß nicht, wie ich das berechnen soll. Intuitiv erwarte ich, dass der Drehwinkel und das Punktprodukt stark beeinflusst werden, aber das ist so weit wie ich 1 habe . Was noch schlimmer ist, die Drehung für beliebige Winkel ist aufgrund der inhärenten Diskretion von Pixeln nicht genau. Selbst wenn ich die mathematisch korrekte Größe berechne, führt dies nicht unbedingt zu einer nahtlosen Kachel.

Wie kann ich also eine optimale Winkel / Größen-Kombination berechnen, wenn die Größe der senkrechten Einheitszelle (hier 100 × 100) und der ungefähre gewünschte Winkel gegeben sind?


1 Mein Gedanke war, dass wir (unter Verwendung der Wikipedia-Notation), da die Projektion von A auf B so lang wie B sein soll, | B | = | A | · cos we und damit | A | = | B | / cosϑ haben . Was in meinem Fall die neue Länge | A | = 115.470 ergeben würde, aber ein einfacher Versuch zeigt, dass dies bei weitem nicht richtig sein kann, außer dass eine hässliche nichtintegrale Zahl erhalten wird. Wenn wir uns nur das oben gedrehte Bild ansehen, können wir sehen, dass das gesamte 200 × 400-Bild keine sich wiederholende senkrechte Einheit enthält.


Man kann tatsächlich Muster im Illustrator drehen
joojaa

Antworten:


7

Ich fand dies hilfreich: Erstellen Sie gedrehte Kachelmuster

Wie Sie bereits erwähnt haben, geht es um Mathematik, die weit über mein Verständnis hinausgeht. Daher werde ich nur einige der Prinzipien einbringen, die mit dem Entwerfen zu tun haben.

Grundsätzlich wäre die "Lösung":

  • Nehmen Sie eine nicht gedrehte, kachelbare Textur, die sich horizontal und vertikal wiederholt.
  • Kacheln Sie es zu einem großen Bild.
  • Drehen Sie das große Bild um den gewünschten Winkel.
  • Finden Sie die Größe der kleinsten wiederholbaren Einheit dieser gedrehten Textur (unter Verwendung der folgenden Mathematik).
  • Beschneiden Sie das große Bild auf die Größe der wiederholbaren Einheit.

Das Bild unten zeigt eine gedrehte Textur, die durch Kacheln des ursprünglichen nicht gedrehten Musters und anschließendes Drehen des resultierenden Mosaiks gebildet wurde. Das grundlegende nicht gedrehte Texel ist hervorgehoben und hat die Breite w und die Höhe h. Der Drehwinkel ist der spitze Winkel, den die w-Linie mit der Horizontalen bildet:

Geben Sie hier die Bildbeschreibung ein

Da wir spitze Winkel wünschen, sieht das obige Diagramm folgendermaßen aus, wenn Sie sich in die andere Richtung drehen:

Geben Sie hier die Bildbeschreibung ein

Die Bildgröße (w 'x h'), die erforderlich ist, um die Textur kachelbar zu machen, kann wie folgt ermittelt werden:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Die Erklärung geht noch ein bisschen weiter. Wenn Sie es also nützlich fanden, können Sie die Antwort bearbeiten (oder eine neue posten).


Es ist beruhigend, dass mein Ansatz zumindest weitgehend korrekt war, auch wenn er nicht weit genug ging.
Konrad Rudolph

Interessanterweise führt all diese Theorie zu nichts, da Inkscape anscheinend nicht pixelgenau funktioniert. Obwohl ich das Muster mit exakten Werten und mathematischen Rotationen erstellt habe, weist die resultierende Bitmap dennoch leichte Verzerrungen auf, sodass es unmöglich ist, Kacheln zu extrahieren. :-(
Konrad Rudolph

2

Hier ist ein nicht-mathematischer Ansatz aus der Zeit, als ich ähnliche Dinge tun musste:

  1. Machen Sie einen massiven Bereich des Musters (die Kacheln werden nicht klein sein) und drehen Sie sie wie gewünscht.
  2. Wählen Sie einen visuell einfachen, markanten Punkt (z. B. eine Ecke des X).
  3. Lassen Sie eine horizontale und vertikale Führungslinie genau durch diese Stelle verlaufen.
  4. Folgen Sie der horizontalen Linie, bis Sie ein genaues Duplikat der ursprünglichen Stelle auf der Linie erreichen. Legen Sie dort eine vertikale Führung.
  5. Folgen Sie der vertikalen Linie (beide vertikalen Linien sollten identischen Boden bedecken), bis Sie ein genaues Duplikat des ursprünglichen Punkts erreichen. Legen Sie dort eine horizontale Führung.

Sie haben jetzt ein 4-zeiliges Rechteck um die kleinstmögliche Kachel (auch hier wird es nicht klein sein).

Dann gibt es ein wenig frustrierendes Ausprobieren, um es pixelgenau zu machen, dann sollten Sie bereit sein zu gehen.


Ich fing an, dies zu tun und dachte: "Wie schwierig kann es sein?". Oh, es war eine ziemliche Herausforderung, und ich habe große Zeit versagt. Vielleicht war mein Blickwinkel falsch oder meine Technik war schlecht, aber meine Leinwand war einfach RIESIG. Ich habe aufgegeben, bevor ich den magischen Punkt der Musterung xD entdeckt habe (ungefähr 20x meiner ursprünglichen Größe) - Bearbeiten: Beispiel .
Yisela

Leider funktioniert diese Methode nur für sehr wenige spezifische Drehwinkel (siehe den verlinkten Beitrag in Yiselas Antwort).
Konrad Rudolph
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.