Skip to main content

Table 1 The analytical dual quaternion algorithm of the weighted 3D coordinate transformation

From: Analytical dual quaternion algorithm of the weighted three-dimensional coordinate transformation

Input: input 3D coordinates of control points and construct 3D coordinate vector quaternion by Eq. (50), and input the point-wise weight \(\alpha_{i}\)

Analytical computation:

Step 1. Compute \(a\), \(b\), \(c\), \({\mathbf{A}}\), \({\mathbf{B}}\), \({\mathbf{C}}\) by Eq. (54) to Eq. (59)

Step 2. Compute \({\mathbf{G}}\) by Eq. (82), and perform the eigenvalue–eigenvector decomposition of \({\mathbf{G}}\). \(\gamma_{\max }\) is set to the largest eigenvalue, and \({\varvec{r}}\) is set to the eigenvector corresponding to the largest eigenvalue

Step 3. Compute \(\lambda\) by Eq. (68)

Step 4. Compute \({\varvec{s}}\) by Eq. (67)

Step 5. Compute \({\mathbf{R}}\) by Eq. (47); furthermore, if rotation angles \(\theta_{x}\), \(\theta_{y}\), \(\theta_{z}\) are needed, compute them by Eq. (16)

Step 6. Compute \({\varvec{t}}\) by Eq. (49) and then translation \({\mathbf{t}}\) by Eq. (48)

Step 7. Compute \({\varvec{e}}_{i}\) by Eq. (51) and then compute \(\sigma\) by Eq. (86). Or compute \(\beta_{{1}}\) by Eq. (85) and then compute \(\sigma\) by Eq. (87)

Output: output \({\varvec{r}}\), \({\varvec{s}}\), \(\lambda\), \({\varvec{t}}\), \({\mathbf{R}}\), (\(\theta_{x}\), \(\theta_{y}\), \(\theta_{z}\) if needed), \(\sigma\)