03.01.2013 Aufrufe

Schriftliche Ausarbeitung herunterladen

Schriftliche Ausarbeitung herunterladen

Schriftliche Ausarbeitung herunterladen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

22 KAPITEL 3. LÖSUNGSENTWURF<br />

d = arctan Φ<br />

; (3.2)<br />

2<br />

Es ergibt sich, über den Ortsvektor�s zum Zentrum der Bildebene, der Vektor �f zum Fokuspunkt.<br />

�f =�s −�v ∗ d, �v : Blickrichtung (3.3)<br />

Die Zusammenhänge zwischen den Abständen und Vektoren, welche zur Berechnung eines Strahls<br />

durch die Szene verwendet werden, sind in Abbildung 3.4 dargestellt. Für den Richtungsvektor �l, der<br />

die Strahlrichtung vom Fokuspunkt zum Durchstoßpunkt in der Bildebene bei den Koordinaten (x,y)<br />

angibt, lässt sich folgender Zusammenhang herleiten:<br />

�l =�v ∗ d +�r ∗ x +�u ∗ y, �r,�u : Right/U p −Vektor der Kamera (3.4)<br />

Die Verlängerung der so gewonnenen Richtung �l ergibt einen Strahl durch die Szene, dessen erster<br />

Schnittpunkt �sp mit der gerenderten Szene den zu messenden Abstand bestimmt.<br />

zvirtuell = |�sp − �f | (3.5)<br />

Anhand der in Absatz 2.1.4 vorgestellten Gleichung 2.9 lässt sich die Distanz zreal eines Punktes im<br />

Kamerabild aus dem Disparitätswert des Tiefenbildes berechnen. Diese kann mit der Distanz im Modell<br />

zvirtuell verglichen werden. Um die Positionsvarianten effizient miteinander vergleichen zu können, wird<br />

die Summe der Abstandsdifferenzen zwischen Messpunkten in Modell und Realität für jede Variante i<br />

in einem Differenzvektor gespeichert:<br />

�di = ∑ j<br />

|zreal − zvirtuell|, j : 1..Anzahl der Messpunkte (3.6)<br />

Für Fälle, in denen die virtuelle Kamera direkt vor einer Tür positioniert ist, werden alle virtuellen<br />

Distanzen zusätzlich für eine offene Tür berechnet und der kleinere Differenzvektor ausgewählt.<br />

Aktualisierung der Position<br />

Durch den Vergleich der Differenzvektoren �di aller Varianten i ergibt sich die beste Positionsvariante<br />

als die Variante mit den kleinsten Differenzen. Für die in Abbildung 3.3 (c) dargestellte Situation<br />

stellt Position 1 die beste Lösung dar. Anhand dieser Information wird die Kameraposition im Modell<br />

aktualisiert.<br />

Über eine Translation wird die virtuelle Kamera in Richtung der besten Positionsvariante verschoben.<br />

Hierbei muss nicht zwingend derselbe Abstand verwendet werden, wie er zur Berechnung der Varianten<br />

angenommen wurde. Dieser kann, abhängig von der Größe des Fehlers, dynamisch bestimmt werden,<br />

um die Positionsfindung bei großen Differenzen zu beschleunigen und bei kleinen zu verfeinern. Auf<br />

diese Weise führt das Verfahren auch bei größeren Positionsabweichungen nach wenigen Schritten zu<br />

guten Ergebnissen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!