01.03.2013 Aufrufe

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...

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.

⎛cos( ω.<br />

t)<br />

− sin( ω.<br />

t)<br />

⎜<br />

⎜ sin( ω.<br />

t)<br />

cos( ω.<br />

t)<br />

V ( t)<br />

=<br />

⎜ 0 0<br />

⎜<br />

⎝ 0 0<br />

0<br />

0<br />

1<br />

0<br />

0 ⎞<br />

⎟<br />

0 ⎟<br />

⎟<br />

.<br />

s.<br />

t<br />

⎟<br />

1<br />

⎟<br />

⎠<br />

Für die sich bewegenden Objekte werden für das aktuell betrachtete<br />

Zeitintervall folglich Schraubenbewegungen berechnet, so dass sich die<br />

Parameter der Objekte (Lage und Orientierung) als einfache Funktionen der<br />

Zeit darstellen lassen:<br />

x<br />

−1<br />

( t)<br />

= P(<br />

t)<br />

x0<br />

= P V ( t)<br />

PP0<br />

x0<br />

wobei x0 einem beliebigen Punkt, P(t) der Originalbewegung und P0 der<br />

Objektpositionsmatrix zum Zeitpunkt t0 entspricht. Diese Funktion ist die<br />

Grundlage für den kontinuierlichen Überlappungstest der OBBs, welcher im<br />

folgenden vorgestellt werden soll.<br />

Kontinuierlicher Überlappungstest für OBBs<br />

Grundlage des Verfahrens ist nun, dass der diskrete Überlappungstest zweier<br />

OBBs:<br />

⋅ ATB<br />

3<br />

> ∑ ai<br />

a⋅<br />

ei<br />

3<br />

+ ∑<br />

i=<br />

1<br />

i=<br />

1<br />

a T b a⋅<br />

f<br />

i<br />

i<br />

durch eine kontinuierliche Variante ersetzt wird. Für den kontinuierlichen Fall<br />

ergeben sich auf der linken und rechten Seite der Gleichung folglich<br />

kontinuierliche Funktionen der Zeit. Beide Funktionen können in ihrem<br />

Wertebereich eingegrenzt werden, in dem Intervall- Arithmetik [Snyder92]<br />

verwendet wird. Sind nun [l1,l2] die Grenzen der linken Seite und [r1,r2] die der<br />

rechten Seite, so ist a eine separierende Achse über dem gesamten<br />

Zeitintervall, wenn gilt: l1 > r2.<br />

Da nun dieser Test lediglich herausfinden kann, ob eine Achse a die Boxen<br />

über dem gesamten Zeitintervall separiert, soll das Intervall bei Fehlschlagen<br />

der 15 Tests geteilt werden. Als Kriterium für eine weitere Unterteilung eines<br />

getesteten Intervalls wird das Verhältnis von Geschwindigkeit und Größe der<br />

Objekte verwendet. Demnach soll ein Intervall geteilt werden, wenn folgender<br />

Ausdruck erfüllt ist:<br />

3<br />

⎛<br />

⎞<br />

vr<br />

⋅ ei<br />

( t0<br />

) + ( t1<br />

− t0<br />

) vr<br />

> k⎜∑<br />

bi<br />

vr<br />

⋅ f ( t0<br />

) ⎟<br />

⎝ i=<br />

1<br />

⎠<br />

3<br />

∑ ai i<br />

i=<br />

1<br />

wobei vr der Relativgeschwindigkeit der beiden Objekte:<br />

ei, fi ... Orientierungen der Boxen<br />

ai, bi ... Ausdehnungen der Boxen<br />

a<br />

TA, TB<br />

... zu testende Achse<br />

... Mittelpunkte der Boxen<br />

67

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!