Ich habe ein geometrisches Muster - sagen wir ein Kreuz:
Was ich mit etwas Überlappung und Kachel wiederholen möchte… einfach:
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:
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.
quelle
Antworten:
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":
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:
Da wir spitze Winkel wünschen, sieht das obige Diagramm folgendermaßen aus, wenn Sie sich in die andere Richtung drehen:
Die Bildgröße (w 'x h'), die erforderlich ist, um die Textur kachelbar zu machen, kann wie folgt ermittelt werden:
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).
quelle
Hier ist ein nicht-mathematischer Ansatz aus der Zeit, als ich ähnliche Dinge tun musste:
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.
quelle