Hi,
Ich habe ein Bild
was genau bedeutet diese Aussage?
Hast Du eine vektorielle Darstellung des Bildes, oder nur Pixel?
und das würde ich gerne stufenlos drehen lassen.
Hat da jemand eine Idee, wie man das machen kann?
Ich würde mal damit anfangen, zu überlegen, _ob_ man das überhaupt
machen kann, d. h. welche Randbedingungen dabei erfüllt sein müssen.
Wenn Du eine auflösungsunabhängige mathematische Darstellung des Bildes
hast (Vektoren wären eine), dann kannst Du eine beliebige, insbesondere
stufenlose Drehung durch eine entsprechende mathematische Transformation
durchführen. Das ist dann natürlich noch keine Bildschirmausgabe, aber
immerhin erst mal korrekt, d. h. nicht rundungsfehlerbehaftet.
Wenn Du dagegen Pixel hast, dann wird eine _stufenlose_ Drehnung über-
haupt nicht möglich sein. Dein Ausgabemedium erlegt Dir nun mal einige
Beschränkungen auf.
Insbesondere: Wenn Du ein 'gepixeltes' Bild dadurch drehen willst,
daß Du eine ggf. sogar wiederholte Abbildung auf die Pixel anwendest,
wird die Qualität der abgeleiteten Bilder sehr schnell immer weiter
abnehmen - weil Du bei jeder weiteren Drehung die neuen Positionen
der Pixel immer wieder runden mußt. Sinnvoller ist da eine medien-
unabhängige abstrakte Darstellung zu verwenden, diese zu drehen und
aus ihr dann die jeweiligen Pixel-Bilder zu generieren.
Welche und wieviele das dann sein sollen, ist von Deiner Aufgabenstellung
noch zu definieren. "Stufenlos" würde "unendlich viele" bedeuten, das
ist angesichts der Randbedingungen nicht machbar; Du müßtest Dir also
irgend ein Modell definieren, welches das erwünschte Ideal halbwegs
vernünftig annähert.
Da wir hier ein Webforum haben und Du nichts über besondere Randbedin-
gungen geschrieben hast, wirst Du insbesondere nicht beliebige Daten-
mengen über das langsame Netz übertragen können. Ein Bild pro Grad
Drehung Deines Rades wären schon verteufelt viele Daten.
Dein Ansatz, die Bilder auf dem Client dynamisch zu berechnen, erscheint
mir daher sinnvoll.
Mit JavaScript hast Du allerdings m. E. nicht die Möglichkeit, den Inhalt
von Bildern zu verändern.
Über die interaktiven Möglichkeiten von Flash kann ich nichts aussagen.
Bliebe also noch Java. Das wiederum hätte die Möglichkeit, innerhalb
seines Applet-Fensters selbst graphische Ausgaben zu machen; das sieht
dann natürlich nicht annähernd so aus wie ein animiertes GIF in einem
HTML-Dokument. Aber von den sprachlichen Möglichkeiten müßte das gehen.
Überhaupt sind Web-Sprachen nicht darauf ausgelegt, die verfügbare
Hardware bis zum Rand auszureizen. Der Versuch, per Web-Seite mit einer
auf eine Rechnerplattform optimierten Ballerspiel zu konkurrieren, wird
m. E. ziemlich heftig zum Scheitern verurteilt sein. Das liegt auch daran,
daß interaktive Spiele durch hochoptimierten, compilierten Code realisiert
werden, während Du bei Java, JavaScript etc. mit sperrigem, interpretierten
Code auskommen mußt. Und eine beliebig komplexe Verarbeitungslogik würde
bedeuten, daß Du wiederum beliebig umfangreichen Programmcode zum Anwender
übertragen mußt - vergleichbar mit den Applet-Downloads von mehreren
hundert Kilobyte, den einige Direktbanken ihren Kunden zumuten.
Was Deine Frage überhaupt nicht berücksichtigt hat: Wie stellst Du Dir
die mögliche Benutzerinteraktion vor? Soll das Drehen automatisch er-
folgen, oder durch etwas, das der Anwender aktiv auslöst? Falls letzteres,
müßtest Du auch noch auf diese Aktion reagieren, und das ebenfalls wieder
mit client-seitiger Intelligenz.
Viele Grüße
Michael