这是用户在 2024-4-17 22:32 为 https://app.immersivetranslate.com/pdf-pro/2fd168ce-68bf-4b43-b73d-371f69f9bebc 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
2024_04_16_04b07bcbfa085cd513e5g

A Survey on Position-Based Simulation Methods in Computer Graphics
计算机图形学中基于位置的模拟方法概览

Jan Bender , Matthias Müller , Miguel A. Otaduy , Matthias Teschner and Miles Macklin
Jan Bender , Matthias Müller , Miguel A. Otaduy , Matthias Teschner 和 Miles Macklin
Graduate School CE, TU Darmstadt
达姆施塔特工业大学 CE 研究生院
NVIDIA PhysX Research
英伟达™ PhysX 研究
URJC Madrid  马德里城市青年活动中心 University of Freiburg
弗莱堡大学

Abstract 摘要

The dynamic simulation of mechanical effects has a long history in computer graphics. The classical methods in this field discretize Newton's second law in a variety of Lagrangian or Eulerian ways, and formulate forces appropriate for each mechanical effect: joints for rigid bodies; stretching, shearing, or bending for deformable bodies; and pressure, or viscosity for fluids, to mention just a few. In the last years the class of position-based methods has become popular in the graphics community. These kinds of methods are fast, stable and controllable which make them well-suited for use in interactive environments. Position-based methods are not as accurate as force-based methods in general but they provide visual plausibility. Therefore, the main application areas of these approaches are virtual reality, computer games and special effects in movies.
机械效应的动态模拟在计算机制图领域有着悠久的历史。该领域的经典方法以各种拉格朗日或欧拉方式将牛顿第二定律离散化,并为每种机械效应制定适当的力:刚体的关节;可变形体的拉伸、剪切或弯曲;以及流体的压力或粘度等。最近几年,基于位置的方法在图形学领域大受欢迎。这类方法快速、稳定、可控,非常适合在交互环境中使用。一般来说,基于位置的方法不如基于力的方法精确,但它们提供了视觉上的可信度。因此,这些方法的主要应用领域是虚拟现实、电脑游戏和电影特效。

This state-of-the-art report covers the large variety of position-based methods that were developed in the field of physically-based simulation. We will introduce the concept of position-based dynamics, present dynamic simulation based on shape matching and discuss data-driven upsampling approaches. Furthermore, we will present several applications for these methods.
这份最新报告涵盖了物理仿真领域开发的各种基于位置的方法。我们将介绍基于位置的动力学概念,介绍基于形状匹配的动态模拟,并讨论数据驱动的上采样方法。此外,我们还将介绍这些方法的若干应用。

Keywords: 关键词:

Categories and Subject Descriptors (according to ACM CCS): Computer Graphics [I.3.7]: Three-Dimensional Graphics and Realism-Animation
类别和主题描述符(根据 ACM CCS):计算机图形学[I.3.7]:三维图形和逼真-动画

1. Introduction 1.导言

The simulation of solid objects such as rigid bodies, soft bodies or cloth has been an important and active research topic in computer graphics for more than 30 years. The field was introduced to graphics by Terzopoulos and his colleagues in the late eighties [TPBF87a]. Since then, a large body of work has been published and the list is growing rapidly. There exists a variety of survey papers [GM97, MTV05,NMK* 06, MSJT08,BETC12] which document this development. However, due to the shear number of papers, it has become difficult to cover the entire field in one survey.
30 多年来,实体物体(如刚体、软体或布料)的模拟一直是计算机图形学中一个重要而活跃的研究课题。80 年代末,Terzopoulos 和他的同事将这一领域引入图形学领域 [TPBF87a]。从那时起,大量研究成果陆续发表,而且数量还在迅速增加。有许多调查论文[GM97, MTV05,NMK* 06, MSJT08,BETC12] 都记录了这一发展。然而,由于论文数量庞大,很难在一份调查报告中涵盖整个领域。
In this state-of-the-art report we focus on a special class of simulation methods, namely position-based approaches. These methods were originally developed for the simulation of solids. However, some recent works demonstrated that the position-based concepts can even be used to simulate flu- ids. Classical dynamics simulation methods formulate the change of momentum of a system as a function of applied forces, and evolve positions through numerical integration of accelerations and velocities. Position-based approaches, instead, compute positions directly, based on the solution to a quasi-static problem.
在这份最新报告中,我们将重点讨论一类特殊的模拟方法,即基于位置的方法。这些方法最初是为模拟固体而开发的。然而,最近的一些研究表明,基于位置的概念甚至可以用于模拟流体。经典动力学模拟方法将系统的动量变化表述为外力的函数,并通过加速度和速度的数值积分来演化位置。而基于位置的方法则是根据准静态问题的解决方案直接计算位置。
Physical simulation is a well studied problem in the computational sciences and therefore, many of the well established methods have been adopted in graphics such as the Finite Element Method (FEM) [OH99], the Finite Differences Method [TPBF87b], the Finite Volume Method [TBHF03], the boundary element method [JP99] or particle-based approaches [DSB99, THMG04]. The main goal of computer simulations in computational physics and chemistry is to replace real-world experiments and thus, to be as accurate as possible. In contrast, the main applications of physically based simulation methods in computer graphics are special
物理模拟是计算科学中一个研究得很透彻的问题,因此,许多成熟的方法已被图形学所采用,如有限元法(FEM)[OH99]、有限差分法[TPBF87b]、有限体积法[TBHF03]、边界元法[JP99]或基于粒子的方法[DSB99, THMG04]。计算物理和化学中计算机模拟的主要目标是取代真实世界的实验,因此要尽可能精确。相比之下,基于物理的模拟方法在计算机图形学中的主要应用是特殊的

