Skip to main content
Log in

Medial-axis-driven shape deformation with volume preservation

  • Original Article
  • Published:
The Visual Computer Aims and scope Submit manuscript

Abstract

The medial axis is a natural skeleton for shapes. However, it is rarely used in the existing skeleton-based shape deformation techniques. In this paper, we propose a novel medial-axis-driven skin surface deformation algorithm with volume preservation property. Specifically, an as-rigid-as-possible deformation scheme is used to deform the medial axis so that its local transform is as close as possible to a rigid transform. We maintain surface features of the deformed shape based on an implicit skinning method. Our experiments show that the proposed algorithm effectively preserves the volume of deformed shape and addresses the bending and twisting problems associated with traditional skeleton-based shape deformation techniques.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Amenta, N., Bern, M.: Surface reconstruction by Voronoi filtering. Discrete Comput. Geom. 22(4), 481–504 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  2. Amenta, N., Choi, S., Kolluri, R.K.: The power crust. In: Proceedings of the ACM Symposium on Solid Modeling and Applications, pp. 249–266 (2001)

  3. Attali, D., Montanvert, A.: Modeling noise for a better simplification of skeletons. In: Proceedings of the International Conference on Image Processing, pp. 13–16 vol. 3 (1996)

  4. Bloomenthal, J.: Medial-based vertex deformation. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 147–151 (2002)

  5. Bloomenthal, J., Lim, C.: Skeletal methods of shape manipulation. In: Proceedings of the Shape Modeling International, p. 44 (1999)

  6. Blum, H.: A transformation for extracting new descriptors of shape. Models Percept. Speech Vis. Form 19, 362–380 (1967)

    Google Scholar 

  7. Chaussard, J., Couprie, M., Talbot, H.: A Discrete \(\lambda \)-Medial Axis. In: Discrete Geometry for Computer Imagery (2009)

  8. Chazal, F., Lieutier, A.: The ”\(\lambda \)-Medial Axis”. Graph. Models 4(4), 304–331 (2005)

    Article  MATH  Google Scholar 

  9. Dey, Tamal: K., Zhao, Wulue: Approximate medial axis as a Voronoi subcomplex. Comput. Aided Des. 36(2), 195–202 (2004)

    Article  Google Scholar 

  10. Du, H., Qin, H.: Medial axis extraction and shape manipulation of solid objects using parabolic pdes. In: Proceedings of the 9th ACM Symposium on Solid Modeling and Applications. (SM ’04), pp. 25–35. Eurographics Association, Aire-la-Ville, Switzerland, Switzerland (2004)

  11. Faraj, N., Thiery, J.M., Boubekeur, T.: Progressive medial axis filtration. In: SIGGRAPH Asia 2013 Technical Briefs, pp. 1–4 (2013)

  12. Foskey, M., Lin, M.C., Manocha, D.: Efficient computation of a simplified medial axis. J. Comput. Inf. Sci. Eng. 3(4), 96–107 (2003)

    Article  Google Scholar 

  13. Garland, M.: Surface simplification using quadric error metrics. In: Conference on Computer Graphics & Interactive Techniques, pp. 209–216 (1997)

  14. Giulini, D.: The rich structure of minkowski space. In: Petkov V (ed.) Minkowski Spacetime: A Hundred Years Later, vol. 165, pp. 83–132 (2009)

  15. Guo, X., Hua, J., Qin, H.: Scalar-function-driven editing on point set surfaces. IEEE Comput. Graph. Appl. 24(4), 43–52 (2004)

    Article  Google Scholar 

  16. Huang, J., Shi, X., Liu, X., Zhou, K., Wei, L.Y., Teng, S.H., Bao, H., Guo, B., Shum, H.Y.: Subspace gradient domain mesh deformation. ACM Trans. Graph. 25(3), 1126–1134 (2006)

    Article  Google Scholar 

  17. Jacobson, A., Sorkine, O.: Stretchable and twistable bones for skeletal shape deformation. ACM Trans. Graph. 30(6), 61–64 (2011)

    Article  Google Scholar 

  18. Kavan, L., Collins, S., Žára, J., O’Sullivan, C.: Geometric skinning with approximate dual quaternion blending. ACM Trans. Graph 27(4), 105:1–105:23 (2008)

    Article  Google Scholar 

  19. Kavan, L., Žára, J.: Spherical blend skinning: a real-time deformation of articulated models. In: Proceedings of the Symposium on Interactive 3D Graphics, pp. 9–16 (2005)

  20. Le, B.H., Hodgins, J.K.: Real-time skeletal skinning with optimized centers of rotation. ACM Trans. Graph. 35(4), 1–10 (2016)

    Article  Google Scholar 

  21. Leclercq, A., Akkouche, S., Galin, E.: Mixing triangle meshes and implicit surfaces in character animation. In: Proceedings of the Eurographic Workshop on Computer Animation and Simulation, pp. 37–47 (2001)

  22. Li, P., Wang, B., Sun, F., Guo, X., Zhang, C., Wang, W.: Q-MAT: computing medial axis transform by quadratic error minimization. ACM Trans. Graph. 35(1), 8 (2015)

  23. Ller, M., Heidelberger, B., Teschner, M., Gross, M.: Meshless deformations based on shape matching. ACM Trans. Graph. 24(3), 471–478 (2005)

    Article  Google Scholar 

  24. Magnenat-Thalmann, N., Laperrière, R., Thalmann, D.: Joint-dependent local deformations for hand animation and object grasping. In: Proceedings on Graphics Interface ’88, pp. 26–33. Canadian Information Processing Society, Toronto, Ont., Canada, Canada (1988)

  25. Merry, B., Marais, P., Gain, J.: Animation space: a truly linear framework for character animation. ACM Trans. Graph. 25(4), 1400–1423 (2006)

    Article  Google Scholar 

  26. Miklos, B., Giesen, J., Pauly, M.: Discrete scale axis representations for 3D geometry. ACM Trans. Graph. 29(4), 157–166 (2010)

    Article  Google Scholar 

  27. Mohr, A., Gleicher, M.: Building efficient, accurate character skins from examples. ACM Trans. Graph. 21(3), 562–568 (2003)

    Article  Google Scholar 

  28. Mukai, T.: Building helper bone rigs from examples. In: Proceedings of the Symposium on Interactive 3D Graphics and Games, pp. 77–84 (2015)

  29. van Overveld, C.W.A.M., van den Broek, B.C.: Using the implicit surface paradigm for smooth animation of triangle meshes. In: Proceedings of the International Conference on Computer Graphics, p. 214 (1999)

  30. Ricci, A.: A constructive geometry for computer graphics. Comput. Aided Des. 2, 157–160 (1973)

    MATH  Google Scholar 

  31. Shen, J., Thalmann, D.: Interactive shape design using metaballs and splines. In: Proceedings of the Implicit Surfaces (2002)

  32. Singh, K., Parent, R.: Implicit function based deformations of polyhedral objects. In: Proceedings. Eurographics Workshop on Implicit Surfaces (1995)

  33. Sorkine, O., Alexa, M.: As-rigid-as-possible surface modeling. In: Proceedings of the Eurographics Symposium on Geometry Processing pp. 109–116 (2007)

  34. Sud, A., Foskey, M., Manocha, D.: Homotopy-preserving medial axis simplification. Int. J. Comput. Geom. Appl. 17(5), 39–50 (2005)

    MathSciNet  MATH  Google Scholar 

  35. Sumner, R.W., Schmid, J., Pauly, M.: Embedded deformation for shape manipulation. ACM Trans. Graph. 26(3), 80 (2007)

    Article  Google Scholar 

  36. Sun, F., Choi, Y., Yu, Y., Wang, W.: Medial meshes for volume approximation. CoRR abs/1308.3917 (2013). http://arxiv.org/abs/1308.3917

  37. Vaillant, R., Barthe, L., Guennebaud, G., Cani, M.P., Rohmer, D., Wyvill, B., Gourmel, O., Paulin, M.: Implicit skinning: real-time skin deformation with contact modeling. ACM Trans. Graph. 32(4), 96–96 (2013)

    Article  MATH  Google Scholar 

  38. Vaillant, R., Guennebaud, G., Barthe, L., Wyvill, B., Cani, M.P.: Robust iso-surface tracking for interactive character skinning. ACM Trans. Graph. 33(6), 1–11 (2014)

    Article  Google Scholar 

  39. Wang, X.C., Phillips, C.: Multi-weight enveloping: Least-squares approximation techniques for skin animation. In: Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 129–138 (2002)

  40. Yan, Y., Sykes, K., Chambers, E., Letscher, D., Ju, T.: Erosion thickness on medial axes of 3D shapes. ACM Trans. Graph. 35(4), 1–12 (2016)

    Google Scholar 

  41. Yoshizawa, S., Belyaev, A., Seidel, H.P.: Skeleton-based variational mesh deformations. Comput. Graph. Forum 26(3), 255–264 (2007)

    Article  Google Scholar 

  42. Zhou, K., Huang, J., Snyder, J., Liu, X., Bao, H., Guo, B., Shum, H.Y.: Large mesh deformation using the volumetric graph laplacian. ACM Trans. Graph. 24(3), 496–503 (2005)

    Article  Google Scholar 

  43. Zhuo, W., Rossignac, J.: Fleshing: Spine-driven bending with local volume preservation. In: Computer Graphics Forum, pp. 295–304. Wiley (2013)

  44. Ztireli, A.C., Baran, I., Popa, T., Dalstein, B., Sumner, R.W., Gross, M.: Differential blending for expressive sketch-based posing. In: Proceedings. ACM Siggraph/Eurographics Symposium on Computer Animation, pp. 155–164 (2013)

