Как изменить координаты? - PullRequest
       22

Как изменить координаты?

0 голосов
/ 29 апреля 2010

Как конвертировать из координат Эйлера E1 = (x1, y1, z1, yaw1, pitch1, roll1) к E2 = (x2, y2, z2, yaw2, pitch2, roll2) где x, y, z - координаты точки и рыскание, тангаж, крен в направлении / ориентации вектора, источником которого является точка. рыскание вокруг y, шаг вокруг x, вращение вокруг z. Они выполняются в таком порядке. Yaw 0 является нормальным для плана xy (противоположно z в E1 и равно z в E2).

E1 использует правостороннее пространство, а E2 левостороннее. Оба имеют одинаковое происхождение, одинаковое направление для y (вверху) и z (на экран). Они отличаются на x, который находится слева на E1 и справа на E2. Они также различаются по направлению положительных вращений.

У меня есть собственный тип для хранения скалярного представления и для преобразования из и в эквивалентное представление WPF Matrix3d.

1 Ответ

0 голосов
/ 18 июня 2010

В конце концов это решение работает для меня:

Point6DoF right = new Point6DoF(
    -left.X, left.Y, left.Z,-left.Yaw, left.Pitch, -left.Roll)

где Point6DoF - класс, который содержит позицию и углы Эйлера.

...