Hallo Leute,
ich bin dabei eine Base-Base und Tool-Tool Transformation in VB zu realisieren. eine Base-Base Transformation habe ich schon halbwegs geschafft. Die Punkte die ich auf die neue Base Transformiere sind in x,y,z exakt die gleichen wie die errechneten Punkte mit OrangeEdit. Allerdings habe ich mit den abc Winkeln noch probleme.
In diesem Forum habe ich was gefunden das aber schon länger her ist:
ZitatAlles anzeigen
Moin,
ich kann dir erklären, wie ich das auf dem PC mache, falls dir das weiterhilft. In C# oder VB.net geht das mit einer Handvoll Zeilen:
Man braucht das Koordinatensystem (z.B. dein Base) und die 6D-Position (z.B. dein TCP) als homogene Matrizen. Unter Windows z.B. in dieser Form
http://msdn.microsoft.com/de-d…dia.media3d.matrix3d.aspx
Die X,Y,Z-Koordinatenachsen von Punkt und Koordinatensystem findet man in den oberen 3 Elemtenten der drei ersten Spalten der Matrix als Einheitsvektoren. Wenn man jetzt den Winkel zwischen zwei dieser Achsen haben will, packt man die entsprechenden Spalten in je einen Vektor. Dann kann man eine Formel benutzen, um den Winkel zwischen den beiden Vektoren zu berechnen, oder z.B. direkt diese Funktion aufrufen:
http://msdn.microsoft.com/de-d…etween%28v=VS.100%29.aspx
Wie man von einer Roboterposition zu Matrizen und zurück kommt, wurde hier sehr schön beschrieben.
http://www.roboterforum.de/rob….0.html;msg13660#msg13660
Hoffe ich habe dich jetzt nicht zu sehr verschreckt
Urmel
Könnte mich vieleicht da jemand unterstützen?