Theoretisch verziehen, ich weiß, dass ein Bild verziehen, wobei jedes Pixel (x,y)
in dem Quellbild wird auf (x', y')
transformiert, um eine Funktion f unter Verwendung von (d x'=f(x,y)
& y'=f(x,y)
). Aber welche mathematischen Gleichungen kann ich anstelle der Funktion f()
verwenden.Suche eine mathematische Gleichung sucht ein Bild
Zum Beispiel fand ich in einer Website der folgenden für Warping ein Bild:
X' = X + [sin(aX) + cos(cY)] . d where a,b,c and d random values.
y'= the same above
Meine Frage: aus, wo solche diese Gleichung kommen? Gibt es eine systematische Technik, um solche Gleichungen zu erzeugen und dann das ähnliche verzogene Bild unten zu erhalten?
Ein andere Frage How to make a wave warp effect in shader? wird über den einfachen Welleneffekt zu fragen, was aus meiner Frage völlig anders. Meine Frage ist, wie man Gleichungen aufbaut, die Abbildungsfunktionen in anderen komplizierten Verzerrungseffekten darstellen, definitiv nicht einfach wie Wellengleichung, und danach, wie man die Koeffizienten "Parameter" (a, b, c und d) für diese mathematischen Gleichungen bestimmt , nicht durch Versuch und Irrtum
Math.SE ist ein besserer Ort dafür, wenn Sie Mathe Hilfe suchen – Li357
Die Gleichung kommt von Ihnen. Das heißt, Sie schreiben die Funktion, die die Punkte transformiert. Es gibt eine systematische Technik, um die Gleichungen zu erzeugen. Um etwas Ähnliches wie das Bild zu erhalten, das Sie verlinkt haben, müssten Sie experimentieren. Vom Aussehen der Dinge bewegt es Pixel nach links und unten oder rechts und unten, abhängig von ihrer horizontalen Entfernung von der Mitte der Hälfte des Bildes, in dem sie sich befinden. Sie müssen experimentieren, um die genaue Formel zu finden. –
Grundsätzlich verschieben sie Bereiche von Pixeln _smoothly_, dh die Verschiebungsverteilung von Pixeln variiert kontinuierlich über das Bild und "springt" nicht - was zum Zerreißen –