Jump to content

Schnittstelle: Problem mit positionierung


Empfohlene Beiträge

Neo,

es sieht so aus dass  bei der rotation (kommando 104,105) ueber die schnittstelle das vorzeichen vertauscht wird. 

Die anzeige im positionierungsfenster ist -1 mal was ich ueber die schnittstelle bekomme und umgekehrt.
Eine neu position zu berechnen ist wie folgt: ( MBS_Drehung * -1 + weitere_Drehung) * -1
Das funktioniert und liefert auch das gewuenschte ergebniss. Ich verwende 41 und 43 in einer kommandogruppe
mit allen anderen kommandos. 

            	double porZ = (-1 * RotZ + (double)_zugKonfiguration.StartPositionRotation) * -1;
 				command = "10;\n43;0;\n41;0;\n";
                command += "134;" + ((RollingStockNamen)anItem).Guid + ";" + ((RollingStockNamen)anItem).BetriebsName + "\n";    
                command += "103;" + ((RollingStockNamen)anItem).BetriebsName + ";" + posX + ";"+ posY + ";" + posZ + ";\n";         
                command += "105;" + ((RollingStockNamen)anItem).BetriebsName + ";" +  porX + ";" + porY + ";" + porZ + ";\n";
                command += "11;\n";

  Hier ein auszug aus dem code. Eine situation die ich loesen musste ist die tatsache, dass einige modelle um 90 grad gedreht sind wenn sie plaziert werden. Ich muss mir das merken welches modell zusaetzlich gedreht werden muss. Das gleiche habe ich aber auch mit einem endwagen, da muss ich auch die gewuenschte drehung merken. Das nur als hinweis, ich kann damit derzeit leben, oder mache ich etwas falsch ? 

gruss
gmd

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Prüf mal bitte, ob du eventuell vier Werte bekommst.
Intern sind es jedenfalls vier: W, X, Y und Z   (sogenannte Quaternionen)
Weil drei Werte nicht ausreichen, um die Lage im Raum vollständig zu beschreiben.

Da lag ich daneben. Sorry!

Bearbeitet von Goetz
Schreibfehler korrigiert
Link zu diesem Kommentar
Auf anderen Seiten teilen

102;(6001)@G114;
1;-61.89042;-178.1079;2.980232E-8
104;(6001)@G114;
1;0;0;-29.85089

Das ist das startgleis auf dessen koordinaten ich aufbaue. die z rotation ist positiv im Positionierungsfenster und ich bekomme einen negativen wert. 
Mit Putty getestet und mit dem programm.
Wird spaet, ich gehe ins bett, bis morgen.
gruss
Gmd

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb gmd:

die z rotation ist positiv im Positionierungsfenster

Das sind eventuell nicht dieselben Zahlen, Gmd

Schau mal bitte, welche vier Rotationswerte du bekommst, wenn du sie intern mit Lua ausliest.
Die Tabelle "transformation.rotation" jedes Objekts hat vier Einträge mit den Bezeichnern w, x, y und z.
Stimmen die mit deinen ausgelesenen Zahlen überein?

Pardon, da war ich auf dem Holzweg!

Bearbeitet von Goetz
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

die Steuerschnittstelle gibt Euler-Koordinaten zurück, weshalb X, Y und Z soweit korrekt sind. Auch das umgedrehte Vorzeichen ist korrekt, die Steuerschnittstelle stammt noch aus einer Zeit, in der es kein Lua und keine einheitliche "Standardisierung" gab.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...