Skip to main content
Log in

Touch-enabled haptic modeling of deformable multi-resolution surfaces

  • Original Article
  • Published:
Virtual Reality Aims and scope Submit manuscript

Abstract

Currently, interactive data exploration in virtual environments is mainly focused on vision-based and non-contact sensory channels such as visual/auditory displays. The lack of tactile sensation in virtual environments removes an important source of information to be delivered to the users. In this paper, we propose the touch-enabled haptic modeling of deformable multi-resolution surfaces in real time. The 6-DOF haptic manipulation is based on a dynamic model of Loop surfaces, where the dynamic parameters are computed easily without subdividing the control mesh recursively. A local deforming scheme is developed to approximate the solution of the dynamics equations, thus the order of the linear equations is reduced greatly. During each of the haptic interaction loop, the contact point is traced and reflected to the rendering of updated graphics and haptics. The sense of touch against the deforming surface is calculated according to the surface properties and the damping-spring force profile. Our haptic system supports the dynamic modeling of deformable Loop surfaces intuitively through the touch-enabled interactive manipulation.

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
Fig. 12

Similar content being viewed by others

References

  • Adachi Y, Kumano T, Ogino K (1995) Intermediate representation for stiff virtual objects. In: Proceedings of the IEEE virtual reality annual international symposium, pp 203–210

  • Asghar MW, Barner, KE (2001) Nonlinear multiresolution techniques with applications to scientific visualization in a haptic environment. IEEE Trans Visualiz Comput Graph 7(1):76–93

    Article  Google Scholar 

  • Basdogan C (2001) Real-time simulation of dynamically deformable finite element models using modal analysis and spectral lanczos decomposition methods. Med Meets Virtual Real 46–52

  • Chen KW, Heng PA, Sun H (2000) Direct haptic rendering of isosurface by intermediate representation. In: International conference proceedings of ACM VRST 2000, pp 188–194

  • Chen H, Sun, H (2002) Real-time haptic sculpting in virtual volume space. In: International conference proceedings of ACM VRST 2002, pp 81–88

  • Dachille F, Qin H, Kaufman A, El-sana J (1999) Haptic sculpting of dynamic surfaces. In: ACM symposium on interactive 3D graphics, pp 103–110

  • Dachille F, Qin H, Kaufman A (2001) A novel haptics-based interface and sculpting system for physics-based geometric design. Comput Aided Des 33(5):403–420

    Article  Google Scholar 

  • Du H, Qin H (2000) Direct manipulation and interactive sculpting of PDE surfaces. Comput Graph Forum (Eurographics 2000) 19(3):261–270

    Google Scholar 

  • Edwards J, Luecke G (1996) Physically based models for use in a force feedback virtual environment. In: Japan/USA symposium on flexible automation, ASME, pp 221–228

  • El-Sana J, Varshney A (2000) Continuously-adaptive haptic rendering. Virtual Environ 135–144

  • Frank A. Geldard (1975) Sensory saltation: metastability in the perceptual world. Lawrence Erlbaum Associates, Hillsdale, NJ

  • Fritz JP, Barner KE (1999) Design of a haptic data visualization system for people with visual impairments. IEEE Trans Neural Syst Rehabilitat Eng 7(3):372–384

    Article  Google Scholar 

  • Halstead M, Kass M, DeRose T (1993) Efficient, fair interpolation using Catmull–Clark surfaces. Comput Graph (Proc SIGGRAPH ’93) 35–44

  • Higashi M, Aoki N, Kaneko T (2002) Application of haptic navigation to modify free-form surfaces through specified points and curves. J Comput Inform Sci Eng 2:265–276

    Article  Google Scholar 

  • James D, Pai D (1999) ARTDEFO: accurate real time deformable objects. In: SIGGRAPH 1999 conference proceedings, pp 65–72

  • Kokjer KJ (1987) The information capacity of the human fingertip. IEEE Trans Syst Man Cybernet 17(1)

  • Lai MJ (1992) Fortran subroutines for B-nets of box splines on three- and four-directional meshes. Numer Algorithms 2:33–38

    Article  MATH  MathSciNet  Google Scholar 

  • Loop C (1987) Smooth subdivision surfaces based on triangles. MS thesis, Department of Mathematics, University of Utah

  • Mandal C, Qin H, Vemuri BC (2000) A novel FEM-based dynamic framework for subdivision surfaces. Comput Aided Des 32:479–497

    Article  Google Scholar 

  • Mark W, Randolph S, Finch M, Van Verth J, Taylor II, RM (1996) Adding force feedback to graphics systems: issues and solutions. In: SIGGRAPH 96 conference proceedings, August, pp 447–452

  • Massie TH, Salisbury JK (1994) The PHANToM haptic interface: a device for probing virtual object. In: Proceedings of the ASME winter annual meeting, symposium on haptic interfaces for virtual environment and teleoperator systems, vol 1. November, pp 295–301

  • McDonnell K, Qin H, Wlodarczyk R (2001) Virtual clay: a real-time sculpting system with haptic toolkits. In: Proceedings of 2001 ACM symposium on interactive 3D graphics, pp 179–190

  • McLaughlin ML, Hespanha JP, Sukhatme, GS (2002) Touch in virtual environments: haptics and the design of interactive systems. Prentice Hall PTR, New York

  • Qin H, Mandal C, Vemuri, BC (1998) Dynamic Catmull–Clark subdivision surfaces. IEEE Trans Visualiz Comput Graph 4(3):215–229

    Article  Google Scholar 

  • Qin K, Wang H, Li, D, Kikinis R, Halle, M (2001) Physics-based subdivision surface modeling for medical imaging and simulation. In: Proceedings of MIAR’2001, IEEE Computer Society Press, Hong Kong, pp 117–124

  • Qin K, Chang Z, Wang H, Li D (2002) Physics-based loop surface modeling. J Comput Sci Technol 17 (6): 851–858

    Article  MATH  MathSciNet  Google Scholar 

  • Ruspini DC, Kolarov K, Khatib O (1997) The haptic display of complex graphical environments. In: SIGGRAPH 97 conference proceedings, August, pp 345–352

  • Srinivasan MA, Basdogan C (1997) Haptics in virtual environments: taxonomy, research status, and challenges. Comput Graph 21(4):393–404

    Article  Google Scholar 

  • Stam J (1998a) Evaluation of loop subdivision surfaces, an appendix in the CD disc of SIGGRAPH’98

  • Stam J (1998b) Exact evaluation of Catmull–Clark subdivision surfaces at arbitrary parameter values. Comput Graph (Proc SIGGRAPH ’98) pp 395–404

  • Zhang J, Payandeh S, Dill J (2002) Haptic subdivision: an approach to defining level-of-detail in haptic rendering. In: Proceedings of 10th symposium on haptic interfaces for virtual environment and teleoperator systems, pp 201–208

  • Zilles CB, Salisbury, JK (1995) A constraint-based god-object method for haptic display. In: Proceedings of the 1995 IEEE/RSJ international conference on intelligent robots and systems. Pittsburgh, pp 146–151

