A Penetration Metric for Deforming Tetrahedra using Object Norm

A Penetration Metric for Deforming Tetrahedra using Object Norm

Jisu Kim and Young J. Kim J. Kim and Y. J. Kim are with the Department of Computer Science and Engineering at Ewha Womans University in Korea cwyh5526@ewhain.net,kimy@ewha.ac.kr

In this paper, we propose a novel penetration metric, called deformable penetration depth , to define a measure of inter-penetration between two linearly deforming tetrahedra using the object norm [16]. First of all, we show that a distance metric for a tetrahedron deforming between two configurations can be found in closed form based on object norm. Then, we show that the between an intersecting pair of static and deforming tetrahedra can be found by solving a quadratic programming (QP) problem in terms of the distance metric with non-penetration constraints. We also show that the between two, intersected, deforming tetrahedra can be found by solving a similar QP problem under some assumption on penetrating directions, and it can be also accelerated by an order of magnitude using pre-calculated penetration direction. We have implemented our algorithm on a standard PC platform using an off-the-shelf QP optimizer, and experimentally show that both the static/deformable and deformable/deformable tetrahedra cases can be solvable in from a few to tens of milliseconds. Finally, we demonstrate that our penetration metric is three-times smaller (or tighter) than the classical, rigid penetration depth metric in our experiments.

I Introduction

Handling soft objects is increasingly popular and becoming important in the robotics community. For instance, soft object manipulation is gaining broad attention recently due to robustness in manipulation and practical real-world demand [17]. In bio-inspired robotics, compliant actuation is a must to mimic that of biological entities. In all these areas, accurately simulating deformation for soft objects possibly with intensive contact is very crucial to ensure the robustness of robots and reduce their building cost.

The finite element method (FEM) is a general method to simulate deformable motion for soft objects with diverse material and structural properties, and it has been extensively studied for many decades in the area of computer-aided engineering (CAE), structural dynamics, computer animation and soft robotics [29, 32]. Typically, the FEM models a soft object with a network of many finite elements (FEs), such as tetrahedra. In order to accurately simulate contact dynamics using FEM, it is important to define a proper penetration measure between FEs and apply proper responsive forces to them.

However, unfortunately, there has been no rigorous formulation in the literature to define a penetration measure or metric for deformable FEs, in particular tetrahedra. In this paper, we propose a novel penetration metric, called deformable penetration depth , to define a measure of inter-penetration between two linearly deforming tetrahedra using the object norm [16]. The main contribution of our paper can be summarized as follows:

  • In order to define , we generalize the concept of object norm to a deformable case, and show that a distance metric for a tetrahedron deforming between two configurations can be found in closed form.

  • Case 1: we show that the between an intersected pair of one static and one deforming tetrahedra can be found by solving a quadratic programming (QP) problem over all possible penetrating directions in terms of the distance metric with non-penetration constraints.

  • Case 2: we show that the between an intersected pair of deforming tetrahedra can be found by solving a similar QP problem.

  • Case 3: We approximate the case 2 using rigid penetration depth calculation based on the separating axis theorem, and demonstrate that this computation can be accelerated by an order of magnitude compared to the case 2 while the approximation error is kept to less than by 5%.

  • We compare the metric results of our deformable penetration depth against those of rigid penetration depth and show that our results are three-times tighter than the rigid case.

The rest of this paper is organized as follows. In the next section, we briefly survey works relevant to penetration depth computation. In Sec. III, we show a closed-form solution of our penetration metric and subsequently apply it to obtain for static vs. deformable (Sec. IV) and deformable vs. deformable tetrahedral cases (Sec. V). In Sec. VI, we show that these solutions can be obtained more rapidly. In Sec. VII, we show various experimental results of our penetration depth algorithms and conclude the paper in Sec. VIII.

Ii Related Works

Ii-a Penetration Metric for Rigid Objects

