2D-Kollisionserkennung
Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
[gesichtete Version] | [unmarkierte Version] |
(→Verdrehte Gerade) |
K (→Beliebige Gerade: kleienre Fehler beseitigt) |
||
Zeile 339: | Zeile 339: | ||
Fasst man alle Berechnungen zusammen, erhält man die folgende Vorgehensweise. Es wird angenommen, dass zwei Punkte der Gerade <math>P</math> und <math>Q</math> gegeben sind. | Fasst man alle Berechnungen zusammen, erhält man die folgende Vorgehensweise. Es wird angenommen, dass zwei Punkte der Gerade <math>P</math> und <math>Q</math> gegeben sind. | ||
* Die Differenz der Punkte P und Q, <math>R</math> wird mit <math>R = \left| P - Q \right|</math> ermittelt. | * Die Differenz der Punkte P und Q, <math>R</math> wird mit <math>R = \left| P - Q \right|</math> ermittelt. | ||
− | * Die Hypotenuse <math>H</math> wird ermittelt durch <math>H = \sqrt{R_x^2 + R_y^2}</math>. | + | * Die Hypotenuse <math>H</math> wird ermittelt durch <math>H = \sqrt{{R_x}^2 + {R_y}^2}</math>. |
* Wenn <math>P_x < Q_x \land P_y < Q_y \lor P_x > Q_x \land P_z > Q_z</math> zutrifft: | * Wenn <math>P_x < Q_x \land P_y < Q_y \lor P_x > Q_x \land P_z > Q_z</math> zutrifft: | ||
** Das Ergebnis des Kosinus, <math>c</math>, wird ermittelt mit <math>c = \tfrac{R_y}{H}</math>. | ** Das Ergebnis des Kosinus, <math>c</math>, wird ermittelt mit <math>c = \tfrac{R_y}{H}</math>. | ||
Zeile 348: | Zeile 348: | ||
** Das Ergebnis des Kosinus, <math>c</math>, wird ermittelt mit <math>c = \tfrac{R_x}{H}</math>. | ** Das Ergebnis des Kosinus, <math>c</math>, wird ermittelt mit <math>c = \tfrac{R_x}{H}</math>. | ||
** Das Ergebnis des Sinus, <math>s</math>, wird ermittelt mit <math>s = \tfrac{R_y}{H}</math>. | ** Das Ergebnis des Sinus, <math>s</math>, wird ermittelt mit <math>s = \tfrac{R_y}{H}</math>. | ||
− | ** Die y-Koordinate des gedrehten Punkts <math>y'</math> wird ermittelt mit <math>y' = P_xs | + | ** Die y-Koordinate des gedrehten Punkts <math>y'</math> wird ermittelt mit <math>y' = P_xs + P_yc</math>. |
** Wenn <math>-r \le y \le r</math> zutrifft, liegt eine Kollision vor. | ** Wenn <math>-r \le y \le r</math> zutrifft, liegt eine Kollision vor. |
Version vom 24. November 2011, 09:00 Uhr
Klicke hier, um diese Version anzusehen.