effects in movies and commercials and more recently, computer games and other interactive systems. Here, speed and controllability are the most important factors and all that is required in terms of accuracy is visual plausibility. This is especially true for real-time applications.
在电影和商业广告中,以及最近在电脑游戏和其他互动系统中,都可以看到这种特效。在这种情况下,速度和可控性是最重要的因素,而对精确度的要求只是视觉上的可信度。这一点在实时应用中尤为明显。
Position-based methods are tailored particularly for use in interactive environments. They provide a high level of control and are stable even when simple and fast explicit time integration schemes are used. Due to their simplicity, robustness and speed these approaches have recently become very popular in computer graphics and in the game industry.
基于位置的方法特别适合在互动环境中使用。它们提供了高水平的控制,即使在使用简单快速的显式时间积分方案时也很稳定。由于其简单性、稳健性和快速性,这些方法最近在计算机制图和游戏行业非常流行。
In this state-of-the-art report, we focus the discussion on several geometrically motivated methods, in particular those that directly manipulate the positions of the simulated bodies. We start with a description of position-based dynamics methods, which compute equilibrium positions by iteratively resolving geometric constraints. Then, we cover shape matching methods, and we conclude with data-driven upsampling methods, which compute positions as a function of data from precaptured deformation examples.
在这份最新报告中,我们将重点讨论几种基于几何原理的方法,特别是那些直接操纵模拟体位置的方法。我们首先介绍基于位置的动力学方法,这种方法通过迭代解决几何约束来计算平衡位置。然后,我们将介绍形状匹配方法,最后介绍数据驱动的上采样方法,该方法将位置作为预先捕获的变形示例数据的函数进行计算。
Collision detection is an important part of any simulation system. However, an adequate discussion of this topic is beyond the scope of this report. Therefore, we refer the reader to the surveys of Lin and Gottschalk [LG98] and the one of Teschner et al. [TKH* 05
碰撞检测是任何模拟系统的重要组成部分。然而,对这一主题的充分讨论超出了本报告的范围。因此,我们建议读者参阅 Lin 和 Gottschalk [LG98] 以及 Teschner 等人 [TKH* 05] 的研究报告。

2. Background 2.背景情况

The most popular approaches for the simulation of dynamic systems in computer graphics are force based. Internal and external forces are accumulated from which accelerations are computed based on Newton's second law of motion. A time integration method is then used to update the velocities and finally the positions of the object. A few simulation methods (most rigid body simulators) use impulse based dynamics and directly manipulate velocities. In contrast, geometry-based methods omit the velocity layer as well and immediately work on the positions. The main advantage of a position-based approach is its controllability. Overshooting problems of explicit integration schemes in force based systems can be avoided. In addition, collision constraints can be handled easily and penetrations can be resolved completely by projecting points to valid locations.
计算机图形学中最常用的动态系统仿真方法是基于力的仿真。根据牛顿第二运动定律计算出加速度,并将内力和外力累积起来。然后使用时间积分法更新速度,最后更新物体的位置。少数模拟方法(大多数刚体模拟器)使用基于脉冲的动力学方法,并直接操作速度。相比之下,基于几何的方法则省略了速度层,直接处理位置。基于位置的方法的主要优势在于其可控性。在基于力的系统中,可以避免显式积分方案的过冲问题。此外,还可以轻松处理碰撞约束,并通过将点投影到有效位置来完全解决穿透问题。
Among the force based approaches, one of the simplest methods is to represent and simulate solids with mass-spring networks. A mass spring system consists of a set of point masses that are connected by springs. The physics of such a system is straightforward and a simulator is easy to implement. However, there are some significant drawbacks of the simple method.
在基于力的方法中,最简单的方法之一是用质量弹簧网络来表示和模拟固体。质量弹簧系统由一组通过弹簧连接的点质量组成。这种系统的物理原理简单明了,模拟器也很容易实现。然而,这种简单的方法也有一些明显的缺点。
  • The behavior of the object depends on the way the spring network is set up.
    对象的行为取决于弹簧网络的设置方式。
  • It can be difficult to tune the spring constants to get the desired behavior.
    要调整弹簧常数以获得所需的性能可能比较困难。
  • Mass spring networks cannot capture volumetric effects directly such as volume conservation or prevention of volume inversions.
    质量弹簧网络无法直接捕捉体积效应,如体积守恒或防止体积倒置。
The Finite Element Method solves all of the above problems because it considers the entire volume of a solid instead of replacing it with a finite number of point masses. Here, the object is discretized by splitting the volume into a number of elements with finite size. This discretization yields a mesh as in the mass spring approach in which the vertices play the role of the mass points and the elements, typically tetrahedra, can be viewed as generalized springs acting on multiple points at the same time. In both cases, forces at the mass points or mesh vertices are computed due to their velocities and the actual deformation of the mesh.
有限元法可以解决上述所有问题,因为它考虑的是固体的整个体积,而不是用有限个点质量来代替。在这种方法中,物体被离散化,体积被分割成若干具有有限尺寸的元素。这种离散化方法产生的网格与质量弹簧方法中的网格相同,其中顶点扮演质量点的角色,而元素(通常为四面体)则可视为同时作用于多个点的通用弹簧。在这两种情况下,质量点或网格顶点上的力都是根据其速度和网格的实际变形计算得出的。

3. Position-Based Dynamics
3.基于位置的动态

In this section we present Position-Based Dynamics, an approach which omits the velocity and acceleration layer and immediately works on the positions [MHHR07]. We will first describe the basic idea and the simulation algorithm of PBD. Then we will focus specifically on how to solve the system of constraints that describe the object to be simulated. After this we will provide a list of constraints that can be used to simulate a variety of materials such as soft bodies, cloth or even fluids with PBD. We will also discuss the relation of PBD to strain limiting methods, how to include damping and ways to parallelize the simulation algorithm.
在本节中,我们将介绍 "基于位置的动力学"(Position-Based Dynamics),这是一种省略了速度和加速度层而直接基于位置的方法[MHHR07]。我们将首先介绍 PBD 的基本思想和模拟算法。然后,我们将特别关注如何求解描述待模拟对象的约束系统。之后,我们将提供一份约束条件列表,这些约束条件可用于使用 PBD 模拟软体、布料甚至流体等各种材料。我们还将讨论 PBD 与应变限制方法的关系、如何加入阻尼以及仿真算法并行化的方法。

3.1. Overview 3.1.概述

The objects to be simulated are represented by a set of particles and a set of constraints. Each particle has three attributes, namely
要模拟的对象由一组 粒子和一组 约束来表示。每个粒子 都有三个属性,即
mass
position
velocity
A constraint is defined by the five attributes
一个约束 由五个属性定义
cardinality
scalar constraint function
标量约束函数
set of indices 指数集
stiffness parameter 刚度参数
unilateral or bilateral 单边或双边 type
Constraint with type bilateral is satisfied if . If its type is unilateral then it is satisfied if . The stiffness parameter defines the strength of the constraint in a range from zero to one.
如果 ,则类型为双边的约束条件 得到满足。如果其类型为单边,则在 时满足。刚度参数 定义了约束的强度,范围从 0 到 1。
Given this data and a time step , the simulation proceeds as described by Algorithm 1. Since the algorithm simulates a system which is second order in time, both the positions and the velocities of the particles need to be specified in (1)(3) before the simulation loop starts. Lines (5)-(6) perform a simple explicit forward Euler integration step on the velocities and the positions. The new locations are not assigned to the positions directly but are only used as predictions. Non-permanent external constraints such as collision constraints are generated at the beginning of each time step from scratch in line (7). Here the original and the predicted positions are used in order to perform continuous collision detection. The solver (8)-(10) then iteratively corrects the predicted positions such that they satisfy the external as well as the internal constraints. Finally, the corrected positions are used to update the positions and the velocities. It is essential here to update the velocities along with the positions. If this is not done, the simulation does not produce the correct behavior of a second order system. As you can see, the integration scheme used here is very similar to the Verlet method. It is also closely related to Jos Stam's Nucleus solver [Sta09] which also uses a set of contraints to describe the objects to be simulated. The main difference is that Nucleus solves the constraints for velocities, not positions.
给定这些数据和时间步长 后,模拟将按照算法 1 所描述的方式进行。由于该算法模拟的系统在时间上是二阶的,因此在模拟循环开始之前,需要在(1)(3)中指定粒子的位置和速度。第(5)-(6)行对速度和位置进行简单的显式欧拉积分。新位置 并不直接分配给位置,而只是作为预测值使用。在第(7)行中,非永久性外部约束(如碰撞约束)在每个时间步开始时从零开始生成。这里使用原始位置和预测位置来执行连续碰撞检测。然后,求解器 (8)-(10) 对预测位置进行迭代修正,使其满足 外部和 内部约束条件。最后,修正后的位置 用于更新位置和速度。在更新位置的同时更新速度至关重要。如果不这样做,模拟就不会产生二阶系统的正确行为。正如您所看到的,这里使用的积分方案与 Verlet 方法非常相似。它还与 Jos Stam 的 Nucleus 求解器[Sta09]密切相关,后者也使用一组约束条件来描述要模拟的对象。主要区别在于 Nucleus 求解的是速度约束,而不是位置约束。

3.2. The System to be Solved
3.2.待解系统

The goal of the solver step (8)-(10) is to correct the predicted positions of the particles such that they satisfy all constraints. The problem that needs to be solved comprises of a set of equations for the unknown position components, where is now the total number of constraints. This system does not need to be symmetric. If the system is over-determined (underdetermined). In addition to the asymmetry, the equations are in general non-linear. The function of a simple distance constraint yields a non-linear equation. What complicates things even further is the fact that collisions produce inequalities rather than equalities. Solving a non-symmetric, non-linear system with equalities and inequalities is a tough problem.
求解步骤(8)-(10)的目标是修正粒子的预测位置 ,使其满足所有约束条件。需要求解的问题包括一组 未知位置分量的 等式,其中 现在是约束条件的总数。这个系统不需要对称。如果 ,则该系统为过确定(欠确定)系统。除了不对称外,方程一般也是非线性的。简单的距离约束函数 会产生一个非线性方程。使问题更加复杂的是,碰撞会产生不等式而不是等式。解决一个非对称、非线性的等式和不等式系统是一个棘手的问题。
Let be the concatenation and let all the constraint functions take the concatenated vector as input while only using the subset of coordinates they are defined for. We can now write the system to be solved as
成为连接向量 ,让所有的约束函数 将连接向量 作为输入,同时只使用它们所定义的坐标子集。现在我们可以将待求解的系统写成
where the symbol denotes either or . NewtonRaphson iteration is a method to solve non-linear symmetric systems with equalities only. The process starts with a first guess of a solution. Each constraint function is then linearized in the neighborhood of the current solution using
其中,符号 表示 。牛顿-拉夫逊迭代法是一种只求解等式的非线性对称系统的方法。该过程从对解法的第一次猜测开始。然后,在当前解的邻域内对每个约束函数进行线性化处理。
This yields a linear system for the global correction vector
这就产生了全局校正矢量的线性系统
where is the dimensional vector containing the derivatives of the function w.r.t. all its parameters, i.e. the components of . It is also the -th row of the linear system. Both, the rows and the right hand side scalars are constant because they are evaluated at the location before the system is solved. When and only equalities are present, the system can be solved by any linear solver, e.g. a preconditioned conjugate gradient method. Once it is solved for the current solution is updated as . A new linear system is generated by evaluating and at the new location after which the process repeats.
其中 维向量,包含函数 与其所有参数相关的导数,即 分量。它也是线性系统的 -th row。行 和右侧标量 都是常数,因为它们是在求解系统之前在 处求值的。当 且只存在等式时,该系统可以用任何线性求解器求解,如预处理共轭梯度法。一旦求解出 ,当前解就会更新为 。在新位置对 求值,生成新的线性系统,然后重复上述过程。
If the resulting matrix of the linear system is nonsymmetric and not invertible. Goldenthal et al. [GHF*07] solve this problem by using the pseudo-inverse of the system matrix which yields the best solution in the least-squares sense. Still, handling inequalities is not possible directly.
如果 ,线性系统的结果矩阵是非对称的,不可反演。Goldenthal 等人[GHF*07]通过使用系统矩阵的伪逆来解决这个问题,从而得到最小二乘意义上的最佳解。不过,直接处理不等式仍然是不可能的。

3.3. The Non-Linear Gauss-Seidel Solver
3.3.非线性高斯-赛德尔求解器

In the position-based dynamics approach, non-linear GaussSeidel is used. It solves each constraint equation separately. Each constraint yields a single scalar equation for all the particle positions associated with it. The subsystem is therefore highly under-determined. PBD solves this problem as follows. Again, given we want to find a correction such that . It is important to notice that
在基于位置的动力学方法中,使用了非线性高斯赛德尔(GaussSeidel)。它分别求解每个约束方程。每个约束都会产生一个与之相关的所有粒子位置的标量方程 。因此,子系统的确定性很低。PBD 解决这一问题的方法如下。同样,在给定 的情况下,我们希望找到一个修正方程 ,使得 。需要注意的是
PBD also linearizes the constraint function but individually for each constraint. The constraint equation is approximated by
PBD 也对约束函数进行线性化处理,但对每个约束条件单独处理。约束方程近似为
The problem of the system being under-determined is solved by restricting to be in the direction of which conserves the linear and angular momenta. This means that only one scalar - a Lagrange multiplier - has to be found such that the correction
通过限制 的方向上,从而保持线性和角矩,解决了系统未充分确定的问题。这意味着只需找到一个标量 (拉格朗日乘数),就可以修正
solves Equation (1). This yields the following formula for the correction vector of a single particle
解方程 (1)。由此得出单个粒子的修正矢量公式如下
where 其中
and  
As mentioned above, this solver linearizes the constraint functions. However, in contrast to the Newton-Raphson method, the linearization happens individually per constraint. Solving the linearized constraint function of a single distance constraint for instance yields the correct result in a single step. Because the positions are immediately updated after a constraint is processed, these updates will influence the linearization of the next constraint because the linearization depends on the actual positions. Asymmetry does not pose a problem because each constraint produces one scalar equation for one unknown Lagrange multiplier . Inequalities are handled trivially by first checking whether . If this is the case, the constraint is simply skipped.
如上所述,该求解器将约束函数线性化。不过,与牛顿-拉夫逊方法不同的是,线性化是针对每个约束条件单独进行的。例如,求解单个距离约束的线性化约束函数,只需一步就能得到正确结果。由于在处理完一个约束条件后,位置会立即更新,这些更新会影响下一个约束条件的线性化,因为线性化取决于实际位置。不对称不会造成问题,因为每个约束条件都会产生一个未知拉格朗日乘数的标量方程 。处理不等式的方法很简单,首先检查 。如果是,则跳过该约束。
The fact that each constraint is linearized individually before its projection makes the solver more stable than a global approach in which the linearizations are kept fixed for the entire global solve of a Newton iteration. Liu et al. [LBOK13] pointed out that PBD can be interpreted as a heuristic variant of the variational implicit Euler method taking the inertial term out of the solve and into the integration step of the simulation.
与牛顿迭代的整个全局求解中保持线性化固定的全局方法相比,在投影之前对每个约束条件进行单独线性化的事实使求解器更加稳定。Liu 等人[LBOK13]指出,PBD 可以解释为变式隐式欧拉法的启发式变体,将惯性项从求解中取出,放入模拟的积分步骤中。
We have not considered the stiffness of the constraint so far. There are several ways to incorporate it. The simplest variant is to multiply the corrections by . However, for multiple iteration loops of the solver, the effect of is non-linear. The remaining error for a single distance constraint after solver iterations is . To get a linear relationship we multiply the corrections not by directly but by . With this transformation the error becomes and, thus, becomes linearly dependent on and independent of as desired. However, the resulting material stiffness is still dependent on the time step of the simulation. Real time environments typically use
到目前为止,我们还没有考虑约束的刚度 。有几种方法可以将其考虑在内。最简单的方法是用 乘以修正值 。然而,对于求解器的多次迭代循环, 的影响是非线性的。 求解器迭代后,单个距离约束的剩余误差为 。为了得到线性关系,我们不直接用 乘以修正值,而是用 乘以修正值。通过这种转换,误差变为 ,因此与 成线性关系,而与 无关。不过,由此得出的材料刚度仍取决于模拟的时间步长。实时环境通常使用
Figure 1: Projection of the constraint . The corrections are weighted according to the inverse masses .
图 1:约束投影 。修正 根据反质量加权
fixed time steps in which case this dependency is not problematic.
在这种情况下,这种依赖性就不成问题了。

3.4. Constraint Examples
3.4.约束示例

In the following we will introduce different constraint examples. For better readability we define .
下面我们将介绍不同的约束示例。为了提高可读性,我们定义

3.4.1. Stretching 3.4.1.拉伸

To give an example, let us consider the distance constraint function . The derivatives with respect to the points are and with . The scaling factor is, thus, and the final corrections
举例来说,让我们考虑距离约束函数 。与点有关的导数为 ,与 。因此,缩放因子 ,最终修正值为
which are the formulas proposed in [Jak01] for the projection of distance constraints (see Figure 1). They pop up as a special case of the general constraint projection method.
是 [Jak01] 中提出的距离约束投影公式(见图 1)。它们是一般约束投影法的特例。

3.4.2. Bending 3.4.2.弯曲

In cloth simulation it is important to simulate bending in addition to stretching resistance. To this end, for each pair of adjacent triangles and a bilateral bending constraint is added with constraint function
在布料模拟中,除了拉伸阻力外,模拟弯曲也很重要。为此,我们为每对相邻三角形 添加了一个双边弯曲约束,约束函数为
and stiffness . The scalar is the initial dihedral angle between the two triangles and is a global user parameter defining the bending stiffness of the cloth (see Figure 2). The advantage of this bending term over adding a distance constraint between points and is that it is independent of stretching. This is because the term is independent of edge lengths.
和刚度 。标量 是两个三角形之间的初始二面角,而 是一个全局用户参数,用于定义布的弯曲刚度(见图 2)。与在 两点之间添加距离约束相比,该弯曲项的优势在于与拉伸无关。这是因为弯曲项与边缘长度无关。

3.4.3. Triangle Collisions
3.4.3.三角形碰撞

Self collisions within cloth can be handled by additional unilateral constraints. For vertex moving through a triangle
布内的自碰撞可通过额外的单边约束来处理。对于通过三角形移动的顶点
Figure 2: For bending resistance, the constraint function is used. The actual dihedral angle is measured as the angle between the normals of the two triangles.
图 2:对于抗弯强度,使用了约束函数 。实际的二面角 是以两个三角形的法线之间的夹角来测量的。

Figure 3: Constraint function . makes sure that stays above the triangle by the cloth thickness .
图 3:约束函数 确保 通过布的厚度 保持在三角形 的上方。
, the constraint function reads
,约束函数为
where is the cloth thickness. If the vertex enters from below with respect to the triangle normal, the constraint function has to be
其中 是布的厚度。如果顶点从三角形法线的下方进入,则约束函数必须为

3.4.4. Volume Conservation
3.4.4.体积保持

For tetrahedral meshes it is useful to have a constraint that conserves the volume of single tetrahedron. Such a constraint has the form
对于四面体网格来说,有一个保持单个四面体体积的约束条件是非常有用的。这种约束的形式为
where and are the four corners of the tetrahedron and is its rest volume. In a similar way, the area of a triangle can be kept constant by introducing
其中 是四面体的四个角, 是四面体的静止体积。同样,三角形的面积也可以通过引入

3.4.5. Cloth Balloons 3.4.5.布气球

For closed triangle meshes, overpressure inside the mesh as shown in Figure 5 can easily be modeled with an equality constraint concerning all vertices of the mesh:
对于封闭三角形网格,如图 5 所示,网格内的过压可以通过网格的所有 顶点的相等约束轻松建模:
Here and are the three indices of the vertices belonging to triangle . The sum computes the actual volume of the closed mesh. It is compared against the original volume times the overpressure factor . This constraint function yields the gradients
这里 是属于三角形 的三个顶点的索引。和计算封闭网格的实际体积。将其与原始体积 乘以超压系数 进行比较。此约束函数产生梯度