Download references

Acknowledgements

The authors would like to thank the anonymous reviewers for their valuable suggestions. This work was partially supported by the Project of College Excellent Professional Leaders Overseas Visitor of Fujian Provincial Education Department in 2015, and the open funding project of State Key Laboratory of Virtual Reality Technology and Systems, Beihang University (Grant No. BUAA-VR-16KF-22).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Junfeng Yao.

Appendices

Appendix: Footprint sphere on medial slab

For the medial slab \({C}_{l}\) of a triangle face \({f}_{ijk}\), the footprint sphere of point p on the slab is the sphere \({m}_{n}=\{{{c}}_{n}, {r}_{n}\}\) with minimal scalar function \({E}_{m}({m}_{n})\) defined as:

$$\begin{aligned} {E}_{m}({m}_{n})=||{p}-{{c}}_{n}||^{2} - {r}_{n}^{2}. \end{aligned}$$
(16)

Suppose \(\{{{c}}_{i}, {r}_{i}\}\), \(\{{{c}}_{j}, {r}_{j}\}\), and \(\{{{c}}_{k}, {r}_{k}\}\) are the three spheres defining this medial slab, then we have \({{c}}_{n}={\beta }_{i}{{c}}_{i}+{\beta }_{j}{{c}}_{j}+(1-{\beta }_{i}-{\beta }_{j}){{c}}_{k}\), and \({r}_{n}={\beta }_{i} {r}_{i} + {\beta }_{j} {r}_{j} + (1-{\beta }_{i}-{\beta }_{j}) {r}_{k}\). The scalar function \({E}_{m}({m}_{n})\) can be written as:

$$\begin{aligned} {E}_{m}({\beta }_{i},{\beta }_{j})= & {} ||{p} - ({\beta }_{i}{{c}}_{i} +{\beta }_{j}{{c}}_{j}+(1-{\beta }_{i}-{\beta }_{j}){{c}}_{k}) ||^{2} \nonumber \\&- ({\beta }_{i} {r}_{i}+ {\beta }_{j} {r}_{j} + (1-{\beta }_{i}-{\beta }_{j}) {r}_{k})^{2}\nonumber \\= & {} {A}_{i} {\beta }_{i}^{2} + {A}_{j} {\beta }_{j}^{2} + {A}_{k} (1-{\beta }_{i}-{\beta }_{j})^{2} \nonumber \\&+ 2{B}_{ij} {\beta }_{i} {\beta }_{j}+ 2{B}_{ik} {\beta }_{i} (1-{\beta }_{i}-{\beta }_{j}) \nonumber \\&+2{B}_{jk} {\beta }_{j}(1-{\beta }_{i}-{\beta }_{j}), \end{aligned}$$
(17)

where

$$\begin{aligned} {A}_{i}= & {} ({p} - {{c}}_{i})^{T}({p}-{{c}}_{i}) - {r}_{i}^{2}, \nonumber \\ {A}_{j}= & {} ({p} - {{c}}_{j})^{T}({p}-{{c}}_{j}) - {r}_{j}^{2}, \nonumber \\ {A}_{k}= & {} ({p} - {{c}}_{k})^{T}({p}-{{c}}_{k}) - {r}_{k}^{2}, \nonumber \\ {B}_{ij}= & {} ({p} - {{c}}_{i})^{T}({p}-{{c}}_{j}) - {r}_{i} {r}_{j}, \nonumber \\ {B}_{ik}= & {} ({p} - {{c}}_{i})^{T}({p}-{{c}}_{k}) - {r}_{i} {r}_{k}, \nonumber \\ {B}_{jk}= & {} ({p} - {{c}}_{j})^{T}({p}-{{c}}_{k}) - {r}_{j} {r}_{k}. \end{aligned}$$
(18)

