Die Dokumentation zum Projekt

Determinanten Subjektiver Dreidimensionalität

Visuelle Wahrnehmungsexperimente auf dem World Wide Web:
Extrapolation von Bewegung und Scheinbewegung in Abhängigkeit von Kontextreizen

Übersicht





1. Einführung


1.1 Motivation

Unsere Projektarbeit besteht darin, psychophysikalische Experimente im WorldWideWeb des Internets zu realisieren. Ziel ist eine vollständige Automatisierung eines psychologischen Experimentes als interaktives Programm im WWW mit Hilfe von HTML, Java und Web-Browsern. Gegenstand der Untersuchung bei den Experimenten sind verschiedene Aspekte menschlicher, visueller Wahrnehmung, insbesondere die Fragestelllung, welche Rolle 3-Dimensionalität bei bildlicher Darstellung spielt. Unseres Wissens werden bis zu diesem Zeitpunkt noch keine dynamischen, psychophysikalischen Experimente mit zeitkritischer Animation im Internet durchgeführt. Es gibt lediglich Fragebogenaktionen oder Experimente mit statischen Bildern. Wahrnehmungspsychologie-Experimente dieser Art im WWW haben eine Anzahl wesentlicher Vorteile gegenüber herkömmlichen Experimenten [1]: * Primingeffekte sind Veränderungen der VP hinsichtlich ihres Verhaltens oder Urteilens, in Abhängigkeit von vorangegangenen Teilen des Experiments.


Visuelle Wahrnehmung bewegter, auf einer Ebene abgebildeter Szenen

Mit unserem Experiment wird die Hypothese getestet, ob verschiedene Kontextreize Einfluss auf die Genauigkeit von Bewegungsextrapolation besitzen. Insbesondere interessiert die Beurteilung der Geschwindigkeit und der Tiefenausdehnung von Objekten in unterschiedlichen Umgebungen und unter variierenden Bewegungsformen.

Es ist zu erwarten, daß die geschätzte Extrapolationszeit mit der Stärke des Tiefeneindrucks wächst. Perspektivische Texturen werden Tiefe suggerieren, Rahmen um die Szenen werden diese Täuschung vermutlich abschwächen (Eby, D. W., & Braunstein, M. L., 1995).
Die Geschwindigkeit sprunghaft bewegter Objekte (sampled motion) sollte bei niedrigen Geschwindigkeiten überschätzt werden und somit zu kürzeren Antwortzeiten führen (Castet, E., 1995). Es gibt allerdings auch Anhaltspunkte für einen gegenteiligen Effekt. Nijhawan (1994) fand, daß gesampelte Bewegung langsamer verarbeitet wird als kontinuierliche Bewegung.

Zur Darstellung und Animation der Szenen werden die Vorteile und Möglichkeiten des Graphik-Computers sowie des WWW benutzt. Die präzise Einhaltung des geplanten zeitlichen Ablaufs und ein rascher Szenenwechsel lassen sich so sehr einfach realisieren.1) Interaktion der Versuchsperson (VP) mit Hilfe einer Maus oder Tastatur ermöglicht sofortige, automatische Protokollierung der Versuchsergebnisse.
Die vollständige Automatisierung des Experimentes erfordert die Integration versuchsbegleitender Erläuterungen textueller Form und des statistisch variierten Versuchsablaufs in das Programm.

1) Multitasking behindert die Einhaltung zeitkritischer Variablen


Zielsetzung und offene Fragen

Am Anfang unserer Untersuchung steht die Frage, ob Experimente dieser Art brauchbare Ergebnisse liefern. Dazu sollen die Resultate mit Ergebnissen eines herkömmlichen Experiments gleichen Inhalts verglichen werden.

Lassen sich zeitkritische Variablen umsetzen, welche Bedeutung muß zum Beispiel Störungen durch Hintergrundprozesse beigemessen werden?

Welche Auswirkungen hat eine von VP zu VP wechselnde Versuchsumgebung (Beleuchtung, Rechnergeschwindigkeit, Bildschirmeigenschaften, Geräusche,...)?

Sind die Resultate repräsentativ, wenn sie nur auf Beobachtungen von WWW- Benutzern basieren? Inwieweit ist mehrfache Teilnahme derselben Person auszuschliessen?
Wieviele Personen sind bereit ernsthaft an dem Experimenten teilzunehmen?