Various penetration metrics for rigid objects have been suggested in the literature [27]. The (translational) penetration depth is the most well-known metric, defined by a minimal distance that separates two intersecting objects [2, 3]. Approximation methods have been proposed for convex models [36, 19], and for non-convex models, exact [9] and approximations [20, 30, 26], [25], and real-time algorithms [15] are suggested. Kim et al. [18] presented a hybrid algorithm that combines local optimization with machine learning.

The continuity of penetration metric has been considered; the Phong projection [24] and dynamic Minkowski sums [21] were used to compute continuous . Both positive and negative distances (i.e., PD), and the minimal distance value over a continuous time interval can be computed [22]. The generalized penetration depth is defined as a minimal rigid transformation that interpenetrating objects must undergo to resolve the penetration [40]. The works by [38, 1, 37] use penetration volume as a continuous penetration metric. Nirel and Lischinski [28] also presented a volume-based global collision resolution method. The pointwise penetration depth is defined as a distance between the deepest intersecting points of two objects [34].

Ii-B Penetration Metric for Deformable Objects

Computing a penetration metric (or penetration depth) for deformable objects has been relatively less studied than for rigid objects. In particular, no attempt has been made to rigorously define such a metric, and our work tackles this problem.

Distance-fields-based representations are often used to compute penalty forces for deformable objects [6] and can be accelerated using GPUs [14, 33]. Heidelberger et al. [12] improved the consistency of penetration depth using a propagation scheme. There are few FEM-based methods that calculate penetration metric. [13] suggested material depth, an approximation of distance field, which is the distance between the interior and object-boundary points. The energy-based method [35] also used a signed distance in material space to compute the penetration depth. Layered depth images (LDIs) [31] are a data structure representing multiple layers of geometry rendered from a fixed viewpoint. Heidelberger et al. [10, 11] suggested a method to estimate penetration volume using pixel depths and normals from LDIs. The methods by [5] used a surface rasterization method based on LDIs [4, 1] to compute repulsive forces.

However, most of these existing works are heuristically defined and more seriously, they do not guarantee full separation of intersecting objects. In other words, all these metrics provide only a lower bound of penetration depth, not an upper bound, unlike our method.

Iii Metric Formulation

Given a tetrahedron linearly deforming between rest and deformed configurations , an arbitrary point and its counterpart can be represented using barycentric coordinate which is constant during deformation [32] (also illustrated in Fig. 1):

Then, the distance metric using object norm [16, 39] can be formulated as:

(a) Rest
(b) Deformed
Fig. 1: Linear deformation of a tetrahedron to resolve inter-penetration from the rest to deformed configuration .

where is the volume of in terms of the barycentric coordinate, , and . Eq. 1 induces a new tetrahedron , called displacement tetrahedron, with four vertices , and the object norm is a sum of squared distances from for .

Let . Then the closed-form solution of the proposed metric can be calculated as:  


Let be the inertia tensor of the displacement tetrahedron . Then, the moments of inertia of , , with constant mass density are:

where is the standard basis for . Then, since where is the volume of (which is always ),


Definition of Deformable PD We use Eq. 2 or 3 to define the deformable penetration depth as follows. Given an intersecting pair of linearly deforming tetrahedra, , with the corresponding, initial configurations , their is:


where is the contact (configuration) space imposed by . In Sec. IV, we present our computation algorithm when is static; i.e., , and relax this restriction in Sec. V by allowing both deformable.

Generalization of Rigid PD Note that the proposed is a generalization of the classical rigid (or translational) penetration depth [2, 3]. Since the object norm in Eq. 3 can be interpreted as an average displacement of all the points inside a deformable object during deformation, when the object purely translates by , the object norm will be equivalent to the squared norm of the translation vector from Eq. 2: i.e.,


Thus, according to Eq. 4, when .

Iv Static vs Deforming Tetrahedra

