scipy.spatial.transform.Rotation.
mean#
- Вращение.mean(self, веса=None)#
Получить среднее значение вращений.
Используемое среднее — хордальное L2 среднее (также называемое проекционным или индуцированным арифметическим средним) [1]. Если
Aявляется набором матриц вращения, тогда среднееMэто матрица вращения, которая минимизирует следующую функцию потерь:\[L(M) = \sum_{i = 1}^{n} w_i \lVert \mathbf{A}_i - \mathbf{M} \rVert^2 ,\]где \(w_i\)’s являются веса соответствующий каждой матрице.
- Параметры:
- весаarray_like, форма (N,), опционально
Веса, описывающие относительную важность вращений. Если None (по умолчанию), то все значения в веса предполагаются равными.
- Возвращает:
- mean
Rotationэкземпляр Объект, содержащий среднее значение вращений в текущем экземпляре.
- mean
Ссылки
[1]Хартли, Ричард и др., "Усреднение вращений", International Journal of Computer Vision 103, 2013, стр. 267-305.
Примеры
>>> from scipy.spatial.transform import Rotation as R >>> r = R.from_euler('zyx', [[0, 0, 0], ... [1, 0, 0], ... [0, 1, 0], ... [0, 0, 1]], degrees=True) >>> r.mean().as_euler('zyx', degrees=True) array([0.24945696, 0.25054542, 0.24945696])