SINGLE POST

Panorama

Einige von euch kennen sicher QuicktimeVR Panoramen, die aus einem einzelnen Bild so irrsinnig tolle interaktive Touren ermöglichen. Vielleicht kennen auch einige iPIX, etc. etc. etc.

Solche Panoramen werden bei herkömmlicher Vorhehensweise mit definierten Gradwerten abfotografiert, in ein Programm geladen wie Stitcher und zu einem Panorama arrangiert. Der anschließende Export erfolgt in eines der oben genannten Formate.

Der Nachteil ist offensichtlich, erstens lassen sich solche Panoramen schlecht in bestehende Websites integrieren, zumindest vom Standpunkt des Designers und der Entwickler hat es schwer z.B. Hotspots einzubinden und eine Schnittstelle zu finden die es ihm ermöglicht die Daten einfach zur Verfügung zu stellen(z.B.: nur ein großes JPG das von der Engine geladen wird)

Da ich aktuelle mit einem kleinem Team an einer Virtualisierungslösung feile und die im Netz vorhandenen Lösungen zu teuer, zu schlecht programmiert oder einfach nicht anpassbar genug sind, haben wir den Schritt zu einer Eigenlösung gewagt. Noch kurz ein Wort zu den Angeboten im Netz, es ist traurig wenn man beobachten muss wie manche Firmen für einen totalen Schrott bis zu 900€ verlangen können(Einzellizenpreis). Die angebotenen Lösungen waren durchwegs so gebaut, dass wenn sie eine API boten, diese nicht über das übliche, “Wo sehe ich hin” hinausgingen.

Sinnvoll ist eine Entwicklung nur dann wenn sie mehrere der folgenden Kriterien verfügt.

- Einbindung der Engine in bestehende Projekte mit kompletter Anpassbarkeit und Abfragemöglichkeit von User Interface und User Interaktion.

- Quelldateien aus nicht proprietären Formaten, da ansonten Konverter notwendig sind

- Begrenzung von Bewegungsräumen innerhalb des Panoramas

- intuitive Benutzerführung

- kleine Dateigrößen

- keine Zwangsbindung an ein Zeitfile mit Programmlogik

- Dokumentierte API

- Performance

Anbei befindet sich noch eine kleine Skizze mit Erklärung wie das technische/mathematische Prinzip hinter dieser Engine aussieht. In den nächsten Wochen werden wir soweit ein Status im Projekt erreicht wird, der öffentlich vertretbar ist, die SourceCodes zu dem Projekt veröffentlichen.
Erklärung Prinzip:

Prototyp zum Ansehen(Steuerung reagiert manchmal nicht, dann neu starten und die Maus über dem Fenster hin und herbewegen)
Panorama Viewer Prototype


Funktionsprinzip

Wie man auf der Grafik erkennen kann, wird das Panoramabild in Streifen zerlegt. Dies geschieht in Flash mittels Masken. Die Breite der Masken nimmt gegen den Rand ab um an höheren Krümmungspunkten eine bessere Auflösung zu erreichen. Die Bilder die von den Masken dargestellt werden, werden je nach Position skaliert. Die Berechnung der Breite der Maske und der Skalierung ist abhängig von einer Formel. Um alle Stitcher Formen abzubilden würde man hier unzählige Formeln benötigen. Wir haben festgestellt, dass eine Annäherung oft sehr gute Ergebnisse erzielt, so lässt sich z.B. die hier gezeigte Parabelformel auf nahezu alle horizontal verzerrten Panoramen anwenden, jedoch die Parameter müssen natürlich justiert werden.


One thought on “Panorama

  1. Sers zamm!

    bin da jetz durch Zufall hier rein gestolpert,
    is aber recht nett was du hier so fabrizierst.

    Hab grad keine Zeit mitgebracht aber mal ein
    kleiner Tipp am Rande : ab Flash8 gibts ja det
    BitmapData-Objekt womit sich ganz nett Bilder
    manipulieren lassen. DisplacmentMap is da das
    Zauberwort! I glob der Andre (Michelle) hatte
    so ein Panoramading auch mal gebastelt.

    tschüü
    stef