In this section, we solve the optimization problem of Eq. 4 when is static but is still deformable. Since the contact space in Eq. 4 can be realized by face-vertex (FV), vertex-face (VF) or edge-edge (EE) contacts (Fig. 2), the normal vector of the contact plane is used as a direction to separate , which can also minimize Eq. 4. According to the separating axis theorem [7], the total number of possible separating directions that we need to consider is 44 since there are 8 VF (or FV) and 36 EE contact pairs between two tetrahedra.

In general, when both are deforming, even for linear deformation, the separating directions can be non-linear, which makes Eq. 4 hard to solve. In our work, to make the problem tractable, we assume that the separating directions are always obtained from the rest configurations of , thus constant. Note that this is a reasonable assumption unless objects deform severely, which is reasonable for most practical robotic applications. Let us call a vertex in or constrained if they are involved in calculating the separating direction (i.e., the contact normal); otherwise, call it free. For example, if a face normal of (e.g., in Fig. 2(a)) is selected as a separating direction, the vertices incident to the face (e.g., , in Fig. 2(a)) are constrained. After optimization, free vertices may or may not be on the contact plane, but constrained vertices are always on the plane.

Iv-a Separating Direction Calculation

Let be the four vertices of , respectively. We first calculate the constant normal vector of a separating plane using the rest configurations. Let be such a normal vector for each contact state. Then the following is the result of normal vector calculation:


Furthermore, to make the separation direction consistent, the direction is decided based on the following rules:

  1. should be outward from .

  2. should be inward to .

  3. should point away from the non-contacting vertices of (e.g., in Fig. 2(c)).

(a) FV contact
(b) VF contact
(c) EE contact
Fig. 2: Three contact cases (FV, VF, EE) after penetration resolution. is static and is a deforming tetrahedron
(a) Normal
(b) Undecidable
(c) Parallel
Fig. 3: Various cases to deal with the separating direction for an EE contact.

Note that the third case for works only when the non-contacting vertices of lie in the same half space (Fig. 3(a)). If this is not the case (Fig. 3(b)), both directions are tested to minimize Eq. 4. There also exist degenerate cases for when two contacting EE pairs are parallel to each other. In this case, the normal is calculated from the shortest distance vector between the two EE pairs (Fig. 3(c)). When the two EE pairs are co-linear, the separating direction can be any of the vectors perpendicular to the edge. Thus, we can use the normal directions of the faces incident to the edges as a candidate separating direction, which is redundant as it can be covered by VF or FV cases.

Iv-B Non-penetration Constraints

Eq. 4 is essentially a constrained optimization problem where the constraints are non-penetration constraints. Due to the constant assumption on the separating directions employed in Sec. IV-A, now we can linearize the non-penetration constraints and thus set up a solvable QP problem afterwards. Specifically, we write the non-penetration constraints for each contact case as follows:

  1. FV case (Fig. 2(a)): since all the vertices of the static tetrahedron lie in the same half space, we simply impose non-penetration constraints for the vertices of the deforming tetrahedron as follows, where is the vertex defining the FV contact:

  2. VF case (Fig. 2(b)): with constrained vertices () of and free vertices () of , the free vertex and the constrained vertex on the plane, we formulate seven non-penetration constraints:


    where .

  3. EE case (Fig. 2(c)): with constrained vertices (), the free vertices () should lie in the same half space, and free vertices () should lie in the other half space. Without loss of generality, assuming that is on the separating plane, we can formulate seven constraints.


    where .

Iv-C Constrained Optimization

Since now we set up both an objective function (Eq. 3) and non-penetration constraints for each contact case (Eqs. 7,8,9), we solve the constrained optimization in Eq. 4. Since the objective function is quadratic and the constraints are linear, our problem is a QP problem. This problem is solvable as the objective function is semi-positive definite and the constraint space is convex. We use an off-the-shelf QP solver like Gurobi Optimizer [8] to effectively solve this problem.

V Deforming vs Deforming Tetrahedra

