I wanna apply smoothing on a sequence of noisy 3D rotations. Is there a straightforward way to achieve this? The rotation is represented by quaternions at the moment, but I can convert them into other forms e.g. rotation vector or rotation matrix. Thanks in advance!
2026-04-05 22:06:20.1775426780
How to apply smoothing on a sequence of 3D rotations
416 Views Asked by Bumbble Comm https://math.techqa.club/user/bumbble-comm/detail At
1
There are 1 best solutions below
Related Questions in 3D
- Visualization of Projective Space
- Approximate spline equation with Wolfram Mathematica
- Three-Dimensional coordinate system
- Volume of sphere split into eight sections?
- Largest Cube that fits the space between two Spheres?
- Is $ABC$ similar with $A'B'C'$, where $A', B', C'$ are the projections of $A, B, C $ on a plane $\pi $.
- Intersection of a facet and a plane
- Distance from center of sphere to apex of pyramid?
- Looking for hints on the below 3D geometry problem.
- Finding the Euler angle/axis from a 2 axes rotation but that lies on the original 2 axes' plane
Related Questions in ROTATIONS
- Properties of a eclipse on a rotated plane to see a perfect circle from the original plane view?
- why images are related by an affine transformation in following specific case?(background in computer vision required)
- Proving equations with respect to skew-symmetric matrix property
- Finding matrix linear transformation
- A property of orthogonal matrices
- Express 2D point coordinates in a rotated and translated CS
- explicit description of eigenvector of a rotation
- Finding the Euler angle/axis from a 2 axes rotation but that lies on the original 2 axes' plane
- How to find a rectangle's rotation amount that is inscribed inside an axis-aligned rectangle?
- Change of basis with rotation matrices
Related Questions in QUATERNIONS
- Intuition behind quaternion multiplication with zero scalar
- Universal cover $\mathbb{S}^3 \rightarrow SO(3)$ through Quaternions.
- Variance of a set of quaternions?
- Finding the Euler angle/axis from a 2 axes rotation but that lies on the original 2 axes' plane
- How many different quaternions $q$ are in a satisfying equation $q^2 = 1$?
- Dual quaternions displacement
- Why quaternions is a group?
- Why does the real part of quaternion conjugation with a pure quaternion stay 0?
- Why does the multiplication in a division algebra depends on every component?
- derive quaternion from rotation matrix, via eigenvector
Trending Questions
- Induction on the number of equations
- How to convince a math teacher of this simple and obvious fact?
- Find $E[XY|Y+Z=1 ]$
- Refuting the Anti-Cantor Cranks
- What are imaginary numbers?
- Determine the adjoint of $\tilde Q(x)$ for $\tilde Q(x)u:=(Qu)(x)$ where $Q:U→L^2(Ω,ℝ^d$ is a Hilbert-Schmidt operator and $U$ is a Hilbert space
- Why does this innovative method of subtraction from a third grader always work?
- How do we know that the number $1$ is not equal to the number $-1$?
- What are the Implications of having VΩ as a model for a theory?
- Defining a Galois Field based on primitive element versus polynomial?
- Can't find the relationship between two columns of numbers. Please Help
- Is computer science a branch of mathematics?
- Is there a bijection of $\mathbb{R}^n$ with itself such that the forward map is connected but the inverse is not?
- Identification of a quadrilateral as a trapezoid, rectangle, or square
- Generator of inertia group in function field extension
Popular # Hahtags
second-order-logic
numerical-methods
puzzle
logic
probability
number-theory
winding-number
real-analysis
integration
calculus
complex-analysis
sequences-and-series
proof-writing
set-theory
functions
homotopy-theory
elementary-number-theory
ordinary-differential-equations
circles
derivatives
game-theory
definite-integrals
elementary-set-theory
limits
multivariable-calculus
geometry
algebraic-number-theory
proof-verification
partial-derivative
algebra-precalculus
Popular Questions
- What is the integral of 1/x?
- How many squares actually ARE in this picture? Is this a trick question with no right answer?
- Is a matrix multiplied with its transpose something special?
- What is the difference between independent and mutually exclusive events?
- Visually stunning math concepts which are easy to explain
- taylor series of $\ln(1+x)$?
- How to tell if a set of vectors spans a space?
- Calculus question taking derivative to find horizontal tangent line
- How to determine if a function is one-to-one?
- Determine if vectors are linearly independent
- What does it mean to have a determinant equal to zero?
- Is this Batman equation for real?
- How to find perpendicular vector to another vector?
- How to find mean and median from histogram
- How many sides does a circle have?
Yes, you can "smooth" quaternions in a way very similar to filtering a discrete signal.
Let $\mathbf{q}_i$ represent the orientation quaternion $i$, and $w_i$ be the relative weight (a scalar, similar to a Finite Impulse Response filter, or any windowed filtering function), with $i = 1 \dots N$. Then, $$\begin{aligned} \mathbf{q}_\text{sum} & = \sum_{i=1}^{N} w_i \mathbf{q}_i \\ \mathbf{q}_\text{filtered} & = \frac{\mathbf{q}_\text{sum}}{\left\lVert \mathbf{q}_\text{sum} \right\rVert} \\ \end{aligned}$$ Multiplying a quaternion $\mathbf{q} = (q_r, q_i, q_j, q_k)$ by a scalar $w$ is done component-wise, yielding quaternion $\mathbf{q}^\prime = (q^\prime_r, q^\prime_i, q^\prime_j, q^\prime_k)$: $$\mathbf{q} w = \mathbf{q}^\prime \quad \iff \quad \begin{cases} q^\prime_r = w q_r \\ q^\prime_i = w q_i \\ q^\prime_j = w q_j \\ q^\prime_k = w q_k \\ \end{cases}$$ Similarly for division. The norm $\lVert\mathbf{q}\rVert$ of quaternion $\mathbf{q} = (q_r, q_i, q_j, q_k)$ is $$\left\lVert \mathbf{q} \right\rVert = \sqrt{ q_r^2 + q_i^2 + q_j^2 + q_k^2 }$$
The reason this kind of weighted mixing of unit quaternions (also known as versors) works, as long as one normalizes the result afterwards to unit norm, is that unit quaternions describing rotations or orientations do not have any bias towards any direction; and because the components of the quaternion can be described via a 3D (unit) axis vector $(a_x, a_y, a_z)$ and the angle of rotation $\theta$ around that axis: $$\left\lbrace ~ \begin{aligned} q_r &= \cos\left(\frac{\theta}{2}\right) \\ q_i &= a_x \sin\left(\frac{\theta}{2}\right) \\ q_j &= a_y \sin\left(\frac{\theta}{2}\right) \\ q_k &= a_z \sin\left(\frac{\theta}{2}\right) \\ \end{aligned} \right.$$ Obviously, when the axis is an unit vector, the quaternion is an unit quaternion too.
If you consider what happens to such a representation when you sum unit quaternions with positive weights $w_i$ such that $\sum w_i = 1$, you'll see that the result is an intuitive mix of the summed unit quaternions.
In the case of just two unit quaternions, i.e. $$\mathbf{q} = (1 - \alpha) \mathbf{q}_0 + \alpha \mathbf{q}_1, \quad 0 \le \alpha \le 1$$ causes a 3D vector $\vec{v}$ rotated by the resulting quaternion ($\vec{v}^\prime = \mathbf{q} \vec{v} \mathbf{q}^{-1}$) to trace a great circle around the origin from $\alpha = 0$, $\vec{v}^\prime = \mathbf{q}_0 \vec{v} \mathbf{q}_0^{-1}$ to $alpha = 1$, $\vec{v}^\prime = \mathbf{q}_1 \vec{v} \mathbf{q}_1^{-1}$. If the two axis vectors are in the same half-space (their dot product nonnegative), then the arc traced is the shorter arc; otherwise the longer arc.
Note that if $$\left\lbrace ~ \begin{aligned} q^\prime_r &= -q_r \\ q^\prime_i &= -q_i \\ q^\prime_j &= -q_j \\ q^\prime_k &= -q_k \\ \end{aligned} \right.$$ the two quaternions $\mathbf{q}$ and $\mathbf{q}^\prime$ describe the same rotation or orientation. For a single rotation, or a change in orientation, if the $r$ component is negative, the rotation is through the "long way around", i.e. vectors trace the longer arc of the great circle through the rotation; negating the entire unit quaternion as above (so that $r$ component is positive) keeps the end orientation the same, but through the shorter arc of a great circle. This is important when mixing/filtering quaternions! You'll need to ensure their $r$ components all have the same sign, or you'll get unintuitive/odd results!
This is extensively used in 3D animation to rotate things from one orientation to another (using just two quaternions) in an intuitive manner; especially the camera itself. For a sequence of camera positions and orientations, piecewise continuous sequences of curves (often cubic Bézier curves) are used.
Since the mixing above is linear, it can feel "jerky" at the beginning and ending -- hopefully you can compare this to "noisy" orientations! -- so instead of a linear function of time $t$ ($\alpha = (t - t_0) / (t_1 - t_0)$), a curve is used; for example, given $\tau = (t - t_0) / (t_1 - t_0)$, i.e. $\tau = 0 \dots 1$, $$\alpha = tau^2 ( 3 - 2 \tau )$$ or $$\alpha = tau^3 ( 10 - 15 \tau + 6 \tau^2 )$$ Both start and stop at standstill (accelerating and decelerating between start and stop orientations), but the latter also starts and stops with zero acceleration; much like elevators where you barely sense the acceleration/deceleration.