实时的流体布料碰撞检测方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1968 — ), 女 , 讲师 , 主要研究方向为虚拟现实 ; 刘婷婷 (1980 — ), 女 , 博士研究生 , 讲师 , 主要研究方向为虚拟现实 ; 周 —), 男 , 硕士研究生 , 主要研究方向为计算机动画 .
2
计算机辅助设计与图形学学报
第 2*卷
广泛的应用价值 . 流体和布料的交互动画近年来 开始得到研究者们的关注 , 这项研究能够拓展流 体仿真的应用范围 , 提升虚拟现实的真实感 . 为了 提高布料和流体的仿真效率 , GPU 并行计算已经 成为动画仿真中重要的一部分 . 在创建高质量的 可变形固体和流体之间的交互动画中 , 基于物理 的模拟方法已经是不可或缺的 , 利用这些技术 , 可 以更加逼真的模拟布料和流体的交互作用 . 基于 SPH 方法的流体与布料的耦合方法包括 单向耦合 [1-2] 和双向耦合 [3]. 其耦合方法主要有基 于惩罚力的方法 , 采用直接力的方法等 . 惩罚力的 方法需要满足足够小的时间步长 ; 直接力的方法 是通过修正粒子的位置来避免穿透 , 需要一个比 较大的时间步长 . 布料耦合的一个难点是两者都 是实时运动的, 采用传统的双向耦合不能够完全避 免穿透 , 因此一种处理可变形体之间的连续碰撞 检测算法 (Continuous Collision Detection, CCD) 成 为了流体和布料之间碰撞检测的常用方法 . 同时 对布料边界采样的方法也能够很好地处理两者之 间的碰撞 . 本文改进了 Akinci 等 [4]提出的布料边界采样 方法 . 实现了流体和布料的双向耦合 , 有效地避免 了流体穿透布料 , 视觉效果比较真实 . 同时将约束 动力学 (Position Based Dynamics, PBD)和 CCD 结 合的方法与采样方法进行了对比 .
ai g m m 45 45 pi + p j
i j
Fiext Fiint mc a c i
其中 Fi 受到的内力 ,
ext
(3)
int
是布料粒子 i 受到的外力 , Fi
是粒子 i
mc 为布料粒子的重量 , a c 为其加速度 . i
h
6
( 2
j
(h r)2
ri - r j r
1
相关工作
流体仿真的方法主要有欧拉法和拉格朗日方
法 [5], 本 文 采 用 的 是 一 种 基 于 拉 格 朗 日 方 法 的 (SPH) 流体模拟方法 [6]. 布料仿真方法主要有物理 法、几何法和 PBD 方法 . Provot [7]提出了一种基于 ller 等 [8]提出的 PBD 模型是 质点 -弹簧的模型 . Mü 将布料离散为粒子 , 该模型是将布料的内力和与 其它物体的碰撞力看作为一种约束 , 但是这种约 束容易造成布料的形变 . Kelager 等 [9] 提出了一种 改进的三角形弯曲约束解决了文献 错误 !未找到引
)
运动积分采用 verlet 积分 , 这种方法比较简单并且
h
6
j
u j - ui
(2)
计算快 , 只需要存储粒子的当前位置 xi 和上一帧的位 置
i j
(h r)
xipre ,
位置的更新如下 :
pre xi xi pre c 2 xi 2 xi xi a i t
1)
(Faculty of Electrical Engineering and Computer Science, Ningbo University, Ningbo
315211)
Abstract: In order to realize the collision effect between fluid and cloth, a fast sampling method for cloth boundary is proposed. Firstly, the edges and interior of the cloth triangle are analyzed and sampled during the pretreatment process. Then the forces of sampling particles and fluid particles are calculated , and the forces of the sampled particles are applied to every vertex of the cloth triangle. Finally, the location and velocity of the fluid particles and the cloth particles are updated. To make the animation more r ealistic, GPU parallel computing is used to speed up the simulation. The experimental results show that the method can realize the bidirectional coupling of fluid and cloth, can simulate the interaction between different state of the cloth and fluid e fficiently and steadily, and the method is effective and has strong applicability. Key words: smoothed particle hydrodynamics; boundary particle sampling; bidirectional coupling; GPU parallel computer 使用平滑粒子流体动力学 (Smoothed Particle Hydrodynamics, SPH) 来模拟不可压缩的流体动画 是一个热门话题 , 因为这种方法可以模拟液体飞 溅等细节效果,在灾害仿真、娱乐游戏等领域具有
2
2.1
流体布料仿真计算
SPH 计算方法
SPH 方法属于一种拉格朗日无网格方法 , 将
流体粒子视为一个个分散的粒子 , 其中每个粒子
第 *期
臧
惠 , 等 : 实时的流体布料碰撞检测方法
3
位置参与运算的值都是由周围的一组粒子累加起 来的 , 位置 r 处的物理属性 Ai r 为 :
2.2.1
其中 ri 是流体粒子的位置 , r j 代表 ri 周围核 半径内的所有粒子 , pi 为粒子所受的压强 , i 是 粒子的密度 , ui 是粒子的速度 , 其它的代表符号 与式 (1) 相同 . 将重力加速度与计算得到的压力加 速度、粘力加速度代入式 (2) 求得流体粒子的加速 度 ai , 在流体仿真中 , 根据计算粒子的加速度来 更新粒子的位置进而形成流体动画 .
第 2*卷 第 *期 201*年 *月
计算 机 辅助 设 计与 图 形学 学报
Journal of Computer-Aided Design & Computer Graphics
Vol. 2* No.* ***. 201*
实时的流体布料碰撞检测方法
臧 惠 1), 刘 箴 1)*, 柴艳杰 1), 刘婷婷 1), 周 昆 1)
用源。 中的问题 . Mü ller 等 [10]模拟了基于 SPH 方法的流体和由 多边形网格表示的固体之间的耦合 , 然而他们的 方法计算非常耗时 , 所以很难适用于实时应用 , 因 此 Chentanez 等 [11]对他们的方法进行了扩展 , 并且 提出了一个强大流体和弹性体的耦合方法 . 对于 流体和布料之间的交互 , Du Peng 等 [12]提出了扩展 的 CCD 方法 , 他们还使用连续交叉测试来确保流 体粒子不会穿透布料 , 这种方法能够检测流体和 布料之间的碰撞 , 并使用一种基于惩罚的接触力 算法来处理碰撞 . Yang[13]提出了 SPH 和有限元法 的耦合方法 , 然而 , 这两种技术都使用基于惩罚力 的方法来计算 , 不能在边界附近正确处理流体密 度、 压力等 . Allard [14]介绍了基于图象的流体与可 变形固体之间的相互作用模型 . 文献 [3] 详细介绍 了固体边界粒子和流体粒子之间多种力的计算 . 邵绪强等 [15] 提出了一种固体边界粒子采样与动量 守恒保持位置 -速度修正方案相结合的流体和固体 的 耦 合 方 法 . 刘 世 光 等 [16] 提 出 了 一 种 各 向 异 性 Navier-Stokes 方程组模型 , 模拟了污渍在布料上 的扩散、蒸发和渗透作用 , 但是这种方法只能应用 于二维平面布料上 . 文献 [4] 将文献 [3] 中的刚体扩 展为可变形弹性体 , 为了避免流体粒子的穿透问 题 , 对边界粒子进行了实时的更新 , 但是文献 [4] 中方法虽然避免了三角面片内部 的过采样 , 但三 角形边界的过采样问题仍然无法避免 . 流体和布料之间的碰撞检测最常用的两种方 法是连续碰撞检测方法和采样方法 , 连续碰撞检 测存在的问题是对于碰撞时间的精度要求较高 , 且存在一定误差 ; 采样方法往往存在过采样的问 题 , 采样效率较低 . 针对以上问题本文提出一种新 的采样方法来处理布料与流体之间的碰撞 .
弹簧 -质点模型
织物的运动一般采用力学模型和能量模型进行模
Ai r A j
j
mjБайду номын сангаас
j
W ri r j , h
(1)
拟 , 本文主要采用力学模型 , 力学模型能够比较逼真地 对运动进行模拟 , 在仿真过程中 , 假设粒子之间是由弹 簧进行连接的 , 质点受到由弹簧带来的弹性形变力即内 力 , 同时粒子受到外力的影响 , 主要有阻尼力、重力、 风力还有和外界物体碰撞时带来的外力 . 以上所有的力 满足牛顿第二定律 , 对于任一粒子有 :
式 (1) 中 Ai (r ) 为需要累加的物理属性 , h 是光 滑核半径 , W 是光滑核函数 , r j 代表核半径范围 内的所有流体粒子 , j 和 m j 分别为周围粒子的密 度 和 重 量 . 通 过 (1) 式 分 别 计 算 流 体 粒 子 的 密 度 , 压力和粘度 , 将以上几项和外力代入纳维 - 斯托克 斯方程 , 根据牛顿第二定律即可求得流体粒子的 加速度 a i :
(宁波大学信息科学与工程学院 (liuzhen@nbu.edu.cn)
1)
宁波
315211)
摘
要 : 为了实现流体与布料的碰撞效果 , 提出一种布料边界快速采样的方法 . 首先在预处理的过程中对布料三角
形的边和内部进行分析采样 ; 然后计算流体粒子以及采样粒子受到的作用力 , 并将采样粒子受到的力作用于布料三 角形的每个质点上 ; 最后更新流体粒子与布料质点的位置和速度 . 为使动画效果更加地真实,采用 GPU 并行计算来 加速仿真 . 实验结果表明 , 该方法实现了流体和布料的双向耦合 , 并可以高效、稳定地模拟不同状态的布料与流体的 交互 , 具有较强的适用性 .
收 稿 日 期 : 2017-00-00; 修 回 日 期 : 2017-00-00. 基 金 项 目 : 国 家自 然 科 学 基 金 (61373068, U1636111); 浙 江 省 自 然 科 学基 金 (LQ17F020001, LY15F030008); 宁波市科技计划项目 (2017A610113, 2017C50018, 2016D10016). 臧 主要研究方向为流体布料动画 ; 刘 惠 (1991 — ), 女 , 硕士研究生 , 昆 (1992 箴 (1965—), 男 , 博士 , 研究员 , 博士生导师 , 论文通讯作者 , 主要研究方向为虚拟现实 ; 柴艳杰
关键词 : 光滑粒子流体动力学 ; 边界粒子采样 ; 双向耦合 ; GPU 并行计算 中图法分类号 : TP391.41
Real-time Collision Detection Method for Fluid and Cloth
Zang Hui11), Liu Zhen 1)*, Chai Yanjie1), Liu Tingting1), and Zhou Kun1)