Wer kann diese Matheaufgabe lösen?

Bin irgendwie am Verzweifeln:

  1. Xneu = Xalt + ( distortion * sin ( Pi * Yalt / 64 ))
  2. Yneu = Yalt + ( distortion * cos ( Pi * Xalt / 64 ))

Schritt : - ( distortion * sin ( Pi * Yalt / 64 ))
Vertauschen links und rechts

Xalt = Xneu - ( distortion * sin ( Pi * Yalt / 64 ))
Yalt = Yneu + ( distortion * cos ( Pi * Xalt / 64 ))

Schritt :2. in 1. Einsetzen

Yalt = Yneu + ( distortion * cos ( Pi * Xalt / 64 ))
Xalt = Xneu - ( distortion * sin ( Pi * Yalt / 64 ))

Xalt = Xneu - ( distortion * sin ( Pi * (Yneu + ( distortion * cos ( Pi * Xalt / 64 ))) / 64 ))

Schritt ? Wie kriege ich das Xalt von der rechten auf die linke Seite der Gleichung?

Es handelt sich um wellenförmige Verzerrung von Grafik
Die Punkte ( Xalt,Yalt) werden nach (Yneu,Yneu) verschoben
distortion ist eine Konstante (z.B 10) genauso 64, die die Höhe der Welle bestimmt ( 180 ergäbe Halbkreise)
Sie soll zurückgebracht werden auf den alten Inhalt. Es gibt natürlich 2 Werte für Xalt, je nach Quadrant (aufsteigend oder absteigend) .

Die Punkte Xneu, Yneu sind jetzt also die bekannten aus { (0,0) bis (300,100} = Bitmap 300*100 Pixel

Also: welchen (2) Wert(e) hat Xalt ?

Vielen Dank für jegliche Hilfe.

Marco

Hallo,

Xalt = Xneu - ( distortion * sin ( Pi * (Yneu + ( distortion
* cos ( Pi * Xalt / 64 ))) / 64 ))

Schritt ? Wie kriege ich das Xalt von der rechten auf die
linke Seite der Gleichung?

wohl gar nicht. Das ist eine trigonometrische Gleichung und die kann man nicht einfach so auflösen. Nur in Sonderfällen. Und so einer liegt hier nicht vor, zumindest sehe ich keine Möglichkeit.
Das lässt sich also nur numerisch lösen.
Wenn die Distortion bekannt ist, könntest Du doch mal alle möglichen Kombinationen für x und y durchrechnen, das wären 2 mal 30000 Stück.
Und dann musst Du das Wertepaar, um das es geht, in dieser Matrix suchen und kannst das Ergebnis ablesen. Keine Ahnung, wie lange sowas dauert - vielleicht gehts auch irgendwie eleganter.

Olaf