Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi vektor an einer geraden bzw an einem vektor spiegeln (https://www.delphipraxis.net/120341-vektor-einer-geraden-bzw-einem-vektor-spiegeln.html)

vsilverlord 9. Sep 2008 18:09


vektor an einer geraden bzw an einem vektor spiegeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zwecks der Programmierung des elastischen Stoßes bei Kugeln will ich einen Vektor [den Geschwindigkeitsvektor] an einer Geraden [Die Verbindung beider Mittelpunkte] spiegeln.
Ich will eine Funktion programmieren, deren Parameter der Vektor und eine Gerade (bzw Vektor)sind. Ausgabe soll dann der neue, gespiegelte Vektor sein. Format für Vektoren habe ich schon, per Record (TVektor; x,y,z: currency) sodass ich jetzt nur noch die mathematische Lösung dieses Problems brauche, derer ich bedauerlicherweise selbst nach stundenlanger googlesuche nicht habhaft werden konnte.
Bei Unverständnis kann ich ein Bild zur Veranschaulichung einfügen. :-D

omata 9. Sep 2008 18:42

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
klick und klick

vsilverlord 10. Sep 2008 14:45

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
wie multipliziere ich die Spiegelungsmatrix mit einem vektor? die spiegelungsmatrix hat ja das format 2x2 und der vektor 3x1. wie funktioniert das?

3_of_8 10. Sep 2008 14:59

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
Gar nicht. Für Vektoren im Raum R^3 brauchst du eine andere Matrix, und zwar eine 3*3er.

Mit Spiegelmatrizen kenne ich mich aber nicht wirklich aus. Ich würde es einfach mit Drehmatrizen lösen:

Ich würde einfach den Vektor um 2(atan(y2/x2)-atan(y1/x1)) drehen, dafür kannst du eine Rotationsmatrix benutzen (Artikel in Wikipedia.

(v1 ist der Vektor, den du spiegeln willst und v2 der, an dem du ihn spiegeln willst)

vsilverlord 11. Sep 2008 17:39

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
Tut mir leid, aber ich weiß immer noch nicht wie das funktioniert, ich hab keine Ahnung was ich jetzt mit dieser Rotationsmatrix machen soll.
Bitte sagt mir doch einfach die Funktion, mit der ich den Vektor spiegle. :pale:

Jelly 11. Sep 2008 18:19

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
Wenn zwei Kugeln sich stossen, dann bleibt die Bewegung immer in einer Ebene. Wozu also in 3D denken.

3_of_8 11. Sep 2008 18:50

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
Die Rotationsmatrix multiplizierst du einfach mit dem Vektor.

vsilverlord 12. Sep 2008 19:13

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
in Ordnung. Wie geht das?

Jelly 12. Sep 2008 19:57

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
Du hast noch nicht auf meinen Post reagiert... Bist du auf den 3D Raum gezwungen?...

Rotationen im 3D sind nicht so trivial, weil 2 Winkel ins Spiel kommen.

vsilverlord 12. Sep 2008 20:23

Re: vektor an einer geraden bzw an einem vektor spiegeln
 
Wenn ich das Problem mit Vektoren löse, habe ich gar keine Winkel!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz