Sie sind auf Seite 1von 44

Entwicklung einer Virtual Reality Lernumgebung

und Gestaltung zweier Anwendungen für den


gymnasialen Mathematikunterricht

Jeremias Baur
Maturitätsarbeit
MNG Rämibühl
Betreuer: Jens Maue, Korreferent: Mario Häfeli

7. Januar 2019
Inhaltsverzeichnis

1 Einleitung 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Fragestellung und Ziele . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Ähnliche Applikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Maroon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Labster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Hauptteil 6
2.1 Eingesetzte Technologien . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Virtual Reality . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Spiel-Engine Unity . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Virtual Reality Toolkit . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Grundstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2 Ebenengleichungen . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 Matrizenanwendung . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Reflexion 29
3.1 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Einsatz im Schulunterricht . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Lernwirksamkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Entwicklung weiterer edVR-Anwendungen . . . . . . . . . . . . . . . . 34

Literaturverzeichnis 37

Abbildungen 38

Anhang 39

Danksagung 40

Eigenständigkeitserklärung 41

1
Zusammenfassung

Im Rahmen dieser Maturitätsarbeit wurde eine Virtual Reality Lernumgebung namens


edVR konzipiert. Mithilfe der Spiel-Engine Unity wurden zwei erste Anwendungen für
den gymnasialen Mathematikunterricht entwickelt. In den beiden Mathematikanwen-
dungen werden die abstrakten Konstrukte der Ebenengleichungen und Matrizen in
einem 3D-Koordinatensystem durch korrekte Visualisierung und Bewegung mit meh-
reren Sinnen erfahrbar.

Die Weiterentwicklung von edVR und Programmierung weiterer Anwendungen ist


ohne Probleme in Unity realisierbar. Mittels des Virtual Reality Toolkits und Unity
wurde ein Grundgerüst ausgelegt, in welchem nun zusätzliche Darlegungen umgesetzt
werden könnten. Mögliche Ideen für zukünftige edVR-Anwendungen werden im Refle-
xionsteil beschrieben.

Das Ziel der programmierten Anwendungen ist, den Unterricht zu erweitern und ein
tieferes Verständnis des behandelten Themas zu ermöglichen. Diese Frage konnte aus
Zeit- und Kapazitätsgründen in dieser Arbeit nicht beantwortet werden. Dazu braucht
es einen wissenschaftlichen Lernwirksamkeitstest. Eine dafür denkbare Studie wird im
Reflexionsteil skizziert.
Einleitung

1.1 Motivation

Ich höre und vergesse.


Ich sehe und erinnere mich.
Ich handle und verstehe.

Konfuzius,
Chinesischer Philosoph

Technologien sind aus unserem Leben nicht mehr wegzudenken und begleiten uns
täglich. Seit meiner Kindheit wachse ich mit Technologie auf und beschäftige mich
damit, weil ich davon begeistert bin und darin enormes Potenzial sehe. Ein weiteres,
mich betreffendes Thema als Kantonsschüler ist die schulische Bildung. Oft sitze ich
auf der Schulbank und denke, dass bestimmte Inhalte des Unterrichts mithilfe neuer
Technologien sinnvoller und besser vermittelt werden könnten.

So zum Beispiel im Physikunterricht: Häufig zeigt eine Lehrperson ein Experiment


vor der ganzen Klasse, um eine physikalische Gesetzmässigkeit zu zeigen. Leider wird
dieses Experiment meist nur von der Lehrperson durchgeführt, sei es wegen Gefahren,
Zeit oder Kostengründen. Mit der Technologie der Virtuellen Realität könnten diese
Darlegungen gefahrlos von der Schülerschaft selber durchgeführt werden. Durch diese
Empirik könnte der behandelte Stoff schlussendlich besser verstanden werden.

Schon vor dieser Arbeit habe ich mich mit der Virtuellen Realität auseinandergesetzt
und dazu eigene Anwendungen programmiert. Dadurch ist mir bewusst geworden, wie
die Kombination dieser beiden Thematiken einen Mehrwert für den Schulunterricht
erbringen könnte.

1
Ich selber bin an MINT-Fächern sehr interessiert. Jedoch empfinden viele Schüler
und Schülerinnen diese Unterrichtsfächer häufig uninteressant und kompliziert. Der
Unterricht in diesen Fächern besteht überwiegend aus Frontalunterricht. Mithilfe von
interaktiven Experimenten und Darlegungen könnten diese Fächer spannender gestaltet
sowie das Verständnis gestärkt werden. Des Weiteren wird laut Prognose die Nachfrage
nach MINT-Fachkräften von 2013 bis 2025 in Europa um 8% ansteigen [1]. Mit der
Applikation könnte schlussendlich auch die Begeisterung verbessert und der Nachfrage
entgegengekommen werden.

Aus diesen Überlegungen heraus war es für mich wichtig, eine Applikation zu entwi-
ckeln, die Relevanz in der Praxis zeigt und Entwicklungspotenzial hat. In dieser Arbeit
habe ich das Grundgerüst für eine schulische VR-Applikation gelegt und dafür zwei ma-
thematische Anwendungen für den gymnasialen Unterricht entwickelt. Die Applikation
wurde edVR genannt, ein Wortspiel zwischen dem Englischen Wort education“und

Virtual Reality (VR).

1.2 Fragestellung und Ziele


Als übergreifende Fragestellung beschäftigt mich folgendes:

• Wie kann eine Virtual Reality-Lernsoftware geschaffen werden, die motiviert und
das Verständnis eines Themas verbessert?

• Was sollte eine VR-Software bieten, um den Unterricht sinnvoll zu erweitern und
welche derzeitige Hardware eignet sich am besten dazu?

Im Rahmen meiner Maturitätsarbeit werde ich diese Fragen nur ansatzweise beant-
worten können. Die Frage, ob eine VR-Lernsoftware die Motivation steigert und das
Verständnis vertieft, kann nur in gross angelegten Experimenten erforscht werden. Das
Ziel meiner Arbeit ist deshalb die Entwicklung eines Grundkonzepts einer virtuellen
Lernumgebung mit zwei Anwendungen für den gymnasialen Mathematikunterricht,
womit solche zukünftigen Experimente durchgeführt werden könnten. Im Schlussteil
skizziere ich dazu einen Lernwirksamkeitstest.

Das Ziel der Lernumgebung edVR ist es, den Unterricht mit interaktiven Darlegungen in

2
Virtual Reality zu erweitern, so dass Schüler und Schülerinnen ein besseres Verständnis
des behandelten Stoffes erlangen. Die erste Anwendung dient dem Mathematikunter-
richt, in welchem Ebenengleichungen besprochen werden. Ebenengleichungen beschrei-
ben Ebenen im dreidimensionalen Raum. Im herkömmlichen Unterricht werden die
Gleichungen sowie deren verschiedenen Formen besprochen und auf 2D-Skizzen veran-
schaulicht. Die dritte Dimension kann darin aber nicht korrekt wiedergegeben werden.
In der Virtuellen Realität lassen sich Inhalte dreidimensional erleben, da für jedes Auge
die Ansicht angepasst wird. Somit werden die 3D-Ebenengleichungen korrekt in einem
3D-Koordinatensystem dargestellt, es wird ersichtlich, wie die Ebene im Raum verläuft.

Die zweite, auch mathematische Anwendung von edVR soll das Verständnis von 3x3
Matrizen verbessern. Matrizen sind für die Schülerschaft abstrakte Konstrukte. Es ist
zwar bekannt, dass Matrizen lineare Transformationen beschreiben, aber viele Lernen-
de haben Probleme sich vorzustellen, was eine 3x3 Matrix im 3D-Raum bewirkt. Die
Matrizenanwendung soll hier aushelfen, indem die Schülerschaft in einem richtigen,
begehbaren 3D-Koordinatensystem mit Matrizen experimentieren kann.

Mit diesen beiden mathematischen Anwendungen werden abstrakte Sachverhalte kon-


kret erlebbar. Dadurch werden die abstrakten Konstrukte der Matrizen und Ebenen-
gleichungen mit Visualisierung ersichtlich und das konkrete Verständnis könnte sich
verbessern.

1.3 Ähnliche Applikationen


Im Folgenden werden bereits bestehende Ansätze beschrieben, die die Virtual Reality
(siehe Kapitel 2.1.1) für Bildungszwecke einsetzen.

1.3.1 Maroon
Maroon ist ein interaktives, digitales Physiklabor, das ein aktives Lernen im Schulun-
terricht oder für Zuhause bietet [2]. Derzeit sind Simulationen und Visualisierungen
von Physik-Experimenten zu Elektromagnetismus verfügbar. So werden zum Beispiel
Feldlinien elektrischer Felder und deren Veränderungen visualisiert. Das Projekt wurde
von Johanna Pirker und ihrem Team im Rahmen ihrer Doktorarbeit entwickelt. Im
Moment befindet sich Maroon in der Testphase und soll bald um weitere wissenschaft-

3
Abbildung 1.1: Digitales Physikexperi- Abbildung 1.2: Das in 2.1.1 beschriebene
ment zu Magnetismus in Maroon VR mit Headset wird in Maroon verwendet und
der HTC Vive. Sonst unsichtbare Kräfte gibt dem Nutzer die Möglichkeit, sich im
können dabei visualisiert werden. Eben- Raum fortzubewegen sowie mit dem La-
falls werden vorhandene Kräfte durch ver- bor zu interagieren.
schieden intensive Vibrationen im Con- [Screenshot aus: https://www.youtube.
troller spürbar. com/watch?v=iGuzgi-hfcM]
[Screenshot aus: https://www.youtube.
com/watch?v=iGuzgi-hfcM]

liche Inhalte erweitert werden.

Maroon existiert in verschiedenen Versionen. Neben der Standardwebversion exis-


tiert Maroon VR für das in Abschnitt 2.1.1 beschriebene VR-System HTC Vive. Die
VR-Version bringt den Mehrwert, dass die elektromagnetischen Experimente interaktiv
mit den Controllern gesteuert werden können, das Physiklabor begangen werden kann
sowie Visualisierungen von normalerweise unsichtbaren Feldlinien oder Kräften in der
dritten Dimension visualisiert werden können.

1.3.2 Labster
Die Lernsoftware Labster ermöglicht das Durchführen von über 50 Experimenten in
Biologie, Chemie und anderen MINT-Fächern in einem virtuellen Labor [3]. Die Soft-
ware wird von verschiedenen Hochschulen wie dem MIT und der ETH in der Lehre
eingesetzt. Der Vorteil der Software ist, dass Studenten und Studentinnen gefahrlos
auf eine reale Laborumgebung vorbereitet werden und neuste Forschungsgeräte wie ein
DNA-Sequenzierungsgerät virtuell benutzen können.

Ähnlich wie bei Maroon existiert von Labster eine Webversion sowie eine VR-Version.

4
Gemeinsam mit Google entwickelt Labster die Virtual Reality Version ihrer digi-
talen Lernumgebung. Bisher bestehen über 30 Darlegungen in den Bereichen von
Zell- und Molekularbiologie, Ökologie und Physiologie. Der Vorteil dieser Software ist,
dass Vorgänge auf der Molekularebene visualisiert und Vorgänge beschleunigt werden
können. Bei Fehlern bei der Durchführung des Experiments kann zu einem früheren
Zeitpunkt zurückgegangen und aus den Fehlern gelernt werden. Die Anwendung ist für
Studierende und den höheren gymnasialen Unterricht ausgelegt.