1.2 Technologie

Internet

Das Internet ist als weltumspannendes, dezentrales Datennetz, das mittlerweile mehrere Millionen unterschiedlichster Rechner [DE-NIC] miteinander verbindet, das Medium für unsere Realisierung eines vollautomatisierten, interaktiven Psychologieexperiments.[2]
Charakteristisch für das Internet ist, daß unabhängig von der physikalischen Verbindung der einzelnen Rechner untereinander auf der Basis von standardisierten Kommunikationsvorgängen Datenaustausch unterschiedlicher Art ermöglicht wird. Bestimmte Regeln und Steuerkommandos definieren hierzu jeweils ein Protokoll. Verschiedene Dienstprogramme, wie beispielsweise telnet oder ftp, stehen als Implementierung der gleichnamigen Protokolle für die jeweilige Kommunikationsart zur Verfügung.[3]
Das wichtigste Protokoll für unsere Zwecke ist das Hypertext Transfer Protocol (http), welches die Grundlage des World Wide Web (WWW) bildet.

WWW

Das World Wide Web ist als Integration (fast) aller Kommunikationsmöglichkeiten in sogenannten Browsern der bisher komfortabelste und leistungsfähigste Dienst im Internet. Im WWW werden Adressen nicht mehr als Rechnernummern angegeben, sondern in Form einer URL (Uniform Ressource Locator). Die URL gibt außer dem Namen des Rechners noch die Position im Dateisystem und das zu verwendende Protokoll an. So kann mittels eines Browsers direkt auf eine bestimmte Datei des Hosts zugegriffen werden und diese mit dem entsprechenden im Browser implementierten oder extern aufzurufenden Dienstprogramm umgegangen werden. Darstellbare Hypertext-Dokumente, erstellt in HTML [4], enthalten markierte, anklickbare Verbindungspunkte zu anderen Dokumenten. Der wesentliche Punkt in unserem Fall ist neben dem Hypertext-Mechanismus die Implementierung eines Interpreters für eine Programmiersprache (Java) im Browser.

Das HTML-Format beinhaltet Textformatierung, Einbindung von Graphiken, Verknüpfungen zu anderen Dateien, Menus und Texteingabefeldern und Einbindung von Java-Applikationen. Das neue HTML3-Format unterstützt zusätzlich die Darstellung von Formeln und Diagrammen.

Für dieses Projekt ist die Einbindung von Java-Applikationen (Applets) in HTML-Dateien unerlässlich. Leider geben momentan erst wenige der WWW-Browser die Möglichkeit dazu.2)

Das vorliegende Experiment konnte von uns nur für einen bestimmten Browser optimiert werden, unsere Wahl fiel auf Netscape in den Versionen 3.0 und 3.01. Diese Entscheidung wurde aufgrund des hohen Verbreitungsgrades von Netscape und der frühzeitigen Implementierung eines JAVA-Interpreters getroffen. [5]
Für andere Browser, die ebenfalls einen Java-Interpreter beinhalten, wie zum Beispiel HotJava von Sun oder InternetExplorer von Microsoft können wir zum jetzigen Zeitpunkt keine korrekte Datenerhebung bzw. Versuchsdurchführung garantieren.
Aus diesem Grund wird der für das Experiment benutzte Browser protokolliert. Sollte jemand trotz des Hinweises auf der Versuchs-Einstiegsseite einen anderen Browser benutzen, wird der jeweilige Einzelversuch in der Gesamtauswertung nicht berücksichtigt.

Java

Java ist eine objektorientierte, netzwerkfähige Programmiersprache von Sun Microsystems.
Das Java Developers Kit (JDK) [6] ist im Internet unter Bedingungen ähnlich der GNU-Copyright-License frei erhältlich.

Bei Java handelt es sich um eine interpretierte, plattformunabhängige Sprache, die Konzepte aus Sprachen wie C++, Smalltalk und Eiffel vereinigt.[7] Die Syntax ähnelt der von C++.[8]
Besonderheit im Hinblick auf mögliche Anwendungen ist die spezielle Ausrichtung auf den Einsatz im Wold Wide Web.
Java-Programme sind binärkompatibel zwischen verschiedenen Rechnerplattformen, da der Java-Compiler abstrakte Maschinenbefehle für eine virtuelle Maschine liefert. Diese virtuelle Maschine wird (zum Beispiel durch einen Browser wie Netscape) auf der konkreten Maschine emuliert. Somit werden vom Java-Programm maschinenspezifische Eigenschaften nicht berücksichtigt.
Aus naheliegenden Sicherheitsgründen dürfen Java-Programme keine Systemaufrufe durchführen oder direkt auf Ports zugreifen. Zeiger und Adresszugriffe werden aus Gründen der Datensicherheit2) nicht unterstützt. Der Code wird beim Compilieren im Hinblick auf Effizienz bei der Datenübertragung angelegt.

