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.

Die optimierten Gleichungen der oben beschriebenen drei Fälle liefen das<br />

gleiche Ergebnis. Die Ungleichung ist somit nicht erfüllt, das heißt der<br />

Nullvektor separiert die beiden Boxen nicht. Dies ist an sich wünschenswert<br />

und stellt im Grunde damit kein Problem dar.<br />

Nun ist es aber so, dass durch Rechenungenauigkeiten das Ergebnis verfälscht<br />

werden kann. [Gottschalk] zeigt, dass beispielsweise für den folgenden Fall:<br />

T<br />

B<br />

⎛− 0.<br />

147256⎞<br />

⎟<br />

= 1.<br />

76777<br />

⎜<br />

⎜<br />

⎜<br />

⎝<br />

B<br />

R<br />

1.<br />

80947<br />

⎟<br />

⎟<br />

⎠<br />

⎛ − 0.<br />

0641566<br />

⎜<br />

= ⎜1.<br />

54303⋅10<br />

⎜<br />

⎝<br />

− 0.<br />

99794<br />

−17<br />

unter Verwendung der Berechnung<br />

ein Vergleich<br />

⎛3.<br />

53553⎞<br />

⎜ ⎟<br />

a = ⎜1.<br />

76777⎟<br />

⎜ ⎟<br />

⎝ 0 ⎠<br />

− 5.<br />

54743⋅10<br />

1<br />

6.<br />

41346 ⋅10<br />

−16<br />

−20<br />

⎛ 2.<br />

33155 ⎞<br />

⎜ ⎟<br />

b = ⎜0.<br />

565685⎟<br />

⎜ ⎟<br />

⎝ 0.<br />

56452 ⎠<br />

− 0.<br />

99794<br />

− 2.<br />

22883⋅10<br />

0.<br />

0641566<br />

B B B B<br />

B<br />

B<br />

B<br />

B<br />

T1 R32<br />

− T3<br />

R12<br />

> a1<br />

R32<br />

+ a3<br />

R12<br />

+ b1<br />

R23<br />

+ b3<br />

R21<br />

1.<br />

00378137201⋅10<br />

−15<br />

> 5.<br />

28600321408⋅10<br />

entsteht, der somit als wahr ausgewertet werden würde (IEEE 64-bit double<br />

precision floating point). Das hieße, dass der Nullvektor die beiden Boxen<br />

separiert, obwohl sich diese <strong>of</strong>fensichtlich überlappen.<br />

Die rechte Seite der Ungleichung sollte in diesem Falle also größer sein, wenn<br />

sich die Boxen überlappen. [Gottschalk] zeigt, dass durch aufaddieren einer<br />

kleinen Zahl auf die Werte der Rotationsmatrix R B der rechten Seite der<br />

Ungleichung, der Effekt erreicht wird, dass bei nahezu parallelen Kanten der<br />

Test extrem konservativ wird und somit das Nullvektorproblem behoben<br />

werden kann. Grund hierfür ist, dass eine Aufaddierung einer sehr kleinen Zahl<br />

(Gottschalk wählt 0.000001) speziell für Werte nahe Null eine enorme<br />

Erhöhung darstellt und somit bei Ungleichungen, deren linke und rechte Seite<br />

Werte nahe Null besitzen, die rechte Seite entsprechend vergrößert wird. Auf<br />

alle anderen Ungleichungen ist der Einfluss dagegen eher gering.<br />

Da es sich bei den Elementen der Rotationsmatrix um Werte zwischen -1 und 1<br />

handelt, ist die Aufaddierung der Konstanten somit unabhängig von den<br />

Ausmaßen der Objekte, also folglich skalierungsinvariant.<br />

−16<br />

−16<br />

⎞<br />

⎟<br />

⎟<br />

⎟<br />

⎠<br />

93

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!