Abbildung 1.3: Mit Labster können Experimente in einem digitalen Labor mit neuester
technischer Ausrüstung getätigt werden.
[https://www.labster.com/vr/ Stand 30.10.2018]

5
Hauptteil

2.1 Eingesetzte Technologien


In diesem Kapitel werden die verwendeten Technologien für die Entwicklung von edVR
erläutert.

2.1.1 Virtual Reality


Die Technologie der Virtual Reality, kurz VR, ist nicht neu. Sie sowie ihre Anwendung
im Bildungswesen existiert schon seit Jahrzehnten [4]. Das erste bekannte VR-System
wurde 1966 durch die United States Air Force in Form eines Flugsimulators für Trai-
ningszwecke implementiert [5]. VR ermöglicht es, virtuelle, d.h. von Computern ge-
nerierte Simulationen zu erleben. Prinzipiell ist alles in VR möglich, was von einem
Computer berechnet werden kann. Somit bestehen Nutzungsmöglichkeiten der Techno-
logie in der Kunst, der Unterhaltung und im Bildungswesen, wie in Kapitel 1.3 erläutert.

Es ist wichtig zu definieren, was genau unter dem Begriff der Virtual Reality ver-
standen wird. Forscher, Laien und die Medien können davon eine unterschiedliche
Vorstellung aufweisen [6]. Laut dem Duden wird die Virtual Reality als eine vom Com-
puter erzeugte virtuelle Realität definiert [7]. Dabei stellt sich die Frage, was überhaupt
Realität ist und daraus kann eine komplexe, philosophische Diskussion hervorgehen.
Um es unkompliziert zu halten, wird die Realität als ein Ort angesehen, der in irgend-
einer Weise existiert und erlebt werden kann. Das Erlebnis in der virtuellen Realität
existiert in verschiedenen Formen. Beispielsweise ist ein Flugsimulator in einem Cockpit
mit gewölbter Leinwand, auf die eine fotorealistische Umgebung projiziert wird, eine
davon. Eine andere Art ist das Erlebnis mit einer VR-Brille, was auch in dieser Arbeit
als VR-Erlebnis verstanden wird.

6
Eine VR-Brille ist eine spezielle am Kopf angebrachte Vorrichtung, in die ein Dis-
play eingebracht ist, auf welches durch zwei Linsen, eine für jedes Auge, geblickt wird.
Die VR-Brille wird deswegen auch VR-Headset oder HMD genannt. HMD steht für
Head mounted display. Bei manchen VR-Headsets werden zusätzliche Komponenten
wie Controller, Sensoren oder leistungsstarke Computer benötigt. Deswegen wird in
dieser Arbeit von VR-Systemen und nicht nur von VR-Brillen, Headsets oder HMD
gesprochen. Auf dem Markt befinden sich verschiedene VR-Systeme unterschiedlicher
Hersteller. Jede Variante bietet einen unterschiedlichen Grad an Immersion. Unter Im-
mersion wird das Eintauchen in eine virtuelle Umgebung mit dem Gefühl einer realen
Präsenz verstanden.

Eine bekannte Variante ist das von Google entwickelte Cardboard. Dieses wird aus
einem Karton zusammengesteckt. Danach wird das Smartphone auf die entsprechende
Ablagerung eingelegt. Die Virtuelle Realität kann dann durch das Hindurchblicken
durch zwei Linsen auf den Bildschirm erlebt werden. Im Smartphone eingebaute Senso-
ren messen dabei die Ausrichtung des Kopfs des Benutzers. So kann die Blickrichtung
aus der realen Welt in die VR-Applikation übertragen werden und der Nutzer kann sich
in einer virtuellen Welt umsehen. Der Immersionsgrad ist bei diesem System gegenüber
anderen eher gering. Die Qualität des Erlebnisses wird durch die geringe Auflösung
der Handydisplays sowie deren Leistung und die fehlenden Möglichkeiten zu einer
natürlichen Interaktion eingeschränkt.

Die Möglichkeit zur Bewegung und Interaktion in VR werden von teureren und komple-
xeren VR-Systemen wie z.B. der HTC Vive und der Oculus Rift unterstützt. Ermöglicht
wird dies durch im Raum aufgestellte Sensoren, die das Headset tracken, und somit
die genaue Position im realen Raum an die VR-Applikation übermitteln. Das hat zur
Folge, dass die Bewegung im realen Raum übertragen wird und diese auch in der VR-
Applikation stattfindet. Dies wird Room-Scale genannt. Zusätzlich können im Raum
getrackte Controller wie Hände benutzt werden. Diese beiden Faktoren erhöhen den
Grad der Immersion deutlich gegenüber dem Google Cardboard.

In den letzten Jahren hat sich der Kostenpunkt der VR-Headsets verringert. Ein
limitierender Faktor der Nutzbarkeit dieser beiden Systeme ist, dass das VR-System
lediglich stationär mit einem leistungsfähigen Computer genutzt werden kann. Her-

7
steller wie Oculus und Google arbeiten daher an Lösungen, bei welchen Fortbewegung
im Raum und Controller ohne externer Rechner sowie im Raum installierten Sensoren
ermöglicht wird.

Aufbau und Funktionsweise der HTC Vive

Für die Entwicklung der VR-Applikation edVR wurde die HTC Vive gewählt, da sie
Room-Scale und zwei Controllor bietet. Das VR-System besteht aus einem HMD, zwei
Controllern und zwei Sensorboxen, wie in Abbildung 2.1 ersichtlich. Das Headset wird
über eine mitgelieferte Schnittstelle per HDMI und USB-3 an einem leistungsstarken
Computer angeschlossen. In diesem Computer sollte mindestens eine Grafikkarte aus
den letzten zwei Generationen der bekannten Herstellern NVidia oder AMD verbaut
sein, damit genug Leistung zur Darstellung der virtuellen Welt im Headset vorhanden
ist.

Die Controller können kabellos genutzt werden und kommunizieren mit dem Head-
set mit einem speziell dafür entwickelten Protokoll, das eine Kommunikation mit
geringer Latenz ermöglicht. Am Headset und den Controllern sind kleine Fotosensoren
angebracht. Diese werden mit den Sensorboxen, auch Lighthouses genannt, für die
Verfolgung der Bewegung im Raum, Tracking genannt, benötigt.

Beim Tracking senden die Lighthouses 60 Infrarotimpulse pro Sekunde aus. Zwischen
zwei Impulsen senden Laser entweder einen vertikal oder horizontal im Raum verlau-
fenden Lichtstrahl aus. Die Fotosensoren auf dem Headset und den Controllern wissen,
wann ein Infrarotimpuls angekommen ist, starten dabei eine interne Stoppuhr und
stoppen die Zeit bis das vertikale oder horizontale Licht des Lasers gemessen wurde.
Mit diesen, für jeden Fotosensor leicht unterschiedlichen Zeiten kann die Position des
Headsets und der Controller im Raum millimetergenau getrackt werden [8].

8
Abbildung 2.1: Das VR-System der HTC Vive besteht aus zwei Sensorboxen (1), einem
VR-Headset (2) und zwei Controllern (3). In der Abbildung ist nur eine Sensorbox zu
sehen, die andere ist diagonal gegenüber im Raum aufgestellt. So kann der ganze Raum
erfasst werden.

2.1.2 Spiel-Engine Unity


Eine Spiel-Engine ist eine Entwicklungsumgebung für Spiele. Darin werden Bestandteile
eines Spiels, wie zum Beispiel das Darstellen und Berechnen von Objekten, Rendering
genannt, oder die Simulation von physikalischen Gesetzmässigkeiten abstrahiert. So
müssen nicht bei jeder Spielentwicklung die Grundkomponenten eines Spiels oder einer
Anwendung neu programmiert werden und diese können wiederverwendet werden [9].

9
Vorteile der Spiel-Engine Unity

Als Entwicklungsplattform für edVR wurde die Spiel-Engine Unity verwendet. In den
letzten Jahren hat Unity bei Entwicklern an Popularität gewonnen. So sind laut Her-
steller Unity Technologies im letzten Jahr in Unity entstandene Anwendungen 24
Milliarden Mal installiert worden [10].

Dank der grossen Verbreitung bieten Drittanbieter unzählige Erweiterungen an, die
die Entwicklung vereinfachen. Ebenfalls sind Hersteller der VR-Systeme daran inter-
essiert, dass für ihre Hardware auf der Unity-Plattform entwickelt werden kann und
bieten deswegen die in Kapitel 2.1.3 beschriebene Software Development Kits für ihre
Hardware an. Somit eignet sich Unity auch für die Entwicklung von Virtual Reality
Applikationen.

Programmaufbau der Spiel-Engine Unity

Unity unterliegt einem strukturierten Aufbau. Grundsätzlich besteht ein in Unity


entwickeltes Spiel oder Programm aus Szenen. Diese Szenen bestehen wiederum aus
Spielobjekten. Ein Spielobjekt ist zu Beginn lediglich ein Objekt, das irgendwo in der
Szene platziert wird. Nun können 3D-Modelle, Skripte, Texturen, etc. als Komponenten
(In Unity in Englisch als components bezeichnet) dem Spielobjekt hinzugefügt werden,
um eine gewünschte Funktionalität zu ermöglichen. Die für die Spielobjekte benötigten
Dateien wie z.B. Texturen werden als Assets in einem Projekt gespeichert und in einem
File-Explorer in Unity angezeigt.

Als Skriptsprache wird C# in Unity benutzt und die damit geschriebenen Klassen
werden als Komponenten den Spielobjekten angefügt. Die Skripte können über die
Programmierschnittstelle von Unity auf andere Standardkomponenten zugreifen und
diese manipulieren.

Die Spielobjekte in einer Szene unterliegen einer Hierarchie. So kann einem Spielobjekt
ein Zweites als Kind“ untergeordnet werden. Wird die Position des Eltern-Spielobjekts

in der Szene verändert, bewegt sich das Kind-Spielobjekt entsprechend mit. Ebenfalls
können Spielobjekte deaktiviert werden. Somit erscheinen sie nicht mehr in der Szene
und bieten keine Funktionalität.

10
Diese Erklärung wird nun an einem konkreten Beispiel aus der Szene der Matrizenan-
wendung dargelegt.

Abbildung 2.2: Spielobjekte der Szene der Abbildung 2.3: Komponenten des Spielob-
Matrizenanwendung. jekts yx.

In diesem Beispiel wird das Spielobjekt yx betrachtet. In der Abbildung 2.2 ist zu
sehen, dass yx dem Spielobjekt CoordinatesAxis untergeordnet ist, welches wieder-
um CoordinateSystem untergeordnet ist. CoordinateSystem ist keinem weiteren
Spielobjekt untergeordnet. Andere Spielobjekte wie xz sind nicht aktiv. Dies ist an der
gräulichen Schriftfarbe zu erkennen.

In Abbildung 2.3 sind die Komponenten des Spielobjekts yx aufgeführt. Die Kom-
ponente Transform beschreibt die Position in der Unityszene und kann darin auch
entsprechend verändert werden. Die weitere Komponente CoordinateLineGenera-
tor ist ein selbstgeschriebenes Skript und generiert beim Starten der Szene Linien, die
einen Teil der Geraden parallel zur x-Achse wiedergeben. Die weiteren Standardkom-
ponente Mesh Filter und Mesh Renderer werden durch die CoordinateLineGe-
nerator Komponenten auch beim Starten der Szene auf das Spielobjekt angewendet.
Der Mesh Filter nimmt die Koordinaten, aus denen die Linien bestehen, entgegen, und
der Mesh Renderer rendert diese schlussendlich mit dem Line Material. Ein Material
ist eine Beschreibung, wie ein 3D-Modell angezeigt werden sollte. In diesem Falle ist es

11
lediglich eine nicht-reflektierende, leicht transparente Farbe im Grauton.

Zusammen mit dem Spielobjekt xy , das aus den gleichen Komponenten besteht, ent-
steht so ein Koordinatengitter, wie z.B. in Abbildung 2.9 zu sehen. Da diese beiden
Spielobjekte dem CoordinateSystem untergeordnet sind, wird bei einer Veränderung
wie z.B. einer Skalierung auch das Koordinatengitter mitskaliert und dieses passt sich
ohne weitere Veränderungen durch Skripte automatisch an.

2.1.3 Virtual Reality Toolkit


Ein Software Development Kit, abgekürzt SDK, ist eine Sammlung von Programmier-
werkzeugen, die die Entwicklung von Applikationen in entsprechenden Programmier-
sprachen oder für spezifische Hardware und Betriebssysteme ermöglicht.

Derzeit existieren viele VR-Systeme auf dem Markt und jeder Hersteller stellt eine
eigene SDK für dessen Hardware bereit. Zwar unternimmt die Spiel- und Hardware-
entwicklungsfirma Valve mit der Open-Source SDK OpenVR Anstrengungen, einen
Standard zu setzen. Aber andere grosse Unternehmen wie Oculus bevorzugen es, ihre
eigene, hardwarespezifische SDK zu entwickeln und zu verbreiten. Dies erschwert die
Entwicklung für ein breites Spektrum an VR-Systemen.

Für meine Arbeit habe ich das Virtual Reality Toolkit, kurz VRTK, verwendet, denn
es kombiniert die verschiedenen SDKs der Hersteller zu einer SDK für Unity und
ermöglicht so eine erleichterte plattformübergreifende Entwicklung für derzeitige VR-
Systeme. VRTK wird von einem Entwickler mit dem Decknamen thestonefox und
der VRTK Entwickler-Community als Open-Source Projekt unter der MIT-Lizenz an-
geboten [11]. Die MIT-Lizenz gewährleistet jedem eine kostenlose, uneingeschränkte
Nutzung, Veränderung und Verbreitung der Software, auch kommerziell, mit der Bedin-
gung, dass der in Englisch verfasste Lizenztext in allen Kopien der Software beigelegt
ist [12].

Neben der plattformübergreifenden Entwicklung stellt VRTK eine Sammlung von


Skripten und Assets, die die Entwicklung für die Virtual Reality erleichtern. Der
grösste Teil dieser Ressourcen bleibt in dieser Arbeit ungenutzt, doch edVR wurde mit
Ausblick auf eine Weiterentwicklung nach dieser Arbeit konzipiert und dabei könnten

12
die in VRTK vorhandenen Skripte behilflich sein. Zumal dadurch der Einstieg in die
VR-Entwicklung für andere, zukünftig mitwirkende Personen vereinfacht werden würde.

2.2 Implementierung
In diesem Kapitel wird auf den grundlegenden Aufbau der edVR Applikation in Unity
sowie auf Theorie und Implementierung der beiden Mathematikanwendungen in Unity
eingegangen.

2.2.1 Grundstruktur
Für die Entwicklung von VR-Applikationen in Unity muss eine SDK für die Kommu-
nikation zwischen dem VR-System und der Anwendung vorhanden sein. Im Falle von
edVR ist dies das in Abschnitt 2.1.3 erwähnte Virtual Reality Toolkit. Damit können
Spielobjekte mit VRTK Komponenten erweitert werden, so dass schlussendlich in der
Applikation mit diesen Spielobjekten über das VR-System interagiert werden kann.
Für häufig genutzte Interaktionen wie z.B. das Greifen eines Objektes mit einem Con-
troller bietet VRTK Skripte. Dies vereinfacht die Entwicklung extrem, da nicht alle
Grundinteraktionssysteme neu programmiert werden müssen.

Die Entwicklung für verschiedene VR-Systeme wird in VRTK dank der Klasse VRTK -
SDKManager ermöglicht. Jede in VR nutzbare Szene besteht aus einem VRTK SDK-
Manager. Diese Klasse, als Komponente auf ein Spielobjekt angewendet, verwaltet alle
im Projekt installierten SDKs der verschiedenen Hersteller. Beim Applikationsstart
wird das am PC angeschlossene VR-System erkannt und die entsprechende SDK ge-
nutzt. In Abbildung 2.5 wird dies nochmal ersichtlich.

In der VRTK SDKManager Klasse werden zwei Spielobjekte verlinkt, die als Platzhal-
tespielobjekte für die Controller dienen. Beim Start greift der VRTK SDKManager auf
diese Spielobjekte zu und weist sie dem entsprechenden Controller der aktuellen SDK
als Kind zu. Auf die Controller-Platzhaltespielobjekte werden VRTK-Komponenten
für die benötigte Grundinteraktion mit den Spielobjekten in der Szene und eigene
C#-Skripte für erweiterte Funktionalitäten eingefügt.

13
Als Beispiel wird hier das Platzhalte-
spielobjekt des linken Controllers und
dessen Komponenten erklärt.
In der Abbildung 2.4 ist zu sehen,
dass sich auf dem Spielobjekt zwei
VRTK-Skripte befinden, die hier mit
dem Animator und einem Animations-
steuerungsskript die Komponenten des
Spielobjekts bilden. Die Komponente
VRTK Controller Events ermöglicht es,
in anderen Skripten ein Event zu erhalten,
wenn ein Knopf des Controllers gedrückt
wird. Solche Events werden in eigenen
Skripten genutzt, um auf Knopfdrücke
zu reagieren. Mit dem VRTK Interact
Grab Skript können andere Objekte, die
ein VRTK Interactable Skript als Kom-
ponente besitzen, mit einem vorher de-
finierten Knopf genommen werden. In
edVR wird dieses Skript für die Skalie-
rung und Bewegung des für den Nut-
zer und die Nutzerin ersichtlichen 3D-
Koordinatensystems benutzt. Das UI
Left Animation Skript startet bei einem
Knopfdruck am linken Controller eine
Animation zur Einblendung der Benut-
zereingabefelder innerhalb der Anwen- Abbildung 2.4: Spielobjekt des linken Con-
dung. Die Animator Komponente spei- trollers und dessen Komponenten.
chert diese Animation und spielt sie beim
obigen Befehl des UI Left Animation Skripts ab.

In edVR sind auf dem linken Controller alle Benutzereingabefelder hinterlegt. Mit dem
rechten Controller wird mit diesen Eingabefeldern interagiert und Eingaben getätigt.
Ähnlich wie ein Maler in der linken Hand seine Farbpalette hält und mit der rechten
Hand malt.

14
Abbildung 2.5: Nach dem Applikationsstart hat VRTK die HTC Vive als angeschlosse-
nes VR-System erkannt und es wurden die Platzhaltespielobjekte für die beiden Con-
troller den richtigen Controller-Spielobjekten der SteamVR SDK als Kind zugewiesen.

2.2.2 Ebenengleichungen
Die grundlegende Idee der Ebenengleichungsanwendung wurde in Kapitel 1.2 erläutert.
Der folgende Teil befasst sich nun mit der Implementierung.

15
Mathematische Grundlagen

Eine Ebene im 3D-Koordinatenraum wird durch einen Punkt in der Ebene und einen
Vektor, der senkrecht zur Ebene steht, bestimmt.

Sei P0 = (x0 , y0 , z0 ) dieser Punkt in der Ebene und ~n der senkrecht zur Ebene ste-
hende Vektor. Ebenfalls, sei P = (x, y, z) irgendein Punkt in der Ebene und r0 und r
die Ortsvektoren der Punkte P0 und P . Wenn nun angenommen wird, dass der Vektor
~n = (a, b, c) senkrecht zu P~0 P ist, dann erhält man:

P~0 P · ~n = (~r − r~0 ) · ~n


= (x − x0 , y − y0 , z − z0 ) · (a, b, c)
= a(x − x0 ) + b(y − y0 ) + c(z − z0 )
=0

daraus resultiert

ax + by + cz + d = 0

mit

d = −(ax0 + by0 + cz0 )

Die Gleichung ax + by + cz + d = 0 Abbildung 2.6: Eine Ebene im


wird von allen Punkten (x, y, z) erfüllt, die Raum wird durch einen Vektor
in der Ebene liegen. Diese Darstellungsform ~n und einem Punkt P0 in der
wird auch Koordinatenform genannt. Die Zah- Ebene beschrieben. [http://tu-
len a, b und c sind die Komponenten des torial.math.lamar.edu/Classes/-
Normalenvektors ~n = (a, b, c) der Ebene CalcII/EqnsOfPlanes.aspx Stand
[13]. 31.05.2018]

Eine weitere Form für die Darstellung von Ebenen ist die Achsenabschnittsform. Hierbei
wird die Ebene, die keine Ursprungsebene ist, also nicht durch den Ursprung verläuft,
durch drei Achsenabschnitte x0 , y0 und z0 beschrieben. Die Ebene besteht dann aus

16
allen Punkten mit den Koordinaten (x, y, z), die die Gleichung

x y z
+ + =1
x0 y0 z0

erfüllen. Dabei sind (x0 , 0, 0), (0, y0 , 0) und (0, 0, z0 ) die Schnittpunkte der Ebene mit
den Koordinatenachsen. Die Koordinatenform dividiert durch d ergibt die Achsenab-
schnittsform [14].

Nutzeranwendung

In der Ebenengleichungsanwendung von edVR können Ebenengleichungen in der Ko-


ordinatenform und der Achsenabschnittsform eingegeben werden. Der Nutzer oder die
Nutzerin benutzt dazu die zwei in Kapitel 2.1.1 beschriebenen Controller der HTC
Vive. In einem Eingabefeld, siehe Abbildung 2.7, 2.8 und 2.9, werden die verschiede-
nen Parameter eingetragen und schliesslich kann die Ebene generiert werden. Weitere
Ebenen können über die vorherigen Eingabefelder aufgenommen und erzeugt werden.

Die nun im Koordinatensystem präsentierten Ebenen sind nur Ausschnitte der kom-
pletten, unendlich im Raum verlaufenden Ebenen, die die Gleichungen beschreiben.
Die Grösse dieses Ausschnitts der Ebene kann spezifisch mit einem Schieberegler ver-
grössert oder verkleinert werden.

Sobald eine Ebene generiert wurde, erscheint ein weiterer Knopf zu einer Eingabe-
maske. Darin befinden sich Schieberegler, die mit den verschiedenen Komponenten a,
b, c und d der Ebenengleichung verknüpft sind, siehe Abbildung 2.10. Jede Position
auf dem Schieberegler stellt einen anderen Wert auf einem reellen Zahlenstrahl dar. Bei
der Änderung eines Parameters durch den Schieberegler wird die Ebene entsprechend
angepasst. Dasselbe existiert und funktioniert auch für die Achsenabschnittsform, siehe
Abbildung 2.11.

Die erschaffenen Ebenen können nun im 3D-Koordinatensystem betrachtet und be-


gangen werden. Mit den Controllern kann das Koordinatensystem skaliert werden. So
können die Lernenden die Ebenen aus verschiedenen Perspektiven inspizieren. Darüber
hinaus wird der Verlauf im dreidimensionalen Raum zweier Ebenen oder bei drei nicht
parallelen Ebenen der Schnittpunkt visuell sichtbar.

17
Abbildung 2.7: Der
Nutzer oder die
Nutzerin befindet
sich in einem 3D-
Koordinatensystem.
Mit dem rechten
Controller können
die Parameter der
Ebenengleichun-
gen, hier in der
Koordinatenform,
am Eingabefeld des
linken Controllers
eingegeben und
generiert werden.

Abbildung 2.8:
Beim generieren
zweier Ebenen wird
die Schnittgera-
de dieser beiden
Ebenen sichtbar.
Mit dem Schiebe-
regler unter der
Ebenengleichung
kann die Grösse
des Ausschnitt
der eigentlich un-
endlichen Ebene
eingestellt werden.

18
Abbildung 2.9:
Ebenengleichungen
können in der Ach-
senabschnittsform
eingetragen werden.
Hier befinden sich
drei Ebenen im 3D-
Koordinatensystem.
Der Schnittpunkt
und die Schnitt-
geraden werden
sichtbar.

Abbildung 2.10: In
einer weiteren Ein-
gabemaske können
die Parameter der
Ebenengleichung in
Koordinatenform
mit Schieberegler
verändert werden
und die derzeitige
selektierte Ebene
ändert sich dabei
entsprechend im
3D-Raum.

19
Abbildung 2.11: In
einer weiteren Ein-
gabemaske können
die Parameter der
Ebenengleichung in
Achsenabschnitts-
form mit Schiebe-
regler verändert
werden und die der-
zeitige selektierte
Ebene ändert sich
dabei entsprechend
im 3D-Raum.

Abbildung 2.12:
Durch die Eingabe
verschiedener Ebe-
nen lassen sich auch
Figuren modellie-
ren. Hier schliessen
sechs Ebenen einen
Würfel ein.

20
Implementierung in Unity

Der Grundstein der Ebenengleichungsanwendung von edVR bildet die Klasse PlaneE-
quationManager. Dieses Skript befindet sich als Komponente auf dem gleichnamigen
Spielobjekt in der Unity-Szene. Im Skript sind die verschiedenen Spielobjekte wie das
Koordinatensystem und die Eingabemasken der Achsenabschnitts- und Koordinaten-
form hinterlegt. Bei Interaktionen wie Knopfdrücken auf den Controllern oder auf den
Benutzereingabefeldern in der Anwendung werden entsprechende Funktionen der Klas-
se PlaneEquationManager aufgerufen, um diese Interaktionen zu bearbeiten. So zum
Beispiel aktualisiert es bei einer neuen Eingabe einer Komponente alle Ebenenglei-
chungsformen und deren Darstellung in der Benutzereingabe. Die Undo-Redo Funktion
(Rückgängig-Wiederholen) wird mit zwei Stacks(Datenstruktur) ebenfalls vom Skript
verwaltet.

Bei einem Knopfdruck auf den Knopf zum Generieren der aktuell eingegebenen Ebene
erstellt das Skript ein neues Spielobjekt, weist es als Kind dem Koordinatensystem
zu und bringt das Skript PlaneEquation als Komponente an. Diesem Skript wird bei
der Generierung alle benötigten Informationen zur Erstellung einer Ebene übergeben
und sogleich erstellt. Die benötigten Argumente sind die Komponenten a, b und c, die
Grösse des gezeigten Ausschnitts der Ebene und das Material, in Kapitel 2.1.2 erklärt,
zur Darstellung der Ebene.

Nachdem diese Argumente übergeben wurden, erstellt das Skript die entsprechende
Ebene und stellt sie im Koordinatensystem dar. Dies wird von der nun erklärten Me-
thode getan.

Die Methode besitzt alle Informationen zu der zu generierenden Ebene. Diese liegen als
Normalenvektor und dem Wert d vor. Damit Unity eine Ebene darstellen kann, muss
ein 3D-Modell davon bekannt sein. Ein 3D-Modell besteht aus Punkten und Flächen,
meist Dreiecke. Die Punkte bilden die Eckpunkte der Flächen. Schliesslich können diese
Flächen von Unity gerendert werden.

Im Falle einer Ebene ist es simpel, ein 3D-Modell zu generieren. Es müssen ledig-
lich drei Punkte in der Ebene gefunden werden und daraus wird ein Dreieck definiert.
Die Methode berechnet aber vier Punkte in der Ebene, die einen quadratischen Aus-

21
schnitt der Ebene einschliessen, weil dies visuell besser aussieht als ein dreieckiger Teil
der Ebene. Wie dies genau geschieht, wird nun am echten Code der Methode erklärt.
void CreatePlane () {
// (1)
Vector3 normalVector = new Vector3 ( components [0] ,
components [1] , components [2]) ;
float d = components [3];
float scalePlane = components [4];
// (2)
Vector3 planeVector1 =
Vector3 . Normalize ( Vector3 . Cross ( normalVector ,
Vector3 . right ) ) * scalePlane ;
Vector3 planeVector2 =
Vector3 . Normalize ( Vector3 . Cross ( normalVector ,
planeVector1 ) ) * scalePlane ;
// (3)
if ( planeVector2 == planeVector1 ) {
planeVector1 = new Vector3 (0 , 1 , 0) * scalePlane ;
planeVector2 = new Vector3 (0 , 0 , 1) * scalePlane ;
}

Nachdem dem Normalenvektor, dem Wert d und der Grösse des Ebenenausschnitts
scalePlane die entsprechenden Werte übergeben wurden (1), werden mit dem Kreuz-
produkt zwei zur Ebene parallel liegende, zwei gleich lange Vektoren berechnet (2).
Die daraus resultierenden Vektoren werden nie äquivalent zueinander sein, ausser die
Komponenten b und c des Normalenvektors haben den Wert 0 (3). Deswegen werden
bei diesem einzigen Spezialfall, wenn die Ebene parallel zur y- und z-Achse liegt, dazu
zwei parallele Vektoren festgelegt.
...
// (4)
Vector3 pointOnPlane = normalVector * -d /
Vector3 . Dot ( normalVector , normalVector ) ;
// (5)
Mesh meshPlane = new Mesh () ;
meshPlane . vertices = new Vector3 []{
pointOnPlane + planeVector1 + planeVector2 ,
pointOnPlane + planeVector1 - planeVector2 ,

22
pointOnPlane - planeVector1 - planeVector2 ,
pointOnPlane - planeVector1 + planeVector2 };

Anschliessend wird der Ortsvektor des Punktes in der Ebene berechnet, der am nächsten
zum Ursprung liegt (4) [15]. Mit diesem Punkt und den Vektoren aus Schritt (2) werden
die vier Eckpunkte des 3D-Modells berechnet (5).
...
// (6)
meshPlane . uv = new Vector2 [] {
new Vector2 (1 ,1) ,
new Vector2 (1 , 0) ,
new Vector2 (0 , 0) ,
new Vector2 (0 , 1) };
// (7)
meshPlane . triangles = new int [] { 0 , 1 , 2 , 2 , 3 , 0 , 0 , 3 , 2 ,
2 , 1 , 0 };
// (8)
meshFilter . mesh = meshPlane ;
}

In Schritt (6) werden den Punkten des 3D-Modells UV-Koordinaten zugeschrieben. Ei-
ne UV-Koordinate beschreibt eine Position auf einer zweidimensionalen Textur. Dabei
werden UV-Koordinaten durch 2D-Vektoren mit Werten von (0,0) bis (1,1) zugeschrie-
ben, wobei (0,0) die eine Ecke und (1,1) die andere diagonal gegenüberliegende Ecke
der Textur ist. Bei den Ebenen wird eine einfarbige Textur verwendet. Deswegen ist
es nicht so wichtig, ob die Textur korrekt auf die Ebene projiziert wird und es werden
einfach vier 2D-Vektoren als UV-Koordinaten übergeben.

Daraufhin werden in (7) die Eckpunkte der Dreiecke definiert, wobei die Nummern
die Indizes des vertices-Arrays aus (5) sind. Die ersten drei aufeinanderfolgenden Werte
bilden die Eckpunkte eines Dreiecks, dann die nächsten Drei usw. Hier werden ins-
gesamt vier Dreiecke generiert, da ein Dreieck von einer Seite immer transparent ist.
Deswegen braucht es zwei für die eine Seite des quadratischen Ausschnitts und insge-
samt vier für beide Seiten. Somit ist das 3D-Modell für die Ebene komplett und kann
an Unity für das Rendering übergeben werden (8).

23
2.2.3 Matrizenanwendung
Die Matrizenanwendung ist ebenfalls für den Mathematikunterricht vorgesehen. Die we-
sentliche Idee davon ist in Kapitel 1.2 erläutert. Im Folgenden wird die Implementation
behandelt.

Mathematische Grundlagen

Eine Matrix ist eine mathematische Konstruktion. Bei einer reellen Matrix A vom Typ
(m, n) handelt es sich um die rechteckige Anordnung von m · n reellen Zahlen. Dieses
Schema besteht aus m waagerecht angeordneten Zeilen und n senkrecht angeordneten
Spalten [16]:  
a11 a12 a13 . . . a1n
 a21 a22 a23 . . . a2n 
 
A=  .. .. .. .. .. 
 . . . . . 

am1 am2 am3 . . . amn


Dies ist eine allgemeine Matrix. Nutzer und Nutzerinnen interagieren mit einer 3x3-
Matrix in der Matrizenanwendung, welche eine quadratische Matrix ist. Eine quadra-
tische Matrix besteht aus n Zeilen und n Spalten.

Matrizen können miteinander addiert und multipliziert werden. Welche Regeln und
Besonderheiten dabei zu beachten sind, wird hier ausgelassen und der interessierte
Leser kann dies in der Literatur nachschlagen [17]. Die einzig wichtige Operation für
die Implementierung der Matrizenanwendung ist die Matrix-Vektormultiplikation, was
eigentlich eine vereinfachte Matrizenmultiplikation ist. Bei der Multiplikation der m · n
Matrix A und dem n-dimensionalen Vektor x wird wie folgt vorgegangen [15]:
    
a11 a12 a13 ... a1n x1 a11 x1 + a12 x2 + · · · + a1n xn
 a21 a22 a23 ... a2n   x2   a21 x1 + a22 x2 + · · · + a2n xn
    

Ax = 
 .. .. .. ..  .  = 
..     .. 
 . . . . .   ..   .


am1 am2 am3 . . . amn xn a11 x1 + am2 x2 + · · · + amn xn

Eine Matrix beschreibt eine lineare Transformation. Bei einer linearen Transformation
wird jedem Punkt P von Rn ein Punkt P 0 in Rm zugeordnet [17]. Dabei existieren
lineare Transformationen wie Streckungen, Drehungen, Scherungen, Spiegelungen oder
orthogonale Projektionen.

24
Zu jeder quadratischen Matrix kann auch eine Determinante berechnet werden. Mittels
der Determinante wird angegeben, wie sich die Fläche bei einer 2x2-Matrix und sonst
das Volumen durch die linearen Transformation verändert. Welche weiteren Eigenschaf-
ten eine Determinante besitzt und wie sie berechnet werden muss, kann ebenfalls in
der Literatur nachgelesen werden [17].

Nutzeranwendung

Die Matrizenanwendung lässt den Benutzer oder die Benutzerin sehen, welche Änderungen
eine Matrix an einem 3D-Objekt im 3D-Raum bewirkt. In einer Eingabemaske am lin-
ken Controller können jegliche Werte für eine 3x3 Matrix eingegeben und diese kann
auf ein 3D-Objekt angewendet werden, siehe Abbildungen 2.13 - 2.16. Ebenfalls sind
voreingestellte Eingabefelder für Drehmatrizen um die x-, y- und z-Achse vorhanden.
Es besteht die Möglichkeit, die Änderung der Matrix auf das 3D-Objekt direkt anzu-
wenden und im nächsten Moment befindet es sich an der neuen Position. Oder es ist
möglich, eine zweisekündige Animation von der Startposition zur neuen Endposition
im Raum anzeigen zu lassen.

Abbildung 2.13:
Der Nutzer oder die
Nutzerin befindet
sich in einem 3D-
Koordinatensystem.
Zu Beginn befindet
sich ein Ein-
heitswürfel darin.
Auf diesen Würfel
können dann eige-
ne, am linken Con-
troller eingegebene
Ebenengleichun-
gen angewendet
werden.

25
Abbildung 2.14:
Die eigens ein-
gegebene Matrix
am linken Con-
troller wurde auf
den Einheitswürfel
angewendet und
nun kann gesehen
werden, wie der re-
sultierende Körper
aussieht und wo
er sich im 3D-
Koordinatensystem
befindet. Der Ein-
heitswürfel wurde
in der y-Achse um
den Faktor 2 und in
der z-Achse um den
Faktor 1.5 skaliert.

Abbildung 2.15:
Vorlagen für die Dreh-
matrizen um die x-, y-
und z-Achse können
über die Knöpfe links
am Eingabefeld auf-
gerufen werden. Die
Figur aus Abbildung
2.14 wurde hier um die
z-Achse mit 45 Grad
gedreht.

26
Abbildung 2.16: Es
können unzählige
Matrizen einge-
geben und damit
experimentiert
werden. Die De-
terminante jeder
Matrix wird auch
ausgegeben. Hier
wurde die Figur
aus Abbildung 2.15
mit der Matrix aus
dem Eingabefeld
manipuliert.

Implementierung in Unity

Ähnlich wie bei der Ebenengleichungsanwendung befinden sich Eingabefelder für die
verschiedenen Matrizen am linken Platzhaltecontroller. Diese unterschiedlichen Einga-
befelder werden von der Klasse MatrixManager verwaltet. Die Klasse befindet sich als
Komponente auf dem gleichnamigen Spielobjekt in der Unity-Szene. Beim Klick auf
den Knopf Apply matrix in der Applikation übernimmt der MatrixManager die aktuelle
Eingabe im Eingabefeld als Matrix und wendet diese auf alle dem Spielobjekt Matrix-
Modifiable untergeordneten Spielobjekten an. Derzeit ist dies lediglich ein 3D-Modell
eines Einheitswürfels, aber es könnten noch zusätzliche 3D-Modelle als Spielobjekte
hinzugefügt werden.

Diese Spielobjekte werden nun durch die Matrix manipuliert. Die Implementation
davon ist relativ simpel. Wie im vorherigen Kapitel 2.2.2 beschrieben, besteht ein
3D-Modell aus Punkten, die die Eckpunkte von Dreiecken bilden. Damit nun das gan-
ze 3D-Modell korrekt von der Matrix verändert wird, muss jeder einzelne Punkt im
3D-Raum mit der Matrix multipliziert werden. Die daraus neu resultierenden Punkte

27
bilden das neue 3D-Modell. Also wird in Unity jeder einzelne Ortsvektor der Punkte
des 3D-Modells mit der Matrix multipliziert und der neue Punkt ersetzt dann den
Alten. Dadurch wird das 3D-Modell korrekt durch die Matrix verändert.

In Unity ist eine Standardimplementation einer 4x4-Matrix schon vorhanden sowie


Methoden für die Multiplikationen von 3D-Vektoren mit diesen Matrizen. Diese Stan-
dardimplementation wird verwendet obwohl eigentlich nur mit 3x3-Matrizen gearbeitet
wird. Die 3x3-Matrix wird dabei in eine 4x4-Matrix umgewandelt. Sei A die Matrix,
die durch die Nutzenden eingegeben wurde, dann wird diese 3x3-Matrix in die folgende
4x4-Matrix umgewandelt:
 
  a b c 0
a b c  
d e f 0
A = d e f  → 
  
g h i 0
g h i
 
0 0 0 1

Die Standardmethode für die Matrix-Vektormultiplikation erweitert die 3D-Vektoren


mit dem Wert 1 in der vierten Dimension und danach wird diese wieder entfernt. Mit
einer eigenen 3x3-Matrix Implementation und Matrix-Vektormultiplikation könnten
einige Operationen pro Matrix-Vektormultiplikation eingespart werden. Da aber die
3D-Modelle aus sehr wenigen Punkten bestehen, ist dies vernachlässigbar.

Die genaue Implementation der Klasse MatrixManager kann im Quellcode im Anhang


eingesehen werden.

28
Reflexion

Im Folgenden werden ein Fazit gezogen und weitere Anwendungsideen für edVR vor-
gestellt. Darüber hinaus werden konkrete Ideen für einen Einsatz im gymnasialen Un-
terricht von edVR aufgezeigt sowie ein Lernwirksamkeitstest zu edVR skizziert.

3.1 Fazit
Rückblickend kann ich sagen, dass mir die Entwicklung von edVR sehr viel Spass ge-
macht hat. Im Kapitel ”Motivation”dieser Arbeit habe ich meine Überlegung erwähnt,
dass bestimmte Inhalte mit Virtual Reality besser vermittelt werden könnten. Deswegen
habe ich schon oft über eine solche Applikation nachgedacht, die mehrere Anwendun-
gen kombiniert und eine virtuelle Lernumgebung bildet. Mir fehlte davor schlichtweg
die Zeit zur Umsetzung dieser Idee. So erbrachte die Maturitätsarbeit die Möglichkeit,
dieses Projekt zu realisieren.

Das Ziel der Arbeit war, eine virtuelle Lernumgebung zu entwickeln und dafür zwei
erste Anwendungen für den gymnasialen Mathematiku§nterricht zu programmieren.
Dieses Ziel wurde erreicht. Mithilfe der Spiel-Engine Unity konnten zwei Anwendungen
für den Unterricht zu Ebenengleichungen und zu Matrizen entwickelt werden. Wichtig
an diesen beiden edVR-Anwendungen war, dass die Virtual Reality sinnvoll genutzt
und dadurch ein Mehrwert erbracht wird. Wie das der Fall ist und wie edVR in den
Unterricht übertragbar ist, wird im folgenden Kapitel 3.2 erläutert.

Die Weiterentwicklung von edVR ist ohne Probleme möglich. In Unity können weitere
Anwendungen modular und eigenständig entwickelt und edVR hinzugefügt werden. Das
Virtual Reality Toolkit ermöglicht die Entwicklung für ein breites Spektrum an VR-
Systemen mit geringstem Aufwand, auch für bald erscheinende, bessere VR-Systeme.

29
Wichtig ist, dass edVR auch auf diesen zukünftigen VR-Systemen funktioniert. Dennoch
funktioniert edVR derzeit nur auf der HTC Vive. Darauf läuft edVR ohne Komplika-
tionen. Sobald ich edVR mit weiteren Systemen testen kann, wird edVR auch darauf
verfügbar sein.

Die Frage, ob eine VR-Lernsoftware die Motivation und das Verständnis fördert,
kann nur mit einem Experiment überprüft werden. Wie dies aussehen könnte, dazu
beschäftige ich mich in Kapitel 3.3.

3.2 Einsatz im Schulunterricht


Mehrwert der Ebenengleichungsanwendung

Normalerweise wird im Unterricht mit Abbildungen und Skizzen von Ebenen gearbei-
tet. Die Abbildung ist dabei eine Projektion des eigentlich dreidimensionalen Raums
und die Ebenen können nur zweidimensional wiedergegeben werden. Auch digitale
3D-Animationen von Ebenenanordnungen im 3D-Raum können schlussendlich nur auf
einem 2D-Display betrachtet werden.

In edVR kann der Nutzende verschiedene Ebenen generieren und nachher im 3D-
Koordinatensystem in Augenschein nehmen und dank dem in Kapitel 2.1.1 erklärten
Room-Scale begehen. Da jedes Auge auf ein eigenes Display blickt, können Tiefen dar-
gestellt werden. Somit ist die Betrachtung und die korrekte Wiedergabe der Ebenen in
drei Dimensionen möglich. Mit den Controllern kann das Koordinatensystem skaliert
werden. So können die Schüler und Schülerinnen die Ebenen aus verschiedenen Per-
spektiven betrachten. Des Weiteren wird der Verlauf der Schnittgeraden zweier Ebenen
ersichtlich oder der Schnittpunkt dreier Ebenen sichtbar.

Das kann das Verständnis für die Berechnung von Ebenengleichungen erleichtern, da
die Berechnung nicht nur theoretisch erfolgt, sondern praktisch mit mehreren Sinnen,
nämlich mit Bewegung und Visualisierung, erfahrbar wird. Somit erweitert die Ap-
plikation den Unterricht und könnte der Schülerschaft zu einem besseren Verständnis
verhelfen. Die Virtual Reality bietet in diesem Sinne einen Mehrwert, unter ande-
rem auch weil es mit anderen Methoden unmöglich ist, die Ebenengleichung korrekt
darzustellen.

30
Konkrete Ideen für den Einsatz der Ebenengleichungsanwendung im Unter-
richt

Eine konkrete Idee für den Einsatz der Anwendung im Unterricht wäre die Verknüpfung
mit herkömmlichen, analogen Aufgaben auf Papier. Die Schülerschaft ist dabei schon
mit den Ebenengleichungen vertraut und muss nun folgende Aufgabe lösen: Das Ziel
ist es, sechs Ebenen zu generieren, die einen Würfel mit einer bestimmten Kantenlänge
einschliessen. Der Mittelpunkt des Würfels liegt im Ursprung.

Die Aufgabe kann in zwei unterschiedlichen Schwierigkeitsgraden gestellt werden. Die


einfachere Variante wäre, dass die Würfelseiten parallel zur den Koordinatenachsen
liegen oder die schwierigere Variante, dass der Würfel gedreht, also nicht parallel zu
den Koordinatenachsen liegt. Eine Veranschaulichung einer möglichen Lösung einer
solchen Aufgabe stellt die Abbildung 2.12 dar.

Das Ziel der Aufgabe ist es nun, dass die Schülerschaft die korrekten Normalenvektoren
für die Ausrichtung des Würfels und den richtigen d-Parameter für die Kantenlänge
des Würfels finden. Zuerst wird die Aufgabe mit Stift und Papier gelöst. Also werden
rechnerisch alle Ebenengleichungen auf- und im Kopf vorgestellt. Nachdem alle Ebenen
gefunden wurden, werden diese in edVR eingetragen. Wenn alle Ebenengleichungen
stimmen, dann sollte dem Nutzenden der gesuchte Würfel aus der Aufgabe in der
Anwendung erscheinen. Bei Fehlern wird einem visuell klar, was falsch gemacht wurde.
Zum Beispiel steht ein Normalenvektor einer Ebene nicht senkrecht zu den Anderen
und deswegen ist ein Hexaeder entstanden. Zuerst wird das Vorstellungsvermögen beim
Lösen der Aufgabe auf dem Papier angeregt und nachher bei der Überprüfung in der
Anwendung verfestigt oder eventuelle falsche Vorstellungen werden klar. So kann aus
diesen Fehlern besser gelernt und das Vorstellungsvermögen verbessert werden.

Um das Verständnis der Ebenengleichungen weiter zu verbessern, wurde eine allgemeine


Kontrastierung in die Applikation implementiert. Kontrastierung ist eine kognitiv ak-
tivierende Lernform, bei welcher unterschiedliche Konzepte gegenüber gestellt werden.
Studien haben gezeigt, dass mittels Kontrastierung das Verständnis von mathemati-
schen Konzepten nachhaltig und lernwirksam gefördert werden kann [18].

In der Anwendung ist die Kontrastierung in Form von Schiebereglern, die mit den

31
verschiedenen Parametern der Ebenengleichung verknüpft sind, implementiert (siehe
Abbildungen 2.10 und 2.11). Bei der Veränderung eines Schiebereglers, verändert sich
der Parameter sowie die Ebene im 3D-Raum. So wird direkt ersichtlich, wie sich die
Ebene bei der Änderung unterschiedlicher Parameter verhält.

Im Unterricht könnte nun diese Kontrastierung bei der Einführung der in Kapitel
2.2.2 erklärten Achsenabschnittsform verwendet werden. Die beiden gegenüber gestell-
ten Konzepte wären die zwei unterschiedlichen Gleichungsformen der Ebenen. Diese
unterscheiden sich im Aspekt, dass die Achsenabschnittsform eigentlich die Koordina-
tenform dividiert durch den Parameter d ist. Indem nun die Lernenden die Parameter
an den Schiebereglern verändern, wird gezeigt, dass die Achsenabschnittsform eigentlich
die Koordinatenform nur in einem anderen Verhältnis ist. So verknüpft die Kontras-
tierung diese beiden Gleichungsformen und das mathematische Verständnis könnte
vertieft werden.

Einsatz und Mehrwert der Matrizenanwendung

Eine Matrix ist ein abstraktes, mathematisches Konstrukt. Im Unterricht ist einem
zwar bewusst, dass die 3x3 Matrizen lineare Transformationen im 3D-Raum beschrei-
ben. Aber vor allem zu Beginn, wenn die Thematik der 3x3 Matrizen erst eingeführt
wird, hat man noch eine unklare Vorstellung, was eine Matrix schlussendlich im 3D-
Raum bewirkt.

Es können Matrizen mit einzelnen Vektoren multipliziert werden und man sieht, wie
diese verändert werden. Wenn man ganze Körper mit Matrizen multiplizieren will,
dann muss jeder einzelne Vektor mit der Matrix multipliziert werden und so kann die
neue Position des Körpers im 3D-Raum ermittelt werden.

Entweder stellt man sich dann die neue Form und Position des Körpers im Kopf
vor oder man skizziert es. Hierbei kommt wieder die gleiche Problematik wie bei den
Ebenengleichungen auf. In einer Skizze oder Abbildung können drei Dimensionen nicht
korrekt wiedergegeben werden. In der Matrizenanwendung existiert dieses Problem
nicht.

Nachdem die Matrix in der Applikation auf das 3D-Objekt angewendet wurde, kann

32
direkt erkannt werden, wie sich das 3D-Objekt verändert hat. So kann mit den einzel-
nen Komponenten experimentiert werden und es wird ersichtlich, wie unterschiedliche
Matrizen unterschiedliche lineare Transformation beschreiben. So kann die mentale
Vorstellung, was eine Matrix bewirkt, anhand einer korrekten Visualisierung in einem
3D-Koordinatensystem gestärkt und somit das Verständnis der Matrizen verbessert
werden (siehe Abbildungen 2.13 - 2.16).

3.3 Lernwirksamkeit
Die Entwicklung der beiden Anwendungen von edVR stand bei dieser Maturitätsarbeit
im Vordergrund. Das Ziel von edVR ist, den Unterricht zu erweitern und ein besseres
Verständnis des behandelten Stoffes zu ermöglichen. Die Hypothese wäre nun, dass VR
in verschiedenen Hinsichten den Lernenden zu einem besseren Verständnis verhilft. So
könnte es möglich sein, dass der Einsatz von VR z.B. durch das korrekte, umgeben-
de, räumliche Erscheinen von Inhalten oder durch die Bewegung und Interaktion im
3D-Raum das räumliche Vorstellungsvermögen stärkt und das Verständnis vertieft. Im
Folgenden wird nun ein möglicher Lernwirksamkeitstest zur Anwendung der Ebenen-
gleichungen skizziert.

Zu Beginn einer Studie zur Lernwirksamkeit müssen verschiedene Tests zu den kogni-
tiven Fähigkeiten, dem räumlichen Vorstellungsvermögen und der Motivation durch-
geführt werden. Aber auch Alter, Geschlecht und der sozioökonomische Status der
Eltern muss ermittelt werden. Ebenfalls muss die Mathematikkompentenz in einem
Vor- und Nachtest sowie der Stand des Wissens der Ebenengleichungen ermittelt wer-
den.

Um aussagekräftige Ergebnisse zu erzielen, braucht man für die Interventions- und


Kontrollgruppe je 200 Probanden. Das entspricht ungefähr 10 Schulklassen pro Grup-
pe. Dabei wird eine Poweranalyse durchgeführt, diese berechnet, ob effektiv ein Un-
terschied zwischen den Experimentalgruppen existiert. Dabei müssen die Schulklassen
auch denselben Schwerpunkt, z.B. Physik und Anwendung der Mathematik, besitzen,
damit alle den ähnlichen Wissensstand aufweisen.

Eine Lehrperson kann nicht so viele Klassen unterrichten, deswegen müsste ein ei-

33
genes Dossier zu Ebenengleichungen erstellt werden, das dann von der Schülerschaft
in einer bestimmten Anzahl Lektionen selbst erarbeitet wird. Die Lehrperson sollte
möglichst wenig Einfluss nehmen, darf aber Verständnisfragen beantworten. Das Dos-
sier besteht aus Theorie und Aufgaben. Der Interventionsgruppe steht die Applikation
edVR zur Verfügung und Probanden können diese beim Lösen von Aufgaben oder
Erarbeitung der Theorie benutzen. Die Kontrollgruppe arbeitet nur mit dem Dossier
und löst die Aufgaben ohne edVR.

Vor und nach der Intervention wird der Mathematikkompetenzstand allgemein und
zu Ebenengleichungen speziell mit Tests ermittelt. In der Analyse dieser erhobenen
Daten wird nun verglichen, ob die Interventionsgruppe besser abgeschnitten hat. In
der Interventionsgruppe kann zusätzlich geschaut werden, ob je nach dem wie viel Zeit
in der Anwendung verbracht wurde, ein unterschiedlich gutes Verständnis der Ebenen-
gleichungen vorhanden ist.

Die Ideen zu der Gestaltung des Lernwirksamkeitstests wurden im Gespräch mit Ursina
Markwalder, ETH Zürich Abteilung Empirische Lehr- und Lernforschung, entwickelt
[19].

3.4 Entwicklung weiterer edVR-Anwendungen


Wichtig an allen Experimenten und Darlegungen in edVR ist, dass die Virtual Reali-
ty sinnvoll eingesetzt wird und einen Mehrwert gegenüber herkömmlichen Methoden
bringt. Das Ziel der Anwendungen sollte sein, den Unterricht zu bereichern und ohne
grossen Aufwand darin nutzbar zu sein. Allgemein bedeutet dies, dass die Anwendungen
gut verständlich, schnell und intuitiv erlernbar sind und selbstverständlich relevante
Inhalte vermitteln. Im Folgenden werden meiner Ansicht nach weitere, sinnvolle Expe-
rimente und Anwendungen für edVR beschrieben.

Für den Physikunterricht sind viele Anwendungen denkbar. Prinzipiell kann jedes
Physikexperiment in edVR digitalisiert werden. Der Vorteil daran wäre, dass das Ex-
periment nicht mehr aufgebaut werden muss, gefahrlos durchgeführt werden kann und
Kraftvektoren und Felder visuell dargestellt werden können. Ebenfalls wird das Experi-
ment nicht mehr nur von der Lehrperson vor der ganzen Klasse durchgeführt, sondern

34
es kann von der ganzen Schülerschaft ausgeführt werden.

Elektromagnetismus ist ein Gebiet der Physik, wofür bei Experimenten die Visuali-
sierung von Kräften, elektrischen Feldern und deren Feldlinien besonders hilfreich für
das Verständnis wären. Das in Kapitel 1.3 erwähnte Maroon hat schon viele elektroma-
gnetische Experimente in diesem Stil umgesetzt. Wenn weitere Darlegungen in edVR zu
Elektromagnetismus hinzugefügt werden, dann sollte es mit einem Mehrwert gegenüber
dem Maroon Experiment umgesetzt werden.

Eine konkrete Idee für eine Physikerweiterung von edVR wäre eine interaktive Darle-
gung der Umlaufbahnen verschiedener Planeten. Dabei befände sich der Benutzende
oder die Benutzende in einem Planetensystem. Die Massen der verschiedenen Pla-
neten könnten durch Eingaben oder Schieberegler verändert werden. Dadurch würde
ersichtlich, welche Folgen eine Massenveränderung mit sich zieht. Ebenfalls könnten
alle Kräfte, die dabei auf die verschiedenen Planeten wirken, visualisiert werden.

Für den Chemieunterricht ist eine sinnvolle Idee eine interaktive Darlegung, in der
Objekte auf verschiedenen Ebenen betrachtet werden könnten. In der Virtual Reality
können Objekte beliebig gross skaliert werden. Die Idee dahinter wäre, dass je nach
dem wie stark das Objekt skaliert ist, man sich auf einer anderen Ebene befindet. Die
unterschiedlichen Ebenen wären die Molekular- oder Atomebene oder sogar die Anord-
nung der Elektronen in den einzelnen Atomen. Diese verschiedenen Ebenen könnten
auch bei Veranschaulichungen unterschiedlicher chemischer Reaktionstypen zur Ver-
wendung kommen. So würde ersichtlich, wie diese Ebenen unterschiedlich sind und
welche Veränderungen darin stattfinden.

In der Biologie sind ebenfalls sehr viele interaktive Anwendungen möglich. Eine davon
wäre z.B. die DNA-Replikation. Dabei muss ein DNA-Strang korrekt verdoppelt wer-
den. Das Ziel wäre, alle dabei vorkommenden Enzyme zu den richtigen Zeitpunkten
an den richtigen Orten am DNA-Strang anzusetzen. Durch diese Interaktivität und
praktische Durchführung im 3D-Raum könnte die DNA-Replikation besser gelernt und
verstanden werden.

Auch im Bereich der Mathematik, vor allem in der Geometrie, sind viele weitere
interessante und sinnvolle Darlegungen denkbar. So zum Beispiel das Thema der Kegel-

35
schnitte, welche auch mit der Anwendung der Umlaufbahnen aus der Physik kombiniert
werden könnten.

All diese Ideen zeigen auf, dass es viele Möglichkeiten gibt, den Unterricht mit Virtual
Reality zu erweitern. edVR bietet die technischen Voraussetzungen, um diese Inhalte
zu gestalten und im Unterricht einsetzbar zu machen. Wie im Fazit bereits erwähnt, ist
die Weiterentwicklung von edVR ohne Probleme möglich. Ein grosses Problem stellt
jedoch die derzeitige Kostenanschaffung eines VR-Systems dar, dies wird sich aber in
der Zukunft hoffentlich ändern.

36
Literaturverzeichnis

[1] Cedefop. Rising STEMs. http://www.cedefop.europa.eu/


de/publications-and-resources/statistics-and-indicators/
statistics-and-graphs/rising-stems, 13.03.2014. [Stand 13.11.2018].

[2] Maaron VR. https://jpirker.com/maroon/. [Stand 30.10.2018].

[3] Labster. https://www.labster.com/. [Stand 30.10.2018].

[4] S. Kavanagh, A. Luxton-Reilly, B. Wuensche, and B Plimmer. A systematic review


of Virtual Reality in education. Themes in Science and Technology Education,
10(2):85–119, 2017.

[5] R. Page. Brief history of flight simulation, 2000.

[6] William R. Sherman and Alan B. Craig. Understanding virtual reality: Interface,
application, and design. Morgan Kaufmann, 2018.

[7] ’Virtual Reality’ auf Duden online. https://www.duden.de/node/680857/


revisions/1805335/view. [Stand 09.12.2018].

[8] Sean Buckley. This Is How Valve’s Amazing Lighthou-


se Tracking Technology Works. https://gizmodo.com/
this-is-how-valve-s-amazing-lighthouse-tracking-technol-1705356768.
[Stand 20.12.2018].

[9] Jeff Ward. What is a Game Engine? http://www.gamecareerguide.com/


features/529/what_is_a_game_.php, 2008. [Stand 21.10.2018].

[10] Unity Public Relations. https://unity3d.com/de/public-relations. [Stand


01.11.2018].

