Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
Diplomarbeit (*.pdf - 5,3MB) - Faculty of Computer Science ...
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