In this section, we extend the optimization problem of Eq. 4 to the case where both and are deforming.

V-a Non-penetration Constraints

The non-penetration constraints used for this section requires a new variable , which is a point on the separating plane to decide the position of the plane. For the static and deforming tetrahedron case, the position of a separating plane is automatically decided once we determine the separating direction since there will be at least one vertex of the static tetrahedron involved in contact. But now, not only the configurations of both tetrahedra but also the position of the separating plane should be optimized at the same time because there is no static vertex to decide the position. By introducing , it becomes easier to write the constraints since we do not have to consider which vertex to select as a point on the plane. The only difference between each contact case is the separating direction and a set of constrained vertices, for and for ; for instance, in Fig. 4(a) and in Fig. 4(b). Once they are decided, we can write the non-penetration constraints in a more general form than those presented in Sec. IV. With a chosen separating direction for each contact case, the corresponding constrained vertices , and the free vertices , of each deforming tetrahedron , the eight non-penetration constraints can be formulated as:


where are the set of free vertices for , respectively.

The non-penetration constraints for the static/deforming tetrahedron in Sec. IV can be viewed as a special case of this form where and are fixed and is chosen among constrained vertices. For example, in FV case, since , the second constraint in Eq. 10 can be ignored. Moreover, as is chosen from , the first and third constraints in Eq. 10 are automatically satisfied and the rest of four constraints remain just like in Eq. 7. The VF case (Eq. 8) and EE case (Eq. 9) have seven constraints because the chosen constrained vertex removes one of the equality constraints; for example, since , .

(a) FV or VF case
(b) EE case
Fig. 4: A new variable constrains the location of the separating plane. Constrained vertices (red) should lie on the separating plane and free vertices (black) should lie inside either side of the plane.

V-B Constrained Optimization

Similarly to the previous section, can be calculated by solving the QP problem of Eq. 4. Note that the non-penetration constraints in Eq. 10 is still linear since the separating directions are constant.

Vi Acceleration Technique

In order to compute the , we have to solve a QP problem with constraints, each of which is associated with a separation direction, typically the entire solution taking tens of milliseconds using an off-the-shelf QP solver. However, if we can pre-select a set of candidate directions, possibly containing the optimal separating direction, we can significantly reduce the overall computation time. Under the hypothesis that the deformation of soft objects is not severe, we assume that the penetration (equivalently separating) direction for deformable objects is close to the penetration direction when the objects behave rigidly. Moreover, in our experiment, we have found that, on average, 52.33% of the result obtained by rigid penetration depth coincides with the optimal direction after running full optimization on .

To leverage this observation and accelerate computation, we calculate the rigid penetration depth PD based on the separating axis theorem (SAT) [7] and feed it to the optimization problem in Eq. 4; this is equivalent to using a single contact constraint in Eq. 4. There are various methods to find rigid penetration depth such as using GJK algorithm or Minkowski sums [2, 3]. However, we choose to use a SAT-based algorithm since our algorithm can be considered as a general case of PD and also can be implemented similarly to [23]. Specifically, in order to compute PD, we use the overlap length of tetrahedra projected to each separating direction and take the projected, minimum overlap length as PD. A little caution has to be taken in our case, however, since tetrahedra are not symmetric. Thus, we need to project all tetrahedral vertices to 44 separating direction to calculate the minimum overlapping length.

Let for a tetrahedron , vertices in , and is a given separating direction. The PD can be calculated as:


where is a set of possible separating directions between (see the appendix for proof). Interestingly, instead of taking the ”minimum direction” in Eq. 13, even if we take only the first six directions in ascending order of minimum distances, more than 90% of direction from Sec. V can be still found. This observation opens up a new possibility of reducing the possible error from this approximation while spending a little more time on search.

Vii Results and Discussion

