Как определить матрицу вращения 3d объекта?

Всем привет. Прошу помочь разобраться с определением матрицы вращения 3D объекта относительного другого 3D объекта. Мне нужно повернуть объект с границами синего цвета относительно границ объекта красного цвета. объекты не однородные по форме, поэтому пробую вращать объект определяя расположение oriented_bounding_box(). Кватернионы или углы Эйлера, возможно использование любого варианта. Основной вопрос касается точки привязки, относительно чего и как рассчитать углы и соответственно повернуть объект. Координаты красного бокса

array([[ 0.50831102, -6.08990786, 4.41486425],
[ 6.9280217 , 1.95290641, 3.90509582],
[-6.37807249, -0.57895492, 4.64042009],
[ 0.1085331 , -6.26824471, -3.43338305],
[-0.35813972, 7.28552251, -3.71759563],
[-6.7778504 , -0.75729177, -3.2078272 ],
[ 6.52824378, 1.77456957, -3.94315147],
[ 0.04163819, 7.46385935, 4.13065167]])

Координаты синего бокса

array([[-2.46716531, -7.00993071, -2.27183414],
[-6.12386394, -0.56056214, 6.30130149],
[-0.88406163, 0.76743632, -7.44732363],
[ 4.19409266, -6.65354695, 0.30129238],
[ 2.12049772, 7.57318864, 3.69893852],
[ 5.77719634, 1.12382008, -4.87419711],
[ 0.53739403, -0.20417839, 8.87442801],
[-4.54076026, 7.21680489, 1.125812 ]])

введите сюда описание изображения

введите сюда описание изображения Заранее благодарю за любую помощь.


Ответы (0 шт):