# Least-Squares Estimation of Tangent Space for a Triangular Mesh
## 4 Experimental Results  
We first conducted an experiment on a triangular mesh of a sphere model provided with vertex-normal vectors, as shown in Figure 2. The tangent spaces computed with our method exhibit coherence with the neighboring tangent spaces, even at the seams, owing to the texture space alignment. To further demonstrate the effectiveness of the texture space alignment for seams, we applied our method, the linear method [2; 5], and [PERSON]'s method [3] to the sphere model, both with and without the texture space alignment. Figure 6 shows the tangent spaces obtained for the six cases. It can be observed that the texture space alignment is effective in ensuring smooth transitions across seams, not only in our method but also in the linear method and [PERSON]'s method. Now, we analyze the orthonormality errors in the tangent spaces obtained with the previous methods. The tangent space obtained at a vertex using the linear method [2,5] is denoted as \(\mathbf{T}_{l}=[\mathbf{t}_{l}|\mathbf{b}_{l}|\mathbf{n}_{l}]\). As detailed in Section 2.1, \(\mathbf{T}_{l}\) should undergo the Gram-Schmidt orthonormalization process, which adjusts the tangent and bitangent vectors. However, for a thorough examination of inherent orthonormality errors, we omit the Gram-Schmidt process and exclusively utilize vector normalization, which is a straightforward procedure necessary to compensate for the scale difference between the tangent space and the world space. The tangent space obtained with [PERSON]'s method [3] is represented as \(\mathbf{T}_{m}=[\mathbf{t}_{m}|\mathbf{b}_{m}|\mathbf{n}_{m}]\). We analyzed the orthonormality errors in a triangular mesh of a cow model, which is provided with vertex-normal vectors. The orthonormality error in \(\mathbf{T}_{l}\) of the linear method is measured by the metric \(\|\mathbf{I}-\mathbf{T}_{l}^{\mathrm{T}}\mathbf{T}_{l}\|_{\mathrm{F}}\), where \(\|\cdot\|_{\mathrm{F}}\) represents the Frobenius norm of a matrix. Figure 7a visualizes this orthonormality error at every vertex. The first column visualizes the errors in the surface, the second column in the vertices, and the third column in texture space. The last column shows the histogram of the errors on a logarithmic scale. We can observe that there are large errors in sharp features. Figure 7b shows the orthonormality errors in \(\mathbf{T}_{m}\) of [PERSON]'s method. The errors are smaller than those in the linear method because the tangent vectors and the bitangent vectors are orthogonal to the normal vectors. Figure 6: The tangent space alignment for seams was employed in the top row but not in the bottom. (**a**) Our method; (**b**) The linear method; (**c**) [PERSON]’s method. Figure 7: A triangular mesh of a cow model equipped with vertex-normal vectors. The first and second rows show the orthonormality errors in the tangent spaces \(\mathbf{T}_{l}\) and \(\mathbf{T}_{m}\) obtained with the linear method and [PERSON]’s method, respectively. The third and fourth rows show the differences of \(\mathbf{T}_{l}\) and \(\mathbf{T}_{m}\) compared to \(\mathbf{T}_{s}\) obtained with our method. The error and differences are overlaid onto the surface in the first column, onto the vertices in the second column, and onto texture space in the third column. The last column shows the histogram on a logarithmic scale. (**a**) Orthonormality error \(\|\mathbf{I}-\mathbf{T}_{l}^{T}\mathbf{T}_{l}\|_{\mathrm{F}}\) of the linear method; (**b**) Orthonormality error \(\|\mathbf{I}-\mathbf{T}_{m}^{T}\mathbf{T}_{m}\|_{\mathrm{F}}\) of [PERSON]’s method; (**c**) Difference \(\|\mathbf{T}_{l}-\mathbf{T}_{s}\|_{\mathrm{F}}\) between the linear method and our method; (**d**) Difference \(\|\mathbf{T}_{m}-\mathbf{T}_{s}\|_{\mathrm{F}}\) between [PERSON]’s method and our method. Then, we compared the tangent spaces obtained with the previous methods to the orthonormal tangent spaces \(\mathbf{T}_{s}=[\mathbf{t}_{s}|\mathbf{b}_{s}|\mathbf{n}_{s}]\) obtained with our shape-matching-based method.