Situation:
Ich habe eine interessante Visualisierungs-Idee entwickelt und habe nun ziemliche Probleme, diese Idee in Formeln zu packen. Umgesetzt wird alles in Flash. Ich bin auch schon recht weit, komme aber an einem Punkt nicht weiter und bitte um etwas Nachhilfe: Es geht um Kugelgeometrie/-rotation und die Umrechung von quadratischer Plattprojektion in 3 Drehachsen einer Kugel.
Problembeschreibung:
Ich möchte einen „Weltreisenden“ auf einer quadratischen Plattkartenprojektion der Erdkarte herumsteuern in x- und y-Koordinate (Breiten und Längengrad, bzw. theta und phi in Kugelkoordinaten). Ausserdem soll der „Reisende“ eine Blickrichtung haben, sich also auf seinem aktuellen Standpunkt um die eigene Achse drehen können. So dass man z.B. in Europa steht und Richtung Russland blickt. Das hat dann auch den Vorteil der intuitiveren Steuerung: Links/Rechts für ‚Auf der Stelle drehen‘ und Vorwärts für ‚In Blickrichtung reisen‘.
Diese 3 Werte: x, y und Blickrichtung möchte ich nun übertragen auf eine in 3 Achsen drehbare Erdkugel, die sich entsprechend dieser 3 Werte ausrichtet. Also vom Prinzip quasi wie google-earth. Der Userstandpunkt ist immer „oben“ auf der Kugel und Änderung der Blickrichtung dreht die Erde „unter mir“. Wenn ich dann „vorwärts“ fliege dreht sich die Erde unter mir, so als würde ich auf einem riesigen Autoreifen laufen (oder eben auf einer riesigen Kugel).
Der Ganze Sinn der Sache: Ich verteile dann später auf der Karte (UND der Erdkugel) eine Handvoll „Gebäude“ auf den entsprechenden Längen/Breitengraden die entsprechend meiner Position auf der Erde am Horizont aufsteigen und anklickbar sind. Man kann also interaktiv eine 3D-Icon Welt bereisen.
Was ich schon hinbekommen habe:
Die Umrechnung Kartesische-/Kugelkoordinaten und zurück. Die Transformation zurück in die 2D-Bildebene auch. Ich kann auch schon den Reisenden korrekt auf der 2D-Karte verschieben (siehe Projektbeispiel-Link weiter unten) und er nimmt auf der Erdkugel gleichzeitig die richtige Position ein. Und ich kann auch die Kugel in 3 Achsen drehen. Letzteres allerdings recht ziellos.
Wo ich nicht weiterkomme:
Ich habe keine Ahnung, welche Achse ich nun wie drehen muss, damit der Standpunkt des Reisenden bei der Kugel „oben“ sitzt und sich die Erde dann um diesen Punkt dreht. Womöglich geht es um so etwas wie eine Tangentialebene? Meine Rotationen scheinen auch die Erde ‚global‘ zu drehen, d.h. die Drehachsen drehen sich nicht mit.
Ich habe den aktuellen (interaktiven) Projektstand zum besseren Verständnis hier abgelegt:
http://www.zunds.de/kugelproblem/wissensweltreise_6…
Danke für Eure Hilfe oder Tipps oder ‚Lernrichtungs-Hinweise‘. Auch Äusserungen wie „Vergiss es - Viel zu kompliziert“ würden mir weiterhelfen - bin um jedes Feedback froh.
Gregor