Now we show implementation results of our penetration depth algorithms for static/deformable, deformable/deformable, and deformable/deformable with acceleration. For our experiments, the target tetrahedra are randomly generated, which are bounded by a cube with a side length of 10. We tested intersecting pairs of tetrahedra with different volume sizes ranging from 0.1 to 130, and compute their ’s. We implemented our algorithms using C++ on a Windows 10 PC with an AMD Rizen7 1700x 3.6GHz CPU, and 32GB memory. We used the Gurobi Optimizer to solve the QP problems.

Vii-a Performance

As illustrated in Fig. 5, every result using resolves penetration. The average performance results of each case are shown in Table. I. The running time for the static/deformable case is slightly faster than the deformable/deformable case since a fewer number of variables are required to optimize. The accelerated deformable/deformable case can be calculated in 1.07 milliseconds on average.

Performance 32.26ms 46.29 ms 1.07 ms
43.59 % 27.94 % 29.39%
(Standard Deviation) (13.17%) (3.15%) (3.47%)
TABLE I: Performance Statistics
(a) Penetration State
(b) Static / Deformable
(c) Deformable / Deformable
(d) Rigid PD
Fig. 5: Implementation results of deformable penetration depth and rigid penetration depth. (a) shows the initial penetrated state of two tetrahedra. In (b)(d), the solid colored tetrahedra are the results with , respectively.
Fig. 6: Relative magnitude of over rigid penetration depth in times of penetration resolution tests of randomly intersecting tetrahedron pairs. The average magnitude is 27.94% with the standard deviation of 3.15%.

Vii-B Discussion

To the best of our knowledge, there are no penetration depth algorithms for deformable models available to guarantee full separation as a result (i.e. penetration metric with a tight upper bound). All the known penetration depth algorithms for deformable models provide only a lower bound, which does not guarantee full penetration resolution. Thus, it is unfair to compare our algorithms against existing algorithms for deformables and instead we compare our algorithms with rigid PD, which can be considered as an upper bound for deformable penetration depth. In this case, in order to show the tightness of the metric upper bounds, we calculate the relative magnitude of with respect to rigid penetration depth PD. Fig. 6 shows that the magnitude of is less than of that of the rigid case most times. This means that provides a much tighter deformation metric than using the rigid penetration depth.

Viii Conclusion

We have formulated a new penetration metric based on object norm for a pair of intersecting tetrahedra undergoing linear deformation. The new metric, called deformable PD , optimizes an average displacement of all the points inside the tetrahedra under linear deformation to separate them. The deformable PD can be computed by solving a QP problem based on the distance metric with non-penetration constraints.

We have implemented three cases of computing , rigid vs. deformable, deformable vs. deformable with and without acceleration. Our experimental results show that we can compute in a fraction of milliseconds for intersecting, deformable tetrahedra.

There are a few limitations to our algorithm. To derive a tractable optimization problem for , we have assumed that the separation direction can be obtained from the rest pose of deforming tetrahedra. Even though it is straightforwardly extendable to a set of tetrahedra by applying our metric to each element in the set, it might be interesting to pursue a technique to accelerate this computation, to be more useful for FEM-type simulation. One plausible direction would be to combine the iterative contact space projection technique [15] with our deformable metric. Our metric does not guarantee volume-preservation during deformation, which is another interesting future work.