37
[11] Entwickler thestonefox. Virtual Reality Toolkit. https://github.com/
thestonefox/VRTK. [Stand 20.12.2018].

[12] MIT Lizenz. https://opensource.org/licenses/MIT. [Stand 26.12.2018].

[13] Paul Dawkins. Pauls Online Notes, Calculus II, Equations of Planes. http:
//tutorial.math.lamar.edu/Classes/CalcII/EqnsOfPlanes.aspx. [Stand
31.05.2018].

[14] Mario Häfeli. Unterrichtsskript Ebenengleichungen. Frühlingssemester 2018, MNG


Rämibühl.

[15] Gilbert Strang and Kai Borre. Linear algebra, geodesy, and GPS. Siam, 1997.

[16] Prof. Dr. Erich Walter Farkas. Mathematik I, Kapitel 8.1: Reelle Matrizen. Vor-
lesungsfolien. Herbstsemester 2014, ETH Zürich.

[17] Thoralf Räsch. Wiley-Schnellkurs, Lineare Algebra II. WILEY-VCH Verlag GmbH,
2015.

[18] Ralph Schumacher. Kognitiv aktivierende Lernformen greifen. Bildung Schweiz,


06.06.2018.

[19] Ursina Markwalder. ETH Zürich. Gespräch. 13.12.2018.