Download references

Acknowledgments

This work was supported by RGC research grant of Hong Kong (No. 4356/02E, No. 4181/03E), Chinese postdoctoral science foundation (No. 2004036228), the specialized research fund for the doctoral program of higher education of China (No. 20010003048) and the National Natural Science Foundation of China (No. 60273013).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hanqiu Sun.

Appendices

Appendix 1: Basis functions for regular meshes

The column vector b(v,w) contains all 12 regular triangular spline basis functions:

$$\begin{aligned} {\user2{b}}^{{\rm {T}}} (v, w) &= \frac{1}{{12}}(u^{{\rm {4}}} + {2}u^{{\rm {3}}} v, u^{{\rm {4}}} + {2}u^{{\rm {3}}} w, u^{{\rm {4}}} + 2u^{3} w + 6u^{3} v + 6u^{2} vw + 12u^{2} v^{2} + 6uv^{2} w \\ & \quad + 6uv^{3} + 2v^{3} w + v^{4}, 6u^{4} + 24u^{3} w + 24u^{2} w^{2} + 8uw^{3} + w^{4} + 24u^{3} v \\ & \quad + 60u^{2} vw + 36uvw^{2} + 6vw^{3} + 24u^{2} v^{2} + 36uv^{2} w + 12v^{2} w^{2} + 8uv^{3}\\.& \quad + 6v^{3} w + v^{4}, u^{4} + 6u^{3} w + 12u^{2} w^{2} + 6uw^{3} + w^{4} + 2u^{3} v + 6u^{2} vw\\ & \quad + 6uvw^{2} + 2vw^{3}, 2uv^{3} + v^{4}, u^{4} + 6u^{3} w + 12u^{2} w^{2} + 6uw^{3} + w^{4} + 8u^{3} v\\ & \quad + 36u^{2} vw + 36uvw^{2} + 8vw^{3} + 24u^{2} v^{2} + 60uv^{2} w + 24v^{2} w^{2} + 24uv^{3} \\ & \quad + 24v^{3} w+ 6v^{4}, u^{4} + 8u^{3} w + 24u^{2} w^{2} + 24uw^{3} + 6w^{4} + 6u^{3} v \\ & \quad + 36u^{2} vw + 60uvw^{2} + 24vw^{3} + 12u^{2} v^{2} + 36uv^{2} w + 24v^{2} w^{2} + 6uv^{3} \\ & \quad+ 8v^{3} w + v^{4}, 2uw^{3} + w^{4}, 2v^{3} w + v^{4}, 2uw^{3} + w^{4} + 6uvw^{2} + 6vw^{3}\\ & \quad + 6uv^{2} w + 12v^{2} w^{2} + 2uv^{3} + 6v^{3} w + v^{4}, w^{4} + 2vw^{3}), \\ \end{aligned}$$

