Thema: Delphi Ballflug bei Tennisspiel

Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#7

Re: Ballflug bei Tennisspiel

  Alt 28. Mai 2006, 16:07
Zitat von DGL-luke:
ansonsten kann man das auch sicher exakt berechnen... irgendwas trinagulares oder so...
Ja, sowas in die Richtung. Ich hab mir mal schnell ein Blatt Papier unter die Finger gekrallt und was ueberlegt....
Im Eigentlichen reicht dir diese Formel:
Code:
BallPos - (EyePos - BallPos) * (BallPos.Z / (EyePos.Z - BallPos.Z));
(EyePos und BallPos sind Vektoren, die die X, Y und Z-Position von Ball und Auge beinhalten )
Ok, ein bisschen zur Erklaerung: Stell dir einen Strahl vor, der bei deinem Auge startet und durch den Ball geht. Dort, wo der Strahl deinen "Tennisplatz" trifft, musst du den Ball zeichnen. Das zu berechnen ist am end nur Geometrie. (Falls ich dir des genauer erklaeren soll meld dich einfach ) Das Ergebnis ist wiederum ein 3D-Vektor. Allerdings ist dessen Z-Komponente immer 0 (bzw. sollte sie zumindest sein ^^), d.h. den kann man dann fast schon als 2D-Vektor betrachten, denn in X und Y stehen die Koordinaten, wo du den Ball zeichnen musst
Uebrigens: Das Prinzip funktioniert auch mit deinem Schatten: Die Sonne ist der Ausgangspunkt deines Strahles, der wieder durch den Ball verlaeuft. Dort, wo dieser Strahl den Boden trifft, muss der Schatten hin. Is doch einfach, oder?

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat