Spacetour: Unterschied zwischen den Versionen
Zeile 2: | Zeile 2: | ||
|name = Spacetour | |name = Spacetour | ||
|status = stable | |status = stable | ||
− | |autor = [[Benutzer:ptflea|ptflea]], [[Benutzer:schinken|schinken | + | |autor = [[Benutzer:ptflea|ptflea]], [[Benutzer:schinken|schinken]] |
|beschreibung = Der virtuelle Rundgang | |beschreibung = Der virtuelle Rundgang | ||
|image = pano_cat_image.jpg | |image = pano_cat_image.jpg |
Version vom 19. Mai 2014, 10:13 Uhr
Spacetour Status: stable | |
---|---|
Beschreibung | Der virtuelle Rundgang |
Autor: | ptflea, schinken |
PayPal |
Beschreibung
Um zukünftigen Besuchern schon im Voraus einen Einblick in unsere Räumlichkeiten zu gewähren, haben wir uns entschlossen unsere Räume als Panorama abzulichten. Unser Mitglied ptflea hatte hierfür ein GigaPan zur Verfügung. Als Kamera wurde eine Canon DIGITAL IXUS 80 IS, mit dem alternativen Betriebsystem CHDK, verwendet.
Die Tour kann unter tour.hackerspace-bamberg.de oder integriert in unserer Website unter Spacewalk aufgerufen werden.
Die Aufnahmen
Die Kamera wurde auf dem Gigapan montiert und mit Stativ an strategisch günstigen Stellen positioniert. Ausgelöst wurde die Kamera über ein modifiziertes USB Kabel das den 5V-Impuls vom Gigapan ans CHDK weitergereicht hat. Als nächstes wurden die Reihen- und Spaltenanzahl auf 15 x 8 eingestellt, welche am Ende in 120 Einzelbilder resultierten.
Die Aufnahmereihenfolge der Bilder erfolgt immer von der Decke zum Boden.
Reihe 1 Reihe 2 +--------+ +--------+ | Bild 1 | +-> | Bild 4 | +--------+ | +--------+ | Bild 2 | | | Bild 5 | +--------+ | +--------+ | Bild 3 | --+ | Bild 6 | +--------+ +--------+
Stitching
Zum Zusammenfügen (stitchen) der Bilder wurde die Open-Source-Software Hugin verwendet. Nach ca. 45 Minuten erhielten wir als Resultat JPEGs mit einer Auflösung von 22896x11448 Pixeln und einer Dateigröße von 43MB.
krpano
Als Viewer-Software verwenden wir krpano. Leider gibt es keine vergleichbare Open-Source Software die mit der Darstellungsqualität sowie den Funktionen von krpano mithalten kann. Für die Verwendung von krpano ist eine kostenpflichtige Lizenz nötig, welche uns krpano freundlicherweise gesponsert hat. krpano liefert die Tour abhängig vom Browser/Gerät als Flash- oder HTML5-Variante aus.
Zur Erstellung der Tour wird kmakemultires mit der Standard vtour-config verwendet:
./kmakemultires -config=templates/vtour-multires.config src_images/*
Alle Quellbilder liegen hierbei in src_images/*. Das Tool berechnet nun alle nötigen Bilder in unterschiedlichen Zoomstufen, wodurch später im Browser dynamisch einzelne Teile des Panoramas nachgeladen werden. Die Programme zur Erstellung der Tour können direkt von der krpano-Website heruntergeladen werden. Hier stehen Versionen für Linux, Mac, Window als 32 und 64-Bit zur Verfügung. Die Berechnung dauert ca 15-25 Minuten.
Hotspots
Um durch die Räume navigieren zu können verwenden wir die sogenannten Hotspots. Diese können als Punkt oder als Vektor in die tour.xml eingetragen werden. Allerdings ist zu beachten, dass in der HTML5-Variante die Vektor-Hotspots nicht funktionieren.
Um einen Hotspot zu definieren müssen die Werte ath und atv gesetzt werden. Diese sind in der krpano XML-Dokumentation wiefolgt beschrieben: The spherical coordinates of the polygonal hotspot points in degrees.
Das bedeutet, dass wir die Pixel-Koordinaten in Gradzahlen umrechnen müssen. Hierfür hat schinken ein kleines Python-Skript geschrieben, welches die Umrechnung vereinfacht.
Die x/y-Koordinaten werden als Pixelposition in einer Grafiksoftware (z.b. GIMP) abgelesen und an die Software übergeben:
python krpano_px2deg.py --w 22896 --h 11448 --x 1337 --y 42
Das Tool liefert den berechneten Punkt als XML-Element zurück:
<point ath="21.022013" atv="269.339623" />
Auf der horizontalen Achse ist der Bereich von 0 bis 360 Grad definiert. Der vertikale Nullpunkt liegt in der Waagrechten bei 0° und der Bereich liegt zwischen -90° (unten) und +90° (oben).
Die Definition im XML sieht wie folgt aus:
<hotspot fillalpha="0.2" fillalphahover="0.4" borderalpha="0.6" name="to_labor"> <point ath="51.194969" atv="200.062893" /> <point ath="80.503145" atv="198.553459" /> <point ath="80.251572" atv="144.213836" /> <point ath="50.566038" atv="142.578616" /> </hotspot>