The Hessian matrix of \({E}_{m}({\beta }_{i},{\beta }_{j})\) is:

$$\begin{aligned}&{\mathrm {H}}({E}_{m}) = \left( \begin{array}{cc} \frac{\partial ^{2} {E}_{m}}{\partial {\beta }_{i}^{2}} &{} \frac{\partial ^{2} {E}_{m}}{\partial {\beta }_{i} \partial {\beta }_{j}}\\ \frac{\partial ^{2} {E}_{m}}{\partial {\beta }_{j} \partial {\beta }_{i}} &{} \frac{\partial ^{2} {E}_{m}}{\partial {\beta }_{j}^{2}} \end{array}\right) \nonumber \\&\quad =2\left( \begin{array}{cc} {A}_{i} \,+\, {A}_{k} \,-\, 2{B}_{ik} &{} {A}_{k} \,+\, {B}_{ij} \,-\, {B}_{ik} \,-\, {B}_{jk}\\ {A}_{k} \,+\, {B}_{ij} \,-\, {B}_{ik} \,-\, {B}_{jk} &{} {A}_{j} \,+\, {A}_{k} \,-\, 2{B}_{jk} \end{array}\right) .\nonumber \\ \end{aligned}$$
(19)

Let us denote:

$$\begin{aligned} {H}_{11}= & {} {A}_{i} + {A}_{k} - 2{B}_{ik}, \nonumber \\ {H}_{12}= & {} {A}_{k} + {B}_{ij} - {B}_{ik} - {B}_{jk}, \nonumber \\ {H}_{22}= & {} {A}_{j} + {A}_{k} - 2{B}_{jk}. \end{aligned}$$
(20)

since two Euclidean vectors v and \({\mathrm {\textit{w}}}\) satisfy the law of cosines:

$$\begin{aligned} ({{v}}-{\mathrm {\textit{w}}})^{T}({{v}}-{\mathrm {\textit{w}}})={{v}}^{T}{{v}} +{\mathrm {w}}^{T}{\mathrm {\textit{w}}}-2{{v}}^{T}{\mathrm {\textit{w}}}, \end{aligned}$$
(21)

we can rewrite \({H}_{11}\), \({H}_{12}\), and \({H}_{22}\) as:

$$\begin{aligned} {H}_{11}= & {} ({{c}}_{i}-{{c}}_{k})^{T}({{c}}_{i}-{{c}}_{k}) -({r}_{i}-{r}_{k})^{2}, \nonumber \\ {H}_{12}= & {} ({{c}}_{i}-{{c}}_{k})^{T}({{c}}_{j}-{{c}}_{k}) - ({r}_{i}-{r}_{k})({r}_{j}-{r}_{k}), \nonumber \\ {H}_{22}= & {} ({{c}}_{j}-{{c}}_{k})^{T}({{c}}_{j}-{{c}}_{k}) -({r}_{j}-{r}_{k})^{2}. \end{aligned}$$
(22)

If we denote the 4-dimensional vectors \({{v}}_{i}\) and \({{v}}_{j}\) in Minkowski space as:

$$\begin{aligned} {{v}}_{i}= & {} \left[ ({{c}}_{i}-{{c}}_{k})^{T}, ({r}_{i}-{r}_{k})\right] ^{T}, \nonumber \\ {{v}}_{j}= & {} \left[ ({{c}}_{j}-{{c}}_{k})^{T}, ({r}_{j}-{r}_{k})\right] ^{T}, \end{aligned}$$
(23)

then \({H}_{11}\), \({H}_{12}\), and \({H}_{22}\) can be written using Minkowski inner product \(g(\cdot ,\cdot )\) as:

$$\begin{aligned} {H}_{11}= & {} g({{v}}_{i},{{v}}_{i}), \nonumber \\ {H}_{12}= & {} g({{v}}_{i},{{v}}_{j}), \nonumber \\ {H}_{22}= & {} g({{v}}_{j},{{v}}_{j}). \end{aligned}$$
(24)

As shown in Fig. 3 of the paper, as long as the two spheres \({m}_{i}\) and \({m}_{k}\) are not arranged as “one inside another”, then we can guarantee \({H}_{11}>0\). Similarly \({H}_{22}>0\) also holds for general valid configurations of \({m}_{j}\) and \({m}_{k}\).

Since both \(g({{v}}_{i},{{v}}_{i}) >0\) and \(g({{v}}_{j},{{v}}_{j}) >0\), i.e., \({{v}}_{i}\) and \({{v}}_{j}\) are spacelike vectors in Minkowski space, they satisfy the usual Cauchy-Schwarz inequality (see Formula 3 of [14]):

$$\begin{aligned} g({{v}}_{i},{{v}}_{i}) g({{v}}_{j},{{v}}_{j}) \ge g ({{v}}_{i},{{v}}_{j})^{2}, \end{aligned}$$
(25)

with equality holds when \({{v}}_{i}\) and \({{v}}_{j}\) are co-linear. For a general medial slab, \({{v}}_{i}\) and \({{v}}_{j}\) will not be co-linear; thus, we have \(g({{v}}_{i},{{v}}_{i}) g({{v}}_{j},{{v}}_{j}) - g({{v}}_{i},{{v}}_{j})^{2} > 0\).

Thus the determinant of Hessian \({\mathrm {H}}({E}_{m})\) is positive:

$$\begin{aligned} \left| {\mathrm {H}}({E}_{m})\right| = 2({H}_{11}{H}_{22}-{H}_{12}^{2}) > 0, \end{aligned}$$
(26)

the scalar function \({E}_{m}\) will have a unique global minimum, and thus the footprint sphere can be solved from minimizing Eq. (17) with \(\left[ \frac{\partial {E}_{m}}{\partial {\beta }_{i}}, \frac{\partial {E}_{m}}{\partial {\beta }_{j}}\right] =[0,0]\).