where (v,w) ∈ Ω and u = 1 − v − w. The basis functions in b(v,w) are arranged according to the order of the local control vertices shown in Fig. 13.

Fig. 13
figure 13

Local control vertices corresponding to the basis functions

Appendix 2: Subdivision matrices and picking matrices

The K × K subdivision matrix A and the M × K extended subdivision matrix \({{\bar{\user2{A}}}}\) have the following block structures:

$${\user2{A}} = {\left({\begin{array}{*{20}c} {{\user2{S}}}& {{\mathbf{0}}} \\ {{{\user2{S}}_{{11}}}}& {{\user2{S}}} \\ \end{array} _{{12}}} \right)}, \quad {\bar{\user2{A}}} = {\left({\begin{array}{*{20}c} {{\user2{S}}}& {{\mathbf{0}}} \\ {{{\user2{S}}_{{11}}}}& {{{\user2{S}}_{{12}}}} \\ {{{\user2{S}}_{{21}}}}& {{{\user2{S}}_{{22}}}} \\ \end{array}} \right)},$$

where KN + 6 and MN + 12. The sub-matrix S is an (N + 1) × (N + 1) matrix:

figure a

where \({a_{N} = 1 - \alpha _{N}, b_{N} = \alpha _{N} /N, c = {3}/{8}, d = {1}/{8}}\) and \({\alpha _{N} = ({5}/{8}) - {{(3 + 2\cos (2\pi /N))^{2}}}/{{64}}}.\) The other four sub-matrices are given as follows:

$${\user2{S}}_{{11}} = \frac{1}{{16}}{\left({\begin{array}{*{20}c} {2}& {6}& {0}& {0}& {\cdots}& {0}& {0}& {6} \\ {1}& {{10}}& {1}& {0}& {\cdots}& {0}& {0}& {1} \\ {2}& {6}& {6}& {0}& {\cdots}& {0}& {0}& {0} \\ {1}& {1}& {0}& {0}& {\cdots}& {0}& {1}& {{10}} \\ {2}& {0}& {0}& {0}& {\cdots}& {0}& {6}& {6} \\ \end{array}} \right)},\quad {\user2{S}}_{{12}} = \frac{1}{{16}}{\left({\begin{array}{*{20}c} {2}& {0}& {0}& {0}& {0} \\ {1}& {1}& {1}& {0}& {0} \\ {0}& {0}& {2}& {0}& {0} \\ {1}& {0}& {0}& {1}& {1} \\ {0}& {0}& {0}& {0}& {2} \\ \end{array}} \right)},$$
$${\user2{S}}_{{21}} = \frac{1}{8}{\left({\begin{array}{*{20}c} {0}& {3}& {0}& {0}& {{\ldots}}& {0}& {0}& {1} \\ {0}& {3}& {0}& {0}& {{\ldots}}& {0}& {0}& {0} \\ {0}& {3}& {1}& {0}& {{\ldots}}& {0}& {0}& {0} \\ {0}& {1}& {0}& {0}& {{\ldots}}& {0}& {0}& {3} \\ {0}& {0}& {0}& {0}& {{\ldots}}& {0}& {0}& {3} \\ {0}& {0}& {0}& {0}& {{\ldots}}& {0}& {1}& {3} \\ \end{array}} \right)},\quad {\user2{S}}_{{22}} = \frac{1}{8}{\left({\begin{array}{*{20}c} {3}& {1}& {0}& {0}& {0} \\ {1}& {3}& {1}& {0}& {0} \\ {0}& {1}& {3}& {0}& {0} \\ {3}& {0}& {0}& {1}& {0} \\ {1}& {0}& {0}& {3}& {1} \\ {0}& {0}& {0}& {1}& {3} \\ \end{array}} \right)}.$$

The picking matrices P 1, P 2 and P 3 are defined by introducing three permutation vectors as below:

$$ \begin{aligned} {\user2{q}}^{{\rm {1}}} &= (3, 1, N + 4, 2, N + 1, N + 9, N + 3, N + 2, N + 5, N + 8, N + 7, N + 10),\\ {\user2{q}}^{{\rm {2}}} &= (N + 10, N + 7, N + 5, N + 2, N + 3, N + 6, N + 1, 2, N + 4, N, 1, 3),\\ {\user2{q}}^{{\rm {3}}} &= (1, N, 2, N + 1, N + 6, N + 3, N + 2, N + 5, N + 12, N + 7, N + 10, N + 11). \end{aligned} $$

Each P k is a 12 × M matrix, and its jth row is filled with zeros except for a one in the (q k) j th column, where j = 1, 2, ..., 12, and k = 1, 2, 3.

Appendix 3: Eigenstructure of the subdivision matrix

The eigenstructure of the subdivision matrix A is denoted by \({{\left({{\varvec\Lambda}, {\user2{U}}} \right)}},\) where \(\varvec\Lambda\) is the diagonal matrix containing all eigenvalues of A, and U is an invertible matrix whose columns are the corresponding eigenvectors. Firstly, the eigenstructures of the sub-matrices S and S 12 (denoted by \({{\left({{\varvec{\Sigma}}, {\user2{U}}_{0}} \right)}}\) and \({{\left({{\varvec{\Delta}}, {\user2{W}}_{1}} \right)}},\) respectively) can be computed:

