KAPITEL 6. MULTIMODALE INTERAKTION BEI ZWEIEXEMPLARISCHEN SPIELENuntere<strong>in</strong>ander, ebenso wie die Berechnung der physikalischen Vorgänge. Weiterh<strong>in</strong> sorgt dieLogiksteuerung für die Visualisierung der Szene <strong>in</strong>nerhalb der AR für den Nutzer, aber auchfür die Visualisierung der GUIs für das Progr<strong>am</strong>m selbst. So ist zwischen der Visualisierungfür den Spieler und den Spielleiter zu unterscheiden. Das GUI für den Spielleiter bietet dieMöglichkeiten, das Progr<strong>am</strong>m zu starten oder zu konfigurieren. Währenddessen stellt dieVisualisierung dem Spieler nur die re<strong>in</strong>e Szene <strong>in</strong> AR zur Verfügung (vgl. Abb. 6.4).(a) „BillARd“ vor dem Anstoß(b) „BillARd“ während des SpielesAbbildung 6.4: „BillARd“ aus Sicht e<strong>in</strong>es BeobachtersFür „BillARd“ wurde für die visuelle Ausgabe das <strong>in</strong> Kapitel 3.1 beschriebene System zurVisualisierung von AR verwendet. Für e<strong>in</strong> haptisches Feedback wurde der WII-Controller ausKapitel 4.3 <strong>in</strong>tegriert. Dieser stellt zugleich das für „BillARd“ entwickelte Menü <strong>in</strong> AR zurVerfügung und dient somit als E<strong>in</strong>gabegerät. Als zusätzliche E<strong>in</strong>gabemöglichkeit kommt derGestenerkenner aus Kapitel 4.1 zum E<strong>in</strong>satz. Dieser dient dazu, dem Nutzer das Greifen derKugeln zu ermöglichen. Die e<strong>in</strong>gebundene Kollisionserkennung aus Kapitel 5.1 ermöglicht es,reale Objekte auf dem Tisch zu platzieren. Diese realen Objekte werden dann automatischvirtuell <strong>in</strong> Echtzeit modelliert und können mit dem Spielgeschehen <strong>in</strong> <strong>Interaktion</strong> treten.Diese Vorgänge der <strong>Interaktion</strong> wirken sich auf die zugrundeliegende Physik des Spielesaus. Daher übernimmt die Logiksteuerung auch die komplette Simulation der physikalischenVorgänge. Hierzu zählen die Roll- und Stoßeigenschaften der Kugeln untere<strong>in</strong>ander, mit derBande oder mit dem Queue. Ebenfalls werden hier die Kollisionen zwischen den Kugeln undden automatisch modellierten realen Gegenständen berücksichtigt.Die folgenden Kapitel beschreiben die Entwicklung bzw. Integration der e<strong>in</strong>zelnen Elementeder Logiksteuerung.6.1.4 PhysikDie Simulation der Physik für „BillARd“ umfasst die Berechnung von Kollisionen von e<strong>in</strong>erKugel mit dem Queue, also dem Stoßen, mit e<strong>in</strong>er weiteren Kugel, mit der Bande, sowiemit dem realen Objekt, das durch die Kollisionserkennung bereits virtuell abgebildet wurde.Alle möglichen Kollisionspartner werden während des Spieles durchgehend auf e<strong>in</strong>e möglicheKollision h<strong>in</strong> überprüft. Wird e<strong>in</strong>e solche detektiert, wird die Simulation der Kollision gestartet.Die e<strong>in</strong>zelnen Kollisionsmöglichkeiten und deren Berechnung werden nun im Folgendenvorgestellt.84
6.1. BILLARD - AUGMENTED REALITY BILLARDFür die Simulation e<strong>in</strong>es Stoßes mit dem Queue benötigt die Physik die Position derSpitze des Queues, die Geschw<strong>in</strong>digkeit des Queues beim Stoß, sowie die Stoßrichtung. Diebeiden letzten Par<strong>am</strong>eter dienen anschließend zur Berechnung der Bewegung der virtuellen,gestoßenen Kugel. Über die Position der Spitze des Queues kann ermittelt werden, wann e<strong>in</strong>eKollision von Kugel k und der Spitze s des Queues vorliegt.Die Position der Spitze des Queues kann direkt aus den Daten des IR-Track<strong>in</strong>gsystemsbestimmt werden. Das KOS des Queues ist so platziert, dass dessen Ursprung genau <strong>in</strong> derSpitze des Queues liegt. Daher ist die Position der Spitze mit dem Ursprung des KOS identisch.E<strong>in</strong>e Kollision wird dann detektiert, sobald der Abstand d s,k dieser Spitze zu e<strong>in</strong>emMittelpunkt m k e<strong>in</strong>er Kugel unter den Radius r k fällt.d s,k < r k =√(x s − x k ) 2 + (y s − y k ) 2 + (z s − z k ) 2Die Geschw<strong>in</strong>digkeit des Queues berechnet sich aus den vorangegangenen Bewegungsschritten,die über das Track<strong>in</strong>gsystem ermittelt werden können. E<strong>in</strong> Bewegungsschritt stellt die Distanzv s zwischen zwei Positionen der Spitze des Queues zu den Zeitpunkten t und t − 1 dar.v s =√(x s,t − x s,t−1 ) 2 + (y s,t − y s,t−1 ) 2 + (z s,t − z s,t−1 ) 2Aus den letzten 5 Bewegungschritten wird dann e<strong>in</strong>e durchschnittliche Geschw<strong>in</strong>digkeit V serrechnet.V s =−4 ∑n=0v s,n5Die Stoßrichtung ergibt sich aus der Differenz zweier fester Punkte im KOS des Queues, die<strong>in</strong> Weltkoord<strong>in</strong>aten umgerechnet werden. Dazu wird der Richtungsvektor der umgerechnetenPunkte ermittelt und als Richtung für den Stoß angenommen. Da der Ursprung mit derSpitze des Queues übere<strong>in</strong>stimmt und dieser an der z-Achse des Queues ausgerichtet ist,kann e<strong>in</strong> Punkt auf der z-Achse des KOS des Queues herangezogen werden. Zus<strong>am</strong>men mitdem Ursprung des KOS des Queues werden diese beiden Punkte <strong>in</strong> das KOS des Tischesübergeführt. Dort kann die Richtung aus den beiden Positionen bestimmt werden. Es giltalso für e<strong>in</strong>en Punkt im KOS des Queues x qx t = R t (R q x q + p q− p t)Wobei x t den Punkt im KOS des Tisches beschreibt. R t bzw. R q beschreiben die Rotationsmatrizenzwischen WeltKOS und dem KOS des Tisches bzw. Queues. p tund p qbezeichnendabei den Ursprung der beiden KOS <strong>in</strong> Weltkoord<strong>in</strong>aten.Die Kollision zwischen zwei Kugeln wird detektiert, sobald der Abstand zweier Kugelmittelpunktekle<strong>in</strong>er als die Summe der beiden Radien der Kugeln werden. Für die Berechnungder neuen Richtung und der resultierenden Geschw<strong>in</strong>digkeit wird e<strong>in</strong> dezentraler, elastischerStoß angenommen. Dabei s<strong>in</strong>d die Mittelpunkte der beiden Kugeln p 1und p 2, sowie derenGeschw<strong>in</strong>digkeiten v 1 und v 2 , bekannt (vgl. Abb. 6.5).Ausgehend vom Impulserhaltungssatz werden die beiden Geschw<strong>in</strong>digkeiten <strong>in</strong> zwei Anteilezerlegt. E<strong>in</strong> Anteil wird <strong>in</strong> Richtung der Verb<strong>in</strong>dungsl<strong>in</strong>ie der beiden Mittelpunkte beim Stoßaufgetragen, der zweite senkrecht dazu. Der Anteil <strong>in</strong> Richtung der Verb<strong>in</strong>dungsl<strong>in</strong>ie wird nachdem Wechselwirkungspr<strong>in</strong>zip ausgetauscht, der Anteil senkrecht dazu bleibt bei den Kugelnunverändert. Um die neuen Richtungen und Geschw<strong>in</strong>digkeiten zu berechnen, benötigt man85