Minimizing ARAP deformation energy

For our medial mesh \({M}_{s}\), the ARAP deformation energy is defined as:

$$\begin{aligned} {E}_{d} (\{{{R}}_{j},{\mathrm {t}}_{j}\}, \{\tilde{{{c}}}_{i}\}) = \sum _{i} \sum _{j \in \mathscr {N}(i)}^{n} ||{{R}}_{j} {{c}}^{0}_{ij} + {\mathrm {t}}_{j} - \tilde{{{c}}}_{i} ||^{2}, \end{aligned}$$
(27)

where \(\mathscr {N}(i)\) denotes the set of indices of medial primitives \(\{{C}_{j}|j\in \mathscr {N}(i)\}\) which are connected with the medial sphere \({m}_{i}\). \({{R}}_{j}\) and \({\mathrm {t}}_{j}\) are the rotation matrix and translation vector for medial primitive \({C}_{j}\). \(\tilde{{{c}}}_{i}\) is the deformed position of the medial sphere \({m}_{i}\), and \({{c}}^{0}_{ij}\) is its corresponding center position in \({C}_{j}\) at the rest pose.

Each medial primitive has its local coordinate system with origin on the center of the primitive. So the translation vector can be simply: \({\mathrm {t}}_{j}=\frac{1}{3}(\tilde{{{c}}}_{i}+\tilde{{{c}}}_{j}+\tilde{{{c}}}_{k})\) for triangle \({f}_{ijk}\), and \({\mathrm {t}}_{j}=\frac{1}{2}(\tilde{{{c}}}_{i}+\tilde{{{c}}}_{j})\) for edge \({e}_{ij}\) on the medial mesh. To minimize \({E}_{d}\) in Eq. (27), the rotation matrix \({{R}}_{j}\) of all primitives and the medial sphere central positions \(\tilde{{{c}}}_{i}\) need to be solved in turn iteratively.

In each iteration, if we first fix the value of \(\tilde{{{c}}}_{i}\), we can minimize \({E}_{d}\) and solve the rotation matrices \({{R}}_{j}\) as follows. Let us denote \(\tilde{{{c}}}_{ij} = \tilde{{{c}}}_{i} - {\mathrm {t}}_{j}\), for each primitive \(j \in \mathscr {N}(i)\). Then:

$$\begin{aligned} {E}_{d}= & {} \sum _{i} \sum _{j \in \mathscr {N}(i)}^{n} ||{{R}}_{j} {{c}}^{0}_{ij} + {\mathrm {t}}_{j} - \tilde{{{c}}}_{i} ||^{2} \nonumber \\= & {} \sum _{j} \sum _{i \in \mathscr {V}(j)} ||{{R}}_{j} {{c}}^{0}_{ij} - \tilde{{{c}}}_{ij} ||^{2} \nonumber \\= & {} \sum _{j} \sum _{i \in \mathscr {V}(j)} \left( {{{c}}^{0}_{ij}}^{T}{{c}}^{0}_{ij} - 2{{{c}}^{0}_{ij}}^{T} {{R}}_{j}^{T} \tilde{{{c}}}_{ij} + \tilde{{{c}}}_{ij}^{T}\tilde{{{c}}}_{ij}\right) , \end{aligned}$$
(28)

where \(\mathscr {V}(j)\) is the set of vertices for primitive j. Since \({{{c}}^{0}_{ij}}^{T}{{c}}^{0}_{ij}\) and \(\tilde{{{c}}}_{ij}^{T}\tilde{{{c}}}_{ij}\) are fixed for now, minimizing \({E}_{d}\) is equivalent to maximizing the following \({F}_{d}\):

