scipy.spatial.transform.Rotation.
mean#
- Rotation.mean(self, weights=None)#
Ermitteln Sie den Mittelwert der Rotationen.
Der verwendete Mittelwert ist der chordale L2-Mittelwert (auch projektierter oder induzierter arithmetischer Mittelwert genannt) [1]. Wenn
Aeine Menge von Rotationsmatrizen ist, dann ist der MittelwertMdie Rotationsmatrix, die die folgende Verlustfunktion minimiert:\[L(M) = \sum_{i = 1}^{n} w_i \lVert \mathbf{A}_i - \mathbf{M} \rVert^2 ,\]wobei die \(w_i\) die weights sind, die jeder Matrix entsprechen.
- Parameter:
- weightsarray_like shape (N,), optional
Gewichte, die die relative Wichtigkeit der Rotationen beschreiben. Wenn None (Standard), dann werden alle Werte in weights als gleich angenommen.
- Rückgabe:
- mean
Rotationinstance Objekt, das den Mittelwert der Rotationen in der aktuellen Instanz enthält.
- mean
Referenzen
[1]Hartley, Richard, et al., „Rotation Averaging“, International Journal of Computer Vision 103, 2013, S. 267-305.
Beispiele
>>> 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])