PTVIEW-GEN PTVIEW-GEN
wurde von mir programmiert, um die Arbeit bei der Ermittlung der
Parameter für die Funktionen moveTo() und moveFromTo()
vom PTViewer zu erleichtern. Also nur etwas
für HTML-Programmierer! Die Funktion moveTo()
wird mit den Werten von Pan, Tilt und Fov, sowie den Frames, aufgerufen. Pan
nimmt die Werte 0..180,-179..-1º an und beschreibt die Drehung nach
links und rechts. Tilt nimmt die Werte -90..0..90º an und beschreibt
die Neigung nach oben und unten. Fov nimmt die Werte etwa 11..120º
an und beschreibt den Blickwinkel bzw. Bildausschnitt. Frames
sind etwa Zeitwerte, die bis zum Erreichen des beschriebenen Punktes
benötigt werden moveTo(pan_nach,tilt_nach,fov_nach,frames)
Die
konkreten Werte für diese 3 Parameter Pan, Tilt Fov kann man
durch Drücken der TASTE
V bei gestartetem PTViewer Applet in der
Statuszeile ablesen. Dies
sieht dann etwa so aus (s.o.) und die Werte für pan tilt und fov
ändern sich, sofern in dem PTViewer Applet navigiert wird. Die Navigation
kann mittels der Pfeiltasten auf der Tastatur erfolgen und dann
werden die Werte für pan und tilt verändert. Natürlich erfolgt dies
nicht synchron zur Statusanzeige, denn es muss immer die TASTE
V gedrückt werden, um die Werte pan, tilt,
fov anzufragen. Probiere es selbst mal aus!
moveFromTo() ist ein wenig komplexer
und hat alle 3 Werte (pan,tilt und fov) doppelt, denn hier kann
man bestimmen, von wo nach wo die Bewegung mit Blickwinkel im Panorama
erfolgen soll. moveFromTo(pan_von,pan_nach,tilt_von,tilt_nach,fov_von,fov_nach,frames)
Der
Rundblick Möchte man nun einen
geschmeidigen Rundblick durch das Panorama machen, so muss man die
einzelnen Werte, die man nach jeder Blickänderung durch den Tastendruck
V in der Stauszeile ablesen konnte, systematisch
notieren und in die entsprechende Funktion eintragen. Man kann die
erhaltenen 3 Werte (pan, tilt, fov) bspw. von oben nach unten, dann
für jede Blickänderung nebeneinander wie eine Tabelle erfassen.
Das erleichtert die Übertragung der Werte in die Funktionen. Jedoch
nach einiger Zeit wird jedem "Codierer" dabei schwindelig
und man macht Fehler, die bei vielen Blick-Änderungen schwer zu
finden bzw. zu korrigieren sind. document.ptviewer.moveTo(0,0,70,100);document.ptviewer.waitWhilePanning(); document.ptviewer.moveFromTo(37,149,1,1,133,133,100);document.ptviewer.waitWhilePanning(); document.ptviewer.moveFromTo(149,137,1,57,133,72,100);document.ptviewer.waitWhilePanning(); document.ptviewer.moveFromTo(137,-148,57,-18,72,99,100);document.ptviewer.waitWhilePanning();
So, wie diese 4 Textzeilen, könnte dann ein Schwenk, ähnlich
einer Kamerafahrt durch das Panorama aussehen. Der manuelle Arbeitsaufwand
für diese Erfassung der Blickänderungen und die Eintragung ist jedoch
zeitlich sehr aufwendig. Deshalb das Programm PTVIEW-GEN.
Die
Programmoberfläche wurde absichtlich schlicht und funktionell gehalten,
da es sich um ein Werkzeug handelt. Die 6 Punkte auf der rechten
Seite beschreiben die Einfachheit der Bedienung deutlich. Das
JAVA-Script muss einen gültigen Dateinamen für ein (möglichst) sphärisches
Panoramaphoto haben. Als Defaultwert wurde erst einmal der Dateiname
"panorama.jpg" angenommen. Da das vorliegende
JAVA-Script eine BETA-Version ist, kann man nicht
so ohne weiteres den Dateinamen ändern. Trägt man bspw. im Browser
von NETSCAPE einen anderen Dateinamen in das Feld ein, der sich
hoffentlich in dem gleichen Verzeichnis wie das Programm befindet,
so kann man durch drücken von "NEU LADEN" am Browser einen
neuen Dateinamen dem JAVA-Script PTVIEW-GEN übergeben. Beim MS
Internet Explorer funktioniert das leider nicht. (So ist es eben)
Die
Änderung des Blickwinkels Bei Programmstart
sollte man vorsichtshalber CLR
drücken (Initialisierung). Die Änderung des Blickwinkels erfolgt
mit den bekannten Tasten- und Pfeilkombinationen (mit und/oder ohne
Maus) und nach jeder Änderung wird die Taste "Add
new View" gedrückt, die Werte
werden angezeigt und gespeichert. Nach bspw. 4 oder mehr geänderten
Ansichten, kann man nun getrost schon mal die Taste "Test
it" drücken und man bekommt den
Eindruck, wie die "Kamerafahrt" durch das Panorama so
aussehen könnte. Sollte das Ganze nicht so toll geworden sein,
so kann die ermittelte Sequenz mittels "CLR"
gelöscht werden. Sieht jedoch alles gut aus und man möchte noch
weitere Blickänderungen zufügen, dann ändert man einfach die Blickrichtung
und drückt wieder die Taste "Add
new View" . Meint man
jedoch, man sei fertig, dann sollte man die gespeicherten Daten
"mitnehmen" und drückt die Taste "Generate". Mitnehmen
kann man jedoch das Ergebnis nur mittels "Copy" &
"Paste" (Also den Inhalt des Ergbnisfensters in die Zwischenablage
markieren, kopieren und dann an entsprechender Stelle im HTML-Text
einfügen).
(oben) Die 4 Ansichten der Endstellung von
Blickwinkeln. Man sieht jeweils links unten die Nummer (#) mit den
dazugehörigen Werten von Pan, Tilt und Fov. Die Taste Data erfüllt
für Testzwecke die Taste V (siehe oben) und kann zwischendurch
gedrückt werden, ohne eine weitere Funktion zu erfüllen.
(oben) So sieht das Ergebnisfenster mit den
generierten Daten aus, die während der Blickänderungen gespeichert
wurden. Durch das Markieren aller Textzeilen und Speicherung in
die Zwischenablage, können somit die generierten Textzeilen in das
HTML-Programm übernommen werden.
Drücke "Test
it" und die Rundfahrt durch das Panorama
beginnt augenblicklich. Sollte kein Panoramaphoto erscheinen, dann
müsste eigentlich die Meldung wie: "Kein Java auf diesem Browser"
in dem Applet-Feld zu sehen sein. Treffen Sie entsprechende
Maßnahmen, um dies zu ändern. Das hier gezeigte Beispiel
(s.o)l downloaden: tbk-beispiel.zip Bitte
entpacken Sie das Archiv tbk-beispiel.zip in ein neues Verzeichnis
und starten beispiel.htm mit Ihrem bevorzugten Browser.
Ein wichtiger Hinweis zur Bedienung: Werden
die Funktionen moveFromTo() und moveFromTo() grundsätzlichmit gleichen Parametern aufgerufen, so führt dies zu einem Chaos
am Computer und der entsprechende Browser stürzt ab. Kurz vor der
Veröffentlichung des PTVIEW-GEN fiel dieser Fehler zum Glück noch
rechtzeitig auf und konnte durch Umgehung der Problematik innerhalb
des JAVA-Scripts behoben werden.
Also bitte nicht (!) moveFromTo(10,10,20,20,30,30,5)
so aufrufen, denn dann weiß scheinbar die Funktion nicht, was sie
machen soll und das führt zum Absturz. Besser wäre moveFromTo(10,11,20,20,30,30,5)
es so! ????? Bitte unbedingt daran denken!
Wieso gibt es Einschränkungen mit dem MS Internet
Explorer? Scheinbar verträgt der Interpreter vom IE-Browser die
Änderungen von Daten zur Laufzeit nicht, meldet einen Fehler und
führt die Funktionen moveTo() und MoveFromTo() nicht mit Variablen
aus. Dies führt dazu, dass die "Test it"-Funktion von
PTVIEW-GEN nicht mehr funktioniert. Die generierten Resultate jedoch
funktionieren später im Script einwandfrei. Beim NETSCAPE Browser
wurden diese Fehler nicht beobachtet.
Änderung des Dateinamens Das
Feld mit dem Dateinamen (links oben in der Ecke) kann auch von außen
(also nicht unbedingt im Script) verändert werden. Befindet sich
das Script in dem Verzeichnis, in welchem sich die zu bearbeiteten
Panoramen (Dateien) befinden, so kann man den gewünschten Dateinamen
in das Feld eintragen, die TAB-Taste drücken und den Netscape Browser
mit "NEU LADEN" dazu veranlassen die Seite erneut
zu laden. Wenn alles gut gegangen ist, dann sollte eigentlich das
gewünschte Panoramabild in der Anzeige zu sehen sein.
Änderung der Parameter (Aktivierung/Deaktivierung)
von FOV und TILT Die Vorgabe von FOV und TILT können auch geändert
werden ohne das JAVA-Script intern zu verändern. Man kann die gewünschten
Werte eintragen, die TAB-Taste drücken und den Netscape Browser
mit "NEU LADEN" dazu veranlassen, die Seite erneut zu
laden. Das gleiche funktioniert mit den Checkboxen. Werden diese
abgeschaltet (kein Haken in der Box) dann erfolgen keine Einschränkungen
mehr beim Betrachten des Panoramas. ABER ACHTUNG! Sollten
Sie eine Präsentation produzieren, die später durch FOVMIN, FOVMAX,
TILTMIN, TILTMAX beschränkt wird, denn passieren sehr eigenartige
Effekte beim Auslösen der Funktionen moveTo() oder MoveFromTo(),
sofern die MIN-MAX-Beschränkungen initialisiert werden und die Werte
nicht eingehalten werden. Logisch oder? Es kommt also zu unsinnigen
Bewegungen der Blickrichtungen, wenn die Daten der Parameter für
die Funktionen außerhalb der festgelegten Beschränkungen liegen.
Wozu gibt's die Checkbox Extern ? Extern
heiß nur, dass sich der Aufruf der Funktionen sich nicht unmittelbar
im Aufruf des Applets befinden, was ja auch möglich sein kann. Hierzu
muss die Funktion ordentlich über JAVA-Script angesprochen werden,
was mit document.ptviewer.moveTo() und document.ptviewer.moveFromTo()
erreicht werden kann. Dies kann bspw. am einfachsten in einer
Script-function erfolgen. (hier könnte auch noch mit "with
(document) ..." noch optimiert werden). Sollen die (o.g.)
Funktionen dagegen innerhalb des Applets, bspw. nach INITS aufgerufen
werden, so sind die Zusätze "document.ptviewer" unnötiger
Ballast und schwächen die Übersicht.
Mehrmaliges drücken
von "Add new View" Wird die Funktion "Add new
View" mehrmals, ohne Änderung der Blickrichtung gedrückt, so
besteht die Gefahr, daß die generierten Parameter doppelt erfasst
werden. DIES FÜHRT ZU EINEM FEHLER BEIM PTVIEWER! Also wurde
ein automatische Korrektur eingebaut, welche verhindert, dass die
Funktionen unmotiviert den Rechner zum Stillstand bringen. Beim
Generieren wird man diese (versehentlich) doppelte Erfassung leicht
feststellen und kann diese dann manuell löschen.
Dieses JAVA-Script (PTVIEW-GEN) hat einige
Zeit und Know-How für die Programmierung gekostet und ist trotzdem
kostenlos für Jedermann. Ich bitte
jedoch den interessierten Anwender um eine Email TBK umgehend das Passwort für das ZIP-Archiv (ptview-gen.zip)
per Email zusenden kann. Mit dieser Maßnahme erkennt der zukünftige
Benutzer meine Urheberrechte und die Endbenutzerlizenzvereinbarung
an. Vielen Dank für Ihr Verständnis. Bitte ganz unten auf klicken und Passwort abholen.
Please send
me a Email TBK the password for the archiv-file to you as soon
as possible.You also except the EULA below.
EULA - End User Licence Agreement(Endbenutzerlizenzvereinbarung)
Wichtiger
Hinweis zum Programm (JAVA-Script) PTVIEW-GEN 1.0beta (18.08.03)
(EULA) Die Urheber- und Nutzungsrechte
Mit
dem Empfang des Passwortes per Email und/oder dem Entpacken der
Archivdatei PTVIEW-GEN.zip bzw. der Inbetriebnahme des Scripts PTVIEW-GEN
erkennt der Empfänger/Benutzer diese Endbenutzerlizenzvereinbarung
von TBK® vollständig an und akzeptiert die hier erläuterten Bedingungen
der Urheber- und Nutzungsrechte. Das Urheberrecht an diesem JAVA-Script
PTVIEW-GEN liegt vollständig bei: Dipl.Inform. Thomas B. Kunz (TBK®
www.tbk.de) Das JAVA-Script ist kostenlos und auschliesslich zur
privaten Nutzung zugelassen. Gewerbliche Nutzung / gewerbliche Veröffentlichung
/ gewerbliche Weitergabe sind ausdrücklich verboten. (Sollten Sie
jedoch daran Interesse haben, so setzen Sie sich bitte mit mir in
Verbindung). Sie
dürfen keinesfalls dieses JAVA-Script PTVIEW-GEN gewerblich kopieren
und weitergeben oder den Eigentums-Vermerk von TBK® verändern oder
entfernen. Allerdings darf der PTVIEW-GEN nur so unverändert,
vollständig und kostenlos in Form dieser gepackten Datei weitergegeben
werden. TBK® Thomas B. Kunz (21.August 2003)