$$\begin{aligned} {F}_{d}= & {} \sum _{j} \sum _{i \in \mathscr {V}(j)} \left( {{{c}}^{0}_{ij}}^{T} {{R}}_{j}^{T} \tilde{{{c}}}_{ij}\right) \nonumber \\= & {} \hbox {trace}\left( \sum _{j} \sum _{i \in \mathscr {V}(j)} \left( {{{c}}^{0}_{ij}}^{T} {{R}}_{j}^{T} \tilde{{{c}}}_{ij}\right) \right) \nonumber \\= & {} \sum _{j} \sum _{i \in \mathscr {V}(j)} \hbox {trace}\left( {{{c}}^{0}_{ij}}^{T} {{R}}_{j}^{T} \tilde{{{c}}}_{ij}\right) \nonumber \\= & {} \sum _{j} \sum _{i \in \mathscr {V}(j)} \hbox {trace}\left( {{R}}_{j}^{T} \tilde{{{c}}}_{ij}{{{c}}^{0}_{ij}}^{T}\right) \nonumber \\= & {} \sum _{j} \hbox {trace}\left( {{R}}_{j}^{T} \sum _{i \in \mathscr {V}(j)} \tilde{{{c}}}_{ij}{{{c}}^{0}_{ij}}^{T}\right) \nonumber \\= & {} \sum _{j} \hbox {trace}\left( {{R}}_{j}^{T} {\mathrm {A}}_{j}\right) \nonumber \\= & {} \sum _{j} {F}_{d}^{j}, \end{aligned}$$
(29)

where the matrix \({\mathrm {A}}_{j} \,=\, \sum \nolimits _{i \in \mathscr {V}(j)} \tilde{{{c}}}_{ij}{{{c}}^{0}_{ij}}^{T}\), and \({F}_{d}^{j} \,=\, \hbox {trace}({{R}}_{j}^{T} {\mathrm {A}}_{j})\). Since each \({{R}}_{j}\) is independent of each other, we can maximize each \({F}_{d}^{j}\) individually. We decompose \({\mathrm {A}}_{j}\) using singular value decomposition (SVD): \({\mathrm {A}}_{j} = {{U}}_{j} {{D}}_{j} {{V}}_{j}^{T}\). Then \({F}_{d}^{j} = \hbox {trace}({{R}}_{j}^{T} {{U}}_{j} {{D}}_{j} {{V}}_{j}^{T}) = \hbox {trace}({{V}}_{j}^{T}{{R}}_{j}^{T} {{U}}_{j} {{D}}_{j})\). Since \({{D}}_{j}\) is a diagonal matrix, the trace achieves maximum when \({{V}}_{j}^{T}{{R}}_{j}^{T} {{U}}_{j}\) is an identity matrix. So \({{R}}_{j}\) can be solved as:

$$\begin{aligned} {{R}}_{j} = {{U}}_{j} {{V}}_{j}^{T}. \end{aligned}$$
(30)

After getting the rotation matrices for primitives, we can assume \({{R}}_{j}\) to be fixed, and minimize \({E}_{d}\) by solving for medial sphere center positions \({\tilde{{{c}}}}_{i}\). They can be simply solved as:

$$\begin{aligned} \tilde{{{c}}}_{i} = \frac{1}{|{\mathscr {N}}(i)|} \sum _{j \in {\mathscr {N}}(i)} \left( {{R}}_{j} {{c}}^{0}_{ij} + {\mathrm {t}}_{j}\right) , \end{aligned}$$
(31)

where \(|\mathscr {N}(i)|\) is the number of primitives that are connected to medial sphere i.

It should be noted that in each iteration, we compute the optimal \({{R}}_{j}\) and \(\tilde{{{c}}}_{i}\) in turn, and each of these steps will decrease the energy \({E}_{d}\) until converged.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lan, L., Yao, J., Huang, P. et al. Medial-axis-driven shape deformation with volume preservation. Vis Comput 33, 789–800 (2017). https://doi.org/10.1007/s00371-017-1401-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00371-017-1401-x

Keywords

Navigation