This project was supported by the National Research Foundation (NRF) in South Korea (2017R1A2B3012701).


  • [1] J. Allard, F. Faure, H. Courtecuisse, F. Falipou, C. Duriez, and P. G. Kry (2010-07) Volume contact constraints at arbitrary resolution. ACM Trans. Graph. 29, pp. 82:1–82:10. External Links: Document, ISSN 0730-0301, Link Cited by: §II-A, §II-B.
  • [2] S. Cameron and R. Culley (1986) Determining the minimum translational distance between two convex polyhedra. In Proceedings. 1986 IEEE International Conference on Robotics and Automation, Vol. 3, pp. 591–596. Cited by: §II-A, §III, §VI.
  • [3] D. Dobkin, J. Hershberger, D. Kirkpatrick, and S. Suri (1993) Computing the intersection-depth of polyhedra. Algorithmica 9 (6), pp. 518–533. Cited by: §II-A, §III, §VI.
  • [4] F. Faure, J. Allard, F. Falipou, and S. Barbier (2008) Image-based collision detection and response between arbitrary volumetric objects. In ACM Siggraph/Eurographics Symposium on Computer Animation, pp. 155–162. Cited by: §II-B.
  • [5] F. Faure, C. Duriez, H. Delingette, J. Allard, B. Gilles, S. Marchesseau, H. Talbot, H. Courtecuisse, G. Bousquet, I. Peterlik, et al. (2012) Sofa: a multi-model framework for interactive physical simulation. In Soft tissue biomechanical modeling for computer assisted surgery, pp. 283–321. Cited by: §II-B.
  • [6] S. Fisher and M. C. Lin (2001) Fast penetration depth estimation for elastic bodies using deformed distance fields. In Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No. 01CH37180), Vol. 1, pp. 330–336. Cited by: §II-B.
  • [7] S. Gottschalk, M. C. Lin, and D. Manocha (1996) OBBTree: a hierarchical structure for rapid interference detection. In Proceedings of the 23rd annual conference on Computer graphics and interactive techniques, pp. 171–180. Cited by: §IV, §VI, A Penetration Metric for Deforming Tetrahedra using Object Norm.
  • [8] L. Gurobi Optimization (2018) Gurobi optimizer reference manual. External Links: Link Cited by: §IV-C.
  • [9] P. Hachenberger (2009) Exact minkowksi sums of polyhedra and exact and efficient decomposition of polyhedra into convex pieces. Algorithmica 55 (2), pp. 329–345. External Links: Document, ISSN 0178-4617 Cited by: §II-A.
  • [10] B. Heidelberger, M. Teschner, and M. H. Gross (2003) Real-time volumetric intersections of deforming objects.. In VMV, Vol. 3, pp. 461–468. Cited by: §II-B.
  • [11] B. Heidelberger, M. Teschner, and M. Gross (2004) Detection of collisions and self-collisions using image-space techniques. Journal of WSCG 12 (3), pp. 145–152. Cited by: §II-B.
  • [12] B. Heidelberger, M. Teschner, R. Keiser, M. Müller, and M. H. Gross (2004) Consistent penetration depth estimation for deformable collision response. In Vision, modeling and visualization 2004 : Proceedings, November 16-18, 2004, Stanford, USA, B. Girod, M. A. Magnor, and H. Seidel (Eds.), pp. 339 – 346 (en). External Links: ISBN 3-89838-058-0 Cited by: §II-B.
  • [13] G. Hirota, S. Fisher, A. State, C. Lee, and H. Fuchs (2001) An implicit finite element method for elastic solids in contact. In Proceedings Computer Animation 2001. Fourteenth Conference on Computer Animation (Cat. No. 01TH8596), pp. 136–254. Cited by: §II-B.
  • [14] K. Hoff, A. Zaferakis, M. Lin, and D. Manocha (2002) Fast 3d geometric proximity queries between rigid and deformable models using graphics hardware acceleration. UNC-CH Technical Report TR02-004. Cited by: §II-B.
  • [15] C. Je, M. Tang, Y. Lee, M. Lee, and Y. Kim (2012-01) PolyDepth: real-time penetration depth computation using iterative contact-space projection. ACM Trans. Graph. 31. Cited by: §II-A, §VIII.
  • [16] K. Kazerounian and J. Rastegar (1992) Object norms: A class of coordinate and metric independent norms for displacement. In in Flexible Mechanism, Dynamics and Analysis: ASME Design Technical Conference, Vol. 47, pp. 271–275. Cited by: A Penetration Metric for Deforming Tetrahedra using Object Norm, §I, §III.
  • [17] S. Kim, C. Laschi, and B. Trimmer (2013) Soft robotics: a bioinspired evolution in robotics. Trends in biotechnology 31 (5), pp. 287–294. Cited by: §I.
  • [18] Y. Kim, D. Manocha, and Y. J. Kim (2015) Hybrid penetration depth computation using local projection and machine learning. In 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 4804–4809. Cited by: §II-A.
  • [19] Y. J. Kim, M. C. Lin, and D. Manocha (2004) Incremental penetration depth estimation between convex polytopes using dual-space expansion. IEEE transactions on visualization and computer graphics 10 (2), pp. 152–163. Cited by: §II-A.
  • [20] Y. J. Kim, M. A. Otaduy, M. C. Lin, and D. Manocha (2002) Fast penetration depth computation for physically-based animation. In Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation, pp. 23–31. Cited by: §II-A.
  • [21] Y. Lee, E. Behar, J. Lien, and Y. J. Kim (2016) Continuous penetration depth computation for rigid models using dynamic minkowski sums. Computer-Aided Design 78, pp. 14–25. Cited by: §II-A.
  • [22] Y. Lee, A. Kheddar, and Y. J. Kim (2019) Continuous signed distance computation for polygonal robots in 3d. In 2019 IEEE International Conference on Robotics and Automation (ICRA), Cited by: §II-A.
  • [23] Y. Lee and Y. J. Kim (2010) Simple and parallel proximity algorithms for general polygonal models. Computer Animation and Virtual Worlds 21 (3-4), pp. 365–374. Cited by: §VI.
  • [24] Y. Lee and Y. J. Kim (2015) PhongPD: gradient-continuous penetration metric for polygonal models using phong projection. In 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 57–62. Cited by: §II-A.
  • [25] J. -. M. Lien (2009) A simple method for computing minkowski sum boundary in 3d using collision detection. In Algorithmic Foundation of Robotics VIII, G. Chirikjian, H. Choset, M. Morales, and T. Murphey (Eds.), Springer Tracts in Advanced Robotics, Vol. 57, pp. 401–415. Cited by: §II-A.
  • [26] J. Lien (2008-11) Covering minkowski sum boundary using points with applications. Computer Aided Geometric Design 25 (8), pp. 652–666. Cited by: §II-A.
  • [27] M. C. Lin, D. Manocha, and Y. J. Kim (2017) Handbook of discrete and computational geometry. Cited by: §II-A.
  • [28] D. Nirel and D. Lischinski (2018) Fast penetration volume for rigid bodies. In Computer Graphics Forum, Vol. 37, pp. 239–250. Cited by: §II-A.
  • [29] S. S. Rao (2017) The finite element method in engineering. Butterworth-heinemann. Cited by: §I.
  • [30] S. Redon and M. C. Lin (2006) A fast method for local penetration depth computation. Journal of graphics tools 11 (2), pp. 37–50. Cited by: §II-A.
  • [31] J. Shade, S. Gortler, L. He, and R. Szeliski (1998) Layered depth images. In Proceedings of the 25th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’98, New York, NY, USA, pp. 231–242. External Links: Document, ISBN 0-89791-999-8, Link Cited by: §II-B.
  • [32] E. Sifakis and J. Barbic (2012) FEM simulation of 3d deformable solids: a practitioner’s guide to theory, discretization and model reduction. In Acm siggraph 2012 courses, pp. 20. Cited by: §I, §III.
  • [33] A. Sud, N. Govindaraju, R. Gayle, I. Kabul, and D. Manocha (2006) Fast proximity computation among deformable models using discrete Voronoi diagrams. In ACM SIGGRAPH, pp. 1144–1153. Cited by: §II-B.
  • [34] M. Tang, M. Lee, and Y. J. Kim (2009) Interactive hausdorff distance computation for general polygonal models. In ACM Transactions on Graphics (TOG), Vol. 28, pp. 74. Cited by: §II-A.
  • [35] J. Teran, E. Sifakis, G. Irving, and R. Fedkiw (2005) Robust quasistatic finite elements and flesh simulation. In Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation, pp. 181–190. Cited by: §II-B.
  • [36] G. Van Den Bergen (2001) Proximity queries and penetration depth computation on 3d game objects. In Game developers conference, Vol. 170. Cited by: §II-A.
  • [37] B. Wang, F. Faure, and D. K. Pai (2012) Adaptive image-based intersection volume. ACM Transactions on Graphics (TOG) 31 (4), pp. 97. Cited by: §II-A.
  • [38] R. Weller and G. Zachmann (2009-06) Inner sphere trees for proximity and penetration queries. In Proceedings of Robotics: Science and Systems, Seattle, USA. Cited by: §II-A.
  • [39] L. Zhang, Y. Kim, and D. Manocha (2007) A fast and practical algorithm for generalized penetration depth computation. In Proceedings of Robotics: Science and Systems, Cited by: §III.
  • [40] L. Zhang, Y. J. Kim, G. Varadhan, and D. Manocha (2007) Generalized penetration depth computation. Computer-Aided Design 39 (8), pp. 625–638. Cited by: §II-A.