Java bietet Klassen und deren Vererbung mit strenger Datenkapselung [9], starke Typisierung, einen Garbage Collection Mechanism, der unbenutzten Speicherraum schon zur Laufzeit wieder freigibt, weiterhin multithreading, d.h. Modellierung unabhängig voneinander laufender Programmteile und eine umfangreiche Klassenbibliothek (z.B. [Fla96]).

Im Gegensatz zu einem herkömmlichen Java-Programm, welches mittels eines Java-Interpreters von der Befehlszeile eines Betriebssystems aus ausgeführt wird, handelt es sich bei unserer Realisierung eines psychologisches Experiments um ein Java-Applet. Der charakteristische Unterschied zwischen Java-Anwendung und Java-Applet ist zum einen die Einbindung einer Referenz auf letztgenanntes in eine HTML-Seite und zum anderen die beim Laden dieser Seite eingeleitete Ausführung des Applets durch den Java-fähigen WWW-Browser.
Java-Applets unterliegen allerdings einigen Einschränkungen hinsichtlich des Ausführens eines unbekannten Programms auf dem eigenen lokalen System. So ist zum Beispiel (eventuell mit Ausnahme spezieller Verzeichnisse) der Zugriff auf das lokale Dateisystem tabu. Außerdem können vom Applet keine Programme auf dem Client-System gestartet werden. Anmerkend sei hinzugefügt, daß durch die eingebauten Sicherheitsvorkehrungen bösartige Applets nicht unmöglich gemacht sein müssen.

Ein Applet wird in Java erstellt, indem eine Subklasse der Klasse Applet (aus dem Paket java.applet) definiert wird. Diese neue Klasse, die mit dem Modifier public deklariert sein muß, ist die Hauptklasse für die Ausführung des Applets, sie kann allerdings noch beliebig viele Subklassen haben. Jede Klasse hat genau eine Superklasse, erbt aber die Methoden und Variablen von allen ihren Superklassen, es handelt sich also um einen Klassenbaum mit Einzelvererbung. Ganz oben in der Klassenhierarchie steht die Klasse Objekt, von der alle anderen Klassen erben.

Ausgehend von den gewünschten Eigenschaften und Aktivitäten, die das Applet haben soll, müssen bestimmte Standardmethoden definiert bzw. genauer gesagt, bestimmte von der Klasse Applet stammende Methoden ohne Definition überschrieben werden. Wenn, wie in unserem Fall, ein separater Thread im Applet ausgeführt werden soll, muß noch eine Schnittstelle namens Runnable implementiert werden. Allgemein formuliert spezifizieren Schnittstellen Eigenschaften, die dann Klassen implementieren sollen (Runnable spezifizert ausschließlich die Methode run()).
Die wesentlichen Methoden für eine Applet-Ausführung sind im Folgenden mit kurzer Erläuterung aufgelistet.

init()-Methode
Laden des Applets, einhergehend mit durchzuführenden Initialisierungsaktivitäten
start()-Methode
Nach einmaliger Initialisierung wird das Applet nach der hierin enthaltenen Definition (eventuell ereignisgesteuert mehrmals) gestartet
run()-Methode
Wird (indirekt) von der start()-Methode aktiviert
stop()-Methode
Die Applet-Ausführung wird gestoppt, ein erneutes Starten ist aber möglich
destroy()-Methode
Kurz bevor der Applet-Programmablauf beendet wird können durch diese Methode definierte Aufräumaktionen stattfinden (wie zum Beispiel Ressourcenfreigabe)
paint()-Methode
Bildschirmausgabe (im WWW-Browser)

Java in HTML

