Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.483 Beiträge
Delphi 12 Athens
|
Re: Merken, ob ein Objekt auf den Koordinaten ist
15. Dez 2009, 17:59
Also erstmal sollte man dies
kollosion := Sqrt(Power(X2-X1, 2) + Power(Y2-Y1, 2)) = 0;
durch das ersetzen
kollosion := Sqrt(Sqr(X2-X1) + Sqr(Y2-Y1)) = 0;
oder wenn man Math einbindet, dadurch
kollosion := Hypot(X2-X1, Y2-Y1) = 0;
Aber eigentlich hat ja die Kugel einen Radius R und somit ist der Abstand der Kugel (X, Y) von einem Punkt (a, b):
abstand := Hypot(x - a, y - b) - R;
Will man nun erkennen, ob eine Kugel mit einem anderen Objekt kollidiert, braucht den Punkt des Objekts, dessen Abstand zur Kugel am kleinsten ist, und der ist ziemlich abhängig von der Form des Objekts. Am einfachsten geht es mit zwei Kugeln, dann ist der Abstand der Kugeln gleich dem Abstand der Mittelpunkte abzüglich der beiden Radien. Bei allen anderen Objektformen muss man neu nachdenken.
Uwe Raabe
|