$${\varvec{\Sigma}} = \left\{\begin{aligned} {\hbox{diag}}(1,\mu _{2}, \mu _{3}, \mu _{3}, \ldots, \mu _{{(N + 3)/2}}, \mu _{{(N + 3)/2}})\enspace {\hbox{if}}\,N\,{\hbox{is odd,}} \\{\hbox{diag}}(1,\mu _{2}, \mu _{3}, \mu _{3}, \ldots, \mu _{{N/2 + 1}}, \mu _{{N/2 + 1}}, \tfrac{1}{8})\enspace {\hbox{if}}\, N\,{\hbox{is even,}} \\ \end{aligned} \right.$$
$${\user2{U}}_{0} = \left\{\begin{aligned}\,& {\left({{\user2{u}}_{0}, {\user2{u}}_{1}, {\user2{v}}_{1}, {\user2{w}}_{1}, {\user2{v}}_{2}, {\user2{w}}_{2}, \ldots, {\user2{v}}_{{(N - 1)/2}}, {\user2{w}}_{{(N - 1)/2}}} \right)},\,{\hbox{if}}\,N\, {\hbox{is}}\, {\hbox{odd}}; \\& {\left({{\user2{u}}_{0}, {\user2{u}}_{1}, {\user2{v}}_{1}, {\user2{w}}_{1}, {\user2{v}}_{2}, {\user2{w}}_{2}, \ldots, {\user2{v}}_{{N/2 - 1}}, {\user2{w}}_{{N/2 - 1}}, {\user2{v}}_{{N/2}}} \right)},\, {\hbox{if}}\, N\,{\hbox{is}} \,{\hbox{even}}, \\ \end{aligned} \right.$$
$${\varvec{\Delta}} = {\hbox{diag}}\left(\frac{1}{8},\frac{1}{8},\frac{1}{8},\frac{1}{{16}}, \frac{1}{{16}}\right), \quad {\user2{W}}_{1} = {\left({\begin{array}{*{20}c} {0}& {{- 1}}& {1}& {0}& {0} \\ {1}& {{- 1}}& {1}& {0}& {1} \\ {1}& {0}& {0}& {0}& {0} \\ {0}& {0}& {1}& {1}& {0} \\ {0}& {1}& {0}& {0}& {0} \\ \end{array}} \right)},$$

where

$$ \begin{aligned} {\user2{u}}_{0} &= {\left({1, 1, \cdots, 1} \right)}^{{\rm {T}}},\quad {\user2{u}}_{1} = {\left({- 8\alpha _{N} /3, 1, 1, \ldots, 1} \right)}^{{\rm {T}}},\\ {\user2{v}}_{k} &= {\left({0}, {\hbox{C(0),}}\;{\hbox{C}}(k),\;{\hbox{C2}}k), \ldots , \hbox{C}((N- 1)k) \right)}^{{\rm {T}}},\\ {\user2{w}}_{k} &= {\left({0}, {\hbox{S(0),}}\;{\hbox{S(}}k), {\hbox{S(2}}k), \ldots , \hbox{S}((N- 1)k) \right)}^{{\rm {T}}},\\ {\mu}_{1} &= 1, {\mu}_{2} = \frac{5}{8}-\alpha _{N}, {\mu}_{3} = f(1), \ldots, {\mu}_{N + 1} = f(N - 1),\\ {\hbox{C}}(k) &= \cos (2\pi k/N), \quad {\hbox{S}}(k) = \sin (2\pi k/N), \quad f(k) = \frac{3}{8} + \frac{2}{8}\cos (2\pi k/N), \end{aligned}$$

and k = 1,2,..., N−1. Then, one can obtain the eigenstructure of A as follows:

$$\varvec\Lambda = {\left({\begin{array}{*{20}c} {{\varvec{\Sigma}}}& {{\mathbf{0}}} \\ {{\mathbf {0}}}& {{\varvec{\Delta}}} \\ \end{array}} \right)}, \quad {\user2{U}} = {\left({\begin{array}{*{20}c} {{{\user2{U}}_{\text{0}}}}& {{\mathbf{0}}} \\ {{{\user2{U}}_{\text{1}}}}& {{{\user2{W}}_{\text{1}}}} \\ \end{array}} \right)},$$

by solving the unknown block U 1 column by column from the linear system of equations

$${\user2{U}}_{1} {\varvec{\Sigma}} - {\user2{S}}_{{12}} {\user2{U}}_{1} = {\user2{S}}_{{11}} {\user2{U}}_{0}.$$

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sun, H., Wang, H., Chen, H. et al. Touch-enabled haptic modeling of deformable multi-resolution surfaces. Virtual Reality 11, 45–60 (2007). https://doi.org/10.1007/s10055-006-0065-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10055-006-0065-z

Keywords

Navigation