Allgemeiner Typ
Alle JSON-Payloads verwenden diese Typen einheitlich über die WebSocket- und HTTP-Schnittstellen hinweg.
vec3
Es handelt sich um einen dreidimensionalen Vektor. Er wird für Position (Meter), Geschwindigkeit (m/s) und Kraft (N) sowie für den Skalierungsfaktor verwendet.
{ "x": 0.0, "y": 0.0, "z": 0.0 }
Quaternion
Ein Quaternion ist eine Einheit, die eine Drehung beschreibt. In der internen Darstellung des Dienstes gilt: w... als Erstes Allerdings spielt die Reihenfolge keine Rolle, da in JSON alle vier Komponenten als benannte Schlüssel übergeben werden.
{ "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 }
Identitätsquaternion (w=1, x=y=z=0) bedeutet „keine Drehung“.
Winkel3
Der Gelenkwinkel wird in Grad (°) und nicht in Radiant angegeben. Er wird für die Winkelposition und die Winkelgeschwindigkeit der drei Gelenke von Inverse3 verwendet.
{ "a0": 0.0, "a1": 0.0, "a2": 0.0 }
umwandeln
Es handelt sich um eine Kombination aus Position, Drehung und Skalierung. Sie wird für Mount-Transformationen, Arbeitsbereichstransformationen und die Platzierung von SDF-Effekten verwendet.
{
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "w": 1.0, "x": 0.0, "y": 0.0, "z": 0.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
Die Identitätstransformation(oben dargestellt) verändert keine Werte: Position 0, keine Drehung, Skalierung 1.
mount Vergleich zwischen Befehls- und Snapshot-Formatconfigure.mountüber … einbinden ÜbertragungIn diesem Fall beträgt der Umrechnungswert
"transform" wird von … umhüllt: { "mount": { "transform": { … } } }.
Einbinden aus dem Geräte-Snapshot Lesen Die Zeit wird als zweidimensionale Struktur dargestellt:
{ "mount": { "position": …, "rotation": …, "scale": … } }.
Diese Asymmetrie ist beabsichtigt. Mounts und ArbeitsbereicheSiehe dazu.