нахождение оси вращения - PullRequest
0 голосов
/ 20 марта 2012

Я использую собственную библиотеку, чтобы вращать плоскость, параллельную плоскости земли. Земная плоскость определяется с помощью вектора нормали (0,0,1) Целевая плоскость представляет собой набор трехмерных точек и нормаль Угол поворота известен вектор нормали плоскости, а также каждая точка на этой плоскости должны вращаться так, чтобы они были параллельны плоскости земли

Я бы хотел использовать аффинное преобразование из http://eigen.tuxfamily.org/api/TutorialGeometry.html как то так

Transform t = AngleAxisf (a, ось);
ось в этом случае представляет собой матрицу, представляющую произвольную ось, вдоль которой происходит вращение. Как найти эту ось?

Большое спасибо

1 Ответ

4 голосов
/ 20 марта 2012

Сделать две плоскости параллельными можно, сделав их нормали параллельными, поэтому вам просто нужно найти ось, вокруг которой вращается целевая плоскость.Это только ось, которая перпендикулярна как вашей нормали плоскости земли, так и вашей нормали плоскости цели, которую можно найти с помощью перекрестного произведения.В вашем случае, если ваша целевая плоскость имеет нормаль [x, y, z], то ось вращения будет [y, -x, 0].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...