Trigometrie < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:39 So 17.07.2005 | Autor: | Panama |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Hallo Leute,
ich hoffe mein Thema gehört zu LA.
Ich bin selber schwach in Mathe und hoffe auf diesem Wege eine Antwort von euch Mathematiker zu bekommen.
Mein Problem. Ich möchte Winkel zwischen verschiedenen Punkten berechnen. So das ich zum Schluß für die Punkte jeweils drei Winkel bekomme. Winkel [mm] \alpha [/mm] um x, [mm] \beta [/mm] um y und [mm] \gamma [/mm] um die z Achse
Nehmen wir an ich habe vier Punkte:
x1 y1 z1
x2 y2 z2
x3 y3 z3
x4 y4 z4
und zu jedem Punkt besitze ich ebenfalls die Information der Ausrichtung bzw. Orientierung im Raum (globales KS) in einer 3x3 Matrix. In der sind die Information enthalten: Rotation um x y z achse.
Ich möchte jetzt die drei Winkel zwischen den einzelnen 4 Punkten x,y,z berechnen können. Um quasi die Winkel aus den jeweils lokalen KS zu bekommen. Die Punkte xyz sind wiegesagt in einem globalen KS definiert.
x1 y1 z1 ist sozusagen der Ausgangspunkt. Dabei muß ich beachten, das sich "das Koordinatensystem "mitdreht" (lokal).
Hoffe Ihr versteht die Frage!
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:59 So 17.07.2005 | Autor: | leduart |
Hallo Panama
Deine Frage ist für mich nicht klar genug. Willst du die Winkel in dem Viereck?
was du mit dem "gobalen" KS meinst ist auch nicht klar. Wenn man Punkte mit (x1,y1,z1) angibt, meint man immer ihre Komponenten in einem festen System. Winkel sind nur in einer Ebene festgelegt. Also kannst du "den" Winkel von (x1,y1,z1) zur x-Achse nicht eindeutig festlegen. Du kannst den Vektor von (0,0,0) zu (x1,y1,z1) meinen. jetzt kannst du die Ebene nehmen, die durch diesen Vektor und die x-Achse festgelegt ist und den Winkel messen, oder du kannst die Projektion des Vektors in die x-y-Ebene meinen und dann den Winkel, oder in x-z Ebene.
Stell dir einen Würfel vor, 3 kanten in x,y,z Richtung und jetzt die Raumdiagonale Welche Winkel willst du dann wissen. Oder nimm die Wände deines Zimmers, stell einen Besen in eine Ecke, die 3 Kanten sind die KOO Achsen, die Spitze des Besens ist (x1,y1,z1), welche Winkel willst du wissen?
Vielleicht hilft es auch, wenn du sagst in welchem zusammenhang du das brauchst.
Gruss leduart
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:01 So 17.07.2005 | Autor: | Panama |
Hallo,
danke ersteinmal das du versuchst mir zu helfen.
ich versuche es mal genauer zu beschreiben. mit den Punkten im drei dim. raum meine ich gelenke. ich habe also ein koodinatensystem (raum wo sich z.b. der arm befindet, das meine ich mit globales ks) und kann die einzelnen gelenke in diesem raum orten. daraus folgen also koordinaten der gelenke. (schulter, ellbogen, handgelenk...) jeder dieser gelenke besitzt eine ausrichtung, damit ich weiß in welche richtung die gelenke zeigen. (rotationsmatrix). aber das was ich haben mochte sind NICHT die winkel von dem NP zu den einzelnen punkten (gelenke) bzw. vektoren, sondern die winkel zu den gelenken selber. (lokal). das heißt winkel ich zum beispiel mein arm an möchte ich den winkel zwischen ober und unterarm herausbekommen bzw die winkel, wie sich der ellbogen um die verschiedenen achsen drehen muß um die bestimmte position zu bekommen. also nicht die winkel in dem koordinatensystem sind gefragt sondern die lokalen (die gelenke zueinander). ...jedes gelenk besitzt also ein lokales ks, und ist mit einem segment zu dem anderen gelenk verbunden. wenn sich das erste gelenk bewegt haben wir ein neues ks von dem aus die winkel zum nächsten gelenk berechnet werden. um x y und z achse. hoffe ich konnte es einwenig verdeutlichen.
kann auch sein das ich ein denkfehler drin habe.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:57 Mo 18.07.2005 | Autor: | MathePower |
Hallo Panama,
> Hallo,
> danke ersteinmal das du versuchst mir zu helfen.
> ich versuche es mal genauer zu beschreiben. mit den Punkten
> im drei dim. raum meine ich gelenke. ich habe also ein
> koodinatensystem (raum wo sich z.b. der arm befindet, das
> meine ich mit globales ks) und kann die einzelnen gelenke
> in diesem raum orten. daraus folgen also koordinaten der
> gelenke. (schulter, ellbogen, handgelenk...) jeder dieser
> gelenke besitzt eine ausrichtung, damit ich weiß in welche
> richtung die gelenke zeigen. (rotationsmatrix). aber das
> was ich haben mochte sind NICHT die winkel von dem NP zu
> den einzelnen punkten (gelenke) bzw. vektoren, sondern die
> winkel zu den gelenken selber. (lokal). das heißt winkel
> ich zum beispiel mein arm an möchte ich den winkel zwischen
> ober und unterarm herausbekommen bzw die winkel, wie sich
> der ellbogen um die verschiedenen achsen drehen muß um die
> bestimmte position zu bekommen. also nicht die winkel in
> dem koordinatensystem sind gefragt sondern die lokalen (die
> gelenke zueinander). ...jedes gelenk besitzt also ein
> lokales ks, und ist mit einem segment zu dem anderen gelenk
> verbunden. wenn sich das erste gelenk bewegt haben wir ein
> neues ks von dem aus die winkel zum nächsten gelenk
> berechnet werden. um x y und z achse. hoffe ich konnte es
> einwenig verdeutlichen.
> kann auch sein das ich ein denkfehler drin habe.
das sieht mir nach der Bestimung des Winkels zwischen zwei Vektoren aus.
Anhand des Beispiels Unterarm-Ellbogen-Oberarm moeche ich Dir das erklaeren. Ist [mm]P_{1}[/mm] der gemeinsame Punkt zwischen Ober- und Unterarm. Weiterhin sei [mm]P_{2}[/mm] der Endpunkt des Unterarms sowie [mm]P_{3}[/mm] der Endpunkt des Oberarms. Dann ergibts sich der Winkel zwischen Ober- und Unterarm wie folgt:
[mm]\cos \;\alpha \; = \;\frac{{ < P_3 - \;P_1 ,\;P_2 - \;P_1 > }}
{{\left| {P_3 - \;P_1 } \right|\;\left| {P_2 - \;P_1 } \right|}}[/mm]
wobei <,> das Skalarprodukt und || der Betrag ist.
Gruß
MathePower
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 10:59 Do 21.07.2005 | Autor: | Panama |
Hallo,
da ich die Rotationsmatrixen der Punkte besitze. Kann ich die Differenz von zwei Rotationsmatrizen berechnen und dann daraus die Veränderung bekommen? Winkel a,b,c
so das ich also die Winkel bekomme, mit den ich von einem Punkt zum anderen komme. (Euler)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 01:03 Mo 25.07.2005 | Autor: | leonhard |
Ich verstehe auch nach deinen zusätzlichen Erklärungen
nicht, was du eigentlich berechnen möchtest.
Könntest Du vielleicht mehr Bezeichnungen angeben?
Ich versuche mal ein Beispiel zu geben, auf welchem
wir vielleicht aufbauen können.
Die Schulter befindet sich am Ursprung
Der Oberarm endet am Punkt A.
Du hast ein Ellbogen-Koordinatensystem, das ich mal
mit einer 3x3(Rotations-)Matrix [mm] $Q=[q_1| q_2 [/mm] | [mm] q_3]$ [/mm] beschreibe.
[mm] $q_1$ [/mm] zeige dabei in Richtung vom Oberarm, is parallel zu A
[mm] $q_2$ [/mm] in Richtung der Achse des Gelenks und
[mm] $q_3$ [/mm] senkrecht auf die beiden anderen.
[Dateianhang nicht öffentlich]
Ein Punkt (xyz) im Ellbogen-Koordinatensystem
ist dann $A+Q [mm] (xyz)^T$ [/mm] im globalen KS.
> Hallo,
> da ich die Rotationsmatrixen der Punkte besitze. Kann ich
> die Differenz von zwei Rotationsmatrizen berechnen und dann
> daraus die Veränderung bekommen? Winkel a,b,c
> so das ich also die Winkel bekomme, mit den ich von einem
> Punkt zum anderen komme. (Euler)
Ich verstehe nicht was Du mit "von einem Punkt zum andern kommen"
meinst. Hast du das Handgelenk gegeben, und möchtest nun A,Q und den
Winkel im Ellbogen bestimmen um das Handgelenk an die gewünschte
Stelle zu bringen?
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:33 Di 19.07.2005 | Autor: | Palin |
Also wenn ich die Frage richtig ferstanden hab suchst du zuerst die Winkel
von dem Vektor von Koordinatenursprung zum Punkt und den einzelnen Achsen.
die Bekommst du mit cos (alp) = x1/ [mm] \wurzel{x1^2+y1^2+z1^2} [/mm] (Winkel zwischen X-Achse und Vektor)
wenn du x1 durch y1 oder z1 ersetzt bekommst du den Winkel zwischen den Verschidenen Achen.
Wenn du den Winkel zwischen Zwei Vektoren suchst gilt allg.
cos(a,b)= a*b/|a|*|b| mit a*b =a1*b1+a2*b2+a3*b3
Bei der Matrix klingt es so als ob sie den Punkte (Vektoren) drehen würde.
Die Winkel zwischen den "Punten" solten gleich bleiben. Während sich die Winkel zu Koordinatenuhrsprung endern solten.
Du kannst erinfach die Matrix auf den Vektor anwenden A*b=c
und dann für den Neuen Vektor den Winkel zwischen den Achen berechnen.
So ich hoff mal, dass ich dir damit weiter helfen konnte.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:41 Di 19.07.2005 | Autor: | Panama |
Hallo Leute,
ich möchte aber keine Winkel von Vektoren bzw. zwischen den Vektoren haben. Das wären ja dann Winkel /alpha /beta /gama vom Koordinatenursprung aus, oder? Die Antwort von MathPower die Winkel zwischen den Vektoren mit <P3-P1*P2-P1>/|P3-P1|*|P2-P1| zu berechnen, hört sich schon gut an!, aber man erhält dann wieder die Winkel vom Ursprung, quasi wie man von einem zum anderen Vektor kommt, oder irre ich mich? Ich möchte aber von dem jeweiligen Punkt zum nächsten durch die Winkel bekommen. Ich laube das der Ansatz auf jedenfall helfen könnte aber muß noch ergänzt werden....
Am besten man zeichnet sich das auf: Ein 3 dim KS mit einem Punkt nicht im Ursprung sondern irgendwo im KS, das durch die Rotationsmatrix (siehe obere Texte) quasi ein eigenes KS besitzt. Dann folgen halt noch andere Punkte...
Jetzt zieht man eine Linie von dem ersten Punkt durch den zweiten Punkt. darauf macht man eine Senkrechte. Diese Linien sind die verschobenen/gedrehten Achsen z.B. x und y Achsen vom "neuen" KS. jetzt suche ich die Winkel von dem ersten KS, (so wie der Punkt ausgerichtet ist) zu der Linie die mit dem 2. Punkt verbunden ist. vom zweiten neuen KS des zweiten Punktes dann die Winkel zu der Linie, die den zweiten mit dem dritten Punkt verbindet. Das geht dann so weiter.
Ich habe dem Webmaster ne Mail geschickt, wie man eventuell Skizzen einsetzen kann. Ist schwer zu erklären, sorry!!!!
|
|
|
|