Abbildungen

In der Legende aller Abbildungen ist die jeweilige Quelle angegeben. Bei Abbildungen
ohne Quellen handelt es sich um eigene Screenshots der Applikation und Bilder.

38
Anhang

Das Unity-Projekt mit dem Programmcode von edVR kann unter dem folgendem Link
als Zip-Datei heruntergeladen werden. Darin befindet sich auch die ausführbare Datei
der schlussendlichen edVR-Applikation. Wichtig, die Zip-Datei ist mit dem Passwort
edVR2019jeremias.baur passwortgeschützt.

https://jeremiasbaur.com/#edvr-anhang

Ebenfalls ist ein Demo Video von edVR zur Veranschaulichung verlinkt.

Bei Fragen und Anregungen können Sie sich gerne an mich wenden:
mail@jeremiasbaur.com

39
Danksagung

Mein besonderer Dank gilt Herrn Jens Maue, meinem Betreuer an der Kantonsschule
MNG Rämibühl, für die wertvolle Unterstützung und hilfreichen Inputs bei der Ent-
wicklung der Applikation edVR und der Verfassung der schriftlichen Arbeit.

Weiter bedanke ich mich bei meinem Mathematiklehrer Herrn Mario Häfeli für die
Anregung von Anwendungsmöglichkeiten von edVR im Unterricht.

Herzlich bedanken möchte ich mich bei Frau Ursina Markwalder, Abteilung Lehr-
und Lernforschung ETH Zürich, dass sie sich Zeit genommen hat und mir das Vorge-
hen beim Skizzieren von Lernwirksamkeitstests näher gebracht hat.

Letztlich möchte ich mich bei meinen Eltern für ihr Interesse und ihre Unterstützung
in Form von Korrekturlesen bedanken.

40
Eigenständigkeitserklärung

Der Unterzeichnete bestätigt mit Unterschrift, dass die Arbeit selbständig verfasst und
in schriftliche Form gebracht worden ist, dass sich die Mitwirkung anderer Personen
auf Beratung und Korrekturlesen beschränkt hat und dass alle verwendeten Unterlagen
und Gewährspersonen aufgeführt sind.

Datum, Ort:

Unterschrift:

41