We prove that the penetration depth (PD) between two intersected tetrahedra can be calculated using the separating axis theorem (SAT), which was claimed without proof in Eq. 11. The main idea of the proof is that the PD is equal to the smallest overlapping length projected over all possible separating axes in the SAT.

Definition 1.

The projected length of a given simplicial complex along an axial direction is defined as:


where are the vertices in . Then, the pair of vertices that realizes the projected length is called supporting vertices for .

Theorem 1.

The penetration depth (PD) of two intersected tetrahedra can be calculated as:


where is a set of possible separating directions for .


According to the separating axis theorem (SAT) [7], two convex objects do not overlap iff there exists a separating axis that the axial projection of onto does not overlap. The SAT can be rewritten using Eq. 12 as:


Thus, if two objects are interpenetrated, for . Let be the result of evaluating Eq. 13 and be the corresponding separating direction: i.e.,


Then, we can prove Theorem 1 by showing that:

  1. separates and by translation.

  2. is the smallest magnitude among such translations.

(a) Interpenetrated state
(b) Translated state
Fig. 7: Example of two tetrahedra projected on the axis before and after translation , where is the face normal of . The projected length of each tetrahedron does not change during translation.

Let be the tetrahedra of translated by . Since these tetrahedra are not rotated, the projected length of each tetrahedron on axis is the same as before translation:


Since the direction of the translation is the same as the projection axis, the length of the translation vector is . Then, the entire projected length of the translated tetrahedra is:


implying that the two tetrahedra translated by do not overlap because of the SAT (Fig. 7(b)).

Let be an arbitrary translation that separates and be the translated copies of the tetrahedra. Since are separated, according to the SAT, there exists a separating axis that satisfies . For the given set and the direction , let and be the two supporting vertices used to calculate the projection .

Now, suppose that these two vertices can support the tetrahedra even after being translated by (Fig. 8(a)), and let and be the corresponding vertices after translation. Then the displacement between the two vertices after translation can be calculated as: . The projected length is . Then,

(a) Supporting vertices are same
(b) Supporting vertices are changed
Fig. 8: Examples of an arbitrary translation that separates two tetrahedra and their projection on the separating axis . (a)(b) shows two cases of projection results according to the changes in supporting vertices before and after translation.

Otherwise, the supporting vertices are changed after translation (Fig. 8(b)). Let , be the supporting vertices after translation and , be the corresponding vertices before translation. Then, . Since and were not supporting vertices before translation, according to Eq. 12, the projected length of and must be smaller than that of supporting vertices , : i.e., . Thus,


In either case, we can see that . Since ,


Therefore, is the minimum translational distance that separates . ∎

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description