zhongyueqi的个人博客分享 http://blog.sciencenet.cn/u/zhongyueqi

博文

数字化是个好东西(一) 精选

已有 5352 次阅读 2009-9-13 10:33 |个人分类:生活点滴|系统分类:观点评述| 虚拟现实, 数字化, 服装, 积分, 计算机图形图像

计算机图形学研究中有一个特殊的应用分支,就是对于织物和服装这类柔性对象(cloth-like soft body)的仿真与模拟。往大了说,可以称为科学可视化,通俗的说,就是3D游戏中人物服装的动画仿真,以及大片中人物动画的仿真。

不过坦白的讲,模拟出一块织物随风飘动的感觉不是一个很难的事情,一个数学稍微好一些的中级程序员大概一个星期就能写出这样的代码,在米国的几个CS比较牛的学校里面, cloth simulation已经是研究生课程中需要完成的大作业(project)之一。

织物模拟的流派很多,从本质上来说,对织物建模就不能回避它的结构力学问题,这里就有一个“力法”还是“能量法”的选择。按照织物结构力学二代祖师J.W.S. Hearle的原话(原文出自From Biological Macromolecules to Drape of Clothing: 50 Years of Computing for Textiles):

There is one more general point to make. The first approach to modeling textile mechanics has usually been to apply equilibrium of forces and moments. However, almost always, energy methods have proved more powerful. There are various reasons for this, but the most basic is that forces and moments are vector quantities, so that equations are needed for six components. Energy is a scalar quantity, so that there is one basic relation to satisfy. A practical advantage is that it is easier to make useful simplifying assumptions with energy methods. If there is a geometrical relation between macro- and micro-strains, e.g. affine deformation, conservation of energy can be used; if the deformation is undefined, as in buckling, minimum energy or the principle of virtual work is used. Another practical point is that it is usually better to work with mass units (specific stresses in Newton/tex, where tex = g/km, and energies in J/g) than in conventional stress units (Pascals).

织物的悬垂形态主要是buckling的结果,因此能量最小化在一开始的物理建模中属于开山之作。D.E Breen90年代初期最早发表的粒子系统就是将简化后的悬垂现象所蕴含的三种能量,剪切能,弯曲能以及拉伸(压缩)能通过KES风格仪的经验曲线用多项式逼近出来,然后把能量最小化得到织物的静态悬垂效果。为了加快速度,最小化过程的求解还采用了模拟退火的方法。应该说,无论是理论模型还是求解方法,都是一个很精彩的算法,所以尽管Breen的方法现在已经很少有人用了,但是其文献的被引用次数依然是这一个分支中排到Top 10的(117“A particle-based model for simulating the draping behavior of woven cloth”)。

不过从程序员的角度来看,Breen的能量法不好,因为求解速度很慢,那个时代他们用工作站算一帧也要十几个小时(具体时间记不清了),当然你可以说那时候机器的速度慢。我最近peer review一个日本人的paper时,他也是用的能量法,是日本人Okabe 92年(“Three-Dimensional Apparel CAD System”)提出来的基于三个假设的模型:1.织物是薄板;2.织物结构是连续介质;3.用弹性力学的能量定义来描述织物的变形。我怀着极大的兴趣看到文章的最后,结果他报道说速度是每帧两个半小时(Intel E4300 CPU),所以说能量法离实现实时计算的目标还有很长很长的路要走。

所以95年的时候,X. Provot讨了个巧,把基于粒子系统的能量法改造成了基于质点弹簧的力法,用弹簧网格所蕴含的拉伸力,弯曲力和剪切力来替代同名的三种能量,求解织物的悬垂形态变成了求解这么一个弹簧网格的动力学问题,这个就简单多了,他用一阶显示积分(欧拉积分)就实时完成了任务。自那以后,mass-spring system就成了程序员的最爱,直到现在还是最流行的方法,因为它够简单,速度够快,而且可改进的余地很大,就像一把AK47一样。



https://blog.sciencenet.cn/blog-306966-255300.html


下一篇:数字化是个好东西(二)
收藏 IP: .*| 热度|

0

发表评论 评论 (3 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-30 14:01

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部