Bei einem Java-Applet, das in einer HTML-Datei im WWW referenziert ist, wird der ausführbare Programmcode in den Arbeitsspeicher des aufrufenden Rechners geladen und dort vom Java-Interpreter des WWW-Browsers ausgeführt. Dadurch wird die Gestaltung interaktiver Programme in HTML-Dokumenten ermöglicht. Die Bildschirmausgaben bzw. die Interaktionen zwischen Anwender und Programm finden dann im Anzeigefensters des Browsers statt. Das Einbinden eines Java-Applets in eine Web-Page erfolgt nach folgender (Netscape-)Syntax (aus Wettbewerbsgründen hält sich u.a. Netscape leider nicht an den Standard):

 <applet [ codebase = applet-url ]
                code = applet-dateiname
               width = pixel-breite
              height = pixel-höhe >

<param name = parameter value = wert> <\applet> 

Mit dem Tag <applet ... > wird ein Java-Applet referenziert.
Die Datei mit dem vorcompilierten Java-Programm wird mit der Option code angegeben.
Mit der Option codebase wird der Pfad für alle Programmdateien und relevanten Daten festgelegt.
Zwischen dem einleitenden Tag <applet...> und dem abschließenden Tag </applet> können Parameter notiert werden, die dem Programm beim Aufruf übergeben werden.
Jeder Parameter wird durch <param name = parameter value = wert> angegeben, wobei der Name des Parameters und dessen Wert definiert und beim Appletaufruf an das Programm übergeben werden. Die Parameter werden beim Laden an das Applet weitergereicht und mittels speziellen Java-Codes analysiert und verarbeitet.
Die beiden Optionen width und height bestimmen die Größe des Applets in der HTML-Seite.

Somit steht aus technologischer Sicht einer Entwicklung von psychologischen Experimenten im Internet nichts im Wege. Es werden den Versuchspersonen keine Kenntnisse auf dem Gebiet der Informatik abverlangt und die rege Frequentierung des WWW läßt auf eine ausreichende Anzahl Versuchspersonen hoffen.

2) Java bzw. die Java interpretierende Browser sind schon mehrfach durch erhebliche Sicherheitslücken aufgefallen.


Literatur

