Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Pro ENGINEER
  Umrechnung Transformationsmatrix?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Umrechnung Transformationsmatrix? (7411 mal gelesen)
Johann Heim
Mitglied
Dipl. Ing. Maschinenbau


Sehen Sie sich das Profil von Johann Heim an!   Senden Sie eine Private Message an Johann Heim  Schreiben Sie einen Gästebucheintrag für Johann Heim

Beiträge: 162
Registriert: 01.11.2000

erstellt am: 27. Nov. 2000 13:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

hat jemand eine Lösung für folgende Problematik:

Ich benötige für ein Zusammenbauskeleton Koordinatensysteme, welche mittels Offset (Verschiebung und Verdrehung um mehrere Achsen) zu einem anderen Koordinatensystem, als ein Feature erzeugt werden. Die Position des Zielkoordinatensystems ist bekannt, indem man erstmals auf gewohnte Art zusammenbaut. Nun kann ich mittels TRANSFORM die Transformationsmatrix ermitteln. Wer kennt eine Methode oder ein Programm, mit der man aus dieser Matrix die Drehwinkel
um die x- y- und z-Achsen ermitteln kann. Die Verschiebung steht bekannlich in der 4. Spalte.

Das Koordinatensystem soll nicht auf Basis der Transformationsmatrix eigelesen werden.

Bin für jede Hilfe dankbar

Hans

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wonko
Mitglied
Dipl.-Ing. Maschinenbau (TU)


Sehen Sie sich das Profil von wonko an!   Senden Sie eine Private Message an wonko  Schreiben Sie einen Gästebucheintrag für wonko

Beiträge: 19
Registriert: 22.11.2000

Windows 10 Pro; Intel Broadwell Extreme i7 6950X 10 -core; 64Gb DDR4-2133; Intel 1TB NVMe-SSD ; Quadro P5000, Water cooled
Creo 3.0 M070

erstellt am: 28. Nov. 2000 13:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Johann,

nicht einfacher als das!

Du hast den richtigen Weg nämlich schon begonnen. Du misst die Transformation (von dem Partkoordinatensystem zu dem Baugruppenkoordinatensystem auf das du später einbauen willst), dann lässt du dir die INFO anzeigen. Im Informationsfenster DATEI/SPEICHERN. Nun liegt in deinem Arbeitsverzeichniss die Datei Info.trf. Dann gehst du in das Part in dem du das Transformationskoordinatensystem erzeugen willst. Dort sagst KE/erzeugen/Bezug/Koordinatensystem/Aus Datei/Fertig; gibst in Den Dateinamen info (ohne .trf !!) ein,
und klickst das Koordinatensystem an von dem du in der Baugruppe begonnen hast zu messen.

Et Voila!!

da ist es.

Gruß Wonko ;o)

PS.: ich benenne dann diese Koordinatensysteme auf die ich dann alles zusammenbaue nach dem Schema Ger_Null_Main_Assy; Ger_Null_Druckfeder; Ger_Null_Chassis_UT; ...
dann ist auch über Auswahl/Nach Menü die verschiedenen K.Sys. im Assy gut zu finden. Und zudem sind ruckzug vereinfachte Baugruppen erzeugt, auch durch Projektfremde.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

byps
Mitglied
Leiter Entwicklung&Konstruktion, CAD-Admin


Sehen Sie sich das Profil von byps an!   Senden Sie eine Private Message an byps  Schreiben Sie einen Gästebucheintrag für byps

Beiträge: 231
Registriert: 29.11.2000

erstellt am: 29. Nov. 2000 08:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Johann,
ich weiß zwar nicht ob Dir mein Hinweis weiterhilft, aber besser ´nen Tip, als gar nichts.
Auf der Pro/Help-CD zu Version 2000i ist unter dem Punkt "So erzeugen Sie Koordinatensysteme von Dateien" eine Beschreibung der Transformationsdatei angegeben.

Gruß, Pierre

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro/Steffen
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Pro/Steffen an!   Senden Sie eine Private Message an Pro/Steffen  Schreiben Sie einen Gästebucheintrag für Pro/Steffen

Beiträge: 228
Registriert: 15.03.2002

ProE-WF M210

erstellt am: 25. Apr. 2003 11:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Zusammen,
Das Thema sollte mal wieder aufgefrischt werden.
Auch ich habe mal wieder das Problem - und das nervt mich.
Die Positionierung über Koordinatensystem mit Datei (die auch auch Johann nicht mag)funzt zwar, aber ist für viele einfach nicht verständlich.
Ich biete schon mal vorab 150 Unitis für eine Methode oder ein Programm, dass mir aus der Transformationsmatrix die drei Rotationswinkel (X-;Y-;Z- Achse) berechnet.
Ansonsten werde ich mich das Wochenende selbst mal damit beschäftigen.
Also wenn Ihr Ansätze habt ... Vielen Vielen Dank.
Genügend Wissen über die Transformationsmatritzen für Rotation habe ich erstmal.

Gruß Steffen

------------------
***Pro/Steffen***

[Diese Nachricht wurde von Pro/Steffen am 25. April 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro/Steffen
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Pro/Steffen an!   Senden Sie eine Private Message an Pro/Steffen  Schreiben Sie einen Gästebucheintrag für Pro/Steffen

Beiträge: 228
Registriert: 15.03.2002

ProE-WF M210

erstellt am: 25. Apr. 2003 12:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

P.S.: Natürlich ist die Reihenfolge der Transformationen wesentlich für die Postitionierung. Ich bevorzuge es erst zu Rotieren (X;Y;Z) und dann zu Verschieben (X;Y;Z). Aber auch andere Möglichkeiten helfen weiter.

Gruß Steffen

------------------
***Pro/Steffen***

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 25. Apr. 2003 16:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Leute,

die Lösung aller unserer Probleme (schön wärs und auch ohne Gewähr):

Wenn die Matrix vereinfacht so aussieht:

            A    B    C
            D    E    F
            G    H    J


Dann ergibt sich die Drehung um Y !! 
        -arcsin(G)*180/PI = BETA
Dann ergibt sich die Drehung um X   
        arcsin(H/cos(BETA/180*PI))*180/PI = ALPHA
Dann ergibt sich die Drehung um Z
        arcsin(D/cos(BETA/180*PI))*180/PI = GAMMA

Hinter der Matrix steht der Verschiebungsvektor.

Grundsätzlich ist die Matrix so zu interpretieren, dass
erst die Rotation dann die Translation stattfindet.

Erfolgt erst die Translation und dann die Rotation so
ergibt sich ein anderer Verschiebungsvektor bei gleicher
Transformationsmatrix.

In der Hoffnung keinen irritiert zu haben und das ganze auch
einigermassen richtig rübergebracht zu haben

Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 26. Apr. 2003 11:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich


Transformationsmatrix.zip

 
Noch ein kleiner Zusatz für die, die nicht rechnen wollen
oder keine Lust auf Formel tippen haben.

Ich habe mir mal die Mühe gemacht eine kleine Exceldatei
anzulegen in der aus den drei Verdrehwinkeln eine
Transformationsmatrix berechnet werden kann (für die, die
Spaß daran haben) bzw. aus der Transformationsmatrix die drei
Verdrehwinkel berechnet werden.

(ohne Gewähr, bei Fehlern bitte Meldung an mich)

Gruß Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

os
Ehrenmitglied V.I.P. h.c.
Konstruktionsingenieur



Sehen Sie sich das Profil von os an!   Senden Sie eine Private Message an os  Schreiben Sie einen Gästebucheintrag für os

Beiträge: 2458
Registriert: 16.09.2002

2001,WF,WF2...

erstellt am: 26. Apr. 2003 15:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo
Prima, deine Excel Tabelle. Hab ich mir mal runtergezogen, wer weiß, wozu man sie mal brauchen kann.
Nun zu der Frage an sich. Ich glaube Hans hat die ganze Sache etwas anders gemeint. Er meint, meiner Meinung nach folgendes:
Du hast ein Koordinatensystem im Raum, und willst wissen, wie es da hingekommen ist, also nachvollziebar. Die Transformationsmatrix gibt nur den Endzustand, des Csys wieder, nicht aber seine Entstehung.
Wir haben ein ähnliches Problem. Wir positionieren Koordinatensysteme im Raum, hängen dort Bauteile dran und steuern die Position dieser Bauteile oder KE's mit Hilfe dieser Koordinatensysteme, diese werden dann abwechseln gedreht und verschoben.
Um nun aber die Materialschnitte die an diesen Koordinatensystemen hängen auch bearbeiten zu können, muss der entsprchenden Maschine mitgeteilt werden, welche Achsen, in welcher Reihenfolge gedreht werden müssen um auf die Endstellung zu kommen. Wir benutzen dafür ein externes Programm, das die Transformationsmatrix analysiert und rückrechnet. Dieses Programm läuft auf einem alten IBM VMS host, nichts desto Trotz kann und darf ich so was nicht weitergeben.
Ich kann nur in groben Zügen erläutern, was das Programm macht.
Zuerst wird an Hand verschiedener Faktoren, die Drehreihenfolge festgelegt. Ist diese festgelegt, dreht das Programm Achse für Achse zurück und merkt sich dabei die Drehwerte, bis alle Achsen, zum Ursprung auf Null stehen. Die Ausgabe ist dann die Transformation in x,y,z, die Drehreihenfolge, xy,zx,yz und die entsprechenden Drehwinkel, die dafür benötigt werden.
Wie gesagt, die Transformationsmatrix gibt nur die Endstellung wieder, d.h. wenn man versucht ein Koodinatensystem auf die Werte x=20,y=30,z=40 zu stellen gelingt es einem nicht indem man einfach die Werte eingibt.
Mein Vorschlag, ein kleines Programm. Ich will aber auch mal versuchen, das ganze interaktiv, mittels eines UDF's zu lösen, würde man in der Praxis so wahrscheinlich nicht machen, aber nur um mal ein Verständnis davon zu bekommen.

Gruß und schönes Wochenende
Olaf

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro/Steffen
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Pro/Steffen an!   Senden Sie eine Private Message an Pro/Steffen  Schreiben Sie einen Gästebucheintrag für Pro/Steffen

Beiträge: 228
Registriert: 15.03.2002

ProE-WF M210

erstellt am: 27. Apr. 2003 02:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Stefan,
erstmal vielen vielen Dank, dass Du Dir dieses Thema antust.
Ich habe mir gerade kurz Deine Excel-Tabelle angeguckt, und festgetellt, dass Deine Tranformationsmatrix exakt mit der heute Nachmittag von mir aufgestellten übereinstimmt, Du hast in der Reihenfolge Rotation-Z-Achse; Rotation-Y-Achse; Rotation-X-Achse miteinander multipliziert.
Allerdings funzt die "Rückrechnung" noch nicht vollständig- und die macht mir übrigens auch kräftig Kopfzerbrechen...
Insbesondere bei den 90°-Winkeln wird meistenteils eben nur der Y-Winkel richtig berechnet.
z.B:
0  0  1
0  1  0
1  0  0

oder

0  0  0
0  0  -1
-1 0  0

oder

0  1  0
0  0  1
1  0  0

....

Also wie schon geschrieben Danke erstmal, ich werde weiter forschen.

Schoenes Restwochenende

Steffen

------------------
***Pro/Steffen***

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

philippe_hay
Mitglied
konstrukteur


Sehen Sie sich das Profil von philippe_hay an!   Senden Sie eine Private Message an philippe_hay  Schreiben Sie einen Gästebucheintrag für philippe_hay

Beiträge: 117
Registriert: 22.08.2002

erstellt am: 27. Apr. 2003 14:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich


matrice.gif


matrix.txt

 
Hallo,

Interessante thema.

@Stefan, super job deine exell tabelle.

Ich habe eine kleine programme geschreibt ( tcl Tk script ), es lauft unter Linux, für Windows muß man tcl tk installieren und der script ausruffen mit der Wish application.

Der Programm ist sehr einfach im moment.
Vielleicht könnte man in zukunft datei lesen und schreiben, sogar mapkey oder trail datei Schreiben für ProE

Die datei matrix.txt ist das programm, einfach kopieren unter matrix.tcl


Grüß

Philippe

[Diese Nachricht wurde von philippe_hay am 27. April 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 27. Apr. 2003 18:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich


Transformationsmatrix2.zip

 
Hallo

Wie Steffen bereits geschrieben hat, gab es Probleme bei der Benutzung meiner Tabelle mit einigen Spezialfällen. Ich habe nochmal ein wenig weiter getestet und auch an anderen Stellen in der Tabelle Fehler gefunden. Daher hier nochmal eine korrigierte Tabelle. Diese Tabelle müßte für alle Drehungen korrekte Werte liefern, bis auf die vier Spezialfälle einer Drehung um 90°, -90°, 270° und -270° um die Y-Achse. Hierbei gäbe es nach den Formeln eine Division durch Null, daher das Problem. Leider habe ich für diese Fälle noch keine Lösung.
Dafür bietet die neue Tabelle die Anzeige aller möglichen Verdrehwinkel um das gewünschte Ergebnis zu erhalten. Die verschiedenen Lösungen folgen aus dem Umstand das es jeweils für zwei Winkel den gleichen Sinus- bzw. Cosinus-Wert gibt.

Zu den Spezialfällen:

Es scheint bei einer rechtwinkligen Drehung um die Y-Achse (90°,-90°,270°,-270°) quasi unendlich viele Winkelkombinationen von alpha und gamma zu geben, welche die gleiche Matrix zur Folge haben.

Beispiel      0,000000   -0,866025    0,500000
              0,000000   0,500000    0,866025
              -1,000000   0,000000    0,000000

Diese Matrix kann man erzeugen durch alpha = 1° , gamma = 61°
                                    alpha = 2° , gamma = 62°
                                    alpha = 3° , gamma = 63° usw..

Aber vielleicht gibt es ja auch hierfür eine Lösung.

@Steffen:
Danke für den Test und die Rückmeldung

@Philippe:
Auch Dir danke für die Umsetzung der Formeln in Dein Programm.

Gruß Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro/Steffen
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Pro/Steffen an!   Senden Sie eine Private Message an Pro/Steffen  Schreiben Sie einen Gästebucheintrag für Pro/Steffen

Beiträge: 228
Registriert: 15.03.2002

ProE-WF M210

erstellt am: 27. Apr. 2003 22:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Zusammen,
Erstmal vielen vielen Dank - hab mal wieder 'ne Menge gelernt und bin überzeugt dass wir frueher oder später eine gute Lösung für das Problem finden werden!
Vielen Dank an Stefan und Philippe, beide Lösungen finde ich echt schick !!!

Naja, das ist dann wohl so eine Sache mit den Transformationen.
Eine "eindeutige Gleichungslösung" gibt es nicht. Fuer einige Transformationsmatritzen gibt es mehr als eine Drehwinkellösung.
So kann mann beispielsweise eine Transformation von:

0  0  1
0  1  0
-1 0  0

mit alpha=90°;beta=90°;gamma=90°
oder auch mit alpha=0°;beta=90°;gamma=0° erreichen.

Aber eine der Loesungen reicht mir ja schon ...,

Erstmal behelfe ich mir mit
Mathematica; Gleichungsloesen mit z.B.:

X1 = 0
Y1 = 1
Z1 = 0

X2 = -1
Y2 = 0
Z2 = 0

X3 = 0
Y3 = 0
Z3 = 1

Solve[
{Cos[Beta] Cos[Gamma] == X1,
Cos[Gamma] Sin[Alpha] Sin[Beta] - Cos[Alpha] Sin[Gamma] == X2,
Cos[Alpha] Cos[Gamma] Sin[Beta] + Sin[Alpha] Sin[Gamma] == X3,
Cos[Beta] Sin[Gamma] == Y1,
Cos[Alpha] Cos[Gamma] + Sin[Alpha] Sin[Beta] Sin[Gamma] == Y2,
-Cos[Gamma] Sin[Alpha] + Cos[Alpha] Sin[Beta] Sin[Gamma] == Y3,
-Sin[Beta] == Z1,
Cos[Beta] Sin[Alpha] == Z2,
Cos[Alpha] Cos[Beta] == Z3},
{Alpha, Beta, Gamma}]

Mathematica weißt darauf hin, dass durch die Nutzung der Inverse-Funktionen wahrscheinlich einige Lösungen nicht gefunden werden.
Habe ich auch schon wenige Beispiele gefunden, wo dies zutrifft.
Damit das ganze richtig laeuft muss dann wahrscheinlich eine Auswahllogik fuer die Gleichungssystemverkleinerung rein.
... aber erst naechstes Wochenende ...

Gruß Steffen

------------------
***Pro/Steffen***

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 01. Mai. 2003 07:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich


Transformationsmatrix2.zip

 
Zitat:
Original erstellt von Pro/Steffen:
Mathematica weißt darauf hin, dass durch die Nutzung der Inverse-Funktionen wahrscheinlich einige Lösungen nicht gefunden werden.
Habe ich auch schon wenige Beispiele gefunden, wo dies zutrifft.
Damit das ganze richtig laeuft muss dann wahrscheinlich eine Auswahllogik fuer die Gleichungssystemverkleinerung rein.
... aber erst naechstes Wochenende ...

Gruß Steffen


@Steffen
genau das oben beschriebene Problem habe ich in meiner letzten Exceltabelle abgefangen. Aufgrund dessen daß es für zwei unterschiedliche Winkel, den gleichen Sinus- bzw. Cosinuswert gibt
kann es bis zu 8 unterschiedliche Lösungen geben. Jedoch erst mit einer Rückrechnung kann die korrekte Lösung gefunden werden. Hierfür bestimme ich aus den ausgerechneten Winkeln erneut die Transformationsmatrix und vergleiche diese mit der eingegebenen Matrix. Nur wenn beide übereinstimmen sind die richtigen Winkel gefunden.

Auch das Problem mit den 90°-Drehungen um die Y-Achse habe ich inzwischen gelöst. Bei einer Drehung um 90° um die Y-Achse erzeugt Pro/E grundsätzlich folgendes Koordinatensystem:
    Drehung um X-Achse = 0
    Drehung um Y-Achse = 90°
    Drehung um Z-Achse = (gamma-alpha)
d.h. Drehung1 (0°,90°,80°) ist identisch mit Drehung2 (40°,90°,120°) und Drehung3 (50°,90°,130°) etc. (Dies könnte ich jetzt beliebig fortsetzen mit Winkel (gamma-alpha)=80° und für jede andere Kombination gilt das gleiche). Ich hoffe das war verständlich ;-)
Dieses Phänomen habe ich übrigens in Pro/E ausgetestet und bestätigt gefunden.

Im Anhang nun nochmals eine ergänzte Exceltabelle.
Grundsätzlich ist zu sagen, daß in der Exceltabelle Rundungsprobleme
auftreten können, da ja auch schon die eingegebene Matrix nur gerundete Werte aufweist. 

Gruß Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

os
Ehrenmitglied V.I.P. h.c.
Konstruktionsingenieur



Sehen Sie sich das Profil von os an!   Senden Sie eine Private Message an os  Schreiben Sie einen Gästebucheintrag für os

Beiträge: 2458
Registriert: 16.09.2002

2001,WF,WF2...

erstellt am: 01. Mai. 2003 14:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo
Klasse deine Tabelle!!!
Ich hab's mal getestet. Habe mal ein wild erzeugtes Csys erstellt, davon die Transformationsmatrix ausgelesen und in deine Tabelle eingetippt. Anschließend habe ich ein neues Csys erstellt, mit Drehung x,y,z mit den errechneten Werten, und siehe da es ist deckungsgleich mit dem zuvor erzeugten.
Nun meine Frage:
Was müsste ich in der Tabelle ändern, um die Drehreihenfolge auf, z.B. yzx oder zxy...., wie du schon sagtest, acht Möglichkeiten um zum Ziel zu kommen, zu ändern.
Hatte mir schon das alte Studienskript über Vektorrechnung zurechtgelegt, aber es ist erster Mai und das Wandern ist vorbei.

Gruß
Olaf

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 02. Mai. 2003 18:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Olaf,

die acht Möglichkeiten die ich erwähnt habe beziehen sich nur auf die mathematische Lösung des Problems für eine! Drehreihenfolge.

Für die Drehreihenfolge gibt es insgesamt 6 Möglichkeiten:
1.  x - y - z
2.      y - z - x
3.          z - x - y
4.  z - y - x
5.      y - x - z
6.          x - z - y

Ich habe die anderen Drehfolgen noch nicht ausgetestet bzw. mathematisch bestimmt. Wenn ich mich aber recht an mein kurzes Mathestudium zurückerinnere sind für die verschiedenen Drehreihenfolgen nur die Spalten der Transformationsmatrix zu vertauschen.

Matrix 1   
  Spalte 1    Spalte 2      Spalte 3    x - y - z

Matrix 2
  Spalte 2    Spalte 3      Spalte 1    ? - ? - ?

Matrix 3   
  Spalte 3    Spalte 1      Spalte 2    ? - ? - ?

Matrix 4   
  Spalte 1    Spalte 3      Spalte 2    ? - ? - ?

Matrix 5   
  Spalte 2    Spalte 1      Spalte 3    ? - ? - ?

Matrix 6   
  Spalte 3    Spalte 2      Spalte 1    ? - ? - ?

Im Ergebnis der Exceltabelle sind die Winkel noch entsprechend zu tauschen.

Aber wie gesagt dies habe ich noch nicht weiter getestet. Vielleicht hilft es aber ja dem einen oder anderen weiter oder vielleicht testet dies mal einer in Pro/E und gibt mir die entsprechenden Ergebnisse durch. Die Tabelle werde ich dann noch entsprechend erweitern.

Gruß Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

os
Ehrenmitglied V.I.P. h.c.
Konstruktionsingenieur



Sehen Sie sich das Profil von os an!   Senden Sie eine Private Message an os  Schreiben Sie einen Gästebucheintrag für os

Beiträge: 2458
Registriert: 16.09.2002

2001,WF,WF2...

erstellt am: 03. Mai. 2003 07:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo
Werd mich am Wochenende mal in das Vertauschen reinknien, und sehen was bei rauskommt. Trotzdem, Klasse Thema.

Gruß
Olaf

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

os
Ehrenmitglied V.I.P. h.c.
Konstruktionsingenieur



Sehen Sie sich das Profil von os an!   Senden Sie eine Private Message an os  Schreiben Sie einen Gästebucheintrag für os

Beiträge: 2458
Registriert: 16.09.2002

2001,WF,WF2...

erstellt am: 04. Mai. 2003 13:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo
Jetzt mal von der rein praktischen Seite gesehen. Warum muß ich eigntlich alle drei Vektoren benutzen, um die Matrix auf "Null" zu stellen. Zwei mal drehen reicht voll und ganz. Einmal zurück in die Ebene, dann zurück um den Ebenenwinkel. Aber wie komm ich dahin. Ich habs interaktiv gelöst, über Analyse-KE's, d.h. ich hab einen Winkel gegenüber dem Ursprung gemessen, ein Csys erzeugt, erneut gemessen, ein weiteres Csys erzeugt, und zurückgedreht. Transform gemessen war konform.


Gruß
Olaf

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro/Steffen
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Pro/Steffen an!   Senden Sie eine Private Message an Pro/Steffen  Schreiben Sie einen Gästebucheintrag für Pro/Steffen

Beiträge: 228
Registriert: 15.03.2002

ProE-WF M210

erstellt am: 04. Mai. 2003 15:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Stephan,
leider hat mich die böse Grippe erwischt, deshalb erst jetzt Antwort.
Deine Idee mit "Rückrechnung überprüfen" finde ich echt genial - ein sehr praktischer Weg. Ich habe wohl zu sehr nach der "eindeutigen" Lösung gesucht. Werde Deine Excel-Tabelle nochmal auf "Herz-und-Nieren" prüfen und Dir dann berichten. Reichlich U's sind Dir jedenfalls sicher !!

Ach so, das mit dem "Spalten vertauschen" scheint nicht so einfach zu funktionieren. Beim Multiplizieren entstehn zwar gleiche Therme, die sich jedoch in Reihe und Spalte verschieben.

Hallo Olaf,
wenn Du die Reihenfolge-Verschiebung näher beleuchten willst, noch einige Tips:

Es gibt Transformationsmatritzen die für die 3 Drehungsarten:

Rotation um X-Achse (Rx):

1               0               0
0               cos(alpha)     -sin(alpha)
0               sin(alpha)     cos(alpha)

Rotation um Y-Achse (Ry):

cos(beta)       0               sin(beta)
0               1               0
-sin(beta)       0               cos(beta)

Rotation um Z-Achse (Rz):

cos(gamma)       -sin(gamma)    0 
sin(gamma)       cos(gamma)     0
0               0             1


Diese werden beim Drehen in umgekehrter Reihenfolge multipiziert;
für unser Beispiel (x,y,z-Achse) also
Rz*Ry*Rx.

Für andere Reihenfolgen entstehen also andere  Transformationsmatritzen.

Ich finde es günstig sich auf diese einheitliche Form der Drehungsreihenfolge zu einigen.

Gruß Steffen


------------------
***Pro/Steffen***

[Diese Nachricht wurde von Pro/Steffen am 04. Mai 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 04. Mai. 2003 16:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo zusammen

Hallo Olaf,

zu Deiner Frage warum wir alle drei Vektoren verwenden.
Das Ziel ist bei den Meisten nicht das KO-System auf Null zurückzudrehen. Das Problem ist normalerweise, daß ich ein Teil erhalte in dem das zweite Koordinatensystem über "from File" auf das erste KO-System referenziert wurde. Das "from File"-KO-System kann ich also nicht ohne weiteres ändern. Ich möchte dieses KO-System daher umändern in ein "offset"-KO-System mit Referenz auf das erste. Hierfür benötige ich aber alle drei Vektoren.
Übrigens ein einfaches auf Null zurückdrehen kann ich auch dadurch erreichen, daß ich die Transformationsmatrix transponiere, also die erste Spalte zur ersten Zeile, zweite Spalte zur zweiten Zeile und dritte Spalte zur dritten Zeile umändere und dann auf das zweite KO-System referenziere.

Hallo Steffen, die Spaltenvertauschung müßte aus folgendem Grund funktionieren (Beispiel zxy- statt xyz-Drehung):
1. Zunächst KO-System um y-Achse -90°
  und anschließend um z-Achse -90°

2. Danach Drehung um x-Achse (mit ursprünglichem gamma-Wert),
  danach Drehung um y-Achse (mit ursprünglichem alpha-Wert),
  danach Drehung um z-Achse (mit ursprünglichem beta-Wert).

Dies hat mathematisch zur Folge:
Matrix 2 x Matrix 1 = Matrix 3

  a  b  c          0  1  0          c  a  b
  d  e  f    x    0  0  1    =    f  d  e
  g  h  i          1  0  0          i  g  h

Matrix 2 (hiermit müssen wir rechnen) und Matrix 3 (dies ist unsere Matrix, die uns ProE gibt) sind also nur in der Spaltenreihenfolge verändert. Aus Matrix 2 erhalte ich dann mit unseren bisherigen Rechenmethoden die Winkel alpha, beta und gamma. Da ich die Drehreichenfolge geändert habe entspricht aber mein
errechnetes alpha  dem  ursprünglichen gamma
errechnetes beta    dem  ursprünglichen alpha
errechnetes gamma  dem  ursprünglichen beta

Gruß Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Pro/Steffen
Mitglied
Konstrukteur


Sehen Sie sich das Profil von Pro/Steffen an!   Senden Sie eine Private Message an Pro/Steffen  Schreiben Sie einen Gästebucheintrag für Pro/Steffen

Beiträge: 228
Registriert: 15.03.2002

ProE-WF M210

erstellt am: 04. Mai. 2003 19:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Stephan,
wieder habe ich mich von der Theorie beeinflussen lassen:

die Multiplikation von Rz*Ry*Rx im Gegensatz zu Ry*Rx*Rz ergibt nähmlich eine Spalten- wie auch Reihenverschiedene Anordung der Lösungstherme. Nimmt man allerdings wie Du hier die bereits berechntete Transformationsmatrix wird das ganze wahrscheinlich nach der "Spaltenregel" ablaufen.

Krieg das bloß nicht in den falschen Hals- Deine Excel-Lösung ist SUPER ! Ich habe nur eine einzige Transformationsmatrix gefunden mit der keine Lösung gefunden wurde:

0    1    0
0    0    1
1    0    0

(z.B. alpha=0;beta=90°;gamma=90°)

Hab mich mit dem Grund noch nicht näher beschäftigt.

Also nochmal Vielen Vielen Dank !!
Gruß Steffen

------------------
***Pro/Steffen***

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PRO-sbehr
Mitglied
Dipl.-Ing. Konstruktion


Sehen Sie sich das Profil von PRO-sbehr an!   Senden Sie eine Private Message an PRO-sbehr  Schreiben Sie einen Gästebucheintrag für PRO-sbehr

Beiträge: 1132
Registriert: 05.07.2002

Lenovo ThinkStation P500
Intel Xeon CPU E5-1620 v3
Grafik: Nvidia Quadro K2200
Windows 10 Enterprise 64-bit
Creo Parametric 4.0 (M030)
(NX 11)

erstellt am: 05. Mai. 2003 07:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Johann Heim 10 Unities + Antwort hilfreich

Hallo Steffen,

keine Panik mit dem falschen Hals, ich habe doch um Hilfe gebeten und danke Dir deswegen auch ganz herzlich dafür, insbesondere da Pro/E tatsächlich nach Deiner Version vorgeht.

Daher hier Lösung für z - x - y:

Matrix entstanden aus Drehung z, x, y
a  b  c
d  e  f
g  h  i

3. Spalte nach vorne setzen
3. Zeile nach vorne setzen

i  g  h
c  a  b
f  d  e

Diese Matrix ins Excelblatt eintragen

Excel liefert Lösung:    Winkel alpha  Winkel beta    Winkel gamma

tatsächliche Lösung:    Winkel gamma  Winkel alpha  Winkel beta 

Lösung für y - z - x:

Matrix entstanden aus Drehung y, z, x
a  b  c
d  e  f
g  h  i

1. Spalte nach hinten setzen
1. Zeile nach hinten setzen

e  f  d
h  i  g
b  c  a

Diese Matrix ins Excelblatt eintragen

Excel liefert Lösung:    Winkel alpha  Winkel beta    Winkel gamma

tatsächliche Lösung:    Winkel beta  Winkel gamma  Winkel alpha 


Das Problem mit Deiner Matrix 

0 1 0
0 0 1
1 0 0

schaue ich mir nochmal an. Lösung folgt.

Gruß Stefan

------------------
Pro/bleme sind endlich in der Unendlichkeit der Hoffnung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz