User:Purwar

In kinematics, the motion of a rigid body is defined as a continuous set of displacements. One-parameter motions can be defined as a continuous displacement of moving object with respect to a fixed frame in Euclidean three-space (E3), where the displacement depends on one parameter, mostly identified as time.

Rational Motions are defined by rational functions (ratio of two polynomial functions) of time. They produce rational trajectories, and therefore they integrate well with the existing NURBS (Non-Uniform Rational B-Spline) based industry standard CAD/CAM systems. They are readily amenable to the applications of existing Computer Aided Geometric Design (CAGD) algorithms. By combining kinematics of rigid body motions with NURBS geometry of curves and surfaces, methods have been developed for computer aided design of rational motions.

These CAD methods for motion design find applications in animation in computer graphics (key frame interpolation), trajectory planning in robotics (taught-position interpolation), spatial navigation in virtual reality, computer aided geometric design of motion via interactive interpolation, CNC tool path planning, and task specification in mechanism synthesis.

Background
There has been a great deal of research in applying the principles of Computer Aided Geometric Design (CAGD) to the problem of computer aided motion design. In recent years, it has been well established that rational Bezier and rational B-spline based curve representation schemes can be combined with dual-quaternion representation of spatial displacements to obtain rational Bezier and B-spline motions. Ge and Ravani, developed a new framework for geometric constructions of spatial motions by combining the concepts from kinematics and CAGD. Their work was built upon the seminal paper of Shoemake, in which he used the concept of a quaternion for rotation interpolation. A detailed list of references on this topic can be found in and.

Rational Bezier and B-Spline Motions
Let $$\hat {\textbf{q}} = \textbf{q} + \varepsilon \textbf{q}^0$$ denote a unit dual quaternion. A homogeneous dual quaternion may be written as a pair of quaternions, $$\hat {\textbf{Q}}= \textbf{Q} + \varepsilon \textbf{Q}^0$$; where $$\textbf{Q} = w\textbf{q}, \textbf{Q}^0 = w\textbf{q}^0 + w^0\textbf{q}$$. This is obtained by expanding $$\hat {\textbf{Q}} = \hat {w} \hat {\textbf{q}}$$ using dual-number algebra (here, $$\hat{w}=w+\varepsilon w^0$$).

In terms of dual quaternions and the homogeneous coordinates of a point $$\textbf{P}:(P_1, P_2, P_3, P_4)$$ of the object, the transformation equation in terms of quaternions is given by (see for details)

$$ \tilde {\textbf{P}} = \textbf{Q}\textbf{P}\textbf{Q}^\ast + P_4 [(\textbf{Q}^0)\textbf{Q}^\ast - \textbf{Q}(\textbf{Q}^0)^\ast], $$ where $$\textbf{Q}^\ast$$ and $$(\textbf{Q}^0)^\ast$$ are conjugates of $$\textbf{Q}$$ and $$\textbf{Q}^0$$, respectively and $$\tilde {\textbf{P}}$$ denotes homogeneous coordinates of the point after the displacement.

Given a set of unit dual quaternions and dual weights $$\hat {\textbf{q}}_i, \hat {w}_i; i = 0...n$$ respectively, the following represents a rational Bezier curve in the space of dual quaternions.

$$ \hat{\textbf{Q}}(t) = \sum\limits_{i = 0}^n {B_i^n (t)\hat {\textbf{Q}}_i} = \sum\limits_{i = 0}^n {B_i^n (t)\hat {w}_i \hat{\textbf{q}}_i} $$

where $$B_i^n(t)$$ are the Bernstein polynomials. The Bezier dual quaternion curve given by above equation defines a rational Bezier motion of degree $$2n$$.

Similarly, a B-spline dual quaternion curve, which defines a NURBS motion of degree $$2p$$, is given by,

$$ \hat {\textbf{Q}}(t) = \sum\limits_{i = 0}^n {N_{i,p}(t) \hat {\textbf{Q}}_i } = \sum\limits_{i = 0}^n {N_{i,p}(t) \hat {w}_i \hat {\textbf{q}}_i } $$

where $$N_{i,p}(t)$$ are the $$p$$th-degree B-spline basis functions.

A representation for the rational Bezier motion and rational B-spline motion in the Cartesian space can be obtained by substituting either of the above two preceding expressions for $$ \hat {\textbf{Q}}(t)$$ in the equation for point transform. In what follows, we deal with the case of rational Bezier motion. The, the trajectory of a point undergoing rational Bezier motion is given by,

$$ \tilde {\textbf{P}}^{2n}(t) = [H^{2n}(t)]\textbf{P}, $$

$$ H^{2n}(t)] = \sum\limits_{k = 0}^{2n} {B_k^{2n}(t)[H_k]}, $$

where $$[H^{2n}(t)]$$ is the matrix representation of the rational Bezier motion of degree $$2n$$ in Cartesian space. The following matrices $$[H_k ]$$ (also referred to as Bezier Control Matrices) define the affine control structure of the motion:

$$ [H_k] = \frac{1}{C_k^{2n}} \sum\limits_{i+j=k}{C_i^n C_j^n w_i w_j [H_{ij}^\ast]}, $$

where $$[H_{ij}^\ast] = [H_i^+][H_j^-] + [H_j^-][H_i^{0+}] - [H_i^+][H_j^{0-} ] + (\alpha_i - \alpha_j )[H_j^-][Q_i^+]$$.

In the above equations, $$C_i^n$$ and $$C_j^n$$ are binomial coefficients and $$\alpha_i = w_i^0/w_i, \alpha_j = w_j^0/w_j$$ are the weight ratios and

$$ [H_j^-] = \left[ \begin{array}{rrrr} q_{j,4} & -q_{j,3} & q_{j,2}   & -q_{j,1} \\ q_{j,3} & q_{j,4}  &  -q_{j,1} & -q_{j,2} \\ -q_{j,2} & q_{j,1} & q_{j,4}   & -q_{j,3} \\ q_{j,1} & q_{j,2}  & q_{j,3}   & q_{j,4} \\ \end{array} \right], $$

$$ [Q_i^+] = \left[ \begin{array}{rrrr} 0 & 0 & 0 & q_{i,1} \\ 0 & 0 & 0 & q_{i,2} \\ 0 & 0 & 0 & q_{i,3} \\ 0 & 0 & 0 & q_{i,4} \\ \end{array} \right], $$

$$ [H_i^{0+}] = \left[ \begin{array}{rrrr} 0 & 0 & 0 & q_{i,1}^0 \\ 0 & 0 & 0 & q_{i,2}^0 \\ 0 & 0 & 0 & q_{i,3}^0 \\ 0 & 0 & 0 & q_{i,4}^0 \\ \end{array} \right], $$

$$ [H_j^{0-}] = \left[ \begin{array}{rrrr} 0 & 0 & 0 & -q_{j,1}^0 \\ 0 & 0 & 0 & -q_{j,2}^0 \\ 0 & 0 & 0 & -q_{j,3}^0 \\ 0 & 0 & 0 & q_{j,4}^0 \\ \end{array} \right], $$

$$ [H_i^+] = \left[ \begin{array}{rrrr} q_{i,4}  & -q_{i,3}  & q_{i,2}   &  q_{i,1} \\ q_{i,3}  & q_{i,4}   &  -q_{i,1} &  q_{i,2} \\ -q_{i,2} & q_{i,1}   & q_{i,4}   &  q_{i,3} \\ -q_{i,1} & -q_{i,2}  & -q_{i,3}  &  q_{i,4} \\ \end{array} \right]. $$

In above matrices, $$(q_{i,1}, q_{i,2}, q_{i,3}, q_{i,4})$$ are four components of the real part $$(\textbf{q}_i)$$ and $$(q_{i,1}^0, q_{i,2}^0, q_{i,3}^0, q_{i,4}^0)$$ are four components of the dual part$$(\textbf{q}_i^0)$$ of the unit dual quaternion $$(\hat {\textbf{q}}_i)$$.