[1] Ulf Reips, Warum Experimente im Web ?
[2] Untersuchungen im Internet
[3] Das Internet und die Internetdienste
[4] HTML-Kompendium für Entwickler von WWW-Seiten von Stefan Münz
[5] Risiken und Nebenwirkungen von Netscape
[6] http://www.javasoft.com
[7] JAVA-Programmierung
[8] JAVA in 21 Tagen
[9] Javas Klassenbibliotheken
[Ba96] Back, S. (1996), Heisser Kaffe-Programmieren mit Java. c`t, 2, 136-142
[DE-NIC] Das Wachstum des Internet mit aktuellen Zahlen
[Fla96] Flanagan, D. (1996), Java in a nutshell. O`Reilly & Associates, Inc.
[JLSp95] JLSpec. (1995), The java language specification Version 1.0.beta.
Sun Microsystems (siehe http://java.sun.com)
[GoMcGi94/95] Gosling,J./McGilton,H. (1994/95), The java language: A white paper.
Sun Microsystems
[VMSpec95] VMSpec. (1995), The java virtual machine specification.
Sun Microsystems



2. Experiment: Scheinbewegungen und natürliche Constraints


Abstract

Unter ökologischen Bedingungen fällt es Beobachtern leicht, die Bewegungstrajektorie eines Objekts (etwa eines geworfenen Balles) vorherzusagen. Sowohl räumliche als auch zeitliche Urteile sind von geringer Varianz und kleinem konstanten Fehler zumindest dann, wenn die Bewegung mit annähernd konstanter Geschwindigkeit abläuft (e. g. Kaiser & Hecht, 1995). Handelt es sich jedoch um nicht kontinuierliche Bewegung (time-sampling), wenn etwa ein Ball hinter einem Lattenzaun entlang fliegt, dann treten systematische Wahrnehmungsfehler auf.

Es soll die Hypothese getestet werden, ob verschiedene Kontextreize einen Einfluß auf die Genauigkeit der Bewegungsextrapolation von Computeranimationen besitzen. Da bildhafte Darstellungen sowohl als 2-D und als 3-D Szenen interpretierbar sind, soll untersucht werden, ob bei objektiv identischem Stimulus eine 3-D Interpretation zu höheren geschätzten Geschwindigkeiten führt. Ebenfalls soll der Einfluß von Objekten in der Nachbarschaft des Bewegten Reizes untersucht werden.

Wir untersuchen die Auswirkung von simulationsspezifischem Kontext auf die Fähigkeit, visuelle Bewegung zu extrapolieren. Indem wir eine möglichst handlungsorientierte Umgebung wählen, bieten wir eine unmittelbar einleuchtende Handlung an und vermeiden dadurch rein ästhetische Wahrnehmungsurteile. Vpn sollen eine zeitkritische Bewegungsextrapolation durchführen.

Die Fähigkeit solche Handlungen am Computer auszuführen ist noch weitgehend unerforscht, gewinnt aber im Zusammenhang mit virtueller Realität große Bedeutung. Ein hier besonders problematischer Aspekt, die nicht kontinuierliche Bewegung (time-sampling), soll in unserer Studie im Vordergrund stehen.


2.1 Versuchsbeschreibung

Versuchsablauf

Nachdem alle benötigten Daten geladen sind (Bilder und Versuchsparameter) erscheint im Fenster des Browsers ein Button mit der Aufschrift "START" und darunter die Aufforderung, mit der Maus darauf zu klicken. Ist dies geschehen, erstellt das Applet ein Fenster für das Experiment. Die Größe wird an den jeweiligen Bildschirm angepasst.

Nach einem Probedurchlauf beginnt der Versuch. Der Probedurchlauf ist für die VP nicht von den folgenden Durchgängen zu unterscheiden. Es werden Daten zum zeitkritischen Verhalten des benutzten Systems protokolliert. Der weitere Versuch setzt sich aus einer zufällig sortierten Abfolge von Einzelexperimenten zusammen.

Ein Einzelexperiment

Aufbau des Bildschirms:

Alle relevanten Objekte erscheinen in einer bestimmten zeitlichen Abfolge nacheinander. Hierdurch wird der VP die Möglichkeit gegeben, die einzelnen Objekte zu erkennen und zu lokalisieren. Bei der Hälfte der Einzelversuche wird als erstes ein grünes Fixationskreuz gezeichnet. Darauf folgt eine grüne Linie(die Ziellinie). Abhängig von der Versuchsanordnung wird der Hintergrund (Kontextreiz) mit einer Textur belegt. Zuletzt erscheint ein bewegter roter Punkt, der den Ball darstellt.

Durchführung:

Der rote Ball bewegt sich von links nach rechts bzw. von unten nach oben über den Bildschirm. Dann verschwindet er an einem vordefinierten Punkt. Die gestrichelte Linie in der Abbildung unten deutet den Ort des Verschwindens an. Sie ist jedoch im Versuch selbst nicht zu sehen.
Ab dem Zeitpunkt des Verschwindens soll sich die VP die weitere Bewegung des Balls vorstellen (extrapolieren). Der Zeitpunkt, zu dem ihrer Meinung nach der Ball die grüne Linie erreicht, soll durch einen Mausklick bestimmt werden.

Findet der Mausklick außerhalb des zeitlichen Toleranzbereichs oder überhaupt nicht statt, wird ein deutlicher Hinweis eingeblendet. Der Toleranzzeitraum endet circa eine Sekunde nachdem der Ball an der Linie angekommen sein müsste. Schätzfehler darüber hinaus werden also nicht berücksichtigt.

Abb.2.1: Versuchsablauf: Der Ball bewegt sich sichtbar bis zu einer Grenze (hier durch die gestrichelte Linie symbolisiert). Aufgabe ist, zu schätzen, wann der Ball bei fortgeführter Bewegung an der dicken grünen Linie ankäme.

Zusammensetzung des Gesamtexperiments

Der Versuch besteht aus 256 Einzelexperimenten, welche sich durch verschiedene Belegungen der unabhängigen Variablen unterscheiden (siehe Tab.1). Um Versuchspersonen nicht übermäßig lange zu beanspruchen, wurde der Versuch in 12 Gruppen zu je 32 Einzelexperimenten unterteilt.
Innerhalb der Gruppen wird ein Teil der unabhängigen Variablen, entsprechend Tabelle 1 unten, konstant gehalten.

Bei den Kontextreizen muß folgendes beachtet werden:

Um den Einfluß von Hintergrundtexturen klar beurteilen zu können, bestehen die Einzelexperimente in jeder der Gruppen genau zur Hälfte aus Versuchen ohne (genauer: mit einfarbigem) Hintergrund. Insgesamt ergeben sich somit mehr als 256 Durchläufe (32x12=384).

Um Tiefe allein durch die Texturen zu suggerieren, wurde die Größe des Balls konstant gehalten und Schattenwurf vermieden. Auch kreuzen keine Objekte die Bahn des Balls. Dies würde Tiefe suggerieren und die Vergleichbarkeit der Versuche untereinander wäre nicht mehr gewährleistet.

Unabhängige Variablen:

  1. Eyetracking: mit oder ohne
  2. Bewegungsrichtung: von unten nach oben oder von links nach rechts
  3. Bewegungsarten: kontinuierlich, gesampled( 3xaufblinken & 5xaufblinken), rabbit motion
  4. Kontext: 2D-Objekte, 3D-Objekte, perspektivischer Gradient oder einfarbiger Hintergrund
    2D-Objekt 3D-Objekt Gradient
  5. Extrapolationsdistanz: vier Verschiedene


Abhängige Variable:

  1. Durch Mausklick abgeschätzte Zeit, an dem der Ball die grüne Linie berührt

Nr.
-
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Fixationskreuz
fixieren eyetracking
x
x
x
x
x
x
x
x
x
x
x
x
Richtung
vertikal horizontal
x
x
x
x
x
x
x
x
x
x
x
x
Hintergrund
2D 3D Gradient
x
x
x
x
x
x
x
x
x
x
x
x
Tab 2.1: Belegung konstant gehaltender unabhängigen Variablen in den 12 verschiedenen Versuchsteilen.


2.2 Erwartete Resultate

Ein dreidimensional wirkender Texturgradient (siehe Abbildung in 2.1, rechts) sollte eine weite Entfernung in der Tiefe vortäuschen. Die Strecke vom Startpunkt des roten Balls bis zur grünen Linie erscheint also zu groß. Als Folge davon werden die Bewegungszeiten des Balls übersch&asuml;tzt werden.

Die alleinige Anwesenheit anderer Objekte sollte keine Effekte zeigen. Bei besonders dichten und detailreichen Texturen tritt eventuell eine Erhöhung der wahrgenommenen Geschwindigkeit auf. Die Schätzzeiten wären dann geringer als bei einfarbigem Hintergrund (Kontrollbedingung).

Blinkende Bewegung (sampled) sollte die geschätzte Geschwindigkeit mit maximaler Wirkung bei niedrigen Geschwindigkeiten erhöhen. Rämliche Unregelmäßigkeiten scheinen den Effekt nicht wesentlich zu beeinflußen.

Bisherigen Beobachtungen nach zu urteilen führt ein Verfolgen des Balles mit den Augen zu schlechteren Einschätzungen der Geschwindigkeit.


2.3 Literatur

Bressan, P. (1991).
A context-dependant illusion in the perception of velocity. Vision Research, 31, 333-336.
Castet, E. (1995).
Apparent speed of sampled motion. Vision Research, 35, 1375-1384.
Cavanagh, P., & Mather, G. (1990).
Motion: The long and short of it. Spatial Vision, 4, 103-129.
Eby, D. W., & Braunstein, M. L. (1995).
The perceptual flattening of three-dimensional scenes enclosed by a frame. Perception, 24, 981-993.
Elliot, D., Zuberec, S., & Milgram, P. (1994).
The effects of periodic visual occlusion on ball catching. Journal of Motor Behavior, 26, 113-122.
Gottsdanker, R. M. (1952).
The accuracy of prediction motion. Journal of Experimental Psychology, 43, 26-36
Hecht, H., & Hoffman, D. H. (manuscript in preparation).
The effects of time-sampling, tracking and duty cycles on motion exptrapolation judgments.
Hecht, H., Kaiser, M. K., Savelsbergh, J. P., & van der Kamp, J. (November 1996).
The effect of time-sampling on temporal range judgments in real and simulated environments. Presented at the 37th Annual Meeting of the Psychonomic Society.
Jagacinski, R. J., Johnson, W. W., & Miller, R. A. (1983).
Quantifying the cognitive trajectories of extrapolated movements. Journal of Experimental Psychology: Human Perception and Performance, 9, 43-57.
Kaiser, M. K., & Hecht, H. (1995).
Time-to-passage judgments in non-constant optical flow fields. Perception & Psychophysics, 57, 817-825.
Lee, D. N., Young, D. S., Reddish, P. E., Lough, S., & Clayton, T. (1983).
Visual timing in hitting an accelerating ball. Quarterly Journal of Experimental Psychology, 35A, 333-346.
Miller, R. J., & Patterson, R. (1995).
Influence of flicker on perceived size and depth. Perception & Psychophysics, 57, 604-613.
Nijhawan, R. (1994).
Motion extrapolation in catching. Nature, 370, 256-257.
Rosenbaum, D. A. (1975).
Perception and extrapolation of velocity and acceleration. Journal of Experimental Psychology: Human Perception and Performance, 1, 395-403.
Runeson, S. (1974).
Constant velocity - not perceived as such. Psychological Research, 37, 3-23.
Tresilian, J. R. (1993).
Four questions of time to contact: A critical examination of research on interceptive timing. Perception, 22, 653-680.
Tresilian, J. R. (1994).
Approximate information sources and perceptual variables in interceptive timing. Journal of Experimental Psychology: Human Perception and Performance, 20, 154-173.
Tresilian, J. R.(1991).
Empirical and theoretical issues in the perception of time to contact. Journal of Experimental Psychology: Human Perception and Performance, 17, 865-876.
Watamaniuk, S. N. J., & McKee, S. (1995).
Seeing motion behind occluders. Nature, 377, 729-730.
Wong, E., & Weisstein, N. (1984).
Flicker induces depth: Spatial and temporal factors in the perceptul segregation of flickering and non-flickering regions in depth. Perception & Psychophysics, 35, 229-236.
Yakimoff, N., Mateeff, S., Ehrenstein, W. H., & Hohnsbein, J. (1993).
Motion extrapolation performance: A linear model approach. Human Factors, 35, 501-510.




3. Datenfluß und Implementierung



3.1 Benutzerführung und Datenaustausch auf Dateiebene

Der Zugang zum Experiment findet über die Startseite* statt. Sie enthält einen kurzen Überblick über das Experiment und Links zu Seiten mit weitergehenden Informationen. Durch Anklicken des "WEITER"-Links gelangt man zur Formularseite.

Von allen HTML-Seiten existiert eine deutsche und eine englische Version. Die Auswahl der Sprache ist auf der Startseite durch einen Link auf die jeweils andere Version der Seite möglich. Im weiteren Verlauf des Experiments wird die dort ausgewählte Sprache beibehalten.

Auf der Formularseite wird die VP zur Eingabe einiger persönlicher Daten, insbesondere Alter, Geschlecht und Beruf, aufgefordert. Ein Klick auf den "WEITER"-Link startet ein CGI-Skript, welchem die Personendaten und die ausgewählte Sprache als Parameter übergeben werden.

Das Skript liefert als Ausgabe eine HTML-Seite. Wurde die Formularseite unvollständig oder falsch (z.B. Buchstaben als Altersangabe) ausgefüllt, wird eine weitere Formularseite mit Aufforderung zur Korrektur angezeigt. Waren die Angaben vollständig, wird mit Hilfe einer Zufallszahl ein Versuchsteil für die VP ausgewählt. Das Resultat des Skripts ist eine HTML-Seite mit einer Anleitung für den entsprechenden Versuchsteil und einem Applet-Tag, der dazu führt, daß bei Erscheinen der Seite das Java-Applet (die Implementierung des Experiments ) gestartet wird.

Abb.3.1: Nähere Erläuterungen im Text

Dem Applet werden als Parameter die Personendaten und der Name einer Datei mit Informationen über die Belegung der unabhängigen Variablen für den ausgewählten Versuchsteil übergeben. Während das Applet diese Datei und die benötigten Bilder lädt, hat die VP Gelegenheit die Anleitung zu lesen. Ist der Ladevorgang beendet, zeigt das Applet einen Button mit der Aufschrift "START" und den Hinweis, nun mit einem Mausklick den Versuch zu beginnen.
Daraufhin wird ein neues Fenster erstellt und der Versuch wie in Kapitel 2.1 beschrieben durchgeführt.

Bei Ende der Versuchs startet das Applet ein CGI-Skript, welches das Versuchsprotokoll als email versendet. Das Protokoll enthält folgende Informationen.

Abschließend wird durch das Applet die Abschiedsseite angezeigt.

*Aus Gründen der Übersichtlichkeit werden hier nicht die wirklichen Dateinamen verwendet.



3.2 Implementierung des Experiments in Java

Die Implementierung des Experimentes in der Programmiersprache Java hat die in Abb.3.2 veranschaulichte Struktur.

Abb.3.2: Abhängigkeiten und Vererbung der Java-Klassen

Die Hauptklasse Blink ist von der Klasse java.applet.Applet abgeleitet und repräsentiert die gesamte Versuchsdurchführung inklusive des auf der HTML-Startseite eingebetteten START-Buttons.

Durch die Schnittstelle Runnable enthält das Applet einen eigenen Thread. Dieser kann durch Initialisierung einer Instanz des Typs Thread in der Methode start() direkt angesprochen werden und ist somit während der gesamten Lebenszeit des Applets steuerbar.

Die Klasse Blink erzeugt Objekte der Klassen Settings, PlayWin, Output und Cgi, die jeweils spezielle, im Folgenden ausführlich beschriebene Aufgaben bei der Versuchsdurchführung erfüllen. Die Klassen Setting und Play sind ihrerseits wiederum Superklassen für die abgeleiteten Subklassen namens Settings und PlayWin.

Jeder Versuch besteht aus 32 Teilversuchen, die sich in Parametern voneinander unterscheiden. Abhängig von einer Zufallszahl, die vom CGI-Skript erzeugt und über die HTML-Seite dem Java-Programm übergeben wird, wird einer von zwölf möglichen Versuchen ausgewählt und dessen spezielle Variablenbelegung in einem Objekt der Klasse Settings gespeichert. Die Klasse Settings stellt einen Container von Instanzen des Typs Setting dar. Die einzelnen Teilversuche werden in der Methode Blink.run() vor Versuchsbeginn zufällig gemischt.

Sind alle oben genannten Objekte mit Ausnahme von PlayWin erfolgreich kreiert, wartet das Applet auf einen Mausklick der VP. Bei der darauffolgenden Erzeugung eines PlayWin-Ojektes wird das Versuchsfenster erstellt und angezeigt.

Für alle Versuchsdurchgänge ruft das Applet die Methode PlayWin.go(setting) auf. Dem Konstruktor von PlayWin wird das Objekt der Klasse Output übergeben. Mit Hilfe der Methode Output.addElement() werden nach jedem Teilversuch die Ergebnisse gespeichert.

Mit den Methoden Output.toString() und Cgi.sendData() übermittelt das Applet alle im Output-Objekt angesammelten Daten an ein CGI-Skript, welches diese als Email versendet.



3.3 Kontrolle und Regelung zeitlicher Constraints

Ein Kernpunkt des Experiments ist die Geschwindigkeitsschätzung durch die Versuchspersonen. Die Auswertbarkeit der Versuche hängt also direkt davon ab, daß die Ballbewegungen bei allen Versuchen auf die gleiche Art und Weise und mit vergleichbarer Geschwindigkeit ablaufen.

Die verschiedenen Bewegungsarten sind spezifiziert wie folgt:

Der Ball bewegt sich unbeschleunigt und gradlinig. Der sichtbare Teil der Ballbewegung beträgt eine Sekunde. Die Dauer des nicht sichtbaren Anteils wird entsprechend der zu schätzenden Stecke gewählt.
Die Schrittweite des Balles ergibt sich aus der Monitorgröße und variiert mit der Bewegungsart.
Bei blinkender Bewegung ist auch die Länge der Pausen fest definiert.

Der Ablauf der Ballbewegung:

Unregelmäßigkeiten auf Grund von Prozeßscheduling sind nicht ganz zu vermeiden. Das Pausieren des Threads ist notwendig, um diese Schwankungen möglichst gering zu halten.
Für den Fall, daß der Versuch auf einem überlasteten oder zu langsamen Computer durchgeführt wird, findet zu Beginn ein Konrolldurchgang statt, in dem die Zeitpunkte jeder Einzelbewegung protokolliert werden.
Die so entstehenden Zeitreihen dienen uns als Maß für die Verwertbarkeit der Experimente.
Da die Zeitmessung und Ausgabe sich sehr geschwindigkeitsmindernd auswirkt, wird bei den restlichen Versuchsteilen nur die Dauer der Gesamtbewegungen vermerkt.


zurück zum Anfang