GAMES301-曲面参数化 - P8:Lecture 08 无翻转光滑映射 - GAMES-Webinar - BV18T411P7hT
啊好长时间到了那个线上的各位老师同学嗯,早上好,欢迎来到我们啊games 301第八讲啊,那个这今天是由我呃来呃做那个讲课,对我是呃中国科学技术大学的陈文杰对啊,今天我们的题目是叫啊无翻转光滑映射啊。
首先我们看一下这个题目啊,那个我们呃就呃从第一讲啊,应该啊第一讲主要是那个啊整个课程的大概介绍是吧,然后从第二讲到第七讲,由啊郭老师来介绍啊。
主要是关于三教网格的那个呃参数化啊,然后三角网格上的映射啊,就没有单独,我们之前没有强调。
但是基本,上我们都是假设这个映射是啊一个分片线性的映射嗯,然后我们说这个分片线性应该是它不是光滑的啊,原因是它这个基函数是不光滑啊,然后呃还有一个他呃在不光滑的一个表现是啊,对于相邻面片。
也就是香菱三角形,它的那个映射的导数就是甲壳底,它是不连续的啊,具体我们看一下这个例子啊,这里我们啊虽然不是参数化,但是我们呃就说明一下这个映射。
它是啊可以写成就是这个定义在三角网格上的一个分片线性映射,f可以写成啊这么一个形式,然后这里嗯dr dj就是,我们的g函数对,然后那个外界其实就是我们的目标啊,应该是右边就被映射之后顶点的坐标。
我们可以把整个f写成这个形式,它就整个f它其实就是我们啊g函数bj的一些线组,然后组合的权重就是目标顶点的坐标y啊,对从y一到y n,然后具体这个bj长什么形式呢,我们可以看一下,是这样的。
然后当x呃当i跟j正好相等的时候,呃,这个g函数取值为一,然后当呃i根据不相等,的时候这个g函数取值为零啊,然后我们可以验证一下这个呃就是通过这个g函数组合的形式,这个f确实是满足我们的性质。
比如说我们把呃随便x啊,i等于一带进去了,右边嗯只有当啊就是i等于那只有当j也等于一的时候啊,那那一项才是有值的对吧,因为只有那一项b啊,这个g函数采取为一,然后出来就是y一对,然后呃所有其他项啊。
b j x一它就等于零对,所以整个出来啊就是线性组合出来这个fx一就等于x等于就等于呃,应该是等于y对对啊,然后在网格上我们,可以进一步把这个啊g函数这个b j g函数画出来,它就是这个意思。
就是这样的,就是他在dj的顶点上这个取值为一,然后在所有其他顶点上取值为零,对啊,我们啊这这里的示意是说这个网格它本身就是在啊c c等于零啊,这个平面上对啊,然后为了使得这个g函数它是就是这里。
我们啊其实只讨论了在顶点上的曲子是吧啊,然后作为一个呃映射函数,它在内部就是三角形内部非顶点数也是有取值的对啊,然后一般我们这个g函数啊,就是我们希望这个f是一个连续的映射所。
以这个g函数它也是一个所有的结都是连续的,所以啊为了使得它连续,我们就是在相邻顶点之间,我们啊用了最简单的一个线性差值,对我们看啊,就是右边啊,这里每一个三角就是在在第i个顶点。
就是当呃这个顶点抬起的这个顶点,它周围的一个一零域三角形也相应的抬起了,是吧对啊,这样这个映射它还是一个或者说这个啊函数它还是一个连续的函数,这个看起来可能有一点啊,稍微有点不是太直观。
我们可以看一维的版本,那就比较简单了对吧,下面就是一个一维的版本,就,是我们呃在就是这个b x就是我们啊同样的就是一维的一个啊,分片线性的一个啊,就是这个应该是叫德尔塔函数,他去世唯一,然后在所有x啊。
就是从0~1的一个直接的一个线性函数,最简单的线性函数对啊,然后我们看这个g函数b啊,b j x i它就不是一个啊光滑的基函数对吧,因为它取值如果我们不考虑那个呃就是差值的话,它在顶点的话。
差顶顶点上的取值就是一个啊,只有在一点取值为一,所有所有其他点取值为零对啊,所以他是在这个点上,它是啊就是应该是没有大导数是啊,比较大对,然后我们呃对,然后这个差值就刚刚已经提到。
使得这个函数变量连续的这个差值就是其实就是一个分片线性,就在这个呃一维的情况下,它在左边是一个线性函数,在右边是一个另外一个线性函数,所以它是一个分片的线性函数对,然后在三角网格上也是一样。
它在每一个三角片上是一个线性的函数,对,啊然后我们刚刚说第二点说那个这个映射它啊,相邻片的映射导数不连续,我们看一下这个具体是说啊怎么回事,对啊就具体我们可以把嗯把就把这种线性映射呃,分偏线性映射啊。
可视化用这个纹理映射的形式把它可视化出来啊,就是这个例子比较明显啊,就当我们这个网格很稀疏的时候啊,然后其实这个原始的那个定义这个网格它其实就是一个啊,就是一个非常长的长方形。
然后分片线性的映射到这个稍微有一点变化的一个呃网格,然后我们可以看到相邻啊,三角形之间这个呃就纹理它变化还是就是非非常不连续是吧,就是纹理的那个啊就是小格子的大小啊。
然后那个走向啊在边的两边它是变化挺大的对啊,这其实就是这个相邻片映射连续导数不连续的一个,就是视觉视觉上的一个体现对啊,数学上我们可以看这个啊相邻面片映射的导数它是怎么计算呢,就是我们看啊刚刚已经提到。
就呃这个映射它在每一片上的一个分片线性是吧,我们考虑这个啊当前这个货啊,红色的三角形t啊,然后在这两个三角形之间,这个映射它其实是一个唯一的一个线性映射啊,它把三个顶点映射到另外三个顶点。
然后这个映射可以其实啊就可以写成啊,这个形式就是呃就是fx等于a x加b啊,这应该是一个仿射映射,因为它在线性啊,就a x是它的线性成分,然后加上b就变成一个仿射变换,对。
然后我们可以考虑就是我们相邻三角片之间,这个呃x可以任意取值是吧,就在这种映射的构造里边,我们的顶点是我们的自由度啊,然后相邻面片的x可以是任意取的,那那个a就没有理由啊,就相邻面片的那个就解。
我们可以通过解这个方程得到这个a其实就是雅克比,他没有理由是连续的对啊,其实a在每一个面片内部,它是一个常量对吧,因为这个映射它是一个在这个三角面片内部,它是一个分片线性,它就是在每一点上。
这个映射它其实都是这个形式对,啊对那我们呃已经经过就前面讨论民已经知道这个分片线性映射啊,就在三角网格导致了这个分片线性映射,它啊不够光滑是吧啊,那怎么去提高它的整体映射的这个光滑程度呢。
呃一个最简单的做法,我们是啊就在中学或者那个计算数额,就计算几何的变,我们一般是通过增加网格的啊,就十分辨率就是把网格加密,那网格只要足够密,它这个映射就看起来啊。
会啊不会有我们这里这个例子里边这么明显的不连续性,对啊,那这个带来的代价就是我们做映射做优化,这个计算复杂度就会啊大幅飙升,就会非常非常大吧,就是很难求解。
特别是我们呃比如说我们呃第二个作业要做非线性优化是吧,他要迭代的去解这个呃线性方程组,然后每一个线性方程组因为网格变大之后,每一个线性方程组的它的复杂度都会啊,是一个至少是一个in lol的一个普拉度。
那它的这个计算代价就非常非常高啊,这是最简单的做法,就是增加网格的分辨率,我们使得整体上这个因素它会变得更光滑啊,但是它的代价就是计算复杂度高啊,那我们今天主要讨论的是就是我们通过一种啊直接去构造啊。
光滑基函数的方法,使得这个映射变得更光滑,对,对啊这是我们今天这节课的主要内容,就是我们啊讨论一下怎么去就现有的啊去构造,直接构造光滑映射的一些方法,对主要啊我们讨论啊,这里四类方法。
首先是第一类是叫rbf啊,也就是镜像基函数啊,第二类方法叫啊管理中心坐标,然后第三类是从从广义中心坐标,我们啊那个啊引出这个调和映射,调和音色是啊在啊,因为它是调和的,它所以可以认为它是最光滑的。
就是数学上它是最光滑的映射啊,然后还有一类是叫啊基于样条的呃,那个运算函数呃,样条是在就是c g d里边啊,发展起来它是呃其实简单说它其实就是一个分片啊,多项式的一个啊映射。
因为它分配每一片是多项式是吧,那相比啊线性函数线性时它就会光滑很多,对啊好的,那我们下面就呃足够来讨论对啊,首先是最简单的这个方法,奇函数叫镜像奇函数。
这个全称是叫radio basis function啊,就radio就是说镜像的意思啊,具体来说就是我们这个映射这个基函数就是这里的bi啊,它可以写成关于呃到某个点距离的一个函数。
就是这里一些呃x减p i绝对值是吧,这个就是就是在某个参数点pi的距离对啊,那这个距离啊,就是这个函数它就是以pi为中心的一个就是一个相当于一个误差,在在p i为中心的一些圆上,它的取值是一样的对。
因为它主观性距离对,所以这个这类g f叫做镜像极限数啊,然后由啊这类基函数同样我们可以装成一个映射空间,那个它就整个映射的表述跟前面其实是一样的,就是fx可以写成啊。
我们啊一些基函数的线性组合对bi就是我们的下面的迹象数,然后ai就是我们的系数啊,这个镜像基函数最早是拿来做,就是图像变形,就右边就是展示了这个拿r d f来做啊,jping的一个例子。
就是在这个例子里边啊,我们用户指定啊将图像里边的一些点拨到新的位置,就变形到新的位置,然后这里其实就是第就这个从新图像到旧图啊,从旧图像到新图像,它其实就是一个呃二维的一个呃main就是一个映射函数。
对就是我们将啊这个f找呃,确定之后,我们将f作用到每一个像素是吧,呃的呃,就是原来是图像的每一个像素就可以得到它在新图像上的啊坐标,然后将相应的那个原来的那个颜色值复制过去,那就可以得到新的图像。
啊然后具体这里这个g函数它可以啊,有很多形式,就是g可以取不同的那个具体的函数,比如说我可以去那个呃距离的倒数啊,这里为了避免出现福林操作,就是我们如果当x就等于pi的时候,这里啊这个距离就为零是吧。
如果我们只是取那个倒数的话,就会出现啊处理操作啊,所以一般我们会加上一个app系统,使得它避免这个竹林操作对啊,然后还有一种是取那个指数函数对啊,然后最后一种是就取那个啊指数方呃,那个呃多项式对啊。
那个平方的倒数对啊,这里就是在呃变形里,边我们一般会取啊倒数或者倒数的平方,原因是我们希望啊这个就是映射是由啊,主要是由这些控制点啊指定的,应呃就在控制点,它必须要满足我们啊用户指定的目标是吧。
然后在啊控制点附近啊,随着距离的增大,这个映射它会越来越趋向于呃的那个啊,应该是就是原始的一个单啊,叫恒等映射,所以我们希望这个区域啊它的影响范围就是每个基函数,它的影响范围是额递减呢。
就以啊这个二维函数它是递减在在原点,在在r等于零的时候,这影响是最大,然后随着r的增大,这个,啊g函数的值取值,它应该是越来越小,所以我们会取这个倒数的形式,对啊,就在图像处理里边。
这个rbf呃就是还是就是最早提出来啊,那做这个应用啊,就是做这个应用其实还是挺自然的一个想法对啊,然后在呃几何在在网格数里边呃,rbf也现在也用的呃。
也也就同样我们可以其实也可以拿rbf来做网格的变形对啊,然后也可以做,比如说做那个呃网格的重建对有很多应用都可以用到这个极函数啊,但是这个基函数可能啊现在用的没有那么多,原因是这个基函数啊。
虽然它很光滑是吧,就是它是这个距离的倒数,我们其实也可以啊,无限时求导啊,但是他,就是这种奇函数它不能张成最简单的那个函数,就是那个多项式函数,特别是线性函数,不能由这类奇函数章程。
就是我们只是只是去比如说啊pi啊,就pi就是我们的参数是吧,就是这个g函数的参数,我们随便撒一提点,就有一呃一批那个基函数,永远都不能生成一个啊线性函数就是我们最简单的线性映射,是不能由自主机章程的。
对那这这就是这个rdf的一个呃最最主要的问题对啊,因为线性函数还是很重要的一类函数,虽然它,很简单,这是第一类啊,最最简单的光滑函数就是r b f啊,然后第二类函数是第二类映射。
是叫那个呃广基广义中心坐标的一个映射啊,在介绍这个广义中心坐标之前,我们先看一下这个重心坐标的概念,呃中心坐标是说就是在三角形就在平面上,我们任意一个点可以有啊三个点的一个啊线性组合。
或者说啊任意点的坐标可以啊,可以写成关于三个基点的一个啊,相对的一个坐标对啊,更具体的说,比如说我们现在有三个点啊,就是大a大b大c它的我认为他们的坐标分别就是100010啊。
001就类似我们呃那个呃欧式坐标是那个1001对吧,然后现在我们讨论还是在平面上,但是我们有三个基点,就是大a大b大c对,关于这三个点的一个呃线性组合对,我认为它的那个中心坐标啊。
可以就可以写成关于那个大a大b大c的一个哦,就是权重对,这里的小a小b小c就类比我们啊欧式坐标里面的x y z是吧啊,原来我们二维表示那个欧式坐标只需要xy,现在这个重心坐标我们用了三个数。
小a小b小c3 个数对啊,就多了一个数啊,这个数其实是呃这里其实有一个人鱼,就是有一个,自由度多出来是吧啊,所以一般我们要求这个啊,就为了避免这个龙语,我们要求这个小a小b小c加起来等于一。
这样这个每一个点他的那个啊表示就中心坐标表示它就唯一了,呃然后装修坐标它最重要的一个性质就是说啊,这个质量就是我们啊定义的这个重心坐标,小a小b小c。
然后这三个点的那个质心就可根据这个啊那个质量得到的治心啊,是原来我这个点的平面坐标,这个v其实就是那个欧式坐标,然后b a b b c c就是三个顶点的那个欧式坐标,所以这这是一个非常那个啊巧的一个事。
就是说我们拿啊就给定平面上一个点是吧,我可以有两个坐标,一个是欧式坐标,第一个是那个呃重心坐标小a小b小c啊,这个公式就啊把这个重心坐标跟这个欧式坐标关联起来嗯。
对他就是说呃这个平面上的一点就是呃平面上一个三角形,b a b b c c c啊,他们的那个呃加权组合的形式就是其实这里啊就右边这个表达式啊,就是小a小b小c是啊,我们重心是吧,然后那个分母是他们的核。
那这个组合其实就是啊一个应该是一个啊,就加这三个全部加起来等于一对吧,然后呃可以是为负的,对取取值可能就是某一个具体每某一个坐标,比如说小呃a b c啊,不这这里我们没有要求他为正对啊。
所以这个组合它其实是一个呃,应该是叫仿射组合对,那非典就是那个啊三个点三个点三角形三个顶点的一个仿射组合对,对啊那个在呃就是这这是mobius最早啊在啊就是18世纪吧,给出了这么一个证明。
是说在三角形上,我们这个重心坐标它其实是唯一的啊,原因其实就是我们我们如果看这个就刚刚这个呃重心的一个要求的话,这个我们可以把这个重心啊这个要求写出来,其实这里v是一个向量是吧。
然后v1 v2 v3 也是向量,然后w1 w2 w3 是啊,这里的重心坐标啊,但但是这里啊w1 w2 w3 它是不要求归一化的,就是它加起来可以不等于一对啊,所以这里分母要除以它们的格对。
然后这个分嗯就是这个公式,它其实是说那个啊b的那个x呃跟y成分分别是v1 v2 ,v3 的x跟y成分的一个呃线性组合对,那就意味着我们关于呃那个w1 w2 w3 其实就有两个方程了,对吧啊。
那他们的自由度就只有一个了,这个自由度就是说我们啊假设有一组那个权重ww 2 w3 ,正好满足这个重心的一个性质,那这个公式还是成立的对啊,然后具体对啊,这个三角形而言的话。
这个啊就是这个坐标w这个坐标其实有非常简单的形式,就在这个例子里边,我们看啊w关于啊每个点,比如说啊w e是v关于v一的那个坐标啊,它就是呃v一所对的小三角形,就是红色三角形的那个面积。
对我们看啊红色三角形它就是啊b b2 b3 是吧,就是那个它的呃这这里的大a就表示它的三角形的一个面积对嗯,然后嗯v关于v2 的权重就是v2 所对的小三角形,就是这个绿色三角形是b b3 b一啊。
它的面积对啊,这里的指标是关于三是去啊关于三的模对,所以这,里啊我们可以看到w i的那个呃,关于第i个顶点是对的,权重是另外两个顶点的那个呃,再加上就中心这个点是吧,当前点就三角形。
另外两个顶点加上当前点构成一个小三角形的面积对啊,所以在三角形的情况,这个中心坐标它的表示还是比较啊,非常简单对啊,然后为了就是我们一般啊为了使这个重心坐标为一,我们要将它做归一化,这个规一化也很简单。
就是我们啊前面得到了那个w是w就是小三角形的面积,然后归一化只是说小三小三角形的面积除以大三角形的面积,那,么就可以得到一个规划的一个坐标啊,这个坐标有啊一些非常好的性质,首先是它是有啊归一性。
就是说所有这些啊就b3 个b b1 b2 b3 加起来它是等于一,这个证明很频繁对啊,然后第二个是那个叫重现性,就是说我啊拿那个当前点的那个重型坐标乘以呃作为系数啊。
作为那个就是c1 b2 c33 个点的那个线性组合的系数,那啊组合得到就是原来我当前点的坐标对啊,这个重现性其实就是由这个定义来,就是就是由自行的这个定义来对啊,然后还有一个是啊叫非户,型就是bi啊。
它在当当fee啊,属于三角形内部的时候啊,这个三个权重函数,三个坐标它都是非负的啊,这里要说明一下,就是当我我们前面说这个wi是面积是吧,呃是小三角形的面积啊,那面积它肯定是非负氧对吧啊。
就是这里还是要注意一下,就是当v取到外面的时候,其实我们这个面积应该是去啊那个带符号的面积,也就是说这个面积是跟这个三角形的定向有关的,对就是这里我们假设啊b啊,就是b i加e d i加二。
它是一个逆时针方向,那这个面积就为正当v跑到外面,那这三,这三个点的定向可能就反而变成顺时针,那这个时候这个面积就为负对,这样我们才能保证这个三个形式都是成立对啊。
唯一的问题就是当这个点跑到三角形外面之后啊,我们的那个非负性就不成立了,对,啊因为这三个性质就是啊使得这个中心坐标,然后它是拿来做啊差值的一个呃就是理想的一个函数对,非常理想的一个函数对啊对。
这个其实啊我们前面说到这个在三角对,就是这个f t其实就是一个啊基于三啊,就是它对应的差值出来这个映射它其实就是一个线性映射,啊那我们回到,啊这是三角形上对啊,然后对于那个几何处理里边。
我们更多时候我们希望关心那个啊就是跟一般的多边形,就是啊都在定义在多边形上的这个中心坐标,这就是啊管理重心坐标,它是三角形上的重心坐标的一个推广啊,然后作为中型坐标,就嗯它还是中心坐标是吧。
所以每一个点啊它的中心坐标还是要满足这个知心的性质,这个知心的性质就是说呃我拿重心坐标,每一维它作为那个质量,然后分配到我们啊这个多边形顶点上啊,所以这些质量的那个知心啊。
正好就是我原来这个点的那个欧式作品啊,对,啊然后同样有一个规划的一个概念,就是假设就是上面这个执行的概念,其实不要求这个wi是那个归一的,就是它加起来可以啊,不等于一对,然后我们拿来做叉子的话。
我们一般希望这个坐标它有规性啊,所以我们可以将w i做回一化啊,然后根据就根据这两条定义,我们就得到这个广义中心坐标,一般啊就两条性质,首先它是归一的,就是归一化之后,当然当然是那个加起来等于对啊。
然后是重现型,就这这个也是直接由这个自行的概念来的,就是我们可以把啊这个bi带进去就可以得到做呃,这个b就跑到右边是吧,然后左边其实就是那个啊西格玛bi乘以r d r对。
然后这两条性质就可以保证我们啊就是这个重心坐标得到的这个映射,章程的映射,就假设我啊f是就我有一个现成的一个线性映射f,然后我知道f在啊控制顶点就是这些多边形顶上顶点上的值对。
然后我拿这个顶点的值啊来做线性组合来做差值,那得到一个新的函数是吧,我们得到一个差值函数,这个函数,就跟原来的那个线性映射线性函数它是啊一样的,就是原来的线性函数对,就这里啊大家看一下啊。
就是这里左边其实是说啊,我做差值的时候,只需要这个函数在顶点处的值是吧,就f在顶点处的值,然后做差值就是我拿正确坐标作为权重,然后对零点所在的值做一个线性组合,然后这样得到一个新的函数。
这个函数它在我定义在在三角形啊,应该是在多边形啊,另外都是有取值的对,然后当这个啊我取就是在在f在b i点的那个取值,它正好是一个线性函数的时候,这个差值出来。
的函数就是我们啊就初始的那个线性和线性函数对,这是啊广义中心坐标一个非常重要的性质,就是它是能重现啊,那个线性函数对,啊下面我们看一下一些经典的呃最经典的那个管理状态坐标。
首先是啊就最早由flotto在97年提出来的,这个叫呃均值坐标或者说中值坐标吧,对啊,这是呃具体的这个终极坐标的一个公式,看起来有点复杂是吧,就是就是右边是一个示意啊。
就是距离这里的角度阿尔法i减一跟阿尔法是就是我当前点啊,v关于v i的权重啊,或者说坐标啊,是在这个图,按照这个图里边我们有两个角度,就是v跟vi这条边两边有分别有两个角度,然后他们的那个呃去取绊脚。
然后再去看景的,再除以这个啊b跟v i之间的距离,r就是他们的距离啊,这是v关于bi的那个权重,然后关于其他点的权重也是一样定义的,只是把呃只指标i h不一样就行对啊,然后根据呃前面的那个介绍。
其实这个坐标就满足执行的性质啊,然后这个坐标还有一个比较重要的形式,它是非负的,就是对于呃那个新型多呃多边形来说,就是当这个点正好落在我啊,这个多边形的那个应该是他的克隆,就是它就这个点。
简单说就是这个点能看到所有三角形的顶点,就是我呃那个这个点跟就当前点v跟所有的v i连起来,这个啊这个边吧,这条边就ri这条边完全是落在多边形内部的时候啊,这个权重就是这么定义的呢。
ww i它是非负的对这就是这个坐标非常重要的一个性质,就是跟啊很多其他那个管理中心坐标就没有这个性质对啊,这是我们第一次作业是做那个啊float参数化是吧,就是float那个呃就是应该是96年那篇文章。
它那个权重构造构造还是挺复杂的对吧,就是我们要对每个每一个点,我们要找到所有就是在这一领域内,这个点的那个三角形,然后取三角形的重心坐标来构造一组权重哈,啊一一组权重对恢复权重嘛对啊。
就那个算法就是看起来比较简单,但是实现起来还是稍微有点麻烦对吧啊,然后其实我们可以用这个装置坐标可以啊,更简单就是他直接就有这个啊重心的性质是吧,就是我v可以写成那个利用这个w i可以啊。
第一可以写成那个就是多边形零点vi的一个重心的一个组合啊,然后这个重心就是恢复的是吧,那正好就是以满足了那个啊恢复的要求,就是那个tt参数化的要求,并且,这个权重是跟我们的几何相关。
所以它其实就是一个啊形状相关的一个参数化,对或者说形形状敏感的仓库啊,啊这这个权重函数挺复杂的是吧,这大家可能会好奇这个具体它怎么来的呃,具体它是其实就是由这个中值差值来的,就是中呃。
我们在啊可能在微积分里边提啊,有学过这个啊,终止就是那个调和函数有一个终止性质是吧,就是我们啊f在n一点的那个取值,它可以是在这个点附近取一个路径啊,然后当这个在在这个路径上做一个积分对啊。
就做一个加权的积分w其实就是一个权重函数对啊,然后这个积分出来啊,就是我们这个点在这个b点的值,对这个终止性质应该是说我们当这个路径收敛到v的时候啊,这个积分会收敛到啊。
这个f在b点到底对吧啊对那这个中值坐标其实就是有啊,这里啊这个中值差值及中值差值的那个啊应该是一个定理来的对啊,这里的w在装置插座里边,这个w其实是就是倒数一二除以那个x减b的距离的倒数对对这个呃。
这是稍微提一下这个啊,这看起来有点复杂的这个公式具体是怎么来的对啊,大家如果感兴趣可以看啊,floor应该是97年这篇文章对,对啊,然后这里还有一些呃非常常用的那个反应装新坐标。
这啊叫离散的调和音调和坐标啊,或者说叫就叫那个cotine权重啊,对啊,在这个坐标里边啊,其实也是9v跟vi相关的两个三角形啊,然后有另外在这里取得另外两个角。
就是那个b e c i所对的两个三角形内角,然后他们的那ptg加起来啊,one press也是类似的啊,一个构造就是这应该是上面这个图对他是啊,对086是取了阿尔法,还跟阿尔法i减一是吧。
然后rush bs是取了那个正好是啊,b i所在的两个内角是贝塔i跟伽马i减一,啊对这这三个坐标是都是非呃是是非常经典的那个管理中心坐标,其实管理中心坐标还有很多啊,这这方面的研究还是非常非常多的对啊。
这里列了九个,其实应该还有更多啊,强调一下这个管理中心坐标,它一般是没有这个恢复性的,就是啊其实对啊,基数是啊,那个新型的那个多边形吧,这个很多啊,只有只有这个mw它是有啊,刚刚说的恢复性。
这就是在那个新型多边形的那个kl出,它是非负的,然后呃很多其他坐标都没有这个性质啊,更进一步,我们其实在呃实际里边我们接触的多边形态其实是不一定是新型,它可以是更一般的简单多边形啊。
在这个时候就所有这些作用坐标就没有这个恢复性,啊前面说的是啊,就这里列的是叫呃就带有就是解析形式,然后还有一类啊管理中心坐标它是没有啊,显示构造的,它是需要求解的啊,这里最经典的就是这个叫调和坐标。
调和坐标定义是这样的,就是啊它其实坐标可以看成是这个调整坐标,可以看成是一个函数是吧,就是没它在内部所有点都有啊一个值吗,那然后把所有点的值啊都取出来,它就是一个函数对,然后这个调整坐标它是作为函数。
它要满足这个拉普拉斯方程,也就是它的那个拉普,拉斯要等于零,然后呃边界条件就是这个狄拉克函数,就是当呃在这里的飞机就是在边界上的啊,顶点就i关于呃d i f e j就是说我d呃。
我当前点关于呃应该是dx顶点就是vj关于dx顶点的那个权重,对这里当根据相等的时候啊,这个取值应该为一,然后否则就为零对这是啊调和坐标它护照里边的一个边界条件啊,这个呃拉普拉斯我简单介绍一下。
简单说一下吧,这个拉普拉斯算子其实就是说di关于呃这里我们讨论的是二维是吧啊,那在二维上面这个拉普拉斯就是啊bi关于,x的偏导啊,两次偏导加上bi关于y的两次偏导对,这是这个拉普拉斯算子的一个定义。
对啊,这个坐标非常嗯非常好,原因是它是满足这个拉拉普拉斯方程,所以它是c无穷啊,这无穷街啊连续可导啊,然后它是有呃恢复性的,原因是啊,我边界值是那个啊零一是吧。
然后在内部它的取值就是在在连续情况下解这个方程出来的那个啊,就是中心坐标,在多边形的内部,它永远是背负的,就是在取值,就是在零一之间,嗯但是在呃离散情况下,这个啊一般这个拉普拉斯方程就就这个对啊。
拉普拉斯方程我们一般要用啊有限元去离散啊,这个时候有可能啊有可能这个取值它会变啊,稍微呃就就有可能变负值,虽然这个负的比例会就是那个具体的数值会比较小,但是有可能它就会变成啊小于零的值。
啊这这是就在同学里边非常经典的一个坐坐标,就是这个我们同样的有一个三维的版本啊,这里我列的这个啊就是这个参考书啊,就是这边呃文章其实就是拿来做那个三维的那个形状变形的对啊,三维的时候。
这个拉普拉斯方程式就是关于呃x的二阶导加上y的二阶导,再加上c的二阶导,这个定义是从二维啊一样推广过来对啊,然后呃关于中心就是计算的中心坐标,还有啊这里列了三种基于那个最大熵坐标啊,最小啊移动最小二乘。
以及那个啊,就是啊,我们呃实际上是张学友老师在14年提出的这个局部的中心坐标,对啊,就是啊大多数正确坐标就是基于计算的中心坐标,它是非局部的,就是说我们比如说这个调和坐标,除除了在边界上它可能为零是吧。
但是在所有其他内部,所有其他点啊,bi它都是大于零,它可能非常接近零,但是它就是非零的一个组对,然后局局部中心坐标的概念是我希望bi的影响啊,比如说b就应该是b b i对啊,bj的影响它是啊。
如果这两个点就边,界上两个点很远,差得很远,就我当前点跟某个边界差得很远,那这个边界对当前点的影响应该就没有对,就是这个时候应该啊这个中心坐标它的值应该是为零,对啊,这个这是局部中心手表的一个概念对。
呃我们介绍了很多这个广义中心坐标,然后广义中心坐标在同学里边其实有非常非常多的应用啊,最对最经典的最火的或者说最直接的一个应用就是做叉子是吧,就像呃这这里的例子就是说我们在一个多边形上有一个函数值。
然后我们可以将这个函数值通过啊管理中心坐标插值到整个平面啊,或者说三维也可以是整个空间对啊,然后这个叉子可以作用到更一般的一个函数,比如说这里是网格上对啊,我们将往这里啊几个网格的坐标啊。
就所有点的坐标拿这个中心坐标来作为权重来差值的话就可以得到啊,中间这个插值后的形状,这样就可以拿来做网格的一个或者说形状的一个动画啊,然后在渲染里边我们可以呃从呃这是这是对法向的一个差别。
就是我们一般法相是在顶点上是啊给定的顶点的法向他可是有啊,就是我们有其他方法,比如说或或者说就直接有那个啊分片线性差的那个靶向来算出来,然后对于我们渲染的时候。
需要每一个三角形内部所有点的那个啊任意一点的那个法向,那这个法向就可以由啊这个顶点的法向来做up主得到,这样我们可以通过啊,就经过插值之后,这个法向场就变成一个光滑的一个啊是方向盘。
然后这样渲染我们就可以得到一个啊光滑的一个曲面,看起来是就是原来这个三角网格,它是非常低分辨率是吧,那通过这个光环的反向反向场,我们可以啊实现一个光滑的一个渲染效果对呃。
然后呃管理中心坐标跟这个rbf一样,也可以拿来做图像的waking对啊,就在这个例子里边,我们同样是有一个这这这虽然也是多边形状,这其实可能是两,个多边形对,然后我们将啊原来这个顶点就是整个平面上。
应该是图像平面上所有的点用重心坐标来表示,然后将这个多边形变形之后啊,根据这个创新坐标来将原来的点同样的,就就用原来原来的中心坐标来做差值,可以得到新的坐标。
这样就是做这个图像image working的一个应用啊,然后最后一个应用是做这个向量场,就是同样的,我们在这跟shading可能是比较类似的一个事情,就我们在多边形上有一些方向是吧。
然后我们通过啊中心坐标可以将这些啊方向,那就是就将这些向量吧,他知道,啊全平面,这样这样就得到了一个啊向量场对,就是在向量场,就是每一点有一个定义,一个方向的一个或者说向量的一个场。
啊然后我们看一下这个啊一个记忆中心坐标,一个非常经典或者说非常重要的一点,就是怎怎么跟我们的呃参数化怎么关联起来是吧,就是其实在呃最前面我们提到那个r b f是啊一组光滑激函数。
那这个重心坐标是怎么样的一个计算数,对这个重心坐标其实就是我们把坐标看成一个函数的话,其实就是一个基于就是一个光滑的基函数,对我们看这个例子里边啊,从这组基函数我们可以得到光滑的一个映射啊。
具体是这样的,就是我们啊看左边一个多边形是吧,就有蓝色多边形对,然后呃这里作为可视化,我们贴了一个长颈鹿的一个纹理,然后在这个多边形内部任意一个点d我们有它的重心坐标di是吧,然后呃作为重心坐标。
它有这个重心性质,就是bi作为权重,然后啊将原始多边形的顶点做一个线性组合,那得到的这个组合就是原来的我们低一点的那个坐标啊,这是重心坐标的一个基本的一个信用值啊。
现在假设我们将这个多边形啊做了一个变换,稍微编辑了一下啊,得到了一个新的多边形,那呃我们可以拿这个中心坐标来插这个具体的差距就是这样的,我们啊现在多边形变了是吧,就是原来的原来是c i,现在变成xr啊。
但是原来是计算好的那个重型坐标bi我可以啊,呃同样的拿过来用,就拿bi作为权重作为新的啊,多边形顶点的一个权重啊,就是做线性组合的一个权重,那这个呃v点就会得到一个新的坐标,就变成那个fc对啊。
那这个就是一个就对另一个点,我们可以算通过这个线性组合得到新的坐标对,那这样其实就定义了一个啊音色函数f对,我们将这个f用,纹理映射的形式把它发出来,我们可以看到啊,这原来这个长颈鹿是吧。
现在就变成另外一个形式了,对可以看到这个长颈鹿还是啊还是一个长颈鹿是吧,就是感觉还是一个比较,就在这个例子里边还是一个比较自然的一个变形啊,这说明这个映射它确实还是比较自然。
具体来说它就是一个啊还是一个比较呃,是一个光滑的,然后啊我们可以看到它没有明显的那个像像那个分片映射的那种效果,对对啊,原因就是我们这个b i的构造,它是我们的啊,可以看到在再回来看这个三个经。
典的坐标是吧,就这个b i其实就是这里wi其实我们就是我们的di只是经过了归化啊,可以看到这个bi它是有啊,就是这个解析表达式,然后这个表达式里边就是他应该还是关于我们呃v点的一个。
就是欧式坐标的一个连续的函数,就这个函数可能如果我们写成那个x y的形式,它会非常复杂,但是呃没有关系,它就是啊虽然是一个比较复杂函数,但是从这个表达式可以看出来,这个它确实是有解析的表达式,对啊。
不是一个分片的一个或者说线性或者更低阶的一个形式对,对啊,这样我们可以通过反应中心坐标来构造啊,光滑映射对,就是整个映射其实也是啊,就f还是跟之前一样,还是这些基函数的一个线性组合对。
这个g函数就变成我们现在的那个广义中心坐标函数对,然后呃这里提一下这个叫啊那个柯西负重型坐标的一个概念,这里跟前面一页的差别,唯一的差别就是原来是b现在我们换成c了啊,这个b是一个实数。
就根据刚刚的定义,这个b是有解析表达式算出来的,是它最终是一个实数的一个形式啊,但是这里啊在科技中心坐标里面,c它可以取负数对,就是啊它是一个复平面上的一个数据对。
然后同样c就变成啊一样的是在复平面上的数据,所以这里啊线性组合就变成那个负数的一个形式的,一个啊加权的一个组合,我们可以同样可以拿这个中心坐标,复数中心坐标来做来构造一个光滑映射啊。
这这里只是一个示意啊,就是我们同样可以实现这个啊对这个长颈鹿的一个变形的,一个就光滑变形的一个效果,差别就是原来是di是吧,就是这个ci的表达式跟di有一点不一样对。
啊然后这个重心坐标的好处是我们这样构造出来的这个映射函数,f它是全程的啊,就是数学上如果我们对呃f关于c的共轭求导的话,那这个导数就是零啊,所以这个映射它是叫全纯映射啊。
其实全程音色跟啊叫那个啊保角映射其实是基本上是等价的啊,唯一的差别是这个全程因素它可能有零点,就是说啊它可以f关于c的导数可以消失,在某些点可以消失,对啊,这是全程音色,然后通啊,现在有了全程音色。
全程音色我们可以啊构造啊调和映射呃,稍微提一下这个全程映射跟,调和映射的一个联系啊,其实全程映射其实就是调和映射啊,但是它不是啊,但是啊现在有了啊,那个全程映射我们可以通过全程映射的一个啊复合。
我们可以得到所有的那个调换映射啊,具体啊我们后面会呃下一页介绍,我们首先介绍一下这个叫全程映射的一个啊,这个调映射跟呃这个前面提到有调和坐标是吧,都是调和啊,所以它也是满足这个调和方程。
就是呃这里我们还是以二维为例,就,是这个调音是它是平面的一个映射,就是它可以写成啊u成分跟v成分啊,分别是关于xy的那个函数啊,然后这个调和的坐标啊,这个拉普拉斯方程啊,跟前面一样。
这个拉普拉斯算子其实就是关于x的二阶导加上y的二阶导对啊,所以这里是一个偏分方程关,关于u跟v分别是有一个偏分方程对啊,然后这里我们有提边界条件是吧,我们一般这个边界条件是给定的对。
然后呃给定边界条件我们可以解这个呃拉普拉斯方程,然后这个拉普拉斯方程作为一般的pd,它是有唯一解的对就是这个给定边界条件,我们可以从边界推到啊,就是根据这个拉布拉方拉普拉斯方程得到所内部所有点的一个解。
对啊,这个调二映射它很重要,原因是它是呃非常光滑,就是在数学上它是最光滑的一类函数啊,一类映射啊,就是最光滑的意思,就是说它是数学上它是无穷阶可导,就是你可以求他的任意阶导数,然后呃作为调和调嗯。
就是挑音色,它的每一个成分是作为调和函数,它有这个极值原理,就是说我们u跟v啊分别有极值,原理是说u跟v的那个极值极大值和极小值是在边界上达到,就是对,就我们看这个例子来说,就这个下面这个例子来说啊。
这个映射不会跑到无穷远啊,跑到这呃,简单说就是内部的点,它不能跑到外面对,啊这个说的简单了一点啊,就在实际上其实这个调完音色有可能这个内部点会跑到外面,但是它不能跑到太原,就是我们不能跑到这个啊。
这不多,那那是绝对不可能的,因为这个即使原理啊,然后还有一个比较重要的性质是叫唯一性,就是给定了边界条件,这个条件是就是唯一的,它的解释唯一的就是这个拉普拉斯方程的解释,唯一的对啊。
这个唯一性可以允许我们啊做很多事情,就是给定边界条件,我可以确定啊,要就通过啊,我们要求映射要满足一定的性质是吧啊,因为它是唯一的,就是调音色是唯一的,我可以把这些要求放到边界上,然后在一定条件下。
它内部就会自动满足啊,我们希望呢希望达到的一些要求,对,啊然后调和音色有啊,那个还有一呃一个比较好的星座,就是二维的调节音色,有一个比较好的性质是说啊所有的调味映射我可以有这么一个分解。
这个分解具体是这样的,就是它可以写成两个映射的那个啊,就是和对,就是那个复合对啊,不是复活,就简单的加起来吧,对然后这两个映射分别是这样,一个是那个啊,其实就是前面的一个叫泉水音色。
然后另外一个跟全程映射非常接近,它是全是是叫反全纯映射啊,就几何上我们可以看这个全版全程映射,其实就是由全程映射做一个镜面翻转,这是关于呃x轴的一个镜像得到的,然后这个fire跟pos就是全程映射是吧。
所以我们可以由啊前面提到的那个柯西副中心坐标来得到,对啊,这样我们利用柯西中就是根据这个调后映射的这个分解,我们利用柯西中心坐标可以构造所有的那个太合映射啊,具体的构造是这样的,就前面我们已经提到啊。
利用分析中心坐标,我们可以得到一个全程映射是吧,φ是一个全程音色,然后对应啊我们可以构造啊另外一个全程颜色cos,然后取它的共轭就得到了一个反权反映社,对就persize啊,拔就是这个版权传音色。
然后把它们加起来就是一个调和映射,这样啊我们可以通过啊这个控制这个全程,这这里five跟presi系数是吧,x跟y就是这两个啊全纯映射的系数,就给定任意一组系数,我们就可以得到一个调和映射。
然后反过来也是一样的,给定任意一个调和映射,我们可以找到唯一的一组权重对,这样就构造了一个啊调映射,跟这个啊二维的一个向量之间的一个一一对应对,这样允许我们啊去解析的,去构造啊调所有的调味映射。
而不需要去求解这个拉普拉斯方程,因为如果是啊这个拉普拉斯方程的形式,这个是其实是比较难优化的,对这样我们呃利用柯西中心坐标可以得到,可以构造出所有的插画影射啊,然后还有一个好处是就是利用可惜中中心坐标。
它其实啊对应的这个映射它的那个啊一阶导就是f关于c的导数,其实就是发的啊,导数它同样的有一个解析的表达式对,就是这里啊其实就需要这个柯西中心坐标的那个导数。
对这里都是有解析表达式的对然后呃那个f关于18的共嗯,关于c一共轭的那个导数一样的,就是就是那个啊这里应该写错了,应该是f关于c共轭的导数,再取一个啊,没问题,没问这没问题。
对f关于c8 的那个导数是f的导数,然后再取个共轭对,啊ok这样我们可以呃就讲完了那个呃广义中心坐标应引啊,引出的这个广义重心映射以及条纹云社嗯好的,那我们要不先休息几分钟,我们看看大家有没有问题啊。
那个有网友问到这个拉普拉斯为啥是无穷光滑啊,这里不是说拉普拉斯算子是无穷关,好像是说这个调和映射是无穷阶可导对啊,就是作为这个特殊的一类那个pd方程就是拉普拉斯,他他他是拉普拉普拉斯方程。
它的解释呃叫调和映射或者调和函数,它是呃无穷阶可导对啊,下面是我们介绍啊,那个我们今天的最后一,类关卡基函数是计量条机啊,在介绍这个样桥机里边啊,这里有一类啊最经典的曲线叫做那个北泽的曲线啊。
北侧曲线是用于呃曲线建模或曲线设计里边,最最最经典的一类啊曲线吧啊这右边是一个事业啊,就是我们假设用户啊指定一些控制点啊,b0 b1 b2 b3 啊,它们连起来就是一个啊多边形啊。
然后呃这个白色的曲线是由呃是说那个我可以构造,有有那个就这里已经其实给出了xt就是这个白色曲线的一个形式,然后这个曲线其实就是一组基函数的一个线性组合啊,这,个b i n就是我们的那个基函数。
具体的形式是这样的,它是c ni啊,就是啊那个嗯排列组合是吧,从n那n个里边去,i n跟i写到了不对,然后呃后面是t的,自从你那个一减t的减i x啊,这是这个g函数。
然后呃整个曲线就是由这个基函数啊来线性组合,然后组合的那个参数或者说系数就是我们的控制顶点啊,然后这个曲线啊他正好能插值我们的那个呃多边形的那两个端点,然后呃就是其他端点是就其他分其他方式点吧。
会比较接近,但不会插足对啊,但是这个曲线啊好处就,是我们啊,还有还有一个好处,是我们呃在两个端点的导数啊,就是我们控制多边形的第一条边跟最后一条边对,就是大家可以看出来这是相切的对。
嗯然后其实从这个形式里边我们可以看出啊,就是这个表达式里面可以看出来,其实这个曲线其实是一个多项式的形式是吧啊,然后如果我的顶点越多,那这个曲线的接触就会越高。
对啊对这个白色曲线是可以拿来近似我们的控制多边形,但是它不插手对啊,就是顶点不多的话,这个啊看起来曲线还是比较自然,比较光滑是吧,然后也啊可能拿来做曲线的设计还是比较自然的一件事情啊。
确实在六七十年代啊,这个白色的曲线就是啊拿来做在c a d领域嗯,对在在c a d领域,特别是汽车跟啊那个啊飞机行业吧,航空领域啊拿来做表面啊,曲线曲面的设计这个用途对啊,但但是这个啊这里的g函数啊。
主要是这个g函数啊,这个g函数叫伯恩斯坦机,它有一些问题,首先是那个如果我的接触比较高,就是我要啊那个拟合非常复杂的一个多边形啊,其实它对应还是一个多项式曲线是吧。
就是这个多项式的接触会啊次数吧会比较高,那这个时候计算就会比较不太稳定啊,然后复杂啊就计算的,复杂度也会比较高对然后第二个是这个支撑,它其实不呃不是啊。
局部的就是说每一个基函数它在整个区间上取值都是非负,只有在两个端点上,它啊都都都是为政嘛,只有在两个端点上啊,就是某呃有一些技术它取之它为确切的名,嗯对然后它是不差值。
只有两个端点是插值的对这这是啊北色曲线的一些问题,所以啊但但是还是有一些好处是吧,就这个基函数它是多项式,所以它是光滑的,就是相比那个呃线性函数啊,他肯定要光滑一点对啊。
然后第二点是它支撑其实是伪局部的,就是说我尾局部的意思是说我移动一个控制顶点,这个曲线离这个顶点比较近的部分变化会比较大,然后曲线上离这个顶点越近越远的啊,那些点它的影响就越小对啊。
归一性就是加起来所有的基函数加起来是等于一,然后还有一个是恢复型,就是当这个参数t在零一区间内啊,取值这个g函数取值是非负的啊,就是说哦的曲线就xt它永远是落在我的控制多边,控制多边形。
比如说我控制多边形,它可能出现的区域对,嗯就前面提到这个本色曲线,它的基函数这个啊伯恩斯坦机还是有些问题是吧,它啊高阶就顶点多的时候接触就比较高,然后它的支撑它不是局部的啊。
所以啊在这个c hd里边我们进步啊,对啊,这是一般的低压槽机像素的一个构造,它是递归的定义,首先是一阶的啊,就是它在指定的区域内,就是它的支撑区域内啊,比如说第i个一阶啊,第二个区间就是从i到i加一。
它的取值为一,然后在所有其他区间它取值为零,它所以它就是一个分片的一个常值函数啊,然后由这些呃呃就低阶的基函数我可以递归的去构造啊,高阶的函数这个构造具体是这样的,就假设我现在有两个低阶的是吧啊。
就这这个图假设我已经有两个稍微低阶的一个函数,然后我将这两个低阶的奇函数做一个线性组合,对啊这里我们用上标啊,这里也上标k减一,就是说那个它的阶数是k减一,就右边是两个k减1d一阶的那个几项数。
由他们来线性组合就可以得到左边这个k阶的进项数啊,然后呃这里组合的时候,这个权重函数它是非常简单,就是在比如说我第一个记函数,它有一个支撑区域,就是说它取值为非零的一个区域,然后在这个区域内。
这个权重函数它是被一个线性的一个递增函数,从0~1啊递增的一个函数啊,这里我们可以验证一下,就t在啊这个第i个啊,k减一阶基函数的那,个支撑区域,它是他的自身区域,就是i到啊i加k减一。
然后在这个区域内在a点是取零,然后在i加k减一的时候,这个啊这个权重函数是取一,就是从01递增的一个权重函数,然后啊对应的这个右边这个g函数的,它的权重是从10递减的一个线性函数对。
然后由啊这两个基函数可以啊,先进组合就得到一个高一阶的基函数对,然后呃在代数上其实啊就原来是比如说从啊一阶它是一个分片线,要分片常数函数是吧啊,两个分片常数函数做一个这样一个差值就可以得到。
啊高高一次的一个多项式函数就是变成一个分片的一个线性函数,对啊下就第二个等式就是把上面这个等式稍微简化一下,我们可以呃这个其实不太重要,对我们看一下具体的一些啊比较低阶的一些基函数吧,对啊这里是啊。
前两个图就是啊两个一阶的减速,他们分别是在啊各自的支撑区域内是取一,然后在所有其他区域为呃,呃区域是取零,然后将这两个相邻的那个一阶级函数做啊,那个线性差值是吧,就可以得到啊。
下面这个二阶的对应的就是一个啊分片线性的一个函数,就,可以得到最前面我们看到的那个帽子函数是吧,就变成这样了,对这是一个分片的一个线性函数,然后将两个相邻的分辨线性函数再做一个差值。
就可以得到啊那个分片的大致的函数,那看起来这个函数这个函数就变得这个奇函数就进一步光滑,它就有一个啊应该是二次的多项式,所以是一次呃,那个c一连续的,然后再进一步将两个三阶的机箱做一个线性组合。
得到可以得到4g的奇函数,然后这个奇函数就变成啊c3 应该是第二,就是它是三次的多项式,然后是在啊在节点处,是ci连续的对,这是啊,一般我们这个碧阳桥或呃就是在央桥里边,我们接触不会取得太高。
一般四阶是最常见的对啊,然后有了这些基函数,我们就可以来啊做线性组合可以得到啊,具体的曲线就是我们啊这个释义就是说我们啊将对应的那个控制点,就是这里我们有一些啊原点就是我们的那个参数啊。
然后这这些参数作为权重函数吧啊,将这些t函数作为一个线性组合就可以得到一个啊那个曲线,这个曲线就是一个非常光滑的曲线对啊,然后我们可以看看下面这个啊这些基函,数啊可以看到这些奇函数长得都是一样的是吧。
然后看起来就是这些计算数,就是啊每一个进项数可以由另外一个计算数做一个平移得到对啊,然后这个计算数本一个奇函数,它有各自的有自己的一个支撑区域,在支撑区域外是取零。
对啊对这样我们就呃这这里就是在量槽里边最重要的一个概念,它每一个基函数都是由相同的构造,然后长得也很像是吧,然后那个啊又有非常好的性质,它是一个分片,啊线性它应该是分片多项式,就是在自己的支撑区域内啊。
是有一个是其实是一个分片的多项式对,然后它有景支撑,就是说在自己的支撑区域内啊,才取自茶,才是恢复在支撑区域外,它直径为零啊,这里是两个就低样条曲线的例子,就是啊这些这这这多边形是我们的控制多边形。
就是这里的控制顶点啊,也叫啊德布点,然后这些点啊作为权重,它是有一个啊局不行,这是我移动这个控制顶点是吧,中呃应该是第三个控制顶点啊,这个曲线它只有局部找的变化,就是右边这一部分的曲线它是完全不动的。
对这这是在曲线编辑里边一个非常重要的性质,就是我们作为用户,我编辑局部编编辑曲线的时候,我不想整个曲线都变对,所以啊这个局部支撑性是非常重要的一个,呃我们今天的主题是讲那个映射函数是吧。
他应该是就一般是在就是网格,或者说在二维区域上的一个映射函数啊,那我们花生前面花了这么多事情在介绍这个曲线啊,为什么呢啊其实曲线这里最重要的一个概念就是这个基函数是吧,这个基函数啊。
我们拿这个基函数来一维的基函数可以构造得到啊,更高维的基函数对嗯,这里其实一维跟二维其实差别啊,就是我们这个定义是什么是吧,就是一维的呢,呃就是曲线了,它的定义它其实是一个一维。
就是一个参数t然后作为二维曲线啊,曲面或者说平面的话,它其实是有两个参数u跟b对,然后再进一步啊,空间的话应该是有三个参数,它内在应啊就是本身它应该是有三个维度,u v w3 个维度对,那我们可以呃。
现在已经有了一个一维的奇函数,我们可以通过一维的奇函数来构造得到更高维的基函数啊,最简单的构造就是我们用啊一个叫张亮机的形式,啊这里我们是现在是要构造啊样条曲面就是前面是曲线是吧,有曲线怎么得到曲面啊。
曲线是一个参数,现在我们曲面的话它应该要要有两个参数对啊,然后曲面的话我们应该是就跟曲线一样的曲线,它实际上这样条曲线它是一个分片的一个多项式的一个曲线,然后对啊。
我们曲面的话我们可以两条曲线做一个扎拉机,那这样得到的一个曲面,它其实就是一个分片的一个啊,多项式也是一个多项啊,多多变量应该是两个变量,那个多项式。
然后呃那个两相邻片之间它会有呃那个相应的连续性条件对,就跟曲线一样啊,然后在这个样条曲面里边,这个每一片啊就叫一个样条块啊,下面我们看一下具体怎么构造对啊,就在样条曲面里边有两个方法。
首先是一个叫张亮机,就前面说的最简单的构造是张亮机,就是我们在一个方向上是一个呃一个可以看成一个曲线是吧,然后在v方向也是另外一个曲线,然后我们将这两组两两组曲线嘛做一个张量就可以啊,生存得到一个曲面。
就是当它这个定义就是一个规整的一个格子对啊,然后前面说的那个曲线的那些性质啊,因为g函数有啊,比如说非负性,有有那个归一性啊,我们可以频繁的就现在就可以频繁的推广到曲面的啊,case对啊。
然后在这个张量机里面,它每一片它其实是一个啊,就刚才已经提到它的参数域其实是一个啊,就应该是一个格子是吧,所以每一片它其实是跟那个正方形式同配的对就是一个把四边形。
就是这个呃曲面它就是一个四边形的一个四边形网格的一个啊,laout对啊,还有一类那个样条曲,面是叫全自由度曲面啊,这这里是一个室友,不知道是不是看得出来啊,这是一个呃应该是一个白色三角形。
就单个的三角形,然后我们可以将很多三角形拼接起来,就可以得到呃那个呃就是比较大的一个曲面嘛,对然后每一片它其实啊就每每一片是一个北色的三角形,有个呃有同样有一个控制多边形。
那这个空多边形其实就是在三维的一个三角网格对,然后这个啊这个曲面全自由度曲面,它是啊跟跟上面这个定义就呃参数也就不一样了,上面参数意义是隔着是吧,所以这个全自。
由度曲面它的参数也就是一个啊三角网格对平面的三角网格啊,然后这里每一片这个全自由度曲面,它每一片就是一个三角片,啊我们先看这个加垃圾曲面啊,照相机曲面我们看它怎么构造。
这里其实就是呃就是一个灾难机的形式,就是我们现在有啊,根据曲线我们有那个一维的奇函数是吧,有有那个啊,比如说这里是四阶的四阶的那个基数,就有四个b1 b2 b3 ,然后嗯嗯嗯第一第二第三第四。
然后呃现在我们变成原来是一个参数,现在我们变成两个参数,那就有两两个两两组那个计算数吧,然后我们将这两组积函数,关于u一组基数跟关于v一组基函数做一个张量,那就可以得到啊,这里变成四至16个基函数对啊。
这这里的基函数就是那个呃每一个奇函数它是有两个参数u v对,所以变成将来计时的形式之后,我们基函数就由那个取啊,原来一维的基函数做一个啊,就是其实就是排列组合是吧,就是啊b又跟bb之间啊。
所有可能组合都拿出来,就得到了所有的那个张量机曲面的那个极限数啊,然后这个这是一个失意,就是我们原来就是在啊一维下面有这些那个异维的计算数,然后我们将这些基函数做一个那个呃张亮机形式。
我们就可以得到二维的基函数就在平面域上的一个奇函数啊,这个这个事也是说我们两个红色的激函数做一个张量,它就变成一个以啊,就是这个格点为中心的一个啊类似镜像的一个递减的一个函数,然后右边啊是同样的释义。
其实是一个同样的释义对,就我们把这个这个这个标量函数吧,把它的高度就是啊那个可视化成那个高度场的形式,就变成右边这个形式对啊,然后有了现在有有了基函数,我们就可以构造这个曲面啊。
这个脏脏机曲面具体就是这样的,我们现在是啊有一,组奇数就b i u啊,乘以b j b这就是一个减函数对,然后呃那个我们控制点,就是我们啊所有的那个就是张开机曲面里边的那个啊控制顶点,我们作为参数。
然后将这些所有的那个控制啊,所有的那个啊基函数做一个线性组合,就可以得到这个啊发量机曲面,然后我们可以将这个表达式可以稍微变换一下,可以看到就是啊这里内核可以交换啊,就是顺序可以随便交换是吧。
所以这个单量机曲面可以看成是曲线的曲线,就是这样条曲线的曲线对啊,这是啊这对啊,刚刚说到这个张三,机曲面是怎么构造的,但是我们呃就在拼,就两个照相机,它其实是分片形式是吧。
那那那个我们呃需要光滑曲线曲面的话,我们要求这个在啊两片之间,它要满足一定的那个连续性条件,比如说那个c连续,那就需要它的一阶导数连续的那作为张亮机形式,他在比如说这个区呃。
这个啊定义域上其实在呃在在这条边上,它在呃应该是y方向,它是自然的,就满足那个啊一阶连续,但是在社交方向就是从从左往右啊,这是在x方向,它的那个导数它不一定是自然的去满足那个c一连续的。
所以这个c一连续是需要啊,我们作为条件放到这个呃那个参数的构造里面,对对具体来说这个啊其实就是说我们这个控制点它要满足一定的条件,比如说啊这里这应该是红色控制点吧。
他应该正好就落在相邻的两个控制点的中间,这样它就能保证在这个方向上它是c一连续的啊,这个我稍微提一下,就是那个关于两片之间的一个连续性条件对啊,然后还有一种构造。
就是那个曲面的构造是叫这个北423角形啊,它可以看成这个就是呃德法算法的一个三角形的形式啊,这里,我就不详细展开了,就简单说就是我们德卡送塔里边啊,它把它变成一个三角形的形式。
就是说我三个方向三条边上分别做那个德塔算法对啊,就重复的做割脚吧,对当最后变成一个三角形做那个差值,这个时候差值就是用纵横坐标来差值变成一个点,这个点就变成那个曲面上的一个点,对啊。
就这这个曲面相对于张亮机曲面,它会更自由一点,因为它啊它的那个呃就是参数域的那个拓扑可以是任意的,就可以是因为是可以任意的一个三角网格,相对那个打格子的一个形式会更自,由对啊。
这这个是构造稍微麻烦一点啊,我们就不再展开对,嗯ok那我们今天主要还是花时间是介绍这个叫光滑映射啊,主要是四位那个光滑的基函数啊,最后我们稍微再介绍一下啊,我们啊做做参数化是吧。
参数化里边我们啊最关注就目前最关注的是一个映射,是叫无翻转的一个映射,那现在我们现在啊映射由分片线性映射变成那个光滑映射,那对应的那个无翻转啊,应该怎么做,首先我们回忆一下这个分片线性映射,就是左边啊。
我们要做它的一个无反转优化,一般是这样做是吧,这这是我们第二次作业啊,就是呃给定现在我们要优化这个叫sd能量嗯,对这个sd能量就一个映射的s级能量是就扭曲能量吧,它一般在三角网格上。
就是在每一片上的能量的啊那个值,然后做一个加权的平均加权的和,然后权重就是这一片的那个面积啊,这个加面积加权原因是其实这个能量应该是一个积分的形式,就是我们其实每一个点都是有一个能量。
只在分辨线性因素里边啊,每一点它的能量是一模一样啊,这就三角形内部它的每一点的能量是一模一样的,因为它的甲不比是一个在三角形内部是一个常数对,所以在每一片三角形上的那个积分就变成一个简单的一个啊。
面积乘以就是任意点的一个权重啊,任意一点的一个扭曲吧,对呃然后呃就这个优化啊,就就是大家呃,就现在我们主流是用这个叫啊sd能量或者其他那个等级能量,原因是这个能量里面有内置的一个叫障碍函数。
就是这个甲壳比它的战术的一个倒数啊,这这一项它会变成无穷大是吧,当当映射变成那个奇异的时候啊,这个甲克比就是呃它的范数应该是那个行列式吧,甲壳比的行列行列式变成零,所以它的倒数就变成那个无穷大。
就是在呃,然后我们一般优化这个能量是叫用一个内点法,就是一个连续优化的一个思路啊,就是每一次我们是想去啊,将这个能量沿它的梯度或者其他的一个,比如说二次下降的方向去连续的去啊,再在一个连续的路径上啊。
保证的能量是下降的啊,然后因为这个能量也就这个能啊,就是度量函数里边扭曲,度量函数里面有一个内置的障碍是函数,如果我啊这个映射变成啊奇异的,那这个能量就会爆掉,就变成无穷大是吧。
那就保证我们在连续优化的时候,这个可以保证这个每一片它的映射没,或者说每一点的映射都是不起眼,这样假设我们映射是从一个啊就是初始是一个无翻转的音色开始,那就可以通过这个形式啊,保证在连续优化的过程中。
这个因素都是啊都是没有翻转的对啊,这这个付老师之前已经已经详细讲过,讲过了,我们就稍微再提一下对嗯,就是在分片线性映射里边,我们可以将这个能量啊原来是一个积分形式,我们在三角啊分片线性映设置一下。
下面它是变成一个简单的啊求和对吧,就是在每一片上的那个能量啊,然后求和对嗯,然后无反转条件也是一样的,就是我们希望是每一点都不翻转,然后但是没在三角片内,每一点的映射它是一样的。
所以我们只需要对每一个片只需要有一个夹克比啊,大于零就可以,就它的行列式大于零不翻转就可以,这样这个映射就这样,这个一个优化问题就还是比较啊,直接的就是它是有一个啊非线性的一个能量是吧。
就是这个能量是可以计算机是可以去表达,可以去啊优化求解的,然后这个约束也是有限的对吧,就是我们啊可以因为是有限的,我们可以去啊用啊,就是内点法去做连续的优化,这是分界线性映射,然后现在我们做光滑映射。
那把频繁的推广过来啊,现在我们的能量就变成还是变成这个能量的,就是组每一点能量的一个积分,就在整个定义域上的一个积分啊,然后同样的约束是我们要求每一点的夹克比它都是含量是大于零啊。
那要注意到这个积分就是现在我们变成一个光滑映射,每一点就是呃给你任意两个点,无论它有多近,这个两个点,他的那个呃就是价格比肯定是不一样的,那这个积分就没有办法把它变成本片线性映射下面求和的形式,就是啊。
所以我们这个积分必须得啊想办法去去把它变成啊,就在计算机可以有限的去去求解的一个形式啊,然后还有一个问题就是我们的约束就是说啊作为定义,我们要求无反转映射是在那一点都没有反转是吧,所有点。
那其实我们就有无穷多个约束,就是要求无穷多个点,它的价格优势大于零,嗯这样我们就可以看到这个光滑映射跟分片线性映射还是有很大差别,就是说呃我们的能量它要啊求一个积分,这个积分是没有显示的。
那个表达式就变不能变成一个简单的一个求和形式,然后约束它有无穷多位的约束,就是这个非线性的约束它具体的那个数啊,就每一点都有个约束是吧,然后点的个数是无限的嘛,啊约束的个数就是无限的对啊,那怎么办呢。
这个显然不是计算机可以求解了是吧,就没有办法去求解这么一个问题啊,然后一般就在我们用那个计算机器实现,或者说去做这样的优化的时候,我们还是要把它变成一个啊,可以啊。
就是变成一个有限的一个形式吧啊首先这个积分我们可以取近似,就是我们可以在这个定义上去采样啊,那这个积分就变成一个还是变成一个有限合的形式,就是我只要我的采样点足够多,那这个积分就足够精啊。
就会足够精确吧对啊,然后这个同样的这个约束原来是无穷多是吧,那我同样的可以把它换成那个在有限的点上的一个约,束对啊,那这样就变成啊,其实啊跟左边有个差不多了对吧,就是啊我们要优化一个有现象的那个能量。
在能量在有限个点的那个呃和,然后那个加上能量在同样的有限个点上的一个呃呃不是能量,就是这个啊在有线点上的那个呃一个非线性的一个约束,就是甲克比大于零的一个约束啊,但是带来问题了,就是我们现在这么优化呃。
利用这个比如说等级能量的一个啊,就是sd能量的一个优化,那只能就这样优化,我们只能保证在这些点上,就我采样的这些点上它都不反转,那在采样点,之外这样优化的结果其实不是没有保证。
对它可能是有翻转是吧对就是呃这这这是我们对光环因素,其实去真正去做优化,只能这么做,就是只能把啊无穷多个点,它把它变成有限多个点,这样我们才能优化,对啊对,还是带来的问题之后,我们怎么保证。
现在我们只是啊在优化的时候显示的在有限的有限多个点上,是有这个无翻转的一个约束,那怎么保证在这个有限点之外,就是当呃这个点s落在这个采样点之外,我们怎么怎么保证这个映射是无反转的呢。
对香菱介绍两类方法啊,首,先第一类是叫呃,那个就是考虑到我们映射是我们这个映射它是光滑映射是吧,那映射它本身是啊光滑的,然后进一步它是不是连续的。
然后对应的相应的那个我们啊可以要求这个或者说可以期期望嘛,期望这个价格比函数它也是一个连续的函数对啊,进一步是lip形式连续对啊,我们是看一下视野,就是前面我们提到我们现在在有限个点。
有限个点就是这些格子点的话,我们可以要求这个啊啊就是无翻出来对,然后呃就是我们现在可以要通过libc连续剧情要求这个啊,就在p点附,近的一个球或者圆内,它是不发生翻转。
具体的条件就变成原来是要求我们在p点它的那个价格比大于零,现在我们只呃利用那个连续型,就是啊,因为在p点附近,这个呃这个价格比它可以下降是吧,如果在p点就等于零啊,它下降就变成那个负数。
所以我们要求p点的那个甲托比它要大于某个常数,大于某个正值啊,具体这个正则我们啊后面再看它是一个linux常数乘以这个半径,啊这样啊在q点就任意一点,就是在球内任意一点啊,利用这个lip连续型。
那这个q点在这个求内那一点啊,就这个不等式成立,那出来啊这个表达式就是大于零,这样我们就可以保证啊在这个球内任意一点啊,这个假科比都是大于零对啊,然后再解释一下这个l这个东西,l就是一个叫lipx常数。
它是这么定义的,它是说我们呃现在我们关心的是甲科比这个函数是吧啊,然后这里的甲科比呃,这个这个内部函数就是说我这个假科比他在呃这个点附近吧,在p点附近啊,在在这个球内,它的变化率最大变化率就在球内。
它的那个应该是梯度的一个模长对,因为它变化率不超过这个l是吧,那我再从p点到求啊,应该是球面上吧啊,最大的变化量只可能是l乘以2r就是那个球的那个半径,所以在而球面上它的极小值。
所以那个那j q它就是大于零对啊,这是利用啊,就是我们映射是啊光滑映射,所以它对应的这个载荷比的那个行列式啊啊应该也是一个光滑的函数,进一步他应该呃我们希望它能有一个lipx常数,l就是一个lip。
是常数对,啊然后这是在单个点我们可以这样要求是吧,就是在p点我们可以要求他是啊,甲数比大于l2 ,然后当在所有采样点它都满足大于l2 的时候啊,然后因为这些球它能覆盖整个呃,就是如果r足够大啊。
p点也足够密,那我所有这些以p点为中心的球,它就能覆盖整个空间整整个定义域,那我就能保证在所有点上对任意的p啊,这个假设里都是大于零的,对啊,这是基于那个linux连续性的那个无反转判断对。
就是利用我们啊光滑映射的连续性啊,进一步可以要求期期望甲科比是那个,连续啊,进一步是不是连续,所以我们通过要求在p点它的甲壳比啊,不是不是单纯的大于零,而是大于某个政治,在采样点优化的那些点之外。
载客比都是大于零,啊然后还有一类啊那个做那个无帆转光滑映射的那个方法是啊,利用前面提到的样调剂的突发性质,就刚刚提到啊,还是回到我们本次的曲线,它的积压数这个伯恩斯坦基它是有这个突破性组织。
是说呃首先这个gf就b啊,d i n,这个gf它是啊加起来等于所有所有n阶那个计数加起来等于一,然后呃那个他在参数区间内,当t大于零小于一的时候,这个b就g f它是非负的。
所以啊这组啊这组系数吧它就一个凸组合的性质对啊,那我们如果可以把啊甲克比是吧,它其实是一个其实就是一个多项式形式,就是啊这里f x一也是关于u v的一个函数是吧。
然后那这个行列式就是关于u v的一个多项式,那这个多项式我们可以啊把它想办法把它写成啊一个就是北cr的形式,就是啊具体就是说我们可以把它写成在啊某些应该是控制点吧,就是采样点就呃内部所有点的那个甲壳笔。
可以写成在采样点的甲壳比的一个啊应该线性组合,然后组合的权重就是我们的基函数对,如果能够写成这个形式,然后啊甲科比在所有的采样点上是非负对吧,对我们知道就我们在优化的时候。
保证这个巧克比在采样点上是非负的,那因为啊这个bi它是这个g函数的,它是有突出的形式,它是啊恢复的那这些那这个就是凸组合,就是那个甲壳比的凸组合啊,就同样的应该有非负,因为甲科比在这采样点是非负。
所以它的凸组合也非负,这这是一个充分条件,就是我们如果能写成一个呃就是北齐的形式,然后在采样点上又是非负,那我们可以啊推断这个在呃当前点就是uv这个点,这个价格离是大于零啊。
但是很有可能就是我们这样写之后,在某些点啊,这个价格比它其实是呃小于零是吧,那那这个条件啊就就这个左边这个条件它就不成立啊,那这个时候其实没有办法。
就就不能我们不能判断这个价格比在u一点的甲壳比啊是大于零,它可能实际上是大于零啊,那怎么办呢,就是在呃基于样条的这个方法里面,我们可以做对这个就是啊曲线或者曲面做一个细分啊。
细分之后这个组合就会表这这个组合的就是线性啊,组合的那个啊表示吧它会更加紧致,我们可以期望这个价格比呃,就是在在啊a点的价格比,就很有可能原来在啊少数点是那个可能非负数,可能是负数是吧。
现在细分之后它就变成啊那个非负值了,这样我们就可以通过细分的形式可以得到更加精确的一个判断,对这是利用呃样条基函数的一个突发性质来做那个翻转预设,对啊,这里我就啊这这这两个方法我就大概介绍一下啊。
那个啊下次我们会通过一个具体的那个做形状变形的例子呢。
着重介绍基于那个啊应该是基于内部连续性的一个反转音色优化,对啊好,的那个那我们今天啊那个无反转光滑映射的一个介绍就到这里呃。
不知道大家有没有问题嗯好的,那如果大家没有问题,暂时没有问题的话,我们今天的课就到这里好。
GAMES301-曲面参数化 - P9:Lecture 09 基于调和映射的高质量形变 - GAMES-Webinar - BV18T411P7hT
早上好,各位老师同学以及啊各位同仁对啊,欢迎来到我们呃那个games 301的第九讲啊,我们今天的题目是基于调和映射的高质量省电。
啊,首先我们看一下那个呃,上一次我们讲的那个关于光滑行进的一些基础知识,主要是啊,首先是主要介绍了那个基于光滑g函数的那个光盘映射构造啊,主要有四类方法,分别是基于rdf的,基于广义重心坐标啊。
然后还有一类特别的那个调和映射啊,最后还有那个叫基于样条的那个啊光滑用射构造对啊,然后后面我们呃简单提了一下,就是对光滑映射我们要做无反转的话啊,主要是现在啊有两类方法,是不是啊,任一点无翻转。
然后第二类方法是基于那个就是光滑映射本身它有一个lifx连续性啊,更确切的说是我们无反转条件那个无反转那个函数的lifx连续性对呃,然后呃我们后面第13讲啊,那个付付老师应该会介绍参数化的第三个应用啊。
是做高阶网格生成以及全面对应啊,这里我特别的针对这个高阶网格生成里边啊,这个高级网格的那个映射其实就是一个呃光滑映射,然后对于呃这类啊问题啊,就是比较常用的方法就是利用量条机的突破性质。
因为这个啊在高级网格方法里边啊,这个用样条机,去构造这个光滑映射是比较自然的事情,啊然后今天我们讨论用调和音色来做高质量雄电,然后这里我们主要就利用了这个调和映射的它的lip值连续性。
因为调和映射它是嗯根据上一次我们讲的,调和映射是一类最在数学上它是最光滑的映射,那它的那个我们可以期期望它的那个啊lify是常数会最好吧,最会会最小,至少在数学上是这样,然后我们看一下呃。
今天的题目是说做啊变形是吧,变形可能跟我们整个课程啊做参数化看起来有啊还是有点差别对啊,但是我们回到这个图来看的话,其实呃参数化和变形都是在做应做映射的优化啊,唯一的差别就是那个他呃在在参数化里边。
这个啊输入输出的为数不一样是吧,就是啊我们前面讨论的最多的是从三维到二维,也就是从那个二维流形嵌入三维空间的一个啊三维网格,把它变到变形的那个啊二维平面上的一个映射。
然后那个我们变形的话一般是啊输入和输出的那个域都是一样的,就是我们今天主要讨论两个问题是分别是在平面上的变形,那它的输入和输出都是啊在二维平面上啊,然后第二个问题是在空间的一个参数。
也就是在三维啊r3 空间的一个变形,那它的输入和输出都是r3 对啊,但是其实我们呃参数化也有在同一位参呃空间下面的三化啊,这就是明确我们称它为参化的啊,这这这那一位这这么一类问题吧。
就是呃主要是现在是做三维的那个参数化,比如说任意的一个三维区域到啊,比如说呃就是单位立方体之间的一个插画,这里其实就是找把那个把一般的一个三维的那个联通的区域,把它映射到啊。
就是单位立方体或者其他的一个更规则的一个立方体区域啊,就是三维区域啊,所以归根结底就是呃参数化和变形,它其实都是在少一个映射去,或者说去优化一个映射对啊。
然后后面我们可以看到就是其实啊两位啊英雄或者说两类问题啊,就是看起来很呃那个就是构造很类似是吧,然后解决方法也是非常类似的,啊所以我们今天啊是就是这个做变形,对啊,为什么做呃讨论讨论变形呢。
因为变形在图形学里边啊是一个非常经典的问题,也有一个非常重要的一个应用啊,这里最主要的这这里一个重要的应用就是做关键帧动画,就是传统上我们啊设计师或者说呃动画师做动画一般分两步。
首先是呃比较资深的或者说高级的动画师,他会呃绘制这个呃比较重要的,这个叫关键帧或者说关键的pose啊,这里我们讨论这个角色,就是这个比如说这个呃小象他啊就是高级设计师,他会啊,比如说画这种三啊。
三针关键的那个啊姿势,然后一般的设计师会将啊关键字数之间的中间帧啊把它填充进来,然后当我们中间帧足够多的时候,我们把所有这些变形啊,以及那个中间的那些pose连续播放的时候。
我们就得到呃这个动画这里可以是二维,也可以是三维的,然后呃就现在在那个计算机动画啊生存里边啊,就是我们同样的要解决这样的两个问题,然后一般低的问题我们就用啊,这个叫我们今天讨论的那个形状变形技术来解决。
然后呃第二类啊,就第二个问题是用这个角形状差值就是有了啊,我们通过啊,比如说就是一般的用户能通过那个交互式的方法生成关键帧之后啊,对于两个关键帧之间的那个形状,我们可以通过形状差值技术来得到啊。
这些那个中间帧,啊所以我们今天主要讨论的那个问题就是做形状变形,怎么得到比较看起来比较自然,比较好的这些呃对然后满足我们用户意图的啊,这些关键帧,呃呃这里说我们看一下这个呃叫形状变形。
一般啊要满足就是作为一个形状变形啊,应用或者说软件或者说一个系统,它要满足什么样的性质,呃,或者说满足什么样的要求啊,首先啊就是在这里我们啊是用于动画画师来设计,快速的做那个先放造型。
就是快速的生成这些啊,我们前面提到的那些关键帧啊,所以啊第一这个用户界面也比较简单,要自觉啊直观并且简单,这里我们右边啊就是一个交互的一个用户,通过鼠标来拖拉编辑一个形状的一个系统,对啊。
这这是呃大家总可能啊鼠标啊这个作为交互方式啊,比较自然是吧,所以啊这是比较一个比较自然的一个用户界面,然后第二个问题是啊,这个变形卵啊,就是它的算法。
就是我们要生成这个啊满足用户需求的这个变形结果的这个算法,它要足够快速啊,因为在这个应用里边,我们是希望在用户来编辑这个啊,就是这些啊用户意图就是这里我们右边是用红色的点来表示啊,就是用户拖动的一些点。
其实就作为这个点约束的形式放到我们的优化问题里面去求解的,那用户在拖拉这呃,这在编辑这个啊约束的时候,我们希望能啊及时啊,最好是能实时的得到这个对应的一个变形结果。
这样用户才能根据这个结果来调整这个新的这个约束,所以我们的优化一定要足够快啊,能得到实实的用户,能得到一个呃在线啊,或者说实施的一个反馈来呃,允许他做进一步的调整,啊然后第三个问题是呃。
我们要求这个结果变形的结果叫高质量,因为我们希望啊在啊快速给他给给用户啊反馈的时候,这个结果应该是离最终这个啊,我们拿比如说啊物理仿真或者其他软件来啊,渲染最终结果的时候,那个结果应该是很接近的。
所以我们希望这个变形的结果它要高质量,这里高质量主要体现在这个映射,它必须是光滑啊,所以我们要用光滑映射去构造这个映射空间去优化,然后第二个我们要求是啊,这个音色它是局部啊满射啊。
局部单色也就是没有局部的那个翻转,就如果有翻转的话,这个形状它原来啊就一部分会啊,那个覆盖到另外一部分上,对就是啊不是自然的一个结果对,然后还有一个要求是进一步我们要求这个映射,它是啊扭曲有界的。
就是说它每一点它的变形扭曲都是有啊,用户可以控制它一个上进啊,这其实也是在防啊,在在我们模拟这个呃,就是应该说物体它是有一些基本的那个材质构成是吧,然后这些材质在真实世界里边它是啊,你变形的话。
他不可能就他的那个内部啊,这个映射就变啊,反过来了,这是不可能发生的,所以我们要求这个映射它是啊不翻转,然后进一步它不能超过用户呃,那个实际它呃材质的一个就是可以变形的最大范围,对啊。
这个之前我们已经讨论了很多是吧,那个扭曲有界或者说保姆区的一个要求在在,特别是在一般啊二维参数化里边是非常就是我们啊现在是着重处理,就是我们课这个课程其实着重处理的就是这个问题。
对对在啊这个应用里边我们同样的可以把这个纹理啊,就是现在我们是其实是通过贴图,形式把这个啊长颈鹿把它贴到一个三啊一个平面区域上,其实是一个平面多边形上对,然后我们把这个纹理把它换成这个啊圆形图案的话啊。
就是中间这个图其实就是呃原始的一个啊圆形图案来构成的,一个基本的纹理,就跟那个把契丹格一样,这里的啊每一个元素它都是正圆对,然后我们把啊最终优化得到的这个映射呃,作用一个纹理贴图。
我们就可以看到在变形结果里边这些啊原来是圆是吧,现在就变成那个啊不是圆的,而是啊其实局部都是椭圆对,然后啊有大有小,我们局部放大看,这就更明显了是吧,就是这个原来是单位,也现在这些人啊,就是有啊。
还是还是比较接近远的,就因为这是一个比较高质量的结果,所以这些圆还是或多或呃跟跟郑源这些椭圆嘛还是比较接近啊,那个正脸的对对,这是一个视觉上,我们希望这个把握你啊替换成那个这个就是原型图案之后变形。
结果就是我们判断这个变形它应是他是不是高质量,我们就可以通过观察每一个圆,它是不是还是接近啊,每一个椭圆还是接近正圆对,然后它的大小是不是也是接近原来的那个圆的大小,对啊。
然后其实这里我们啊说映射高质量啊,也就是说我们判断认为这个应用如果映射是高质量的,我们就可以认为这个音色是好的映射,就是做变形里边呃,做做变形应用,它是一个好的音色,这个这个啊是啊那个破烂根啊。
杨在那个2014年啊,最早提出来用这个其实是用那个rbf以及那个样条机,来去构造光滑映射啊,然后他们是给出了一个叫可以证明的那个好的映射,对啊,那我们看一下就是呃在变形这个问题上。
其实相关工作非常非常多,因为这个是非常啊非常经典,或者说非常啊重要的一个问题啊,那这些相关工作就可以分成那个两类,一类是基于网格的方法啊,然后另外一个就是无网格的方法,就是基于方法用射。
所以是无网格的方呃方法,然后呃基于网格这类方法呢,它自然它是分片线性的颜色,所以这个映射它是不连续,而不是光滑的啊,就一般它有啊,它分配线性嘛,所以它的价格比是啊分片常数。
那相邻片之间甲壳比就不是连续的,然后呃无网格方法一般它是用那个光滑映射啊,机来构造的一个映射,所以它天生是光滑的啊啊但是就现有的这些方法都有各自的缺陷,比如说那个机遇啊,广义中心坐标呃。
它可以保证就是我们利用那个tt ttt参数化,我们可以把任意的一个多边形,把它嵌入到那个啊突区域内,to的一个多边形区域内,那x 10正常坐标我们就可以得到一个啊局部蓝色的。
或者说甚至是双色的一个呃映射结果啊,但是这里我们扭曲是呃,它的就是扭曲的那个界,它是不可控的,就这个界可以无穷大啊,可以是非常大的一个数值啊,就是说啊回到我们前面那个用啊圆形图案来说明的话。
就是这个圆可以变得非常非常扁,啊然后圆的大小啊也可以是啊非常大或者非常小对,然后第二类方法是叫可控的这个啊保角映射啊,在这个应该是啊这一类方法里边,它不能直接指定啊那个位置约束,它的啊自由度是啊。
应该是顶点的个数,而不是啊那个边界的顶点的个数啊,边界边界的那个顶点的那个自由度啊,相当于我们如果我们能控制所有顶点边界顶点的话,那它的自由度是2a对吧,然后在conform map里边。
我们只能指定一位一,比如说只能指定啊x或者y或者呃角度,或者反正只只有一半的制度,所以在这个方法里边不能直接去指定那个位置约束啊,但是这个位置约束在这个变形里面是非常重要的。
所以啊这个啊这些的方法啊也不是特别适合做啊,变形对,然后第三类方法就是刚刚提到是普拉跟lip man在14年提出来的,这个啊可以证明的比较好的平面用手,这个他他们主要是针对一类啊镜像积函数。
以及那个呃样条机构造的一个映射空间啊,他们给这类记函数吧,呃是呃推导出了一类那个lip是常数,但这个lip是常数是非常啊,就不不够紧,所以啊他可以证明就优化完它它们推导出了这个最终这个音色。
它是如果它他们的算法收敛,那它的结果就是一个啊就是扭曲有界的一个映射,但是这个界跟实际啊又画出来,就实际映射的那个上界它可能会差别比较差别差别会比较大对啊,然后嗯这个rdf以及那个两条机。
其实跟我们实际要变形的那个形状是不是太敏感,所以这类既然不是特别适合做变形啊,好的,就是对于平面映射的一些基本的一个啊定义以及概念嘛,对啊对,就平面映射是从啊一个二维区域到另外一个二维区域。
就是我们改移到我们一个二的一个啊点点对应,然后它可以写成一个向量函数的形式,就是它把我ωa e d边的那个sy点,应该说到那个欧米伽r里面的uv点,然后uv分别是关于xy的函数,然后对于这么一个映射。
我们可以啊有它的一些呃就是计算它的偏导,一阶偏导,甲和丙就是甲克比,其实就是uv分别关于xy的那个一阶导,然后我们可以将这个假货币做一个sb d分解,结果是啊两边u跟v分别是啊一个正交正,就是在几何。
上它是代表旋转操作,然后中间是一个呃对角正啊,这个对角线就告诉我们这个映射它是在某个方向上是做了啊,坐标对齐的一个缩放,对我们可以把这个效果把它可视化出来,其实这个啊根据这个价格比。
f总是将这个啊任意1。5啊区域的任一点附近的一个无穷小圆,就左边这个单位圆把它映射到目标区域里的一个啊椭圆,然后椭圆的那个长短半轴啊,分别就是我们这个价格比的两个,其实这个门分成420。
然后呃就是在这里的假设s b d分解,我们一般假设它是呃应该,是无符号的一个,第三节它是无法的一个极值吧,就西格玛一和西格玛二都是大于零啊,这个时候啊就是当当当甲克比它是翻转。
就是说甲克比的行列式小于零的时候啊,那我们可以呃就根据这啊前面课程的讨论,我们已经知道就u跟v它可以是啊,有一个肯定有一个就是也是呃,非是师生矫正是吧,但是他可能是旋转加上一个啊镜面的一个翻转。
关于x轴的一个翻转啊,所以它的行列式要小于零对啊,然后一般呢我们在平面映射优化,里面我们采用的这个sb的分解是啊,叫戴夫德s0 分解是吧,这个我们啊这是正在做的作业吧,就是做那个啊。
这个我们应该对这个带符号的s p d分类应该很清楚了啊,好的,那我们就稍微提一下这个啊,然后对于平面映射啊,这个我们映射是一个向量函数的一个形式是吧,然后其实我们呃应该大家都学过那个叫复分析。
所以很自然对平面英雄们可以想到用这个负数来表示我们的一个映射,那个现在xy就变成不平面上的一个点啊,一个数,吧一个负数c然后呃目标uv也可以写成一个负数,对这样我们的映射函数f就变成一个呃复数函数。
然后它是在呃从从复平面到啊副平面的一个映射函数,这样做到一个好处是现在我们啊对复数我们有两个偏导啊,这个f它其实是关于c以及关于c共轭的函数,所以我们可以分别对c跟c份额求导。
然后这两个导数啊跟我们的前面提到这个甲科比之间,就有一个非常简单的一个,其实是一个线性的一个啊联系,就跟上面我们用实实数来表示的时候,这个sigma跟西格玛二啊,其实,是要做sb分解是吧。
就一般我们要做那个数值的s s e d分解啊,然后那个19年啊,那篇文章告诉我们,他可以有啊啊有一个啊啊基于那个积分界的一个形式,对啊,所以呃在用负数表示之后,我们这个甲可比类似,就是甲壳比。
我们可以得到一个解析的,比答说我们只需要对f关于c e g c共和求导,就是两个f关于c跟c共轭的那个导数的模长之和,然后sm 2是他们的模长时差嗯,然后在这里的cpu是5号的。
就是因为外面取了绝对值是吧,所以它肯定是大于等于零,然后如果我们要呃,就是我们更多的时候是需要这个西格玛二是带符号的,就是有符号的sbd,那这个时候我们只需要把这个绝对值去掉就可以了。
西格玛二的非常简单的一个解析表达式,这个解析表达式允许我们后面做啊,做针对这个调网映射的一个优化,啊然后我们再稍微看一下这个关于这个几何扭曲的一个啊,简单的一个解释吧,这个大家应该都很熟了是吧。
就是我们根据前面的描述啊,然后用sigma和sigmmm,我们就可以去度量或者说刻画这个f在这个点附近的一个扭曲啊,因为在呃一般在应收油画里边,我们希望这个目标椭圆还是跟原来的圆镜可能接近,对啊。
这个sa跟cm 2根据前面的介绍名,已经有他们的解析表达式了,所以啊这是解析表达式,然后那个啊一般我们常见的那个扭曲度量有保角扭曲啊,就是希望我们椭圆还是圆,这个圆的大小可以变。
所以就可以用西格玛一和西格玛二的差来刻画,然后第二类扭曲,现在更常用的扭曲叫这个等级扭曲啊,就是希望我们这个目标椭圆它的大小也不变,它在保价的基础上,它的大小也不变。
那其实就是希望西格玛一和西格玛都是接近一啊,这里我们可能对这个下面这个扭曲,这个叫对称狄里克按钮就可能更熟悉一点是吧,因为我们目前正在实现,或者说有些同学已经实现好了,对对啊,这个等级扭曲其实非常多啊。
就是呃在在近10年近25年啊,就是研究者已经提出了很多不同的扭曲,特别是这个本性扭曲了对啊,但是现在更常见更常用的就是这个叫对称机的克莱因,然后在映射优化里面,我们希望啊这些扭曲都尽可能小。
然后像宝藏女士的话,我们希望它接近零是吧,当零的时候他就是啊一个正圆,然后那个对等去年的学员们希望它尽可能接呃接近一,这个就是当西格兰一跟西格玛同时等于一的时候啊,是达到最小11。
然后啊同样这个sd扭矩就是对称地理课,是找到极小,嗯ok那前面就是一些基本的那个关于平面设一个基础知识,然后下面我们看一下怎么来做啊,平面的调和变形,根据上次我们已经提到是吧,就是对于调好音色。
它其实就是说这个音色函数f它要满足这个拉普拉斯方程,就是有关于v啊,u和v分别是满足这个拉普拉斯方程就是有关于x的二阶导,加上啊v关于有关于y的二阶导是等于零,然后v也是同样的啊。
这个映射是在数学上是它是最光滑的映射,就是它有无穷阶的呃那个导数啊,然后他作为u和v作为那个啊调和函数,它有极大值以及极小值原则,就是说u跟v的机制都是在边界上。
就在整个定义的那个啊机制我们只需要在边界上找就可以对,然后还有一个重要的形式是天花映射,它其实它的那个位数比较低,就是虽然他这个映射是在把整个定义域上啊,将任意点并射到另外一个另外一个点嘛。
但是他给定一个任意一个边界条件啊,它内部的能映射就唯一确定了是吧,就根据这个拉普拉斯方程可以来唯一的解出来对,啊好的,然后下面我们看一下这个啊,回忆一下这个八啊,叫啊扭曲有接映射啊。
就是作为跟一般的那个无反转音色的一个概念吧,就是根据定义啊,我们要求啊一个映射是扭曲耳机的话,我们就是需要它在内部所有点就是c啊,欧米伽是我们的定义是吧,我们要求对欧米伽的任意一个点c它要满足扭曲有界。
以及那个啊等讯扭曲,啊然后针对调和音色,我们前面提到调和音色它是呃由边界条件唯一确定的,所以很自然我们希望啊就很自然我们会问,如果对一个操作映射,如果它在边界上是有扭曲,是有界的是吧。
就是对于这些绿色点,它的扭曲是有界的,那内部点是不是也是有界是吧,这这是一个很自然我们会问的一个问题,啊这是我们呃就之前给出了一个啊针对平面映射的一个理论结果,就是这个结果是说呃。
我们主要是给出了针对就是前面的那个讨论的问题,针对一个条纹映射,它是不是啊那个扭曲有界在整个定义呢扭曲有界一个等价条件是说,首先在边界上它必须是扭曲有界的是吧。
就是对边界上那一点它的啊各种扭曲都是有满足用户指定的一个上界,然后在这个基础上,这个调音色的要满足一个啊条件,这个条件是这么写的,是说fc关于就是f关于c的一个偏导。
他的呃一个积分在这个边界上的一个积分,它必须等于零,这个积分其实啊看起来就是我们可能在复分区里边有一个,看到类似的一个东西吧,它其实是说fc在我们区域内啊,整个区域内它不等于零。
就是在这个等价红红框里面,这是对于所有点在欧米伽上的任一点都要满足的一个条件,但这个条件我们可以针对呃,因为fc一它是一个全程音色,也就是一个解析应用,是解析函数他的那个不等于零的一个条件啊。
其实可以用俯角原理得到,就是左边这个啊方程是说fc它的呃,那个导数除以f c然后它的积分,这个积分其实可以看成是那个fc的blog,就log f一做一个积分。
啊应该是对这个积分出来其实就是log f c的一个应该是求和吧对啊,所以这个条件就是我们对啊,就是我们区域内任意一点fc不消失的一个条件,把它给转化成在边界上的一个机关,于这个积分的一个条件。
就说这个积分不消失,对就不等于零对啊,这个是我们啊是15年是给了一个这个定理,在啊单联通区域下的一个结果啊,就是在这这这个然后17年所给出的这个定义,在多年上区域下的一个结果啊,这个结果其实一样。
这个证明我就不介不介绍了,应该啊,如果大家感兴趣,可以看这两篇相关的文章,对啊,其实这里比较重要的就是说我们对于fc呃,当它满足这个边界这个积分的时候,他就有这个叫啊嗯就是因射函数吧啊这个扭曲函数啊。
k跟套他就有极大值原则,就是说他们的极极大值是在边界上达到,所以当呃k跟套在边界上当中,这个扭曲上线的时候,它在内部也满足这两点去创建对,这里稍微提一下这个虽然这个我们前面说这个映射f还是调试。
是调和是吧,所以它有积极原则,就是f本身它在边界上肯定是达到极值的啊,但是k跟套它就就这个即使原则它不是很自然的一个事情,因为k跟套本身它不是调和啊,甚至都不是光滑的,就是套他可k跟套可能在某些点上。
他可能是呃就是奇异,或者说啊不可挡的对,所以这个结论它不是那么频繁,就是我们啊是利用了阿福的一个调和性质,但是这个我们的硬啊,这个对比,根据f的映射,f这个映射它是调和。
我们可以啊证明这个映射这个扭曲函数就特别的,这这两个扭曲函数可以跟t它是有啊,这个叫啊sb harmonicc,就是指调和吧,对所以他们的机制极大值是在边境上达到,嗯ok那有了这个定理之后。
我们设计算法其实还是挺简单啊,然后在介绍算法之前,我们再提一下这个我们要做映射,要做优化的话,我们需要有一个啊就是叫叫优化空间对,然后这里我们再次利用了这个调和映射,有另外一个形式。
它有这么一就平面的调和映射,它有一个分解是说任意一个调调音色法,它可以啊分解成两个映射的和,就是两个映射的叠加,然后呃第一个映射是那个全纯映射啊,也就是负解啊,负载基于复数的一个解析函数。
然后呃另外一个映射是叫呃那个hi hello hello hc,就是说反全程对啊,这个版权的音色其实跟全程音色非常接近,只是说全程映射做了一个那个翻转镜面的翻转对,对,然后这个全程跟啊。
全程音色其实就是一个跟跟保角映射是非常接近的一个映射,只是说全等映射,它允许啊某些点上这个映射是较奇异的,就是它可以有啊,将一个点的附近它从呃比如说附近的一个圆嘛,把它允许这个圆做多次的一个旋转,对。
啊然后对于全身颜色,我们可以用这个啊科西广义的那个记忆复数的中心坐标,就是柯西坐标来做啊,来来表示呃,具体的表示是这样,就是我们啊柯西中心坐标是我们可以用科技中心中心坐标,作为权重是吧。
可以写成那个中心坐标乘以啊作为系数啊,然后我们将开局编辑之后,就是开局变成比如说右边这个开局,我们可以将原来的这个重心坐标还是作为系数,将开局的点重新做一个线性组合,我们得到这个c4 啊。
cc乘以m其实就可以将内部的那一点c啊,就是通过正坐标我们就定义了这么一个映射,这个音色就是前面提的这个负解析的一个全程的一个映射,然后呃我们对于任意一个条纹映射。
我们可以写成两个因式的和那两个因式分别是呃,用河系中心坐标来表示,然后右啊右边这个hc它其实跟hg,其实非常类似,只是它的开局不一样是吧,就有一个新的开局,然后h r做一个功能。
这个功能其实就是做一个镜面的那个翻转,就在这个图里边,右边的做界面的翻转,就是这个做凤凰,其实就是做这个镜面翻转,对这样我们对任意一个音就调音是f我们都可以啊,把它分解成这样,分解成一个g跟h。
然后g跟h分别我们可以用这个啊,m跟m是作为我们的自由度去来控制,对我们对任一个映射啊,tao音色我们可以跟两个啊,复数向量mn其实就是那个啊这个开局变形之后的一个结果,所以啊我们这样就建立了。
建立了这个调音是跟两个啊复数向量之间的一个一对应关系,也就是这个我们将这个挑音色空间把它参数化了,我们可以用啊,任意给定任意一个m n,我们就可以得到一个调用手是吧,所以我们只优化的时候啊。
就可以将mn作为我们的自由度去优化啊,否则的话这个调音是他是要解前面说的这个拉普拉斯方程啊,这个拉普拉斯方程它其实只能数值求解是吧,我们不能没有一个解析的一个形式,所以是没有办法去直接优化的对。
然后基于这个科技动力坐标,我们可还可以得到啊f5 关于啊c跟c共轭的那个偏导啊,这个前面我们需要求这个f的就映射的啊两个奇异值是吧,现在针对啊复数映射,函数的那个相关的一个模长之和以及模长时差对。
然后现在基于这个表达吧,我们f关c的功能其实就是啊g关于啊c的功能,然后对其实就是g的那个导数,然后因为因为g是负解析的,所以它的导数就是那一般的那个负导数啊,然后可以把它写成一个同样的。
它最终可以写成那个其实就是对这个g函数就是c 11做导呃,做做求导啊,这个d也是有解析表达式的,对这样我们对啊g跟h的那个导数也就有解析表达式,然后允许我们可以去啊构造它的那个路。
就是我们的那个扭曲度量去做优化,啊这样我们就可以做一做做定义,我们的优化问题就是现在我们做变形的话啊,输入是就是对于这个问题里边,我们首先要由用户指定的一个扭曲的商界。
然后再由用户指定一些背景的约束是吧,就是作为变形,我们希望用户指定那个某些点对应到新的位置的一个约束,然后作为输出啊,我们是要得到一个局部的一个满射的一个条纹音色。
啊然后这个优化问题其实是非常值得时间对这个这个方法提的比较早,就是应该是1年那个时候啊,sd能量还没出来,所以我们就用了啊更经典的这个ai p能量来做优化。
然后我们的位置约束是作为软约束形式放在目标能量里边对,然后作为约束,我们要求f就是我们是在挑音色空间里面做优化是吧,我们所以我们约束f是啊调和,然后根据前面的定理,我们要求它在边界上的积分要等于零。
这样他就两个扭曲,还是它是有极大主原则对,然后最后的条件就是说kd套在边界上,就是party欧米伽就是说在边界上它要满足那个我们啊扭曲有界的约束,就是说k啊k在w点不超过我们指定用户指定的上限可以。
然后套在w点也是不超过用户指定的一个上千套,就是右边这两个值它是常数,然后左边其实是k跟tf跟tf是跟f相关的是吧,所以啊左边是分别是两个比较复杂的函数,啊就是我们这个优化问题就是根据我们定理。
我们设计的这个优化问题其实还是比较简单直接对,然后啊就是啊刚刚说了,就是这个k跟套其实是比较复杂的函数是吧啊,然后我们要直接就是这里的约束其实是一个飞to的一个约束,啊所以我们不能直接去优化。
就是其他就是我们在这个优化问题里边啊,其他项其实还比较直接的,就是a i p能量我们之前有定义,就是那个啊西格玛一啊平啊,所以啊可以写成f的一个比较啊,简单的一个呃函数吧,对就作为我们目标能量的话。
它是确实非非突非线性嗯,但是它比较容易优化,比如说用local global方法就可以做交替的优化,然后呃第二个约啊,约束f 10调和就是根据我们前面这个解析的一个分解。
就是f我们可以把它啊参数化成那个m跟n这两个k值的一个自由度,所以我们优化的时候其实就是将mn作为我们的自由度去啊,做做连续化,然后这个积分其实最后也是比较简单。
就是我们这个积分啊我们可以看成是log一是吧,就是这个被积函数可以看成是log fc的那个导数,那这个其实在呃开局上其实就可以,我们将开局如果它采样出过密的话啊。
这个积分就可以看成是那个啊应该是log f c在啊两所有边上啊,求个叉,其实就是说fc他的那个旋转角度对啊,就是fc的那个旋,转角度做个积分啊,所以我们只需要将边界啊就是分成足够小的啊。
足够小的小的小线段,然后呃计算每个线段上那个fc它的那个角度的变化,然后最后求个和就可以了,对啊这个条件我们不是直接去优化,而是啊在啊优化过程中,每一次我们去通过二分查找去去去保证它是啊满足的对。
啊然后这样就最后的问题就是k跟t它是非负函数,我们要啊强制这个非非to就是不等式约束要成立是吧啊,这里我们用了这个rep man在12年提出的这个图画技术,就是将啊虽然就这两个函数它是飞出的。
但是我们可以局部的把它禁用,用凸函数取啊,近似这个凸函数就简单提一下,就是可以认为将k跟套用一个二次的一个啊to的一个二次型去表达,对啊,那我可以将这个图画可以迭代的去做,就是我啊就是交替的。
我们当前这一步我们可以在当前点附近把它变成一个二次的一个近似,然后在下一次迭代之后之后啊,我们又用啊下下一次迭代的时候,在那个点的那个二次的一个近视区啊,表示这样我们就可以将整个优化问题用啊图优化方法。
这里的具体的图优化就是一个叫啊,因为这个k跟tt已经用二次函数去与精四了,所以这里的优化就是一个啊honic opening,就是一个最优化问题啊,或者ibm也有一套叫啊c lex。
对当然还有很多商业软件都可以去做啊,这个to优化问题对,对就是前面我们嗯就是在优化的时候,我们是说在啊根据我们的定位,我们只需要在边界上去优化我们的那个目标能量是吧啊。
但实际上这个边界点它还是有无限的是吧,就我们考虑这里边界点啊要做积分,那其实是要上无穷多个点的那个能量,然后把求和这个积分就是求和嘛,对但这个在地上还是不可行的,就是啊我们上次已经提到。
就是我们对无穷点的那个优化是没有办法做的,在计算机上是没有办法做,所以在实际上我们做的时候是将啊这个边界这个积分用一个啊,应该是最简单那个积分取近似的啊,p就是我们的采样点对。
然后我们的优化只是在就是对一个有限的采样点集上做优化,就前面的优化这个整个优化问题,我们是在啊这这里的w以及这个目标能量,别人这个这个能量的积分是吧,都是在有线点上的。
一个就在这些蓝色点上的那个能量的求和以及那个约束,那对于调映射,我们要验证整个映射,或者说要求整个映射是无反转啊,那我们就需要从这个有限的点把它推到整个边界,是整条边界上啊。
他要满足这个扭曲有界的一个约束,对啊,这里我们采用的方法其实就是hoan跟lipman啊,14年提出来的叫基于那个collocation point,其实就是基于采样对。
然后我们将在有线点上的一个优化结果,把它想办法利用啊,这个liberty连续性把它推广到无穷多个点,对啊,这个基于collocation point的那个啊连续映射的一个呃,就是扭曲上线的一个验证码啊。
这个刘老师后面也会介绍,就是针对应该是啊啊等,应该是等级分析里面也嗯设涉及那个啊预参数化,也是用了这类同样的一个方法,对这里我们简单看一下这个他具体是怎么做的,就是呃前面我们提到现在我们是现在在p点。
就是在有限的点上,我们关于k跟套有满足那个扭曲有界的啊,约束是吧,就是说k根号啊,就我们现在把k根号前面提到k n套其实非常复杂的那个飞突函数,那我们可以把配套具体写出来啊,这里的k我们是那个共情扭曲。
是那个fc跟fc的共额除以那个fc的那个模长啊,那这就是关于我们的自由度,就f一是那个我们回到前面啊,f 11是对fc跟fc共轭,分别是那个d关于m以及啊d跟m的成绩,以及d关于n的乘积,就是这里我们。
现在的自由度是n m跟n,然后我们呃那个k是f c的模长除以f c8 的模长是吧,那我们要把啊就是右边分别取向某场,然后再啊球商啊,求他们的伤比例对。
所以我们可以看到这个k系数是关于m和m的一个比较复杂的一个啊,非图函数,然后呃套也是一样的,套其实更复杂是吧,就是我们套是那个西格玛一的,西格玛一跟一除以西格玛二的那个啊大值对。
然后写出来是f 11加上f一的模长是吧,我们可以将f啊f用d乘以n,然后f c8 是d乘以n分别带进去,那也是关于,m跟n的一个啊非常比较复杂的一个表达式吧,对,对是就是k跟耗时非常复杂。
但是他们我们可以利用f5 ,所以这这里就是两个函数,分别都涉及f 11跟f c一把是吧,现在我们可以利用fc一跟f18 的那个啊,lip 7是连续性,因为f本身是那个调用,所以它是啊不是连续的。
对我们可以推导出那个fc跟fc 8的那个lifc是常数,然后啊这样我们可以将啊那个在p点的那个啊无反转条件,把它推广到整个边界上,对啊,具体是这样,就是我们啊fc跟fc 8它的lip连续性。
就是说现在我们假设在两个点,就是在c跟c一跟c22 个点上,fc就是分别映射到了这两个点是吧,那在这两个点之间,就整个线段它肯定是在约束在这个带状区域内的,这个具体这个带状区域的那个宽度啊。
就是由f 11的那个呃叫lip是常数来决定了,然后这个l其实可以用啊,fc的那个以及fc的那个啊导数啊,在这个区域内的一个呃极大值吧,对来来控制,然后具体这个a的表达式可以由啊,其实可以由前面那个啊。
可惜中心坐标里面那个表达其实就是需要算啊,前面f c就是d乘以我们的m是吧,所以l其实就是d的一个大d在这个区域内的一个机制,对这样我们啊通过就是在优化的时候,我们要求的啊,我们呃那个映射在两个端点。
就是每条线段的端点上,它是扭曲右键是吧,然后通过啊阿福跟阿福的那个fc跟fc 8的那个ip延续,我们可以保证啊f在边就是线线段内任意一点它都是变化不会太大,对那只要这个21跟21 八不会太不要太接近零。
那我们就可以保证嗯在内部任意点负fc它都是啊足够大,对然后对应的那个f c8 它啊不会太小,应该啊对fc 8应该足够小,对,这样我们就可以通过间接的去利用fc跟fc 8的那个live lify。
连续来验证我们的映射,两个映射函数k跟他的那个呃就是扭矩,上届,对啊,就是在这个现状上那一点,我们可以去推导它在整个区域上的一个极小值以及极大值,这样我们就可以利用这两个机子去推导这个k跟套的啊。
在这个区域内的那个极大值,啊然后后面就是结果了,对就是我们有了优化,有优有啊,优化是优化问题还是比较简单的,只是一把稍微复杂一点,是用了这个叫突发技术啊,使得这个非凸优化可以啊求解。
然后啊优化是在有线点上做,做完之后我们要将这个结果去啊,就是说我们优化是在是说在边界上有限的点上,它是啊扭曲有键,然后我们要从有限个点的能够有趣有界推广到啊。
那个推就推广了它在无穷多个点就在整个边界上都是有界的,对这样我们就得到整体上啊,就进一步根据那个我们的保暖区的一个定理是说它在内部点都是啊,你要去邮件对。
啊下面就是这些结果就是我们做应该上面这一行是我们的输入,就是用户指定的啊,给给用户的输入,然后下面一行是我们的变形结果啊,这个没有把点约束啊画出来啊,但是大家可以猜对,大概大概估计一下啊。
比如说这个蛇的话,其实就是将这个蛇的,比如说眼睛吧拖到线的位置,然后大象就是将这个橡皮投到从从下面拉到上面,然后最后这个怪物嘛就是这样两只手拉开,然后呃这里我们得到这个k跟套优化完之后。
我们可以啊计算它在整个边界上的机制,就是分别算出来的两个机制对我们希望k一是尽可能小,尽可能接近零,然后靠是尽可能接近一啊,这两个这这个数值可能看起来可能没有啊,什么概念是吧,我们下面有一些对比对。
这是左边是我们的输入,然后首先我们用这个基于网格的那个app上法来变形,那我们可以看到啊,这个在点约束点附近,这个比较小的这个啊点啊,就是我们用户之间的约束点,然后局部放大我们就可以看到啊。
这个点啊就是在在这个区域上吧,这个音色它其实不是局部单色,就是我们可以看到这个纹理它有啊覆盖是吧,就是原来是比如说看左边这个正常的这个啊长颈鹿的这个纹理吧,然后在右边这个纹理它有啊。
有一部分是被遮挡掉了是吧,就是因为这个映射局不是局部单设,嗯然后第二个方法是这个就是投篮glifman 14年的这种方法对,然后这个结果他确实是局部干涉是吧,但是我们啊仔细观察就可以发现。
这个它在很多地方这个扭曲其实还是比较大的,比如说这个很奇怪啊,就是在这个这个长颈鹿的嘴巴这个位置这里其实没有约束,但是他这个嘴巴变得很奇怪,对啊,这个这个这个结果原因就是他用的这个基函数是镜像g函数啊。
这里应该是用了那个高斯机,所以它的高斯可能对,所以啊这个变形它不是就这个映射空间嘛,它跟我们的形状是无关的,所以会得到一些比较奇怪的结果对啊,然后还有一个是因为他们这个扭曲啊。
这个对于扭曲的估计也不是太精确,所以他不能得到一个紧致的关于这个扭曲有上界的一个估计,所以这个上界是没有的,然后我们是给出了一个啊确切的是给出了一个商界的一个估计对啊,然后跟前面一样。
我们对于这个结果的话,可以跟套啊,都还是比较小是吧,我们希望开始接近零,然后它是接近一对,然后我们对比啊,我们的结果跟这个lip的结果就可以发现这个我们就视觉上吧。
比如说这个把尾巴还是跟原来的还是很接近吧,它这样弯过来之后啊,这个颈部它应该是体积上应该会缩小是吧,但是我们完全没有缩小,就相当于这个体积会如果做一个积分的话,体积肯定是变大了。
但但是这个lifman他们的结果也不是太子对吧,呃可能相对来讲。
我感觉我们的结果控制还有一点点对,啊这里是另外一个就是比较人工的一个例子的一个比较吧对啊,同样的就是我们跟一个网格的方法就是出了一三,是就是基于网格的那个局部无翻转的一个映射优化对。
然后我们可以看到这个网格的优化结果就是在点约束附近,这个映射是非常呃不光滑的,就是这个其实在约束点附近,这个映射其实是啊可以认为是奇异的对,因为在这个网格里边,不过网购页密这个奇异奇异的现象就会越明显。
如果我们观察这个扭曲图的话,可以看到这个在七点附近,他的扭曲是非常大是吧,相对于其他点扭曲是特别大,对然后这个基于这个rbf的这个呃lip,他们的方法啊比较光滑,但是啊扭曲整体上还是要比我们的大对。
啊然后这里是我们一个交互的一个啊变形啊,一个session就是一个变形的一个过程嘛,对就是在这个算法里边,就是用户啊先指定一些约束点是吧,然后我们啊就是通过鼠标拖拉去交互的去将这些点啊拖到新的位置。
然后我们的算法是在后台,就是每次用户啊点约束变了,这个用呃我们的算法就会重新跑一遍,对啊,在这个算法里面,我们其实优化不是特别快,就所以在优化过程中,这个啊就迭代可能次数还是比较少。
这里可能就是每一次啊拖到新的位置,我们啊这个优化可能只啊迭代可能一次或者两次吧,对,呃但是因为这个能量还是比较自然是吧,然后优化还是呃看起来结果还是比较自然的对。
啊然后我们提一下这个现在这个方法它的缺陷,首先是啊这个扭曲上届是要由用户来指定的,就作为输入,我们要用户来指定这个扭曲,具体我希望它的上界是多少,然后还有一个这个我们的位置约束是作为约束的形式。
然后有个可行性问题,可行性问题吧,就是说如果用户扭曲上戒指的太小,要求这个扭曲就是非常非常小是吧,但是我们又有这个解决负载,那可能就导致这个整个解它就是空解的解,解救了空集啊。
然后实际上就是我因为我们采用的这个约束是软约束啊,最后可能就导致这个软约束啊,是因为因为我们这个扭曲商界是作为硬约束形式在放在优化问题里面,所以导致可能最后结果啊就是这个点约束用户指定的点约束。
它是不满足,然后这个上来就是没有办法继续使得这个点要数据满足了,对因为在在啊理论上这个解就是不存在,然后啊我们通过将这个点元素把它变成软约束,这个在我们的优化问题里边啊,这个解释肯定是存在的是吧。
最最最频繁的解释就是就是那个我们的恒等映射对,就是映射它的扭曲肯定是最小的,然后那个扭曲上届的约束也是满足的,唯一的问题就是我们用户资金,用户指令的点约束是完全不满足,是吧对啊。
所以在我们的优化问题里边啊,他肯定是有解,但是最终它不是啊,用户需要的解释就是关键了,这个用用户指定的位置约束不一定能满足对,还有一个问题是刚刚提到,就是我们啊我们的优化它是非凸优化。
然后我们利用呃lifman的方法将这个呃非凸优化变成一个凸优化,但是这个图优化它其实是局部的一个近似,所以要交互的,要要要交替的做,要要迭代的做,然后每一次优化它的构造也比较复杂,因为是用了这叫最优化。
然后最优化现在商业库都比较快,但是也不能啊搞得太复杂,就是我们的系统啊,不能就电量应该是约束的个数不能特别多,对,啊但但对于我们这个优化就是在电信这个应用里面还是比较适合的,因为我们用了这个调音色之后。
我们将现在是本来是呃无反转的要求在内部所有点是吧,现在我们帮它把它降了一维,我们只需要在边界上它满足这个无反转条件,对对,但整体对变形应用来说啊,它还是稍微有点慢,这是我能跟上用户的一个交互。
但是可能有时候会有点卡顿吧对啊,所以后面我们17年提出一个新的优化方法,就是左边就是刚刚说的那个我们前面利用lip man的一个突破技术啊,就是这个交替优化它是用了一个最优化。
但是啊不能每一次我们都能给出一个最优的一个结果对,所以啊后面我们就提出用牛顿油画啊,牛顿方法来做这个优化,就是这里我们将这个前面左边的这个带约束的一个优化问题,把它转化成无约束的一个优化问题。
然后用牛顿方法来求解对,然后进一步针对这个条文有手我们的啊映射空间是啊,调位映射是吧,然后呃我们的优化问题它其实是呃就每一次的那个牛顿迭代,其实是要解一,个啊稠密的一个线性方程组。
然后为了实现这个流动法,就是无约束的英雄优化,我们主要是采用了这个就呃其实就是对称体体克莱能量,所以这个能量它本身啊能啊是是光滑的,然后可以求导,可以做优化,然后呃他又带了一个叫障碍函数功能。
就是啊当映射退化的时候啊,这种能量会变成无穷大,会爆掉,所以我们通过牛顿法,它其实是一个内敛法,就每一次我们是连续的一个优化,我们可以保证能量是连续的下降过程,这样我们就避免了这个音色变,成一个啊其一。
所以我们可以通过维护这个映射它的方向,来保证最终结果它是无反转的,在这里我们argue就是说我们认为这个基于这个腾讯能量,它是更自然,因为这个扭曲的商界它是自动出来的是吧,就用户如果点了约束比较夸张。
那扭曲的上界它应该是比较大一点,否则啊扭矩上就可以自动啊,不可以变小一点,所以这个扭矩上届不应该由用户来指定的,是应该有根据具体的情况,有用算法来自动的来控制,对啊。
然后再次对比一下这个票额映射跟分片线性映射之间的差别,就分片线性映射它是在三角网格上,这是最常见是吧,但是它是分片的一个线性,所以它不是光滑的一个映射,然后调到映射啊,是就是它本身就是一个光滑的映射。
是就是在那一点是无穷阶可导,然后针对啊分片线性映射,它其实这个离散化其实是用了有限元是吧,就是在三角网格上的有限元,然后天花映射其实是叫边界元,就是我们的元素是在边界上。
然后利用前面的那个保暖区的一个定理吧,啊对三角网格我们约束时要加到内部所有三角形,就是它在三角形内部任意点,它的那个扭曲是一样的,所以只需要每个三角形一个约束,然后对于调映射,我们只需要将这个映射啊。
就扭曲的约束放到边界上,边界点呃,所有的边界点上,所以我们是将约束放到边界上去,作为边界的约束,对然后第三点是对于三角网格,我们做优化的时候,做牛顿迭代的时候,这个是啊解了一个方程组。
它是稀疏的一个大型的一个稀疏线性方程组是吧,如果网格烟灭这个方程组它的规模就越大,然后针对调节性是我们的啊,这个呃就是优化问题里边就是牛顿迭代里面,这个方程组它是一个稠密的一个方程。
然后呃这个在我们的这个构造里边,我们就现在我们的自由度其实是那个开局上啊,就开局上的顶点是吧,那k值上的顶点的个数对于一般的那个形状,这个顶点的个数比啊。
就是整个开局整整个形状所有点的个数大小很多很多是吧,所以我们的那个啊优化问题就变成一个非常小规模的,那个稠密的一个线性代数,这样他就,非常适合用gpu gpu来做优化,就gpu做啊。
大规模的那个小矩阵的一个做呃乘法呀,那个除法做做做求解啊,都是非常非常快,非常适合的对啊,然后最后一点差别是那个三角网格上,其实是我们要求每个三角形甲和比大于零是吧,所以是说呃那个叫优化。
就是最终的应用射,它是保方向,保定向就有可能在某一个点附近,这个呃三角形它的角度啊同比大了一倍,就变成原来是这个点,它的那个啊应该是高斯曲率为零,就是所有的角度加起来是二法,然后对于强调映射的话。
我们可以用呃,我们,保暖区的定理来保证内部所有点它是确切的是局部单色,就是在这个点内部所有点他的fc都是等于啊,应该是大于零是吧,就是我们在优化的时候就啊保证fc是大于零。
我们如果算同样的算左边这个有就是变形之后的这个三角形,这样的内角的话加起来它永远都是二派,而是不可能变成四派,六派或者其他对对,就是这个局部单色比保定向的一个要求更高,就是只是保定向它可以是音色。
可是叫奇异对吧,在某个点啊,映射到,这个点旋转几圈都是,其实都是保定向的,牛顿法吧,这个我们这次作业第二次作业大家都在做什么,或者已经做完了,所以这个方法可能啊已经比较熟悉了,对就在这个方法里面。
我们是将一个任意的一个连续的一个能量,就是我们要被优化的一个目标函数,意义啊,然后具体是只用了前面三项嘛,这里常数项没写出来,然后第一项是一个二次项对,然后第二项是那个线性响。
然后针对这样的一个二次的一个函数,我们可以用啊直接写出它的极致呃,它它的绩效点,然后可以用就对一个二次函数,我们绩效点可以解这么一个下面这个啊线性方程组,这个h就是han矩阵,然后车是梯度啊。
然后因为这个我们目标函数它一般是不是一个二次是吧,它是只是用了一个泰勒展开,所以我们要迭代的去去近视,然后每一次迭呃,进四之后去优化,所以这个牛顿法就是这么一个迭代的优化过程。
然后啊牛顿法呃非就是用的还是比较常用的,因为它啊他的心智是有一个二次收敛,就是假设目标函数是二次函数的话,它是一下子就能直接一步就能找到极值点,然后呃如果对于一般的那个飞图映射的呃,飞two函数的话。
它的收敛速度是呃比比线性的要快啊,一个数量级吧,对,然后呃这个说呃二次收敛性是针对啊那个to的映射啊,to的函数,如果e是to的函数,那这个二次映射二二次收敛性是没有问题。
但是对于啊一般的一个黑图优化里边所to优化问题里边,这个e它不一定是凸函数是吧,这个时候这个二收敛它不一定成立对啊,甚至他都不一定收敛,我们直接用的话,这个不一定收敛,它能量可能是一可能是上升的。
就是可能在某一些步骤里面是上升的,所以在实际应用里边,我们是要求将这个啊hh就是这个han矩阵,把它变成一个正定的一个矩阵,这样我们可以保证啊找到的一个方向吧,p这个它指向的方向它是下降的对。
然后具体将h正定话,其实就是将h做一个特征值分解,就一颗h是一个对称阵是吧,所以可以写成那个三两个矩阵的啊,成绩应该是三个乘二矩阵,然后一根1t就是那个特征特征向量,然后lambda是特征值对。
然后具体做呃,将它送进化,其实就是将特征值啊有某些那个负的特征值,把它变成正值就可以了对但是在一般啊网格里边,这个h它是非常大的,如果直接做这个每一个分解代价是比较啊比较高的。
所以一般我们是通过逐个严肃的修改去做整体化,就具体是啊,因为一可以写成所有片上的能量的活,所以我们对对应的将h也可以写成啊,对应的每一个片上的那个小h的啊,分别求出来,然后把它们加到一个大的一个h里边。
然后每一个小h的那个啊正题话那就比较简单了,这这这这个优化我们就可以用,比如说19年啊那篇文章去做解析的一个二次呃,那个投影,啊然后这个等郡扭曲这个前面已经讲了很多是吧,就是在针对平面的话。
新版一更新冠20分别可以写成f5 ,关于c跟c公额的那个模长之和以及无偿之差啊,然后在现在我们要做连续优化的话,我们对这个能量有有一些要求,首先是啊它能不能能捕捉这个叫刚性嘛。
我们因为我们希望这个最终这个变形结果进行的刚性进行等距,然后还有一个是我们要把这个无反转音色,把它变成一个就本来是带约束的一个优化,相当于要变成一个无约束优化。
所以我们要将啊能量变成一个具有一个带障碍函数的功能,这样我们可以保证啊在连续优化过程中,这个映射都是大成翻转,具体而言就是我们希望这个能量啊,这个e s e s m这个能量当西格玛2=0的时候。
也就是这个映射退化的时候,就是右边这个啊椭圆变成一条直线的时候,这个能量应该是无穷对啊,这个就是障碍函数的功能,这样我们可以保证映射在连续的一个变化过程中,它不会变成无穷大。
也就是说不会变成啊那个翻退化,这样可以因为从无翻转到翻转的过程中,肯定要经过一个退化的一个过程,对这样我们可以通过连续优化,保证这个整个音色都是无反转啊,然后最后一条就是我们希望用牛顿法去优化。
所以希望啊要求这个目标函数它是点数和a对,嗯对这个这个呃可能付老师之前也提到过是吧,就是针对这个啊等距啊能量其实啊有有很多能量啊,然后满足这些要求的,这里有啊,这里列了三个。
但是大家最常用常用的还是这个第三个能量啊,因为它在啊更多的那个问题里边表现最好对啊,ok那我们现在优化问题就变成呃针对这个等距啊,特别的针对这个叫呃对称t d克拉能量,我们要求它在整个区域上啊。
作为一个积分,我们要求整个能量啊,那我们就在所有点上的能量做一个积分,当呃这个能量在连续的一个优化过程中达到极小,我们就得到最终的一个比较好的一个映射结果,然后呃就是在优化过程中。
我们还是要求这个甲壳比是大于,对然后利用前面的一个保暖区的一个定理,我们可以将啊针对调整映射,我们可以将这个约束从啊内部换成那个边界点,这样我们可以将问题的规模啊原来是二维,现在降到一维对对。
然后呃现在的优化问题还是比较简单是吧,就是针对一个eso能量去做一个啊牛顿迭代,啊然后跟前面一样,对于变性问题,我们要加点约束,然后一样的我们点约束是作为啊。
那个软约束就是我们希望这个点约束就是映射之后的坐标,要满足用户指定的那个要二点的位置,对y就是x点要变道y点啊,然后具体牛顿法还是比较时间,现在我们对目标能量。
这个一就是我们的目标能量就是一so加上拉姆达1p to p啊,然后两个都分别可以去求导,是一阶导和二阶导分别可以求解啊,然后啊求导完之后,我们啊要攒牛的话,里边要对这个海森做一个投影。
要把它从一个不一定非啊,不一定是正定的一个矩阵变成一个正定的矩阵啊,然后第二步就是做一个啊解一个线性方程组,就是在牛顿法里边这个关键的一步是啊,从h根据得到下一次的一个优化的一个补偿啊。
这这个这个表达式有点复杂是吧啊,不用管,其实就是前面的那个m跟n就是我们的优化的一个自由度呃,然后第三步就是做更新,就是我们从当前点更新到新的位置。
然后呃这里唯一的啊小小注意的地方就是我们这里需要加一个步长t,就是啊在原始的牛顿算法里面,这个t就是一就是算出来就第二步算出那个更新入场之后,我们直接更新上去就完了对,然后在现在在啊无反转音色优化里边。
我们要求啊找一个题能满足它啊,那一点都不发生反转是吧,这这这就是我们啊这次作业里边也是一个要注意的地方对吧,就是着重要解决的一个问题,对于三角网格的话,这个t可以解一个啊,应该是一个大致的一个方程去啊。
得到解析的一个表达式,对于三角网格是一个二次的一个方程,然后针对这个嗯平面条纹应试的话,t其实也,是一个二次的一个方程,所以它是有解析表达式的啊,然后针对现在我们优化前面说的是在整个边界上做基本是吧。
但是在呃计算机实现的时候,我们不可能对无穷多个点啊去做积分啊,然后就实现的时候,我们还是把它变成一个在采样,然后在采样点上做清楚,对啊,然后简单提一下我们的那个对啊,这个hen呢做镇定投影的一个过程啊。
现在我们呃那个能量其实可以写成关于啊那个fc跟fc 18的一个能量,因为西格玛一跟cm 2分别可以写成f 11跟fc达摩长的一个函数对,就我们推导出吧,这个它的表达式其实可以是三个矩阵的乘积。
然后呃这个第一个矩阵t跟m其实是同一个矩阵,然后mt就是做了一个转置,然后呃这个他进步他从乘n的转置,它是一个单位阵乘一个啊,做做一个缩放21个乘数了,对r2 是一个标量,然后i就是恒等矩阵啊。
这这这是h很大的一个矩阵是吧,然后我们要对h做镇定投影啊,如果直接做的话,要做4n层n就是我们的那个配置的顶点的个数,然后如果直接做那个s一那个特征值分解的话,那代价会也非常非常高。
然后利用啊in的特殊的新手,我们可以等价地将这个投影问题转化成对k做s呃,那个特征值分解,那中间这里我们的k是一个非常非常小的,矩阵是一个4x4的矩阵,那现在就可以啊将这个复杂度啊很极大的减少下来。
对然后进一步我们啊给出了对这个k这个4x4矩阵的一个解,析的一个投影的一个表达式,对不对,这样我们将这个投影过程就可以用啊,避免了一个数值的一个特征值分解啊,然后再提一下,就是我们在呃这个牛顿优化方法。
在牛顿优化里边啊,涉及就是每一步优化理论文要都要计算这个hason矩阵跟啊,那个梯度矩阵啊,梯度向量嘛对然后我们可以直接看这个啊这两个量的那个大小吧,啊车是一个向,量是吧。
所以它的尾数其实就是我们自由度的个数,然后h是一个矩阵,然后在我们这个上海里面,h它是一个重名的一个矩阵,然后他的那个自由度的个数,其实或者说它的变量那个元素的个数吧,啊就是居的居居的个数,如果是n。
那h的个数其实就是n平方,因为它是一个矩阵,所以这个计算h的复杂度要远远的大于距,对然后呃前面已经提到我们对能量的积分其实已经近视了是吧,我们是在啊边界点上采样一个p点击,然后在这个p这个点击上面做啊。
求和来近视这个容量的一个积分,然后呃这样我们对应的那个梯度跟h根据这个就前面这个近似,同样的可以把它啊那个推就推到这个梯度跟h的一个近似,分别是在p这个点击上,把分别计算机跟h然后求和啊。
对然后根据刚才要分析这个a h的复杂度还是比g的复杂度要高很多,对然后这里我们提出来对h可以进一步解释,我们在p里边再取一个比较小的点击,p一撇撇一撇,就是啊这里左边这个图里边这个蓝色的点击。
那这个蓝色的点击要比红色这个点击进一步更小,这样我们可以将把进一步将h的那个复杂度就计算h的复杂度降下来,然后这里是一个对比啊,就是这里有个问题啊,就是如果我们呃h如果就p这个点击特别小。
那会影响这个牛顿的一个牛顿法的一个收敛速度对啊,所以h这个p这个点集p1 p这个点击也不能太小对,然后我们在这个应用里边,我们一般是采用了10%吧,对就在p这个点击里面取10%作为p1 p。
然后可以看到现在这个呃迭代次数没有太大影响,但是这个运行时间啊比原来快了很多是吧,就是左边这个图就啊比较不同采样啊那个密度啊,这是紫色点,是500个采样点,然后进一步如果采样点更进一步减少。
比如说100个采样点的话,那迭代次数就啊直线的上升吧,就是非常变变的,原来是比如说可能是这里可能九次还是849收敛是吧啊,如果只取100个点,那这个h的近视就太太粗糙了,所以可能要上千次才能收敛。
所以h不能太稀疏,啊然后啊我们找到的平台是对啊,那个5万个点应该是原来啊那个就整个就是p这个点击吧,就对能量这个近似的那个程度,我们是取了那个5万个点,对这里取了,那就是1%。
用了1%的那个采样点去近似h它的迭代的次数基本上不变,但是运行时间啊少了那个可能是倍或者更多对啊,然后简单提一下,现在我们这个牛顿法在啊,怎么在gpu上做实验啊,其实这个很很直接啊对啊。
牛德法根据前面已经介绍过,其实在这个算法里面就分三步,第一步是做嗯那个梯度以及hen的计算,然后再做那个呃hen的一个投影,然后第二步是做那个求解这个新方程组,然后最后是做更新。
然后梯度跟ta我们都可以写成那个矩阵乘积,就是这里的x y就是我们的自由度,然后第一根啊啊都是可以提前算好,是一个常数矩阵,所以我们在就是具体在优化过程中,其实就是做计算机跟h就是做矩阵乘法是吧。
所以可以用这个库拉库来完成,然后第二步做这个啊,这个是应该是稠密的一个线性方程组的求解,我们可以用这个cos吧啊也是非常高效的一个实现对,然后第三步就更新这个啊,非常频繁,可以用啊。
自己写个简单的科目就可以完成了,对,然后这里是展示我们在gpu上的一个实现,它在我们算法不同阶段的一个平衡性啊,因为这里我们前面提到就是hen,我们用了近视,所以通过这个策略之后。
我们发现啊还是比较有效的,现在就是我们整个优化过程的事故还是比较平衡的,对,啊然后最后还是一样的,我们要验证这个啊,最终映射它在整个边界上都是红方的啊,对然后这个这个跟前面基本上没差别是吧。
就是我们利用在啊采样点v1 v2 上,它是无反转,经过它是大于某个值的,我们可以验计算f c在端点上的极小值以及极大值,这样我们可以估计在整条线段上fc跟fc 8的那个极大值啊。
这样我们只需要呃我们现在在两个在在端点处,每条线段两个端点数那个sigma一和sigma 2啊,不要太小,应该是西格玛二是小的那个特征值啊,不要啊大于某个啊比较小的数值之后。
我们就可以认证这个映射在整个线段上都是没有翻转对,然后这里我们进一步做了一个改进,是啊在啊15年那篇文章里边,我们是直接去用f一的导数去估计啊那个一个lip的常数。
然后现在我们进一步用可以用那个fc一的导数的导数去估计啊,就是这样的估计会更精确一点,啊这样我们可以啊,现在我们只需要在啊端点线段的端点数,我们已经算了他的那个计算的那个fc一的一阶导是吧。
然后我们只需要它的fc的fc的导数,它的lip c常数尽可能呃就是足够小,那就可以啊,认证这个fc它在整个线段上它的极小值以及极大值,然后在这里就有个图,就是展示两个啊,lip是常数的一个呃。
差别就是我们可以看到基本上我们的现在的这个常数比原来的小了,可能啊九倍啊,七倍吧,七倍多吧,对这个还是挺重要的,因为在变形过程中,我们希望这个估计尽可能紧缺,尽可尽可能减,这样啊我们去认证的时候。
他啊就本身它没有翻转,我们就应该认为它就没有反转,如果l比较大,那就会导致你判断的结果是不正确的,然后就会导致提前结束,对这也是那个啊那个门,他们14年那篇文章主要的问题就是它在理论上是给了一个商界。
但是这个商界会比较啊比较松,所以很多时候它本身就画出来的算法啊,就是结果映射它是无翻转它,但是它论证的结果啊,就不能说是他是啊没那个没有反转,不能认证它是无反转对啊。
然后这里就是结果我们跟前面那个方法做一个对比,就达到这么类似的一个结果,我们现在啊用牛顿法迭代之后,被牛牛顿法优化化之后,这个就是迭代次数由原来28次降到八次,然后进一步啊要花时间,原来是要四秒吧。
就是这个这这这个是用户指定了一个最终的一个点约束,然后从初始状态优化到这个状态,我们需要20 80点半,然后需要3。7秒,然后对右边现在这个新的记忆的优化,我们这个优化过来,其实就是顺势的是吧。
就是00:00:03就能达到这样的一个结果,这样我们简单对比一下,啊然后这里是跟这个基于网格方法的一个对比,就是我们可以看到基于网格方法的结果,它明显是不光滑,就是我们看到点啊,就是在这个结果里面啊。
就是点约束附近,这个映射是极度的不光滑,就是把这些点就变成奇异点一样的存在是吧,就本身它是原来是那个啊这个指甲了,应该还是直的,然后变成右边变形,结果之后这个点约束就变成奇异点。
其实就是将这个点附近拉到比较,就是用户要指定这个点约束嘛,所以啊但但是那个等级能量又要求这个啊就是形状还是尽量保持,所以就导致了得到这样一个结果,然后相比而言,我们的结果是它还是光滑。
就因为根据构造这个映射空间是光滑的,然后同样的我们有一个思路上的一个对比,就是现在我们啊跟我们的方法应该是叫cpu吧,对我们有在cpu上实现,也有在gpu上的实现,对。
最左边就是我们在gp上的时间就基本上是少于0。1秒啊,就能达到就就能得到这么收敛的一个结果,对这这是一个动态的一个过程,就是其实就是刚刚那个例子对啊,这里因为跑的太快了。
所以我们做一个慢动作,可以看一下两个方法之间的差别,对啊,我们的方法已经收敛了,然后那个这个基于网格的方法,这个slim应该我们之前已经付老师应该有介绍过,我们看看到这个cm这个方法收敛就非常非常慢。
这里看起来没动是吧。
但其实还在还在收敛,慢慢对慢慢的收敛对,这是另外一个例子,一样的,就是我们呃右边是基于我们的方法,它收敛非常非常快,就是瞬时就移动过去了是吧,然后基于网格的方法,它实在就后面他收敛实在太慢了。
这是一个交互的一个变形,左边是还是基于slim的网格的方法,因为它优化时代速度太慢了,所以跟不上我们的用户交互,所以后面就没有办法对比,对啊,这是右边这这这就是一个实时的一个截屏的结果。
就是我们可以看到我们的优化还是很快的,就可以跟可以跟上啊,用户非常快速的一个实时的一个交互动作,然后每一在每一个中间步骤里面,这个映射都是局部翻转,并且是那个啊等级能量它都是最优的。
也就是说这个结果在数据啊,在我们的这个能量定义下面,它是最优的,对,对这是一个比较人工的例子,后面应该还有一个对,这是长颈鹿,对一样的我们啊可以看到啊,在用户交互的指定点约束的时候。
这个映射它能实时的去更新,能跟上用户的一个交互,这样就能满足我们用户的一个实时的一个编辑的一个要求,然后他每一次都能跑的很快嘛,所以用户能直接看到,最终我如果跑那个物理仿真查出来的结果也不会差太多,对。
对我们的方法跟物理仿真之间唯一的差别,其实就是我们现在用的这个能量是比较啊特殊的能量吧,然后在仿真里边这个能量可能会根据这个物理材质会不一样,就是每一个点他的那个具体的那个商界会不一样啊。
换句话说其实我们的能量是非常简化的,能量就是数学上就是啊这个叫sd能量是吧,就非常非常简单,就是在真实的物理世界里面,这个每一点啊,还是有就是材质上面,就是我们同一个物体,它每一个点。
比如说从皮肤到那个内部那个骨头,他每一点它的材质是不一样的,所以它的那个啊扭曲的商界就能允许变形的扭曲商界是不一样的,对啊对,相当于我们是做了一个简简版的那个物理仿真,对。
嗯对然后呃现在因为这个我们扭曲的上界是不需要用户来指定是吧,所以我们可以这个扭矩上限可以无穷啊,这个非常非常大,就是用户需要能变多宽松等等,需要多夸张的变形,我们就能做多夸张的变形。
但是我们总能保证这个用户的意图是满足的,就是点约束它是满足的,并且还是无反转,然后还是在我们的呃那个连续光滑的映射空间里面,然后因为它每一步都是无反转是吧,所以我们最终将所有点元素去掉之后。
它就能恢复初始状态,就是恒等映射,效果对就将所有点都去掉之后,这个映射还是回到初始的状态对,对这个前面已经看过了对,就是就就前面那个例子,我们把具体对比一下那个收敛次数跟时间对,就是上面是呃。
最上面是我们的方法,我们需要15次解版,然后下面基于网格的方法都是上百次,然后具体时间另行时间,我们需要0。1秒,然后那个两个网络方法都是超过四秒对,然后我们可以看到这个能量图。
我们的能量收敛是非常非常快对,啊这个前面已经放过了对,然后这里我们具体的运行时间,我们有不同粒子的不同运行时间,我们啊这个时间是在应该是泰坦1080吧。
然后呃在cpu上是用了六个线程来跑的对嗯然后对比一下啊,右边啊我们这个时间应该是毫秒,这个时间单位没有画出来,就我们这这这里是单次接待的时间,就我们的算法是8ms。
然后右边steam跟那个a q p都是呃,这里都是毫秒,但是是单次迭代的时间,但是因为啊steam跟那个hp它都是要收呃300字的那个迭代才能收敛,所以整体上他们的时间就会啊更加更加慢。
对这个例子我们前面已经看得过对啊,稍微对二维的那个变形,我们稍微小结一下,就是我们啊提出用调和音色来做变形,因为它是呃让我们可以认为这个映射是比较好的,因为是他是c无穷连续。
然后呃有有一个平面上面有一个保暖区的一个定理,然后具体构造的话,我们就是做优化的话,我们需要一个可以参数化的空间是吧,然后我们正好有这个科西重心坐标来构造对应的那个映射。
然后呃为了达到更好的一个啊实时的一个优化效果,我们提出用牛顿法,然后啊这里关键是用了结合了这个啊比较好的这个sd能量对称,集体放量能量,然后进一步我们给出了这个做投影的一个解析的表达式,对。
然后呃在对对应开放映射吧,以及海森矩阵构造,以及啊那个性能方程组求解都是有现成的那个who可以去完成的,对嗯好的,就前面啊我已经一个半小时了,已经主要是介绍二维的,然后后面我们很快的介绍一下三维的变形。
就是这个呃基本的构造还是一样的,就是我们同样就前面三二维,是我们希望这个界面是就用户界面比较自由啊,那个自然是吧,就是通过简单的拖拉来做交互,然后呃变形算法要快三维一样,我们要求快。
然后同样我们要求的结果高质量就是音色要连续,要局部翻转,要定扭曲嗯,就是这个跟前面二维一模一样,就是我们现在用t2 音色对比分片线性映射的话。
就三维这个分片线性因素呢就变成一个在啊四面体网格上的一个映射,然后跳完映射是光滑的,就三维的一样,还是光滑的,然后那个现在我们点元素同样的可以放在啊一个稀疏的典籍上,然后利用连续性。
就是它调和音色的连续性,去保证它在所有点都是啊那个满足就地扭曲的一个要求,然后一样的就是三维调换音色也有一个比较啊解析的一个表达式,所以我们可以将优化问题转化成一个稠密的一个线性方程组求解对。
所以啊同样的对gpu比较友好啊,这这个是关于三维就是体映射的一个定义吧,就是跟其实跟平面是完全平行的,就是平面我们是将单位圆映射到椭圆是吧,然后现在三,维的映射就是这样,单位球应射成椭球。
然后椭球的那个三个啊轴三三,三个轴的长度就对应我们啊映射的甲壳比的三个奇异值,然后我们要求现在对同样的,我们用这个载荷比的那个带符号的那个奇异值分解,来表示这个映射过程,就就对应这个甲克比是不是翻转。
也就是说甲克比它的行列式是不是大于零,可以用cm 3是否带您来等价的来判断,然后呃对于那个跳跃音社,我们三维的跳跃设,我们后面还设计对啊,映射的一个二阶导啊,也就是f的这里写错了,应该是平方。
应该是放在a啊,下三角这个上面对,就是后面优化的时候设计啊映射的一个二阶导,就是海森矩阵,这是映射的han矩阵,要区分一下前面我们对于能量的一个hs举动,对嗯嗯对,就这个应该不是。
这这已经不是一个举证了,就是我们现在映射是一个三维到三维的一个向量函数是吧,所以hen它其实是一个张量,就是对每一个成分有一个就u v w3 个成分分别有一个二阶的,二阶的一个导数。
所以每一个成分是一个矩阵,所以还算是一个张量啊,然后我们对比一下,同样的我们要做嗯从嗯就是将网格上的分片也无反转音色,把它推广到啊,就是连续调和音色的一个啊无法转网格上,我们是对每一个元素是吧。
就是这是我们用平面来展示,但是上面也是一样的,我们将一个四面体映射到另外一个四面体,这个甲科比也是一个分配,也是一个常数,所以我们将网格上的一个无翻转的一个条件是将这个是对应的要求,每一个元素不翻转。
然后对于呃我无网格问题就是现在我们用调和映射,它就是是一个无网格的方法,我们要求它无反转,就是说要求在每一个点这里p就是在定义域内每一个点对,然后这这是在计算上它是不可行的是吧,这是这个点的个数无穷大。
我们更能不可能直接去要求无穷多个点,它是吗,就我们的这个无反转的一个要求,啊所以在实际实现的时候,我们还是将这个约束放到有限的点,对这个有些特点就是我们啊在plan gmp mvp啊。
这个方法里面提出的叫啊collocation point,就是这些啊就是采样点,就是在采样点上我们去要求这个啊,cnm 3要大于某个比较小的正的数值对,然后我们利用cma 3的一个live是连续性。
可以推导出啊,他在啊所有点具体的话就是说我们在每一个点啊,它是大于零是吧,那我们可以保证在这个点附近,利用这个cm 3的一个lip的剧情,可以保证它进入三,在这个球内它变化不会太大。
就不会从l2 变到零对,然后因为在每一个采样点附近他都不翻转是吧,然后所有这些啊采用你父亲的这个呃球吧,能在整个整个定义我们就能认证这个整个营收,它所当转对,然后现在推广的三维主要的挑战是啊,两个问题。
就是一个是我们在平面上,我们sigma一和sigma都有解析表达式,所以那个呃优化还是比较没有那么困难,然后对于三维的话,现在我们simm 3其实没有解析表达式了,就是它依赖于那个s b d分解。
然后s b d分解3x3矩阵的24b d分解是没有解析表达式,然后还有一个问题是在平面上我们啊利用这个呃扭矩有界定理,就可以把把整个定义上的扭矩,有些板块转化到边界上。
然后对体啊我们需要类似的一个定理是吧对啊,然后第二个问题就是呃没有解,就是我们其实有有返利,就是这个反应就是说对于一个调二影射,它在内部达到这个映射就得达到这个性能三的一个极小值。
对这样我们如果只是简单的要求在边界上c3 它啊不啊不小于某个值,那不能保证在内部所有点都不小于某个值对,所以啊这是在三维不成立,那没有办法,所以我们只能还是通过就是在整个定义域内做采样。
就是啊这些绿色点就是我们采样点,然后呃这这这样推广过来,我们只要采样点足够密,我们同样可以做这个三维的变形是吧,就是说呃这这里左边就是我们的一个例子,采了那个19万个顶点,得到这么一个翻转的一个结果啊。
这样这个速度就比较慢了,就是我们现在得到这么一个结果,需要12秒时间,这个可以解决是吧,只是代价时速度慢一点,然后嗯还再再回到第第一个问题,我们现在需要sl 3的一个了不起的常数啊。
这里是关于defi是连续性的一个定义,对这个定义就是说我们在给定啊,如果大家在两个点,就是前面对应我们两个采样点,如果两个采样点啊,他满足那个五页数,然后我们在采样点利用它的lip连续性。
就是说啊另一个函数在两个采样点附近,它的那个变化率吧,还有其实就是它的变化率不超过某个数值啊,就是这个计算可以用这个啊,这个目标函数据可以是cm 3它的导数的那个上界来计算啊。
但但是对于cm 3我们没有他的解析表达式是吧,那求导就不可能对,然后还要取上限,那就是没有办法直接去算,然后在这里我们主要是给了一个这么一个定理,是说那个sm 3我们没有办法来算它的流体常数是吧。
但是我们可以用啊,h就是我们应收的那个二阶导来啊,做一个啊,估计这个二阶导前面已经给出了他的表示,就是因为呃那个他有解析的表示,所以这个是有办法算了,对,对啊,然后我们看一下怎么得到一个比较好的估计。
就是现在我们的音色空间其实是三维的一个跳跃映射是吧,同样跟二维一样,我们是每一个跳跃映射可以由一组奇函数来章程,然后这里发其实就是奇函数,就是那个调和奇函数,然后啊同样的那个发有几析表达式。
然后那个f的一阶导和二阶导都有解析表达式,然后呃这样我们可以直接利用i7 的解析表达式来估计一个上界,但是问题是这个上界会比较糟糕,然后他估计不够紧,就是对全局的反射映射,这个h应该是零是吧。
但是这样估计它不是零对啊,所以我们这里给了一个呃比较好的一个,上届是说我们可以将这个调音色可以看成是对他是对这个映射,简单说就是对甲壳比吧,就每个四面体我们有个应设的那个仿射矩阵啊。
这个挑用射相当于对这个调和这个仿射矩阵做了一个加权组合,但是甲壳比是对啊,反射呃,这个a级这个矩阵做一个反射啊,线性组合,然后对于h的话,就是每一个相邻面片之间的那个反射矩阵的差做一个线性组合。
这样我们可以得到一个现在我们计算h的那个模长,就可以转化成这里每一项是a的那个啊差的模长,这样这里的好处就是我们这个啊对于那个全职的仿射变换,就非常紧的一个估计。
然后还有一个是我们当假设有一个现在有个f有一个h估计是吧,然后我们将2f复合一个啊,另外一个钢定电话的话,这个估计它是不变的,然后再进一步我们可以得到更高阶的估计,这也是为了得到更紧的估计。
就是前面我们是直接用啊h就是那个我们映射的二阶导去估计上键,然后进一步我们可以用a h的导数,也就是我们映射的三阶导来估计一个上限,就是现在啊就是阶数越高,我们的估计就越精确。
就是右边我们就是一个对比啊,这个红色点就是我们通过非常非常密的采样,对非常密的采样,就是这个精确的一个啊下界是吧,就是然后呃我们现在有二阶跟三阶,估计我们可以看到三阶估计就是蓝色点啊。
它明显比绿色点要低很多对,所以这样我们就是我们希望这个估计跟,应该是跟红色这些这条线越接近,那就保证我们的估计是跟精确的那个啊,是不是翻转是混合的对,就越越越接近我们这个结果就啊优化就可能越自由对。
就是否则的话,我们如果估计完全跟跟真实的那个结果之间啊,完全不对的话,那可能就导致我们的优化没有办法继续,就是它本身是没有翻转的,但是啊我们的论证认为它十分发生了翻转,所以后面就会提前结束这个优化过程。
啊然后再进一步我们可以啊去啊,强制要求这个真正的啊libert常数也尽可能小,这里的方法是,因为我们现在呃认为这个h就是那个啊一个这个雷克斯的估计是吧,所以我们可以加上一个能量的一个方法下。
其实就是a h的一个呃模长这样强制这个映射进一步光法对,就是虽然数学上这个调音色是最光滑的映射,但是啊在实际上我们如果用一个能量的一个就是这个映射的一个h啊,应该是二阶导的农场来度量的话。
在所有的调音音色里边,还有呃一些就是它就是就不同的调音色之间,它的光滑程度还是不一样的,对就右边我们展示啊,就是如果我们不加这个方法,像这个啊优化是需要19就19万个采样点,然后需要12秒。
然后现在我们通过加上人工的,加上这个光画像之后,我们采样点可以极大的减少是吧,从19万个点减少到1000个点,现在500个点,然后呃优化时间就降到12:00:12,降到00:00:17。
这样就允许我们做实时交互的一个变形对啊,然后后面的优化其实跟前面没有差,别就是我们把能量唯一差别就是跟前面比,就加了一个打光滑像,然后牛顿法还是频繁的一个应用对,然后这里做投影对啊。
那个海森矩阵做投影啊,这里跟是跟三维的那个解析投影是一样的,就是大家正在实现的那个方法是一样的对,然后最后更新这一步还是要做一个先搜索啊,跟前面一样都没差别,嗯然后最后再提一下。
就是我们现在三维跟二维还是有的差别,就是现在我们的自信对要更多一点,就是现在其实我们三维的话就是呃是一个多边形状,所以啊要得到一个比较好的结果,我们这个三维的那个配置它要足够的精密啊。
能得到一个比较好的一个计量数,最后那个变形它会比较好,但是这个带来的问题就是我们现在自由度就更多了是吧,就是现在我们映射的自由度其实就是我们的网格,就是开局的顶点的个数。
那一般这个科学平面的个数都会比较大啊,所以我们这里采用了一个比较直接的方法,就是降维,就我们去构造一个子空间,线性的一个子空间,将x从原来的那个n乘三为自由度降到那个s位,对现在我们自由度降下来之后。
算法就可以进步更快,这是对比,右边是对比啊,就原来是6800个自由度可以降到,比如说900个由主,现在就可以达到啊,在0。1秒左右技能啊,就是对于这这么一个约束吧,就能得,到一个收敛的结果,如果不做。
这么需要接近两秒的时间啊,最后就这结果的比较,我们跟啊b h m它没有做任何优化,只是在中轴点上希望能a i p能量的技能效,所以它会翻转,扭矩会比较大,然后下面另外两个方法是基于那个网格的。
就是分配线性的映射对,那我们可以看到从中能量图就是扭曲图啊,我们可以看到这个我们的有区分布跟啊光滑是吧,因为映射是光滑的,然后网格的话它就没有那么光滑,就是在它在一般在约束点附近。
能量会或者说扭曲会比较大,这是一个同样的,一个就是视频的一个对比,就是啊跟前面一样,就是我们的方法最大的优点是快对,然后呃前面这个基于网格的方法,它收敛比较慢。
然后最后是这么一个加固的一个变形的一个啊session对对这门码的例子,就是我们的方法就是跟网格的,就是这个最终可视化的这个网格的密度是没有关系的,就是你需要画啊那个多面的网格都可以。
只需要把那个应用社在这个网络上击穿就可以了,对然后这里展示的其实就是主要还是我们的算法快,就能支持用户的一个实时交互,对啊,最后在小节上对t体网格的变形。
我们提出了啊这局部翻转的那个一个基于调完音色的一个应试啊,变形方法就是主要用用了用了那个调高音色,它有那个光滑,然后对应的音色空间空间比较小,所以适合啊那个实时优化,适合实时的一个变形的一个应用对。
然后能达到就是我们低扭区可以通过他的lifx连续性来验证对。
ok那我们啊今天稍微拖了一点,可能一二十来分钟对啊,好像有几个问题是吧。
我们看一下什么问题呃,第一个问题是说那个变形算法只能在有界的。
有边界的网络上用,对,是这样的,这个没错,就是我们啊今天讨论的算法都是在呃,无边界的那个变形呢一般不是我们做这个就是角色变形里边啊,这个应用讨论的问题吧,对啊无边界变形啊。
就是对角色变形来说可能不是太不是太相关啊,啊但是啊就现在我们这个策略还是可行对,就是我们有有一个呃优化还是一样的,就是对于呃我们今天讨论的是基于光盘映射是吧,如果我同样的对无边界啊的一个区域吧。
无边界的一个区域,那个我们可以同样构造一组啊那个光滑映射空间,然后那个每一个映射我们可以去呃计算它,在它它进行采样,然后再进一步利用它的lip连续性,从有限个点啊,还是可以推广到啊,无无穷多个点对。
啊然后第二个问题是能不能对不是网格的文件来用,我不是太清楚这个问题是什么啊,就我们的算法输入是一个其实只需要一个,就比如说二维的话,其实只需要一个二维的一个区域,就是大家看到的结果只是贴上了纹理啊。
就把那个图片贴上去了是吧,其实它的输入就是一个多边形区域,然后有网格和网格都是没有差别,算只是网格的话是把这个区域把它三角剖分了,对,只是最后我们最终做渲染是在这个网格上做一个纹理贴图对啊。
所以对不是网格的文件也可以用的,只要你有边界的一个描述,我就可以去构造那个光滑的一个呃那个天花映射就可以对,然后三维也是一样的,是只要有一个形状的一个描述,我就可以啊。
然后用那个调音色来来构造光滑的映射空间,然后再做后面的优化,啊第三个问题是做怎么做降温啊。
这里我没有展开是吧,就是呃后面时间关系吧对啊,这个降落其实比较直接啊,就是我们前面已经提到呃,我们要做那个光滑的一个呃优化,就是为了我们将这个进一步将这个l这个liberty的常数降下来。
我们加了一个光滑能量啊,然后就可以大家可以想啊,就是我们希望这个结果是尽很光滑是吧,那现在我们有这么一个能量问,那我可以直接对这个能量做一个呃,根据这个能量吧,将这个映射空间做一个啊。
类似做一个pc a对,就是我们对呃那个基于这个光滑能量去做一个主成分分析,就整整个映射空间做一个主成分分析,那个正交的一个映射向量嘛,对这里姜维其实就是用了pca分析。
就是我们对啊h矩阵就是我们的那个h矩阵做一个啊那个s b d分解,然后去里边最重要的那些特征向量,就是表示那个最光滑,应该是最光滑的那些特征向量啊,最后我们的应试就是由那些最光滑的因素来章程的对。
因为我们目标是希望啊,不是目标,就是我们希,望在优化过程中,这个映射进很光滑,所以我们就对这个h这个矩阵就是啊能量的那个光滑,应该说映射的光滑性,希望它是尽可能尽可能好吧。
所以是直接对h矩阵做一个特征值分解,然后取最光滑的,就是说能量最小的特征向量啊,这是见过呀,对不知道有没有不知道有没有说清楚,然后下面一个问题是哭的稀疏矩阵的油耗多少啊,这是个很好的问题,对就是一样的。
就是呃很自然就是我们对现在对稠密矩阵做啊,那很自然因为现在gpu的处理能力越来越强大,其实啊比现在比cpu并行处理能力要强很多很多吧,就很自然我们希望对于网格问题也能将这个啊就是核心吧。
就我们非线性优化里边是解线性方组是吧,这是我们呃这个非线性优化里面最慢的那一步,我们希望能用gpu来做那个做做求解啊,但是很遗憾就是现在啊用gpu特别是扩大来解线性方主。
吸收的线性方主还是啊效率还是比较成问题的,就他会比cpu会快一点,就目前的实现啊,目前可能就只有那个啊team dais那个sweet spars啊,那个啊方方那个库吧。
就具体也只是那个class的分解,就是超贸的有做啊gpu来实现,就对一般呃我不知道现在是怎么怎么个情况啊,就是几年前我关注的可能2323年前那个bus那个变形化刚做完。
那个时候我看的结果可能也就两三倍吧,就当跟跟当时最好的cpu跟gpu比呃,并行效率就那个求解效率也就大了,可能好像就两倍吧,不会太不会太大对,现在估计也差不多,因为其实cpu也在定型化嘛。
其实cpu的核也越来越多,所以在cpu上解方程组其实也是在跟跟gpu一样做那个呃那个一样的,在在进进步更换对啊,呃唯一是在gp在在cpu上做并行,可能啊因为那个cpu是大头,所以它的并行更简单一点对。
但是在gpu上啊,特别是忽大来怎么做,这这这这还是一个开放的问题,对目前没有,就是,目前的性能还是不是太好吧,对当然你可以直接直接用,其实还是有比较大差别是吧,但是跟啊现在我们比如说我们稠密方程组的话。
这个差别可能有十倍啊,100倍对,就是呃这个啊没有明显的跟上,这个gpu跟cpu之间的那个速度的一个对比吧,对,然后这个问题是说t网格直接用仿真方法有啥区别啊,其实我们做的其实就是仿真对。
就是我们只是我们这个仿真只是比较简化了对,就是我们用的就是仿真里面,在物理仿真里面,他们会用更一般的那个材质模型,就是那个材质模型其实也是关于甲科比的一个能量。
但是那个能量比如比如说那个叫你hoping啊,或者其他的材质吧,就是最终它都是可以写的,那个关于西格玛一和西格玛二的一个三维的话,还有4k3 的一个表达式,只能只是那些表达式可以更复杂一点。
对就是我们可以直接呃也可以进行对那些一般材质的优化啊,问题是那个房子里边啊,可能更啊解解决会更一般的一个那个材质,甚至会解决不会做复合材质的一个优化啊,然后我们看一下还有吗,这个对人脸这种曲面做构造。
曲面条和场效果好啊,这个我们有实验过啊,效果还还好吧,就如果不提管理的话,其实看不出太大差别啊,那个如果贴上纹理的话,不知道这个可能还是要跟具体的跟这这类特别做人脸的方法,要做一个对比对啊。
这我们的经验是还好,还过得去对啊,主要还是,回到前面的问题,就是仿制就对人脸我们要做效果要好的话,我们要做复合材质是吧,就是从呃人脸的表皮到那个其他部分,比如说啊眼睛啊,以及那个啊牙齿要分别建模那个。
然后不同部分的那个材质是不一样的,就是它的那个能量要不一样,对,啊至少就我们如果只是对那个皮肤去做变形的话,还过得去对,这个大围区域不拓扑同胚圆盘啊,就做一般的二维啊,也可以做呀,对啊。
这个时候只是那个映射的那个调音色的那个分解啊,稍微有点差别,它是每一个其实每一个洞吧,每一个洞会有多一个额外的一个极小数,这是唯一的差别吧,对啊,那个定理还是同同样平板的那个推广。
就是我们将原来啊那个如果圆盘做不圆盘的话,只是外面一个边界,然后对于那个多联通的话,内部所有灯的边呃,也是作为呃边界做到加加到我们的那个那个,就是条件里边是那个做边界积分从啊圆盘是外部边界。
加上内部所有动作,一个积分求和对其他是没有差别,唯一的问题是就是他刚刚提到第一个问题是吧,如果他是没有电解,它是呃或者说它是无穷区域啊,这这个这个可能跟我们这个应用不是太直接相关。
对啊k好像没有更多问题了啊,这个sweet spa很快的对啊,那sweet spark是做那个cpu上的优化,不能啊,那个啊就是刚提到创造的啊,有有gpu上的优化,但是嗯就是还是刚刚说的。
他对网格问题效率啊,但是啊对于就是大特别是大公路网格,我们要做参数化做变形的话啊,这个求解还是非常很大的很大的一个瓶颈,对呃cpu gpu通信挺好的,嗯确实没错呀。
所以那个我们呃就今天我们讲的算法都是完全在gpu上实现的啊,就是假设我那个数据已经在gpu上了,那我们整个算法就完全是在gpu上跑的,所以那个最终渲染你也可以直接拿gpu秀啊。
那个啊那个优化好的结果直接拿来渲染就可以了,对所以啊整个流程吧都是在gpu上的,对,啊这这个好处还是我们这个优化算法比较简单了,对就是所有的那个步骤都是有上线程的那个啊cpu库啊。
或者那个它实现起来非常简单,写个简单的kl就可以完成对啊,所以啊还是我们的整个算法都是在gpu上,所以那个就完全避免了这个通信问题,ok那好像没有更大问题了,跟没没有更多问题了啊,对如果还有更多问题。
大家欢迎大家那个呃线下跟我交流费,嗯,好的嗯。
GAMES302-等几何分析 - P1:1. CAE与等几何分析简介 - GAMES-Webinar - BV1dM4y117PS
我们正式开始啊,首先感谢各位老师,同学们来参加我们整体的分析这个线上课程,这个属于我们的线上课程叫做games 302,也非常感谢我们games平台啊,给我们这么一个机会来介绍呃。
等几何分析相关的一些知识,应该来说等几个分析,从2005年由美国三院士,他们秀士教授提出来之后,目前无论是国外还是国内,实际上还是非常缺少这么一个等级和分析的,一个非常系统的完整的成体系的这么一个教程。
虽然这个国外一些这个网站上也有一些,或多或少的一些资源,但我想的还是不能满足,我们这个特别从这个低年级的同学的一些,学习的一些要求,所以当时呃刘玉刚老师打电话给我啊,那我就非常快的就答应。
我觉得这个无论是对我们登记和社区来讲,还是我们c e社区,包括工业软件的社区来讲,都是一个非常好的一个事情,我们这个等级和呃这么一个课程,我想它的意义啊,就是我觉得不仅仅是让我们这个各位同学啊。
能够深入了解这个等级,和分析它背后的一些知识点对吧,包括他的一些理论基础,计算方法,应用前景,那么我想呢可能还会有一些附属的一些产品,包括像我们这么希望呢,我们经过这14次课的这么一个讲解啊。
最后能够形成一套完整的一种现象的视频课程,然后呢我们还基于我们课题组的这个i game平台,就是说希望大家能够在这igame平台上,能够发挥自己的聪明才智,贡献自己的这个代码能力。
然后呢最后形成我们一个关于ig a的啊,等几何的一个非常好的一个开源的一个平台,那么有了基于这么一个平台啊,当然我们可能会对这个平台,我们也有一些助教,会对这个平台做一定的整理啊之类的啊。
那么我们希望最后能够是一个非常好的一个,系统性的这么一个开源的一个ig的平台,当然我们这个这个开源平台,应该会在下周六之前,应该就会给大家在github上开放,也欢迎到时候同学们提出一。
些宝贵的意见和建议,让我们这个平台呢能够更加完善,也是我们也希望能够举全国之治啊,能够为我们这个等你和开源软件平台呢,大家都来贡献一份力量,那么最后呢,我想呢也是希望能够形成我们一个i j的一个。
非常好的一个书面的一个教材的一个,主要主骨干的一个内容,我们希望通过这么一个东西啊,能够为我们的这个相应的啊,这个i j的社区呢贡献这么一个,书面的一个教程,这也是我们后面的一个打算啊。
你看我想从我们这次课能够啊,能够呢呃有这么些附属的一些成功,那么我们今天的第一次课,我想呢还是给大家介绍一下,我们整个等你的分析,作为一种数值计算或者计算领力学领域的,一个非常重要的一个方法啊。
目前来看已经是一个非常重要的一个研究方向,他的呃背后的一些背景知识,包括他和c之间的关系是那么c啊,谈到c e呢,我们也不能不谈前面的整个的这个c d c e,包括一些结构优化啊。
我想到这些方面的一些背景的一些知识,一些基本的概念呢,我们还是需要进行介绍,需要进行介绍啊,然后呢给大家简单的介绍一下等级和分析,它的一些基本思想,然后包括我们一些课程的一些讲究。
这是我这次课的啊一个主要的一个提纲,也就是说呢,首先呢给大家介绍这个产品数字化设计,仿真优化,全流程,全流程的这么一个全周期的啊,它的一个各个阶段的一些基本概念的一个介绍,那么分别对应于啊。
我们就说数字化设计,就是我们的cad数字化仿真cae,那么结构优化这部分,那么第二部分呢会给大家介绍等几个分析,他提出的这个背景,它的基本思想,包括它的这个典型的这个应用。
最后呢介绍一下我们整个课程的这个安排啊,安排情况,首先介绍一下这个产品数字化设计的呃,这个cad的这个阶段,那么实际上大家都知道整个的这个产品,可能有些同学都比较了解,那我这边呢。
呃实际上就列出了这么一个整个的一个流程,我们整个的产品数字化设计,产品数字化设计实际上只经过了这么几个阶段,第一个就是属于这个几何建模对吧,也就是说我们的cad软件,来对你想要设计的这个产品。
来进行一个几何外形上的建模,那么像我们在这个c基地里面,我们也要把它叫做几何造型,那么实际上这个里面用到了一些基础的理论,就是我们的必要条对吧,包括其他的各种各样的样条理论。
以及最后形成了我们最后的这个,nb的这个标准对吧,nb的标准,那么经过这么一个cad的建模,实际上就能够大致的啊,能够把这个设计者他想要设计一个什么模型呢,把它这个就可以建模出来。
当然这个里面会涉及到各种各样的,复杂的一些运算,比如我们cad中面临的非常平静化的一个问题,就是求教的问题对吧,也就是我们这个呃曲线和曲面之间的求交,曲面和曲面中的求交。
所以说这个里面的一些拓扑优化的啊,就是里面的一些布尔操作的一些问题,那么我们这个造型啊造出来之后,它是不是就真的满足我们后面的实际的应用啊,这个里面实际上就是说还是存在疑问的对吧,那么实际上这个里面呢。
就是需要用我们的这个下一步来通过物理仿真,来进行仿真验证测试啊,看一下你设计出来这个外形,是不是满足我们后面的一些真正的这个,物理场景里面的这个性能的要求,那么这个里面呢就是我们要进行物理仿真是吧。
那么这个里面所对应的软件呢,就是我们啊非常重要的cae软件,那上生意软件它非常重要的一个地方呢,就是常用的方法就是有限元方法,那么有限元方法,有限元方法它实际上啊非常重要的。
就是需要把前面的这个用cd软件,通过样条表示形式表述了这些光滑的曲面,需要把它离散化离拆成小单元对吧,因为我们有限元呢,这个圆实际上就是指单元的这个意思对吧,那么这些小的单元呢需要进行划分。
这也就是实际上对应于我们周围的网格,生成的这个过程,网格生成的过程,那么通过物理仿真,通过物理仿真啊,是不是就是就ok了,实际上就是说可能在这个里面,可能在这个里面还会出现呃一些呃。
不符合我们这么一个条件的啊,这么一些物理性对吧,也就是说我们需要对我们前面的这个,几何建模啊进行一些修改优化,那么这个呢就涉及到所谓的这个top优化诶,我这边好像出现了异常,啊没问题啊。
那么实际上就是说通过这个物理仿真,我们实际上就是想看一看对吧,是不是满足我们这个呃,真正实际场景中的这个需求对吧,如果他不满足,所以我们要进行下一步就是这个结构优化,结构优化,或者说我没希望啊。
在你初始的这个设计上进行进一步的优化,让它能够在性能上达到更好啊,那就是我们后面的这个结构优化的问题,这个里面会包括大概三种优化,就是我们所谓的尺寸优化,形状优化和拓扑优化,那么这个里面的时候。
对应的就是我们的一些优化软件,优化软件,那么通过这些优化软件,实际上我们就可以得到一个呃形状最优对吧,尺寸最优,拓扑最优啊,也就是说材料最优的这么一个优化软件啊,这么一个优化的一个结果。
那我们把这些结果呢再去做啊,这个一些制造把它给造出来,那么这个里面就包括这个剪裁和真诚是吧,特别是我们随着这个3d打印,实际上他的是非常强大的,实际就是可以把我们原来没有办法造出来的。
特别是拓扑优化的一些结果,我现在就可以通过3d打印对吧,把它给造出来,他这个里面我会涉及到非常一些,高端的一些技术,也是我们国内也有很多老师啊来研究这一块,比如像数控和3d打印这方面。
那么实际上这个里面都是这些技术,都是属于我们cm cm软件的一个,非常重要的组成部分,那么实际上这就是我们整个的数字化产品设计,仿真优化,制造了一个全流程啊,这么一个制造全流程。
也就是实际上在这个里面大家可以看到啊,这个里面我在几何阶阶段,我用的是样条对,是那种有精确的数学表达式,大家都知道这个呃它是有参数形式的表达,那么在物理仿真阶段,我用的是c e软件有限元分析啊。
我需要把它离散成单元,就说它是一种近视的离散化的一个表示,那么结构优化呢,我就是在这个有呃,实际是在网格的这个基础上来,传统意义上来讲啊,我是在这个网格系窗来进行结构优化。
实际上这个里面我最后得到的还是一些,离散的一些表示,也就是说在整个的这个流程里面,实际上啊,实际上呃他的这个数据表示的这方面啊,这个阶段与他自己不同的这个表格形式上,这实际上是给我们整个的呃。
产品数字化设计仿真优化的这个全流程嗯,造成了非常大的这个挑战,非常大的挑战,这也是等级和当时提出来的,一个非常重要的一个原因,非常重要的一个原因,那么我们上也可以通过下面这个图呢,来进一步啊。
看一下里面的一些技术上的一些问题啊,也是这个里面我会涉及到一些,啊涉及到一些呃cad的,比如说cd的建模工具对吧,然后我需要把nervous的解析表示,把它进行离散化,然后形成这个网格生成工具啊。
通过网格生成工具,然后离散成网格得到啊,通过这个离散的网格对吧,我在上面进行一些呃p d e的求解,p d e的求解是吧,然后得到一些离散的一些数字解啊,数字解在这个离基于这个离散的数字解。
我可能需要通过一些设计优化的工具啊,来进行呃top优化或者形状优化对吧,那我最后得到的还是网格是吧,但是我希望我可能我是有时候,我是希望我优化的时候的结果需要cd表示的是。
这个时候我还要需要进行什么c a d重建对吧,然后呢得到这个以cd形式来表示的,这些结构优化的这些结果对吧,然后再把它输出出去,实际上这个里面啊,实际上这个里面也有大家可以看到啊,我既有解析解。
又有离散结对吧,而且在这个过程中啊,我最后你最后优化的结果,可能还要进行这个cd重建,然后才能够得,才能够得到我最终的这个最优的一个一个,cad建模的一个结果啊,比如说通过这个流程呢。
实际大家可以看到啊,我在这个目前呢在各个阶段,我使用的这个表示语言呢都是不一样,那么下面呢我们就在分别为各个,给大家介绍一下各个阶段,它的一些基本的一些概念,也就是说第一个就是呢就是这个cad。
那么什么是cad啊,什么是cad,实际上传统意义上有的在有些教科书里面啊,他是把这个d啊,那么前面这个c和a代的这些人,就是computer的对吧,就是让计算机来辅助是吧。
然后这个里面呢非常重要的这个d啊,一开始呢实际上是有这么两个版本,一个叫做drop d,这就是放样的意思,放样的意思,因为在最开始这个样条啊,比如说我们这个c g d啊,就是计算机辅助几何设计g啊。
就是gemini计算机辅助几何设计里面,它实际上啊这个非常重要的概念叫做放样啊,特别比如说像一些造船啊,一些这个企业里面,他们就叫做放样啊,也就是说实际上我就是说通过一些这种线条啊,形式来进行放样啊。
那么有的时候实际上就是,大家也可以这样来理解啊,但是目前来看就是说这个c说到cad还是这个d,应该代表这个design的这个意思啊,那么实际上是在1984年,1984年,这个gra和simon。
他们这就给出了一个cad的一个定义,那么他就是认为啊这个cad啊,它实际上就是说,怎么利用我们计算机的这些操作系统,然后去辅助的这个用户去进行这个设计的创造,修改分析和优化。
也就是说实际上在他们的概念里面,这个cad啊,这里的c a d,实际上就是可能到我们这个后面的这个c e i,仿真的流程,分析的流程和优化的流程都概括起来是吧,有时候实在他们的概率片里面。
实际上我优化也是一种设计啊,实际上这个也是有一定道理对,那么实际上对于这个cad啊,我或者从软件和技术上来讲,我们都可以把它可以分为二维,2。22为半对吧,还有三维,那么商这个所谓的二维和三维。
大家都非常容易理解对吧,二维商就是一些二维图纸,二维图纸或者一些二维的一些平面的一些造型,那么二维半啊,实际上就是可以看作,是介于二维和三维之间的啊,也就是说我比如说我是一些物体啊,啊很多时候啊。
我都可以把它理解成是通过二维的一个,造型的结果,通过一定方向的,比如少略或者其他一些操作得到的,那么这种情况下,我们一般把它称为是2。5倍是吧,或者二维半的问题,那么这个cad的基本的技术,这个里面。
其实非常重要的,大概有这么一个三点,是在1991年的,他这个总结出来的三个东西,那么山这个地方就是图形学啊,这个伤害是非常重要的啊,因为你没有图形学就没有显示,没有显示,实际上你整个的呃。
这个辅助设计也就无从谈起了,所以图形学应该对cad的发展,起了非常重要的推动作用啊,特重要的推动作用,另外一个呢就是我们的这些设计的工具啊,认识分析规则还是一些编码等等,另外一个呢就是我们的样条。
也是我们几何建模啊,几何建模啊,也就是说这个,通过这些样条的数学的理论,实际上是为我们cad建立了一个非常重要的,数学和几何的这个基础,那么这边呢就是一些例子啊,就比如说大家看到这个左边这个图对吧。
我觉得这个图非常有意思,我这边首先声明我这边的ppt的一些图啊,可能是借鉴了就网上的一些图片啊,包括一些电子书啊或者之类的啊,还有一些网上的一些资源啊,那么这边如果有些地方没有注明啊,还请大家谅解。
那么山这边的这么一个左边这个图,我觉得是非常直观的,实际上它这个呢实际上就是对吧,大家可以看到它具有这种二维的,这种齿轮结构的设计的一个呃平面的图纸啊,然后呢实际又是我们可以看到它三维的这。
那么你这个三维的样子,双子你可以把它理解成是一个真实的齿轮是吧,也可以把它理解成,上次就是在我们这个cd系统里面,在我们cad系统里面,它显示的这个三维的这个样子,那么实际上来说大家也可以看到啊。
从二维上啊来说,他应该还是很难去直观的想象,它整体的结构对吧,但是我通过这种三维的爆炸图,就可以非常清楚直观的去理解啊,它的整个的这个设计的组成对吧,然后对它进行编辑修改的也是非常秀,非常方便。
那右边呢,当然这个呢就是一个呃类似于一种汽车的,那么这边呢是另外的一些地方,就是现在实际上是无论华为还是中心是吧。
他们上次在这个芯片方面遇到了很大的困难,遇到很宽,其实啊呃在很早以前啊,在他们这个电子行业,芯片行业啊,就有一些一个词也叫cad啊,也叫计算机辅助设计改造,计算机辅助设计,我记得我们航电以前啊。
就专门有一个就叫做cad锁啊,但这个锁呢它是在然后是在电子系那边的,电子学院那边的,也就是说呢实际上啊就这个cd啊,这个计算机辅助设计在电子这个芯片那边,他们是老早就用起来了,这么一个这个词。
那么像是对于他们来讲,他们这个设计啊可能不是呃像汽车一样,只是简单的外形的设计,而是整个的这个这些pcb板的对吧,这个线路板的,他们这个一个整体的布局布线的设计啊,这些呢实际上就是对应于我们的一个。
现在也是非常重要的一个软件,叫做eta软件,异地利人也是目前非常卡,不是一个地方是吧,那么30e d a呢,它实际上就是电子设计的一个自动化软件,自动化软件软件,所以呢我想着这个c d和e d a。
实际上在某种意义上也是相通的啊,也是相通的,那么cd的这个理论基础是什么啊,cd的理论基础是什么,然后他的这个理论基础就是样品。
就是样品,那么样条再往前追溯啊,它实际上就是一个参数表达对吧,参数表的形式,也就是说呢大家在这个高中的时候都学过啊,实际上我这个参数曲线比如一个圆对吧,我就可以把它表达成它的xy坐标。
都表示关于一个c它的一个参数x,比如cos in c的y等于sin c的,这是一个圆的参数表示,那么实际上就是说对于任意一个呃,自由曲面或者自由曲线来讲啊,我对这个曲线上每一个点我都可以用啊。
把他的这个xy坐标,都表示成关于右侧位的形式,那么实际上这个表层右和位之后,他怎么来表示呢,啊,这边呢,无外乎我们这边是采用了一种特殊的参数,标准形式,叫做控制顶点控制网格的这种结构是。
那么这种参数表示形式它来源于什么啊,最开始的基础是北约是吧,就是这个波伊斯坦基,巴基斯坦基12是巴基斯坦提出来的对吧,没想到过了将近100年之后被北约啊,这个教授啊,然后用来作为我们这个生意积累。
非常重要的一个理论的基础,理论的一个基础,也就是说通过这种北人变样条啊,然后最后推广到这个nervous,这种有力的表达啊,我们就可以建立一整套的计算机辅助几何设计,也就是这种自由曲线。
曲面造型的一套的理论基础是吧,就是以这种控制顶点作为一种工具的,一种造型的一个工具,也就是说啊,你要对这个曲面来进行造型编辑修改的话,你只要去移动这些绿色的红色的这些小球,比如说我们这个控制顶点对吧。
这边应该是一个双三次的啊,一张北的曲面,那么通过移动修改这么16个控制顶点啊,那么我就可以进行呃对这张曲面的一个修改,那么这是非常重要的,cd的这个理论的数学的一个基础,那么有了这个基础。
实际上我就可以利用控制网格,控制顶点这一套啊东西啊,来进行各种复杂自由曲面的这个建模啊,那么这是我们大致介绍,让大家了解一下这个cad啊,因为我们这边可能有些同学呃,是低年级的同学啊。
如果有高年级的同学或者研究生呢,我想应该如果学过相关的过程,应该比较熟悉的啊,大家可以呃跳过,那么下面呢实际上就是介绍一下这个,什么是c e c e我前面讲了这个啊cad啊,我你设计出来。
比如刚才的这个无论是这个船的模型啊对吧,还是下面这个类似于70的模型啊,它实际上应该和我们想象中的这种,船的模型和车的模型,或者实际中实际工程在用的模型,是完全不一样的对吧。
那么为什么我就我们最后造出来的船造了,其实是现在这个样子啊,实际上这个里面它是进行了,进行了大量的仿真优化啊,也就是说就是我们下一个阶段就是c一的阶段,那么这个c e这个e代表什么意思呢。
就是engineering,实际上就是我们计算机叫做计算机辅助工程,那么这个乍一看好像给我们,啊给我们这个仿真好像没什么关系啊,实际上我觉得我觉得呢这个c e啊,他应该是一个更广义的一个东西。
更广义的东西,那么这个c一的定义啊,实在1999年的时候啊,这个韩国这个韩国韩国教授,这个李坤厚啊,是我们cad领域非常著名的一位教授啊,他已经他应该是担任了很长时间了,我们这个cd杂志。
应该是我们cd领域最好的一个期刊了对吧,cd杂志的主编,但我记得2006年我们在呃呃杭州啊,举办了这个第一届还是第二届的,这个中日韩的这个会议的时候,当时这个呃李教授也是来到杭州了,来了。
当时我们这个是,我们我所在的那个博士生的课题组,就浙大的c a基地,这课题组举办了这么一个会,当时我是怕他从这个酒店接到这个会场,因为他当时是cad的主编,我就跟他说这个cad杂志呃。
是我们这个非常向往的对吧,就是大家都觉得,这上面的指纹上的质量还是非常非常好的,这个边界非常复杂,然后这个领域他是非常儒雅的一个人,他说的这是我的工作啊,我觉得很多的学者啊,实际上就是对于这种。
因为这也是一些学术的兼职上没有任何报酬,然然而弹呢,还是本着一种非常负责的态度来回答这个问题,我觉得很多方面都是值得我们学习的,那么要说他在199年给出当中的一个定义啊,就是呃来分析了这个cd几何啊。
就是说这个c e,他应该也是我们计算机这个系统对吧,来去分析你所建模出来这个cd几何,能够能够让这些呃用户去仿真,并且呢去研究啊,这你说当前的这个产品,它如果在真的在用起来。
它整个的行为呃性能是怎么样的对吧,然后呢,我怎么样去对你初始的这个设计进行验证啊,进行呃这个优化是吧,这实际上就是我们这个呃,c e它的一个基本一个出发点,也就是说c呢,就是需要在这个产品的研发过程中。
需要利用计算机进行这种建模啊,及性能的这个仿真的分析,那么这个性能仿真的这个内容呢,大家涉及到我们这个产品啊,一个是产品对吧,也可能是各个系统的他的这个力学性能是吧,包括你的各种的形变啊,弹性形变。
塑性形变啊,它包括它的一些这个应力啊,还有他的一些热血的一些性能,它的热传导的一些性能对吧啊流动的一些性能,包括一些升学的对吧,一些噪声的控制啊,还有他本身的一些躁动的特性的一些性等等啊。
实际上都是属于我们这个c e这么一个,这么一个范畴,那么实际上是它的一个主要的主要的一个作用,我想就是它可以替代大多数啊昂贵,而face这种物理降解的实验,也就是我们以前呢,如果没有这么一个c软件对吧。
没有我们计算机来进行辅助仿真的话,你就需要啊做大量的这个物理法,物物理的样机的这个实验是吧,比如华为我跟他们也交流过上,他们说一呃,还是有的时候真的要是去虽然很多的手机,然后去看一下我当前的这个设计。
o不ok啊,但实际上这样的话这个成本还是非常大的,那我们也现在有了数字化营养机啊,有了c e软件,那么就可以取代这种传统的物理样机的时间,当然他肯定是一个多学科的对吧,而且是对我们这个力学方面的知识的。
要求的是非常多,非常这个,重要啊,那么比如说像这个计算力学,固体力学,流体力学,生物力学和断裂力学等等,现在是卡了吗,那我可能要要要换一下信号,现在怎么样,现在怎么样。
大家可以看到吗,大家可以看到吗,不好意思啊,就这个,我这边的网络好像是有点问题,是不,大家可以听到吗,好的啊,有有同学说可以可以听到是吧好,那我就开始了,继续,实在不好意思啊。
我们讲到刚才讲的这个c e就卡掉了,看来这个是c e对这个流量这个计算的资源,特特别还是需求比较大的,那么也就是说为什么为我们刚才讲到了,这个为什么要用要用这个c e啊,为什么要用c e啊。
那么实际上我们这个播音这个,比如这边我举这几个例子啊,比如说在这个波音777的研发过程中,我们采用这个c e的数字化样机技术啊,实际上是节省了这个大量的这个物理的样机的,试飞的次数。
那么仅一次试飞啊就获得成功啊,然后呢你如果用这个物理样机实验的话,每次这个物理样机的这个实验呢,需要花费1亿美元啊,需要花费每1亿美元啊,有些图有的同学说可以了,那我就继续讲啊,如果没有同学的。
所以呢大家可以刷新一下看一下啊,那么比如说在这个汽车工业啊,汽车领域里面,我们把这个cae软件啊,用到这个汽车的这个呃测试啊,仿真里面呢,我们可以让这个新车啊这个开发周期啊,有原来的5~66年啊。
56年啊,缩减到现在的这个12年啊,缩小了1~2年,那么美国这个拉萨的这个喷气推进实验室啊,我们这种c e技术啊,啊成功的实现了这个火星探测器容器号,机遇号在红星的这个软着陆的仿真分析啊。
那么12就是说呃因为在火星上嘛是吧,你去对它进行修改啊什么的,也是非常不方便的对吧,嗯实际上就是说呃仿真结果呢,他实际上预测到了就是如意,由于这个呃他们这个上火星上面这个风啊,他们之间的这个作用啊。
然后呢是这个翻滚的可能性啊,呃这个进行得到了这个避免啊,改进的技术方案,从而保证了最后的这个登录的这个成功,就是说可以大家可以看到啊,我通过这种数字化,通过这种数字化啊。
特别是这种呃仿真的这个数字化对吧,实际上我就可以节省大量的这个物理成本,所以我觉得现在都在提出的经济啊对吧,商业,也就是说我们已经从原来开始的这种产品设计,建模造型的这种呃数字化啊。
已经啊已经呃转到对我们这个数字化政府对吧,啊特别在浙江在在推动这个数字化改革,我觉得实际上这方面呢也是可以呃,节省大量的人力和物力是吧,实际也就是说我们的数字化上,一开始我们上次在这个呃工业软件。
也就是说在我们的这个数字化产品设计里面呢,已经老早就用起来了啊,那么像我们怎么样,在这个真正的我们这个人的实际生活,就是社会呃层面对吧,社会层面去实现完全的这个数字化呢,也是有非常重要的意义。
所以呢大家是应该是啊非常容易理解的对吧,那么实际上就是说这个c e的范围啊,c e范围,实际上我们就是有这种呃传统的这种显示的,这种动力学的分析啊,实际上在我们这个pro e里面呢。
实际上这个方面呢是比较好的,那比如说像其他的ss啊,卡提亚拉斯啊,这个里面这是主要主流的,就是这个像这个有限元对吧,它实际上在这种固体力学的分析方面呢,做的比较好,还有一些这个热传导问题。
另外一个呢就是cf里,也就是我们这个计算流体力学,计算流体力学啊,上次他们在这种流体仿真理方面呢,呃也是有非常大的这个应用的一些前景啊,这些代表性的软件,就像这个flint。
还有这个phoenix c f s等,那么这边呢我还给出了一些例子啊,这边比如说这边就是一些v4 的六缸发动机,爆发了这个压力的分析,还有这种整车碰撞的这种模拟仿真模拟等等。
这边呢是一个c e的一些典型的应用啊,就是说比如说飞行过程,它的表面的压力的分布。
包括这个飞机的他的隐身的特性的分析,包括一些垂直起降,飞行器的流畅的流程的分析等等,我现在呢都是可以,通过我们c的这个技术来进行仿真,包括一些其他的非常有意思的,像这种大型的建筑结构的强度的校核。
比如像我们一些呃这个桥梁的,他的一些这种振动的,一些性能的这个仿真分析啊,实际上是对我们这种数字孪生啊,目前比较火的一个概念对吧,也是非常重要的一个呃一个技术,也就是说在数很多的这个数字。
孪生的这个场景里面,我们facebook会涉及到大量的计算力学等等,里面的一些一些技术,然后里面的核心呢就是我们的c1 ,包括一些芯片的一些散热的这个性能啊,还有像这个鱼啊,游动的一些特性的分析等等啊。
那么实际上这些都是可以看到我们这个c e1 ,些典型的应用,这边因为时间关系我就不介绍不介绍。
那么实际上是我们c e领域啊,c e或者c e啊解决问题的一个一般的过程啊,啊可以啊分为这么几个,第一个就是物理模型啊,然后呢,从这个物理模型怎么转换成相应的数学模型上,这就是一个呃,大家呃。
可能大部分同学都参加过这个,数学建模竞赛对吧,就是一个数学建模的一个过程,然后我怎么样把这个数学模型对吧,把它转换成一些数值模型啊,数值模型啊,然后通过数值计算得到相应的结果,实际上这个里面啊。
这是整个上面的一个,就是我们整个的一个流程对吧,那么实际上后下面的,就是一些用到的一些关键的技术啊,比如说像这个前处理的工具,数字求解的工具和后处理的工具等等啊,那么上这个里面就相对于我们的网格建模。
网格生成对吧,还有就有相应的数字的计算啊,包括后处理就是相当于我的一些可视化,还有误差的分析等等,那么下面详细解一下,像这个物理模型啊,啊我们在建立物理模型生活,就是。
怎么样把这种自然和工程设计中的各种问题啊,比如像这种cfd啊这些问题啊,还有载荷的这种结构的问题啊,还有这种动力学响应的问题啊,我怎么样把他的物理模型给建筑,然后我通过这些物理模型。
下一步又叫建建数据模型对吧,比如说我怎么样把这种呃物理模型,把它的可以描述这些物理模型的数学表达式,比如像这个流动方程啊,挨着方程啊啊这个结构受力的平衡方程啊,便于协调的方程啊,能够把它给抽象出来啊。
要说这个里面实际上说呃,就会涉及到各种简化对吧,各种简化就是我在各种假设下,我怎么进行简化,然后得到相应的这个呃一些数学和物理方程的,所以大家呃如果是数学系的同学都学过,有门课就叫做数学物理方程对吧。
也就是说数学和物理很多时候都是呃不分家的,对吧,不分家的,那么有了这个数学模型啊,也就是说通过啊对物理模型简化所得到的数据,目下面我就可以得到相应的这个数值模型对吧。
也是我们把不便于分析求解的这些数据模型,把它转换成电力求解的计算模型啊,也就是说我怎么样把偏微分占住,一些常用的一些数学的一些技巧了对吧,转换成常微分,或者我一般解非线性问题,我都要通过迭代。
然后每一步都是一个线性问题等等啊,这就是一些数值模型对吧,那你在搞好这个数字模型之后,后面就是一数值计算的问题,数值计算的问题,比如说包括这种大型的呃方程组的这种求解。
包括各种各样的这个矩阵的分解的方法对吧,还有一些常规方程的解法,这种非线性方程的这个迭代的解法等等,那么实际上最后呢,就是我怎么样把你数字计算的结果,能够进行校核,并且运用到这个物理问题的面对吧。
一般来说我最后得到的这么一个计算的结果,无论是它的误差等等也好啊,12是和我真实的物理实验肯定是有差距的,对吧,那么这个时候我怎样通过这种呃,cee仿真的结果,能够对你的实际的工程里面的问题来进行指导。
来进行解释,或者来进行后面为提供了后面的优化,来提供这么一个参考啊,也是非常重要的一个过程,我们刚才讲的,实际上就是说生意里面会会涉及到,会涉及到很多的技术,会涉及到很多的这个技术啊。
相对于三个不同的阶段对吧,前处理工具实际上就是网格生成这个工具,可能目前的这个cae前处理工艺可能都不信任,仅限于网格生成,还包括我的c d的各种章几何的处理,因为我们前面用cad软件。
你建模出来的这个这个cad呃,这个表示啊可能会有大量的裁剪曲面,各种各样的呃狭缝对吧,各种各样的这种自交,没有裁剪好的,还有各种各样的交错啊,这个各种都可以啊,实际上是反而这个方面呢也是非常复杂。
非常困难的一个问题啊,这也是检验我们国产cad软件啊,一个非常重要的一个一个标准,就说你能不能对这些cad几何处理的好,因为处理好这些章几何,这些不好的几何是我我后面的这个网格生成。
也是非常重要的一个前提和基础,那么这是前处理工具是吧,比如说目前应该来看,这个前处理应该是一个更加广义的一个东西,那么当然后面呢,我会涉及到这个数字求解器是吧,也是我怎么样对你建立的这个数字模型。
进行求解,那我们又要传经典的有限元的方法,有限体积的方法,有些拆分的方法,包括现在我们这次要讲的等级和分析的方法,应该都属于我们数字求解的这么一个过程,让另外后面呢我们还有后处理的工具对吧。
比如说像这些科学计算可视化啊,也就说我怎么样把c仿真的数据来进行,可视化出来呃,然后更加直观对吧,并且呢从这个可视化的结果里面,我能够得到一些他的呃,发现里面的一些规律对吧,然后呢容易我知道啊。
后面的一些优化,包括一些误差的分析啊,我想的也可以,都是属于后处理这部分的,那么实际上就是说网格生成啊,网格生成实际上是对呃,复杂c e的计算的成败呢是非常重要的,也是一个网格的好坏呢。
它可以决定这个计算的精度效率乃至成败对吧,实际上是这个在整个分析过程呢,大概是80%左右,目前的网格生成,也是一个非常重要的一个领域啊,然后我们无论是国内外,都有很多学者去研究相应的这个各种鲁棒的啊。
高质量的网格生成的方法,我们有专门的这个网络会议啊,第一次全国网格生存会议是在2021年啊,在杭州啊,有没有浙大和我们航电共同举办的,那么今年呢会在这个7月中旬,在大连理工大学举办啊,网络生动会。
也欢迎各位感兴趣的老师的同学参加,那么像网站生成的话,对于这个c f d里面它也是非常重要的啊,因为这个里面它会让涉及到大量的这种,众多的这种呃几乎众多的这个模型啊,而且呢特别是像这个e d a里面啊。
就是我们这个电磁结构啊,手机的这种芯片里面,它的这个尺寸宽度呢是非常大的啊,它会涉及到,比如像刚才演示的这个一些动网格的,一些问题啊等等,那么像生意方法这一块呢,我想就说可以分为这么几个方法。
比如像有限元啊,应该是我们c e最最经典,最最重要的一个方法啊,他上是求解的问题呢,呃范围是比较广的,也是商用的这个技术呢也最成熟的,在很多的这个商业软件里面呢啊都包括进去了,像s啊等等。
那么还有另外呢就是像这个有限差分法,因为他是原差分码的,上次比有限元要早得多了对吧,因为他实际上就是把我怎么样啊,我在求解一个p d d p d e的时候,我怎么样对这这个呃离散化对吧。
所以呢它一般来使用这个结构化网格,结构化网格,那么实际上呃这个方面呢,它的建模计算更加简单,但但是呢他更适用于一些形状比较简单的,一些问题啊,那么特别是一些流动性的一些问题。
但是很多商业软件里面集成的就比较少,那有限体积法,就是在cfd里面是用的是比较多的啊。
那么实际上是被大多数的这个呃流体,cfd的这个软件呢,所采用的这种有限体积的方法,当然我们这边呢也不是属于我们一个,主要建设的一个范畴,大家知道就可以,还有一个呢就是边界元法啊。
但是边界元法呢发了很多论文啊。
但是真正的能够作为商用的还是比较少啊,他就说他基本思想呢,就是我仅仅在这个边界上来划分网格,然后通过一些呃边界积分对吧,呃来进行纠结,但他还也会涉及到一些问题啊。
就是一些边界上的一些其余积分的一些问题啊,当然它比较适用于这种声学问题啊,还有这种波的传播的这些问题等等,那么在这个科学计算可视化方面呢,就是我们后处理这个阶段呢,实际上就是说呃我们大概有这么几种类型。
三种类型对吧,一种是标量场,矢量和张量层这些cee仿真的工具啊,那么也就是说我们这个c e后处理的实际就是,怎么样借助我们图形学可视化,可视分析,数据挖掘人交互,还有这种多学科的交叉理论。
我们把这个cee仿真所产生这种多变量,多维度,多元多模态,这种物理场数据,你这种,图形图像的形式啊直观地展现出来,并且借助我们这种交互式的这个图形系统,从大量这个呃这个生科学试卷中。
提取出一些有价值的信息出来啊,这就是我们科学计算可视化需要解决的,那么这是刚才讲的cad和cae啊,啊我们这个时间过得很快,可能刚刚才这个耽误了一点时间,我们可以适当延长个十分钟左右啊。
那么下面呢介绍一下这个优化这部分啊,然后我们这个优化呢主要介绍就是结构优化,结构优化,像这个里面主要涉及到三种优化啊,就是尺寸优化,形状优化和拓扑优化啊,那么尺寸优化。
实际上就是说应该是最下面这个图对吧啊,应该是最下面这个啊,也就是说我这边呢三就是我说的尺寸呢,就是比如说像这个呃它的一些粗细对吧啊等等,我来寻找这种最优的设计参数的组合啊,还有一些厚度啊。
参数这个材料啊,还有尺寸啊这些优参数来进行优化啊,嗯也就是我刚才说了,这个仿真不是目的对吧,我们目的就是为了去优化,你最初的这个cad设计啊,比如这边呢我就会涉及到这么一个尺寸形状。
那么形状优化呢就是对你现有的这个设计,现有的数模的形状来进行一个优化啊,那么它让适用于这种详细设计的阶段啊,比如像这个例子呢,就是用我们这个等几何的技术来进行,优化出来的结果啊,就大家都知道这个呃。
一个扳手的一个最优的形状,我们用大家平常用的都是这种形状对吧,但是他为什么会是这种形状呢,啊为什么会有这种会这种形状呢,那么实际上我们就可以让电脑来帮我们来算,对吧啊,比如说我有初始的一个设计。
我有个初始设计啊,然后我通过一些施加一些载荷,施加一些边界条件,然后呢我进行仿真求解,然后进行这个形状优化,而且我们等几何的技术呢,可以直接在这些控制顶点上进行调整修改,进行优化。
然后就会得到我们最后的哎,这么一个优化的一个模型,就是大家可以发现这么一个扳手的模型,后面实际用的这个模型是非常非常接近的对吧,这就说明我们这个呃以前的这些老师傅啊,通过个人经验所设计出这么个扳手呢。
是符合我们这个物理性能的要求,也是非常了不起对吧,所以说我们有了这么一个呃形状优化的啊,结构优化的这些技术啊,像我们就可以把这些技术啊,都可以封装在一个黑盒子里面是吧啊,实际上也就是说。
即使你没有一些老师傅的这些经验,你也可以借助我们这些软件啊,优化软件,然后可以得到一个最优的这个设计出来,那拓扑优化展最近也是比较火的,特别是我们打工的郭旭老师啊,在这方面做的非常开创性的一些工作。
那拓扑优化三,就是一种具有创新性的这个概念设计的技术,也就是说我怎么样啊,在满足你的物理性能的要求下,能够呃得到一些最好的一些材料的分布啊等等,从而达到轻量化啊这么一个目的,当时他和我们最近的这个这个。
这个3d打印基础是一个天然耦合的对吧,因为以前的这个剪裁制造。
主要是你是很难把这种复杂的这种拓扑结构,把它造出来的啊,但现在我们有了这种3d打印,特别是金属的3d打印啊,能够使自主补齐,对这种复杂的拓扑结构啊都可以造出来是吧,就说你以前很难想象。
我爸一定要这么一个类似于摩托车对吧,可以把它给提起来对吧,现在我通过这种轻量化的技术,轻量化技术,这样就可以把它给啊进行一个很好的一个,结构优化的一个结果,也就是说现在我们正常通常就是把它叫做这个。
创成式设计,传统式设计啊。
那么传统式设计呢,三就说也说我一招输入一些参数,这个我们这些算法就可以自动的进行调整判断,直接直接得到一些最优化的设计啊,这边就是用我们这种脱皮化,来得到一个桥梁的一个结果,还有其他的。
比如说西洋一些这种鞋垫对吧,还有其他的一些零件的一些结构,我都可以用拓扑优化来得到对吧,比如像一些已知的模型,也就说你很难想象,就说呃在满足这个力学性能下,他追求的结构是这个样子啊。
那么这看起来非常漂亮,就满足我力学性能,还节省材料对吧,也就是实际上是我们以前的这种传统老师,老司机,老师傅实际上也是哼哼,很难去想象啊,它的最大结构竟然是这样,也就是说它和我们身体打印对吧。
上次和就当是最后我们说啊,现在这个我们叫做仿生学,仿生学啊,也说上你在通过一些拓扑优化的一些结果啊,拓扑优化的一些结果啊,和我们比如这个骨头的里面的材料的分布,也是这个纹理是非常接近的啊。
也就说明实际上是这个自然界的优胜劣汰啊,也是满足了一些科学上,包括呃这种仿真啊,优化计算上的一些天然的一些要求,对啊,这也是非常有意思的一件事情,那么最后呢说一下这个软件对吧,工业软件也非常火。
然后像呃,最近每年我们都有这个科技部的重点研发,都有一个工业软件的一个专项是啊,12是我们前面讲了这个设计cad仿真,cae优化对吧,实际上这些软件或者工业软件基础软件,实际上是呃。
我们整个的这个智能制造产业的一个核心啊,也就是说呃现在商是因为这个国际形势对吧,当时这些软件呢是非常重要非常重要啊,也是国家也是越来越重视,也就是说,但是目前呢95%应该是依赖进口。
面临一些卡布这些威胁啊,而且呢核心技术不足,进行国产替代呢迫在眉睫,而且呢我们当然刚才也看到了啊,像这些设计仿真类的这些工业软件,或者这些技术,实际上它不仅不单单需要力学对吧,不单单需要计算机啊。
而且呢他应该是把我们这个计算机和力学呃,然后呃和物理对吧,和我们的这个数学啊,都是一个需要多学科的交叉的去进行支撑,那么c后处理软件,我们国外的这个呃这个非常多对吧,国外的这个非常多啊。
像这个paravue啊,像这个vt care,大家都应该都用过,但是我们目前应该来讲,这种我们国产的,自己能够可控的这种c e获取的软件平台啊,还是呃比较少还是比较少,而且目前的这个cae仿真的数据啊。
已经它的规模非常大,可以达到tb的量级,然后呢格式也非常多样,包括这种结构的流体的声学的啊,阿拉伯,而且呢这种实时的交互的体验的要求也更高啊,也更高,特别是目前我们无论是cad啊。
还是c e还是我们后厨人员,实际上是对这种云端化啊,原画也是非常呃重要的啊,也是非常重要的,也是大家目前非常关注的啊。
怎么样做这种啊,云化的,这种轻量化的后处理的技术也是非常重要,另外在这个优化方面啊,这种拓扑优化软件实际上是当前主流的,像比如说像这个era的啊,其他的也包括他的inspire对吧,那么像这个西门子啊。
好多desk assets啊,啊卡缇亚里面都都集成了一些拓扑优化,结构优化的一些技术,但是呢目前应该来说目前应该来说还是啊,我们这个自己自主可控的软件还是非常少啊,当然我们也是在这方面呢,来来呃。
这个呃多努力吧,然后这个里面会涉及到很多对吧,因为像特别化这些基本上都是服务于我们航空,航天的一些高端的一些应用,那么实际上是对这些功能的,它是严格禁运的,而且后面这个泄密的这个呃。
危险的也是比较比较大,那中间的比较大,那么也是存在这种卡脖子的反手,国家真的是越来越重视啊,我们从2017年确立的,要集中突破工业软件产品,然后到2020年啊,那么到2021年,阶段计划。
包括到现在啊也有不断的有些新的文件出来啊,新的文件出来,应该说我们工业软件呢啊非常重视,应该我说前途呢也是非常光明的,也就当然,我也这边也是希望我们这些年轻的同志们啊。
能够投身这个工业软件的这个大潮中去对吧,不要老是盯着这些互联网企业啊,然后能够有些情怀,为我们工业软件的突破呢贡献自己的一些力量,好前面讲了那么多啊,实际上就是怎么样,就是把我们的这个呃产整个的产品。
数字化设计与仿真优化的全流程,他的字里面设计的一些背景,一些概念对吧啊,包括一些潜在的一些应用的一些场景,给大家应该是做了一个综合性的啊,非常粗略的一个介绍啊,当然里面有些观点可能不大的。
还请大家多多指正,那么下面呢我再花一点时间来介绍一下这个呃,我们这个整体和分析,等你的分析啊,也是我们这次课啊的一个主题对吧嗯,比如说为什么为什么会啊,要提出等你的分析这么一个技术啊。
那么像我们前面讲到了啊,咱们可以再回到这个图啊,包括下面我们看一下这个图啊,这个图的标题叫做c e z e的语言鸿沟问题,对不对啊,那么这个语言鸿沟来自于哪里啊。
我们说cad我们建模是用nervous解析表示参数,表示亮点表示是吧,它是有严格的精确的数学表达式,是一个无限精确的对吧,是一个解析的表示啊,然后呢我要通过网格生成离散网格,也就是说无论你离散成网格。
然后来做有限元啊之类的,p d d的求解对吧,也就是说你无论怎么离散,你总是有误差的,对不对啊,而且在后面你要还需要进行后期的各种的这个,数据的交换啊等等啊,就在k前,我以一条光滑的曲线是吧。
那么无论你啊你算成100段还是1000段对吧,你或多或少肯定是有误差对吧,那只是大大小的问题,是大小的问题,那么桑杰说这个里面呢呃这个还好啊,误差很在这个里面会还会产生一种语言的鸿沟。
就是说我c1 d的语言是nbc语言,然后你c a e和优化的语言是网格语言,是离散化的语言,对吧啊,那么商业说大家在用各种软件的时候都知道啊,我cd我我可能是pro e是一种数据格式。
auto cad是一种数据格式对吧,3d max又是另外一种设置数据格式啊,pro e又是一种另外的数据数据格式,然后我这个转来转去的时候,里面会涉及到大量的数据格式的转换啊。
当然虚拟转换里面会不可避免的,出现一些误差啊,所以说我们也有一些公司去专门研究,我怎么去实现这些格式的转换啊,这也是一个非常重要的一个课题了,比如大家来看啊,比如大家来看啊。
一般呢我c e d输入的数据对吧,我们会不会给大家讲这个曲线曲面建模啊。
那么大家知道那边讲到那边就知道我这个呃,一般比如说它是一个变量条,那我又控制电缆的个数啊,有接触有节点限量的信息,有控制顶点的xyz坐标,这是我的cad的格式,是这样的对吧,而你通过这个cae仿真。
所输出到的这个物理场的格式是什么呢,那比如说一个off的格式,它可能就只有xy z坐标,然后每个网格顶点上对吧,它的x y z坐标,再加上他的第四维的这个分量,就是它的这个物理分量是吧,你求助的。
大家可以看到你的cad数据和c e的数据,它的格式是完全不一样的,是完全不一样啊,所以说这个里面呢会带来一些问题,就是我刚才讲的啊,你通过网格生成啊。
会带来误差对吧,而且这个误差你后面经过呃这个结构优化,会得到一个类似于如果是提速的方法呢,会会得到一个提速表示对吧,那你这个提速表示呢,你也不能直接把它导入cd系统,但需要进行cad的重建啊。
这个方面也需要一些工作去做,然后呢去得到相应的这个呃,就是你优化结果的cad表示啊,所以说这个里面会涉及到很多的,增加很多的工作量,增加很多的工作量,这是三的这个语言鸿沟问题,那么这个语言鸿沟啊。
一个是离散误差,实际上比如说对我们一些特殊的一些仿真问题,比如说像一些翘的问题对吧,翘反正问题啊上去说,虽然你这个误差很小啊,但是翘他对这种误差翘的仿真问题,对这种误差的这个敏感度是非常高的啊。
他会非常大的去影响啊,这些呃法院的这个精度,那么另外一个呢就是带来的效率问题啊,像我们前面讲过的啊,啊,无论是在这个我你如果是因为数据的并不一致,所以说你要进行网格的生成对吧。
在这个里面还要去进行前面那些前处理啊,特别什么几何的分解啊,几何的修复啊等等啊,包括一些网格的操作啊,这会带来很大的这个工作量,很大的工作量,另外一个效率还体现在什么呢,啊。
就是说比如说我这边来做一个空客的,a380 的,a380 的一个机翼前缘的一个优化,设计的一个结果啊,就是这个这个结果对吧啊,我需要得到这个结果啊,那么我需要进行啊这个设计域的网格划分啊。
然后进行拓扑优化,然后进行结果的提取,进行再进行这种诶边界的边界的处理,尺寸的优化等等啊,然后呃得到我最后的这个cad模型,这个优化结构的cad模型啊,实际上这个里面你会用到大量的啊,可能不止一个的哎。
商业软件这边的实际上就是中了三个对吧,按这个ob抓,还有这个hle match和卡迪亚,也就是说实际上呃,这个是对你这个我们这个工程师的工作,带来了很大的这个工作量,也就是说会也会引起这种呃效率的问题。
那么也有说实际上你说我怎么样去呃,弥补这种语言鸿沟对吧,就是我非常重要的一个需求啊,也是我怎么样去实现啊,几何建模,物理仿真结构优化的数据,表示的真正的一致性就成为大势所趋啊,大势所趋啊。
实际上这么一个需求啊,最终几何建模,物理仿真结构优化的数据表示一致性,这么一个需求,也曾经在一篇论文论文里面啊,被列为cad面临的十大挑战之一,然后我们中望对吧,我们cd里头企业提出了奥运y这个c x。
对于奥运one的一个概念,但是他们的概念上是,目前还不涉及到等级和技术,但我想啊,就是说他们也是呃也是有这个需求对吧,也说什么样真正解决这个c d c e的语言鸿,沟的这么一个难题啊,事实上是啊。
目前啊我们需要迫切解决了这么一个问题,那么为什么会为什么会出现这么一个问题啊,让我们也要去思考思考对吧,那么实际有限元是f1 ,实际上在上世纪40年代提出来的,而我们真正的样条北约这一套东西提出来。
是在七里面提出来的,也就上这么两个方向,它实际上是一开始是啊各自孤立发展是吧,也就是说做有限元的人可能对呃样条啊,计算几何啊,这些是不甚了解啊,那么研究计算机的人,可能对有限元呢也是不熟悉的。
也是不熟悉的,但后来我们这个时钟时钟池老师吧,应该是提出了样条研修仙缘的这么一个方法嗯,但是呃在他的这个方法里面啊,他还是就是说把原来的这个行函数,哪个档次基函数换成了什么样条函数。
换成的样条函数上是并没有完全解决,就是说几何建模,物理仿真结构优化的数据表示一致性的问题,比如说他那个样流有限元,本质上还是需要进行网格划分的对吧,还是需要进行这种离散的网格剖分的,然后等几何呢。
就是在这么一个形式之下被提出来的啊,比如说是在2005年由美国商人认识他们,修斯教授提出了二手脚没trignice,这么一个方法,把它翻译成啊,现在应该是国内比较认可的一个啊,翻译叫做等几个分析啊。
当然也有一些老师把它翻成了同几何分析啊,但意思是一样的啊,但好像目前这个用等几何啊的比较多比较多,那么它的基本思想是非常非常简单的啊,非常非常简单的,也就是说,既然你能用样条这么一个数学语言。
来描述你的几何的外形对吧,那么你能不能用样条语言,样条语言来描述物理场呢,嗯当然是可以的,对吧啊,无外乎对吧,我就是比如他这个标量场对吧,我就把那个控制顶点的那个啊x y z对吧,你再加一个w。
那么这个w这个分量啊,就是再加上这个呃这些样条基函数啊,加权求出来的就是你的物理层的结果,这也就是说这样的话,所以说我这个控制顶点对吧啊,上去可以把它看成一个,比如四维或者更高维的控制顶点。
就是x y z w啊,然后后面再是一些基函数的一些线性组合,然后我想我就通过这么一个方式呢,我就用同一种语言,是不是我就是实现了对吧,用同一个数学语言来表示,你的几何外形和物理场。
当然这边啊一个非常重要的一个概念啊,就是说我现在的这个计算单元,我的计算单元已经不是那些小的三角形或者,三维文件,就是小的四面体了啊,我的计算单元就是我的节点区间所对应的,曲面单元或者体单元。
因为我大概知道样条它是定义在节点区间上,对不对啊,那么我每一个节点区间,比如说从0~1啊,它在你的这个曲面上,都对应于一个一个小的面片子面片,对不对,一个曲面片对吧。
那么这个曲面片就是等你和里面的这个呃,计算待遇啊,我想这是啊等几何和有限元,它之间最最本质的一个区别啊,包括和样条演演员,它最本质的区别就在这儿,在这儿就是我的计算单元不一样,我的计算单元不一样啊。
也就是说这样这样这样来看的话啊,这样来看的话,实际上我就说我可以啊,通过cad建模,我得到一个nervous的一个b rap,也是我的边界表示对吧,有了这个边界表示之后,我通过体参数化对啊。
我通过其他的话会得到它的一个nervous的,一个呃体单元的一个表示对吧,那么在这个体单生换上,将就我的作为我的计算域,然后呢来进行呃,等级和通过等级分析方法来进行pd的求解,最后得到一个什么啊。
用nervous是表示的一个物理场,懂lovers表示的物理差,那么我这个nervous表示的物理场和我的,你原来的这个nervous也是一致的呀对吧,只要我在这个nervous通过呃。
基于这个nb表示的那个物理场,然后来我进行相应的这个设计优化,那么而且我设计优化的时候,比如你做形状优化的时候,我这个优化变量,直接就是我初始设计的控制零点,对吧啊。
也就是说就像你原来编辑你的这个曲面形状,一样的来优化你的这个优化顶点,来优化你初始的这个形状啊,这样的话是不是更更简单,更直接更明了,对不对,也就是说这样的话呃,我就可以把建模仿真优化。
都在同一个样条空间里面得以解决啊,实现了他们之间真正的一致性,真正的这个一致性,特别是在后面的,我想在优化上就有,特别在形状优化上比它更先天的这个优势,那么这样的话,实际上就是说我在整个过程里面啊。
如果你是去剪一个表面的一个一个问题的话,实际上你都不需要生成网格了对吧,不进行不需要进行题材的化是吧,但是对于结构的问题,我还需要进行体态的话剧,我需要把这个呃边界表示的内部中一样流体,把它给填起来啊。
这个我还是需要的是吧,但是你如果是求解一些表面的,比如翘的问题的话,实际上你完全避开了这么一个过程,关键关键匹配的这么一个离散化的一个过程啊,也就是说我在整个的大家大家大家看到。
我在每一步所有的这个哎都有nbs对吧,比如说实现了他们这个语言的真正的一致性,那么我们再回过头来看,相应的这个在i j一里面的,它这个数据表达对吧,你相应的原来的cad数据还是这样的对吧。
控制顶点的个数。
这个结束节点向量信息,控制顶点的xyz坐标,那我最后通过等你的分析方法,所求得的这个c一的数据啊,比如你的这个温度场对吧,你还是这样表示的对吧,还是控制变量的个数阶数啊,然后节点向量的信息啊。
还有控制顶点的x y z坐标不同的是什么,是不是多了第四维的一个分量啊,多了第四位的一个分量啊,那么这个第四位的这个分量就是来控制什么呢,啊来控制你的这个field,也就是说实际上这样的话。
大家可以看到,是不是我的cad数据和你的cad的数据啊,是不是就完全一个格式了啊,我原来还是一些离散网格对吧,报复格式op j格式,现在的话就完全就是都用样条,方方程式本来进行表达。
那么所以我们来看一下这么一个等几何啊,等你和和有限元的它这个区别区别对吧啊,就在这我刚才说了。
当它本质的区别啊,最最本质的区别应该是第二点就是计算专业啊,当然大家如果能够理解到呃,把这个第二点理解透了啊,我想你就上去掌握了,等你后的精髓了啊,真的精髓了啊,就大家可以后面后面可以理解一下。
什么是节点区间所对应的子面片啊,大家回去再翻一翻,我们的这个样条的这个课本啊,然后看一下这个节点圈,对应的纸面片是什么东西啊,然后就可以,我想呢就可以从本子上理解,我们这个登记和他的一个呃基本思想啊。
核心思想,但我们大家都知道样条我可以插入节点,我可以生间提高次数对吧,而且呢插入节点提高次数都是保持几何不变的,对吧,哎这也是非常好的一个呃一个一个一个性质,实际上有限元它是不具有的是吧。
那么我们可以在更从更高层次上去分析一下啊,去分析一下我这个等级和和有限元对吧,他们呃之间会有哪些优势呢,啊等于相比于有限元,首先第一个啊,我的cd的几何和你的物理场c e飞机的集合,对吧。
是在同一个样条空间里面啊,避免了数据交换的问题,而且呢我是在精确的cad几何上进行仿真的求解,对吧,不存在任何的几何离散的误差,对吧啊那么对于我们某些问题是非常重要的,这一点啊,另外呢。
而且我的物理仿真实际是它是一个保持的cd,减了光滑性和高阶性质是吧,类似于我们这个高阶单元一样,或者高阶的一些方法一样的对吧,他在某些方面上是呃是这样子,另外一个我想这两点非常重要,大家还是要呃。
呃也是要把这两点好好好理解一下,第一个就是说精度的提高,我怎么来提高精度的啊,也是我在同样的自由度下,可以达到比较高的精度,大家可以想想为什么对吧啊,因为它是高阶嘛对吧,而且比如说原来为一张曲面对吧。
不用4x46个控制定点就可以啊,高精度的去表示一张曲面,对不对啊,但是你原来可能需要几千个呃,三角网格才能达到这个精度对吧,你如果是同样的自由度呢,如果从几千个控制定点呢,那我这个先用这个c e。
反正求解的精度肯定高了嘛对吧,当然我觉得非常重要的啊,这个下面这一条更加重要啊,就是说在同样的啊,同样的这个精度下,需要较少的自由度,需要较少的自由度,它带来的是什么呢,效率的提高。
还是刚才那个那个例子对吧,我同一个曲面,我用控制订单表示,只要4x46个控制定点就好了啊,但是你用三角网格可能要几千个自由度,那你这个带来的这个效率的提升,是非常非常明显的啊。
虽然我们在呃前面的研究工作里面,包括很多同样研工作都证明了这一点啊,在很多问题里面,它的效率提升是非常非常显著的啊,另外一个就是我刚才讲的就是这种加息啊,局部加息操作的能够精确的保湿即可啊。
而且最后一点我觉得也是非常重要的,就是说在后面的结构优化啊,无论是在形状拓扑优化过程里面,我是直接可以把你初始设计的这个形状,比如说你初始的这个cad的这个控制病变,作为优化变量,作为优化变量啊。
也就是说我最后输出的这个优化的结果,结构这些结构优化的这些结果,我就直接可以导入啊,cd系统啊,cd系统啊,就是避免了在这在需要对前面,这个像这种体术化的一些操作一样,还要进行cd的重建啊等等对吧。
所以这样的话呢,我就啊也是它一个非常重要的一个优势啊,也就是说上面这些优点应该决定的,等你的分析在某些特定的应用场景中,应该说具有这种先天的优势,应该等你的分析从20057年提出来啊。
应该说中间3年从2005~2008年啊,这这3年应该相关的论文啊是非常少的,非常少嗯,那2008年呢只有八篇啊,只有八篇,那我恰好呢也是2008年博士毕业啊,然后在那个王一平教授的推荐下。
然后去法国音乐啊那边学习,等你和刚好他们登记和那边的,就有一个欧盟的一个fp cv的一个项目,就是来做登记和这件事情啊,那么商也是集中了欧盟的一大帮这个大咖啊,然后来做这件事情,那么像他们呢。
我想就是说实际上就是说能够把等级和呃,你推到一个新的高度啊,可以大家可以发发现就是说从那以后呢,这个相关的论文呢就是越来越多了啊,越来越多了对吧,到现在啊,这是我去年我统计到了2021年的数据了啊。
当时应该还是只是,应该只是到10月份啊,他应该就在我们这艾斯维尔这个数据库里面啊,应该就有600多篇的和ig相关的这个论文啊,应该是目前应该经过这么十几年的发展对吧。
10年的发展应该还是呃目前的在这个计算力学,计算几何啊,包括啊计算数学啊领域,一个非常热的一个一个一个研究方向,当然这个发展趋势我后面也可以讲,因为时间问题我就跳过了,实际就是现在啊。
应该大家的关注的热点都开始了。
一些简单的啊一些问题啊,然后越来越关注一些复杂的一些问题,这边呢就是一些一些应用啊,一些应用啊,比如说在汽车模冲压模拟啊,他上次可以看到一个呃敲的问题啊,比如说在同样的这个进度下。
可以节省一半的这个时间啊,一半的时间啊,这边就是一个留过我的问题啊,当然这个也是可以回答,就是刚才为什么我说呃,在加息过程中可以精确保持几何有用对吧啊。
因为这边,比如说这个浅色的部分是我的流体部分啊,since的部分是我的固体部分对吧,我在得到这些仿真结果的时候,我可能需要进行加息对吧,嗯那我加息的时候呢,嗯我在等你和这个框架里面啊。
正是因为样条我在做这种加气的时候,它是可以什么啊精确保持边界的啊,所以说在这个六体流体和这个固体啊,公共的部分啊,公共的部分实际上是我是可以精确保持不变的,对吧啊,如果你用传统有限元。
可能就会呃出现一些缝隙啊什么之类的,可能就不会不会满足后面的一些,仿真的一些需求啊,所以说这是呃就是我插入节点啊,这个边界经常保值,对应的ig呢在这个刘沃国里面会有天然的优势。
那么这边是一个非常有意思的问题啊,这边就是我们呃呃在这个心脏瓣膜闭合仿真。
模拟的一个流口合的一个卧底一个问题,就我这个心脏瓣膜啊做到这个血液的冲击对吧,那么实际上是呃这边呢这个整体的优势呢,还是非常明显的啊,嗯那么在同样的精度下,这个有限元花费的时间。
大约是等几个分析的500倍啊,那么也就是说有些人需要500多个钥匙啊,我们等你和啊,只要用一个小时呢就可以把它给放的出来,那么这边呢是一个接触问题啊,接触问题的仿真啊。
为什么接触问题里面等几盒也有优势呢。
啊其实也非常容易理解对吧,因为接触的地方啊,我是如果用等几盒的话,然后我就可以保持两个接触面对吧,它精确保持不变啊,你如果用一些无论你离开什么三角网格啊,还是四边形网格,还是其他的一些网格表的形状啊。
你会在握手总有误差嘛对吧,那么基于我们等你和这个框架下,我在这个接触的地方也是可以啊,精确保持不变的,上次这个也和我们刚才那个刘文和,是一个同一个道理对吧,另外呢还有一些像这种铁电材料。
相场模型的一些计算啊,那么12是呃等体和呢也是有它的优势啊,为什么呢,因为在这个问题里面啊,它会涉及到一些高阶导数项的一些计算,高阶导数项的一些计算啊,那么当我们用传统的这种c0 的。
线性的有限元的方法,也是很很难去把它给,很高精度的啊,把他给仿制出来的啊,那么我们和浙大航空航天学院啊,这个老师有王杰教授合作是吧,然后把等级和用到了这种铁电材料,相场模型的计算里面啊。
我就发现了这个精度上啊,还有它的性能上啊,那么会有很大的这个提高,也就是说登顶盒呢非常适用于这种啊,对这种高阶导数的一些呃计算的一些场景啊,那么这边呢我们是把它呃,这个等级和弄到这个这边。
这个视频放不出来,放入到这个软体机器人的这种招弹性的材料,的非线性的动力学模拟出来,模拟仿真里面,比如我们也可以这边类似于一个桥梁吧对吧,我们这边是加一个1000牛的一个力。
就类似于风力啊或者什么之类的,然后设计设计拿了一些材料的属性,然后我就可以把这种受力情况啊,因为现在我们是做了一个非线性的动力学的,一个仿真,它的这个在不同时刻的构型和位移的分布,把它给计算出来。
而且这个在计算效率上啊,这种结果在计算效率上,比传统的有限元的一些方法呢,要提高了6070倍左右,6070倍左右,那么我们在这门课本里面,后面的课程里面,也会有专门更加呃细致的给大家讲一下啊。
这个等级盒是怎么用在这种非线性动力啊,这种超弹性的材料的方式逻辑里面,啊这边是一个超短线的一个翘的一个方向,啊我刚才讲的就是另外一个。
还可以把这个等级和用到一些形状和拓扑,优化问题,这个时候呢你的这个是所有的优化变量对吧,所有的优化变量就是这些控制顶点,就是这些控制顶点,这要是给我们后面的这个呃,优化呢也是带来了很很很多的便利性。
好这是我就是给大家介绍一下这个等几何,简单介绍一下等级和它的提出了这个背景,就说为什么要做等几何呃,提出登记和这么一个事情对吧啊,它的基本思想是什么,大家可以发现它的基本思想非常简单对吧啊。
就是说我上就是打控制零点是吧,这一套东西不仅仅控制控制形状,我要控制它的这个物理场的呃,这些仿真的这个结果啊,那么这个很遗憾对吧,等几何不是我们呃搞计算几何的啊,同志们提出来的。
而是做计算力学的这个修士院士取取出来的,所以说为什么为什么啊,我也我当时也也思考了很好,我觉得还是学科交叉的重要性,因为我们不了解啊,我们当时确实不了解这个有这个需求对吧,如果我们要想要知道a。
我需要把这个cd和cd的数据啊,要实现无缝融合,五真正大一统啊,那我觉得我们也是可以讲出了对吧,这么一个案列出来,那么正是因为我们这个修士教授是吧,他了解里面这个需求啊。
所以呢他啊可以想到这么一个单体分析,思想,然后开辟了这么一个新的方向,我觉得这是学科交叉啊,真的非常重要,所以也希望同学们能够再进入,可不仅仅就是去学习自己本领域的是吧,也可以听听其他领域的一些报告啊。
真的会或多或少都会有一些收获,那么最后呢再给大家介绍一下呃,这个呃后面的这个课程的安排啊,因为大家可以看到我们整个课呃,安排了14次啊,安排了14次啊,但是这个里面可能有些地方我会做一些调整。
相应的这个内容呢呃这个一些整合啊之类的啊,那我们下次课呢还是要给大家啊更,从细节上给大家啊深入的讲一下这个曲线,曲面躯体的建模的一些基础啊,因为我们这个整体盒呢啊,它真的就是说用是样条。
是它的一个非常非常重要的基础是吧,所以这边呢我还是想给大家呃仔细讲一讲啊,这个相关的一些理论基础,如果呃有些同学对这方面非常熟悉了啊,可以跳过啊,可以跳过,那么后面的话还是给大家想给大家讲一讲。
这个有限元的框架,有限的框架,因为等几何的框架和有限的框架,基本上还是非常类似的,无外乎就是它的表达形式上,还有他的这个呃计算的这个单元啊,这些格式上可能会有些不同啊。
然后后面呢会呃也可以介绍一下网格生成啊,包括呃面向等几个分析的网格式呢,就是这个平面参数化和体参数化的问题,包括后面一些简单问题的求解,像这个泊松线弹性啊,超弹性啊,那么还有配点法,包括形状拓扑优化。
以及我们最近做了一些工作啊,基于体系分的这么一个建模,仿真优化一体化框架,还有这个深度学习的这个,把这个ai放到这个文具盒里面啊,这是后面的一些课时的安排啊,课时的安排。
那么我们整个的后面会有一些编程的作用,这次应该是没有啊。
我们这次主要是做一个宏观的啊一个介绍,那么我们下一次啊应该会有一些编程的作业,就基于我们课题组的igame平台啊,后面呢我们也会把这个平台啊开源开源出去啊,里面会基本上会涉及一些呃。
会给大家提供基本的一些数据结构,特别是网格的啊,也会给大家提供一些样条的啊,一些一些呃一些类的一些定义啊,包括啊一些求职的算法,求导的一些算法啊,加戏的我准备作为给大家作为一个作业吧,让大家去实现啊。
那么应该应该下周吧,就是我们本应该很快就会给大家呃发布出来,大家呢也可以事先呃先这个浏览一下,看一下这个结尾,整个我们整个框架啊,应该还是结构还是非常清晰,非常简单的啊。
也是希望大家能够多多这个给我们一些输入啊,做出一些输入啊,然后我们可以看到一些输出的一些结果好吧,就是说希望能够大家在这个平台上能够,做出自己的一些贡献,我们希望能够把这么i game平台对吧。
呃如果里面能够集成进你的一些,比如实现的一些代码啊,或者一些呃呃新的算法之类的啊,那也是非常一件事的,这是自豪的一件事情啊,那么我们这门课呢也是呃,有我们那个徐金兰老师和呃谢金啊,我们优于博士。
还有王宁啊,作为助教,大家有什么问题,都可以在这个我们这个qq群里面提出来啊,由他们呢来给大家做出解答,然后实际上我们登顶盒是有一个微信群的啊,如果大家感兴趣的,可以扫码,然后加入我们这个输入交流群。
当然我这是我的微信号的这个二维码,大家如果愿意啊,相互认识一下,也欢迎啊,加一下我的微信,好我们今天的这个专业,我想就是呃就是如果对这个曲线曲面啊,建模部分啊,有不熟悉的同学啊,大家可以呃先预习一下啊。
特别是北泽学院里面,还有样条的一些基础理论等等,好我们今天这节课就到这儿啊,不好意思,中间因为网络的原因啊,这个断了几分钟,看大家群里有没有一些问题啊,我们可以留个几分钟时间和大家交流一下。
啊有有刚才有同学反映群的二维码过期的啊,不好意思啊,我这个疏忽了那个,我等会儿发到两个群里面吧,啊谢谢,啊刚才有同学问i game支持linux系统吗,目前都是支持的unix mark。
还有这个windows,我们都有同学在用,还有同学问有没有一首一些推荐的书籍吗,包括样条的这个曲面曲曲线曲面的一些知识啊,这个我们后面可以给大家推荐一下,i g a会取代f一吗,这是一个很好的问题啊。
这是一个很好的问题,我只能说ig是有限元的一个有益的补充啊,就是说对于某些问题某些问题啊,ig是有它先天的优势啊,先天的优势啊,但是啊如果想短时间内取代有线源,还有很长的路要走啊。
我觉得可以上目前一些商业软件啊,无论是up还是其他的一些软件啊,包括这个,autodesk对吧是啊,包括西门子吧,然后都是在这方面都有所布局的啊,有些甚至都已经写到插件里面。
也就是说我觉得写的插件是一个非常好的一个,一个做法啊,有一个做法就是说当有人说等你和啊,实际上是可以作为呃i g的一个有益的补充,也就是说如果某些问题,你想用等级和你用等级合,但是你也可以用有限元吗。
啊这个也是不是说已经是对吧,嗯有你为我哼,我想就是说i j啊,应该如果是真正取代有线源,还是有很常用的角度啊,包括呃怎么样实现这个体态的化,包括对一些流体啊,他这种复杂结构的仿真啊。
还有各种各样的问题吧,应该还有很多的问题啊,技术的一个难点值得去攻破,有同学问这个,等你和面对的共性难题是什么,我想还是体参数化的问题吧,对吧嗯方也有说呃,目前实际上是如何用有限元。
那么四面体网格的生成,已经是非常非常成熟了啊,应该都是问题不大的,感觉非常稳定很棒对吧,我总是能够生得出来,但是就是说呃对这种呃有裁剪曲面组成的表,面对吧,那么我只要它的内部啊生成这种体的表示。
特别是样条体的高阶表示,目前来看应该还是比较困难,因为我后面也会讲,它实际上是和我们六面体网格的生成啊,有点共通的地方,有点共通的地方,所以就是说这个应该我想问一下,是它的一个呃非常重要的一个瓶颈问题。
而阿根平台目前还没有开源啊,我们下周的某一天应该就会了,等你和有些人是如何结合的啊,其实这也是一个非常好的思路啊,所以在很多的比如像一些流过耦合问题里面,他们就是把这种固体的那种等级核来做。
那么流体的部分呢是有限元,传统有限元方法或者有限体积法来做,那么因为等你和如果在做流体呢,还是有一定目前还是有挑战的啊,那么实际上目前来看呃,这也是一个比较好的一个思路,就特别是就是说我把两者的长处。
能够都结合起来,i j可以和深度学习结合吗,呃可以了啊,我们已经前面有一些工作了啊,我们也有一个硕士生,还有篇论文发在c基地上,就是来做这个呃,基于深度学习来做ig的这种呃计算模型生成。
当然也是可以考虑的,分块结构轮对面体网格啊,当然当然等几个试用啊,但是我还是需要把它这种呃,分块的这种力面体网格,把它转换成样条体,i game平台可以和matlab联动吗,目前目前没有这方面的考虑啊。
我们还是希望能够直接基于啊,c加加来做来进行开发,但是你可以把你的matlab的结果把它输出出来,实现就是两者的数据的这个一个呃一个接口啊,这个应该是没问题,基于深度学的js p i a那种吗。
嗯类似吧,但是我深入细节,我后面会有一次课会会给大家讲啊,到时候我再仔细讲,好已经8。40了,我们这次课就到这儿吧,我们这次在线的人数已经将近1000人了嗯,非常感谢大家的关注啊。
GAMES302-等几何分析 - P10:10. 基于等几何分析的拓扑优化 - GAMES-Webinar - BV1dM4y117PS
好各位老师各位同学,那我们现在开始我们j的第四讲。
那么我们这一次课呢,主要给大家介绍基于等级和分析的,拓扑优化的这部分内容,我们上次课呢给大家介绍了,这个基于登记和分析的形状优化对吧,那我们说形状优化啊,主要是去优化这个模型的这个外形。
那是在形容一化里面的,我们前面说过啥,就是体现了这个等级的飞机啊,非常大的这个优势,较大的优势,那么相对于top优化啊,也是作为我们结构优化的一部分对吧,那在这个引入等级和分析之后,会有哪些新的方法啊。
或者在整个框架上有没有一些革命性的改变啊,之类的啊,那么我们也是啊,通过这次课呢来介绍目前基于整体和分析的,拓扑优化的一些相关的一些工作,那么实际上目前基于等级和分析的这个拓扑,优化的工作是越来越多了。
目前估计也有,上百篇的这个论文了啊,那么实际上就是说啊从我的理解来看啊,就是说目前基于等你分到拓扑优化的,这份工作啊,基本上应该还是一些经典的拓扑优化的方法,的一些扩展啊,一些扩展。
比如说在等级和分析框架下的一些扩展,那么实际上就是说真正的啊,能够体现等几个分析优势的,这种特殊优化方法啊,目前目前来看啊,应该还是,比较少啊,比较少,所以所以呢我们也是通过这次课能够让。
特别是前面可能对拓扑优化啊这部内容啊,呃不是特别熟悉的同学呢,可以呃我说那个嗯进行一些初步的一些学习啊,就是说了解拓扑优化呢是来做一件什么事情啊,那目前一些主流的方法有哪些啊,有哪些。
然后怎么样能够把等级和分析的这个图比画,和我们基于有限元分的图标优化啊,来做些比较,看看确实有哪些优势对吧,希望呢就呃也为我们以后啊,呃如果有同学啊,有有兴趣在基等几个b的拓扑优化方向呢。
继续深入研究的同学能够提供一些呃参考啊,那我提供一些参考。
那么这是我们今天要讲的呃主要的内容啊,首先首先呢给大家介绍一下这个拓扑优化的,它的这个背景啊,还有他的一些主要的应用的一个领域对,然后介绍这个相应的几种比较经典的,特别有方法啊,主要这边呢主要有四种啊。
第一个呢就是基于这个simple的top优化了啊,第二呢是基于这种双向接近结构的演化的,这种图表化方法,还有呢就是基于我们呃打工郭旭老师团队,提出了这个呃,基于这种移动可变形组件的啊top优化方法。
然后呢是基于这种live set的图表方法,应该做四种的,应该是我们这个基本的这个拓扑优化方法里面,呃比较经典的四种方法也是呃体现了啊,他们之间的这个基本的思想,各方面呢还是有很大不同的啊。
所以呢我们就给大家介绍下这四种啊,比较经典的啊,他不用画的方法,最后呢来介绍一下,就是说我们最近在面向之中,特别是这种像素是体术式的特别法,方法是做了一些后处理啊,还有这个cad重建方面的一些工作。
那么首先介绍一下这个什么是拓扑优化。
拓扑优化来做什么事情,那么这是实际上是我们上次课的一张slide,一张ppt,那么爷爷说我们结构优化啊,实际上可以分为拓扑优化,形状优化和这个尺寸优化,那我们上节课呢主要给大家介绍了,这个形状优化是吧。
那么可以发现呢呃基于等级分的形状优化,确实呢呃相比传统的形状优化方法啊,要有比较呃大的这个优势啊,那么其本质呢,实际上就是来源于我在我的整个的物理,仿真的阶段和优化的阶段的,都是啊,以我的这个什么啊。
控制零点上的这个变量啊,来作为这个设计变量啊,也就说实际上就是把我们的物理仿真,和我们后面的这个形状融化的过程啊,完全融合到了通过控制顶点,控制网格这一套东西完全融合到了一起啊。
所以可以呢非常明显的就可以体现出啊,这个等几何的优势来对吧,那么top优化呢,我们说的就实际上就是怎么样来实现呃,通过改变这个呃,物体的这个一些内部的一些材料的分布,来达到最好的这个力学的这些性能。
对力学的这个性能啊,那么实际上这个呢也是目前啊,在很多的呃这个领域呢,都有很多广泛的这个应用,广泛的这个应用啊,而且呢特别是随着这个问题,这个3d打印的这个增材制造,这个技术的快速发展啊。
那么top优化呢,实际是为我们提供了一个更好的一种,创成式设计的一个工具对吧,一个工具,那么杀这个工具呢,那么我们就是说呢呃这个名词大家还是要知道,这是创层式设计,就那个这个创作师设计师。
二是应该是从这个英文翻译而来的,叫做这个generative design,那么实际上也就是说呢,呃它实际上就是和我们上节课讲的这个形状,一块一样的啊,就说这个用户啊可以不必去理解啊。
就说我最后的这个拓扑优化的结果啊,它是怎么来生长出来,也就是说用户呢可以完全可以,就是可以把这个拓扑优化里面的这些啊,无论是我们后面讲的各种四种方法对吧,可以其实这个用户不必要了解,去了解这些四种方法。
它背后的数学原理啊,物理基础啊,这个优化的机制是什么啊,那么这个用户呢,完全可以通过一个类似于一个黑匣子黑盒子啊,然后你只要去指定一些它的边界条件对吧,还有它的设计空间啊。
然后就指定你的一些目标的函数啊,然后你的一些约束对吧,然后这个我们计算机啊,这个软件呀,就可以自动的啊,帮你呢去算出他最优的材料分布啊,最优的这个拓扑设计是什么样子,也就是说呢实际上是目前top优化。
它可能已经不仅仅是一种啊优化的一种工具啊,仅仅是一种结构优化的一种工具,而现在呢他已经变成了一种从设计方面啊,就是说我们把它,你看它已经呃和这个设计这个名词啊,这个绑定在一起了,变成一个创成式设计啊。
也就是说他很多更多的时候呢是来做什么啊,概念设计的概念设计啊,也就是说它实际上是一种具有非常强的创新性,的一种概念设计的技术啊,也就是说实在我们产品设计的一个最初阶段,我为了满足这些呃好的力学性能。
又满足我的一些对吧,设计的一些约束啊,还要满足一些我要保留多少体积啊,保存多少,保留多少材料啊对吧,然后你的设计空间啊是什么样的,包括目前这个怎么样去满足,一些制造工艺的约束,也是拓扑优化呃。
很多的这个目前的一些科研,这个工作里面都都涉及到的对吧,包括妈咪的很多论文里面都有写的对吧,面要制造的这种呃结构优化的技术,那么实际上就是说呢就说这个拓扑优化呢,目前应该呢呃来看的应该就是喝一种字。
可以把它称作成一种更为先进的一种设计,概产品概念设计的一种手段啊,概概念的手段,那比如说这边呢就是大家非常熟悉的,赵州桥的这个模型是吧,那么实际上你说这个模型是怎么来的。
当时肯定肯定我没说这个1000多年前,这个我们的这个呃老前辈们肯定是不知道啊,怎么他是呃这么一个模型对吧,它只是凭经验来设计出来的啊,但是呢我们现在呢如果用我们拓扑优化的技术,让计算机帮我们来算一算啊。
然后就是我去设定一些约束条件对吧,这边固定,然后这个桥面上施加一个往下的载荷对吧,然后我要算一算,他这个最优的这个材料的分布,应该是什么样子的啊,那我这个计算机的自动就会给我们算出来。
它这个呢就应该是这个样子啊,也就是实际上这种材料的分布这一种啊,概念的一种设计,和我们呃这个老总在1000多年前设计出来的,这种赵州桥的结构还是非常非常累,接近对吧,非常非常接近啊。
也就是说呢实际上就是说呃我们这个初始的啊,这么一个设计对吧啊实际上是来源于什么啊,虽然是来源于我们这个师傅们的经验对吧,但他确实呃在一定程度上是达到了这个呃,力学性能上的最好啊,并且呢还节省材料对吧。
怎么样去,而且呢去满足我的一些这个这个这个呃,一些这个蟹黄啊方面的一些要求对吧,那么也就是说实际上我们说拓扑优化啊,实际上它最终的结果啊,就是怎么样来确定一个具有最大载荷的路径,的一个设计方案。
比如说我这个在我的这个设计域里面呃,比如在这么一个挂钩的一个透明化设计里面啊,我这里红色的就是材部分,就是我要呃我有我要保留的这些这些部分对吧,也说我怎么样把这种呃这么一个设计语里面的。
它这个最佳的材料的分布,把它给自动化的算出来啊,就是就是我们top优化需要解决的一个问题,那三随着这个拓扑优化技术出现,那么我们可以让计算机帮我们做一些,个性化的定制啊,而且这种定制随着这个3d打印啊。
特别是一些金属的3d打印的一些技术,增材制造的技术的出现了,这样是可使得我们的一些拓扑优化的技术组的。
可以啊更广泛的应用我们的一些实际的生活,比如说这边呢就是呃,所以一个可以拎起来的一个摩托车,对吧啊,也就是说就是可以实现什么这种摩托车的一些,轻量化的设计啊,也就是说实际上这边的我挖的这些洞啊。
这些设计出来的这个金属部分的这些拓扑啊,比如说啊如果让我们凭空的去想象,你很难是想象它应该是这个样子的啊,但是呢我现在呢就可以通过拓扑优化的技术啊,通过这种创成式设计的手段啊,就可以啊。
就可以把我们这个摩托车,它最优的这种框架结构,把它给自动的算出来,把它给自动算出来,那么这样的话呢就可以实现这种轻量化啊,轻量化,实际上这种技术呢在其他的一些领域呢。
也是被很多的力采用了对吧,也就是说我们说的这种拓扑优化,基于这种拓扑优化的创造性设计呢,实际上就是我们通过一些我们的结构优化的,一些软件中的这种拓扑优化算法对吧,自动生成艺术品,建筑模型或者机械模型。
模具的这种一些最优的啊,一个外形的一个设计方法,我觉得他这边呢已经是一种概念化的一个设计。
那么这边呢是给出了一些更呃,其他的一些例子啊,比如说我们这个像穿的这个鞋子对吧啊,我我希望这个鞋底啊,它这个里面怎么样能够呃鞋子更轻对吧,当然我们这个鞋鞋垫呢,这边呢可以。
也是可以通过类似于这种多孔结构啊,多孔结构来进行设计,来实现这种呃鞋子的轻量化啊,包括自行车的轻量化啊,还有一些比如这种零件的气,这种轻量化是吧,也是我初始的设计域呢是这样的对吧对吧。
那我给它施加一些载荷,加一些约束啊,然后再满足一些他的这个呃体积,需要满足这些条件,然后呢,我就可以自动的把它整个相应的材料的分布啊,把它给算出来,那么这边呢也是一些例子啊。
特别是像啊这这边的这个模型对吧,实际上也就是说如果让我们用传统的呃方法啊,传统的这个经验去设计这么一把椅子啊,让我们去很难想象他最优的结果是这个样子,但是现在我们通过拓扑优化,通过创造式设计。
通过计算机啊,就可以自动的自动的帮我们,把这么一个最优的这个结构啊,把它给计算出来,特别是现在对吧,我们有了3d打印,然后对于这种呃,上次如果用传统的这种c a c,这种这种数控加工的手段呢来对他呃。
来做一个制造啊,是比较困难的啊,但现在我们有了这个3d打印嗯,实际上这方面呢也就迎刃而解,也就是说,实际上我们通过基于这种拓扑优化的创作设计,我们可以让设计师通过以传统的这种手动建模。
不获得一些思想的灵感呢,就可以创造出一些不同寻常的对吧,复杂的集合结构设计的一些作品,也是可以实现这种个性化的定制,而且我们可以发现,就是说呃这边是这边,应该是我们这个荷兰代尔夫特大学。
吴静老师团队做了一个工作,对他们实际上就是呃优化了这么一个东西啊,可以发现我最后拓扑优化出来的这个结构,但这边也算是打印出来的,主要是和我们传统的,后面真实的这个自然界中的这种骨头,纹理的这个分布啊。
还是也是非常非常接近的,对吧啊,这边就有电这个仿生学的这个味道,你说实际上我们的自然界是非常厉害的啊,就是说它实际上呃这个所构造出来的对吧,我天生所具有的这种结构形状啊之类的。
应该是在我们也可以用我们科学的手段去呃,原理啊,这些去解释都可以发现的,都是高度的这个吻合的,那此外呢比如在航空航天里面啊,像这个呃左上角这个图啊,就是发表在这个nural内存上面上面的一篇论文。
也是这个应该是丹麦,而做这个top优化,最最厉害的那个就那个那个做这个对吧,呃他们的所做的这么一个结果,实际上也是通过一些并行计算,高性能计算,我们可以实现这种机翼的这种最优结构的,这个设计啊。
实际上也是呃,可以是可以为我们这个呃可以发现啊,就是说这个拓扑优化对吧,不仅仅可以用在一些日常生活里,而且对这种航空航天的这种重大装备的,它的这个设计的话也是有着非常重要的,这个应用。
像这个右上角这个图呢,就是对我们这个输577这个战斗机的,它的材料的一个拓扑布局的一个优化是吧,下面这个图呢就是对于一个直升机啊,它的这个不,这个相应的一些拓扑优化的一些结果,包括在一些航空里对吧。
那么实际就像这个a380 飞机的这个。
隔板的优化啊,也是可以啊,用来做这个相当于面向这种,我们说a380 的这种结构的轻量化轻量化,那么这边是一个汽车的一个应用的一个例子,是因为我们一边搬到我们这个汽车的轮子。
这边实际上是他是这个这个轮圈啊,这边实际上就是一般都是实心的对吧,现在呢我通过这种拓扑优化的这个技术,拓扑优化的技术就可以实现啊,就可以实现这种呃,相应的这个轻量化的一个结果啊,就可以发现诶。
这个它相应的这个呃结构最优的结构啊,应该而是应该是这个样子的,这个上次也是和我们平常的这个想象对吧,嗯还是有着一些区别,但是啊这么一个名字,我们通过3d打印啊,啊金属的三打印可以把它打印出来。
然后叫起来啊,确实也是能够满足这个汽车在行进过程中,它的一个相应的一个性能方面的一个要求,此外在这个建筑设计里面啊,在建筑设计里面呃。
实际上这个也是有比较好的一些应用的啊,比较重要,像呃一些这种建筑建筑结构的设计对吧,我们通过头部的话,也是可以设计出非常漂亮的一些结构出来,这个像应该是呃澳大利亚还是拿那个团队啊,就是我们那个谢老师。
谢一鸣老师团队也是专门把这个top优化啊,把top优化运用到这个建筑结构设计上啊,并且开发了相应的一些软件,那么实际上后面的还是,我们还可以把这种拓扑优化对吧,呃进一步的进一步的加深做强对吧啊。
特别是在航天里面有呃,实际上比如像航天五院的一些公司比,就是说呃,如果我能够把我的这个呃,自身的这些运载火箭啊,或者其他的这个飞船啊,里面的这些结构能够做一些呃,比较可观的轻量化的这样的。
这也就意味着他们是可以多带一些东西啊,上天的对吧,实际上这个时候在我们的航天事业里面,是非常有用的啊,实际上目前很多前沿的技术啊,包括把这种点阵啊,还有这种多孔结构啊,啊应用到这种金属的3d打印啊。
这方面包括在航天里面,已经啊他们在开始在用起来了啊,那么实际上就是说呃这种多孔结构对吧,可能还不仅仅是宏观的这种拓扑优化,而它涉及到一些微观的拓扑优化,这样子也可以从进一步从这个材料的组成。
材料的结构方面的进一步的去进行,相应的这个这个优化,可以更好的呢去减轻这些结构的这个重,那么实际上我们前面给介绍了这个拓扑优化,特别好,以及相应的这个创成式设计的一些概念对吧。
就可以发现这些确实是拓扑优化啊,以及这个相应的创作设计,在我们很多的这个随着3d打印技术的发展,对吧,在我们很多的,无论是日常生活还是一些航空航天啊,这个机械方面的这个重大装备方面。
都有着非常好的这个应用的场景啊,非常好的这个应用的场景,那么现在就来看这个传统的这个拓扑优化问题,如果从数学上来讲,他应该是怎样来解释的啊,怎么样来解释的,这边的三维是呃,借鉴了这个和戴夫特大学。
这个吴健老师的一些ppt,我觉得他从他这个角度来看,给大家讲这个拓扑优化呢是啊,非常好的一个思路啊,非常好的一个思路上,我们就可以把它一个看到一个是toy problem,就是类似于玩具的一个问题啊。
大家很多都玩过这个乐高对吧啊,乐高那么长,这个乐高这个东西,这个拓扑优化这个问题我们先去这样解释啊,这最简单的一个悬臂梁的一个问题对吧,那么所以说悬臂梁呢就是左这个左边呢,这边挂在墙上,我是固定的啊。
然后右边呢我我我施加一个往下的力,施加一个往下力,所以现在拓扑优化的问题是来解决什么的啊,他就是解决就说我这个内部啊,这个物这个计算域这个矩形对吧,这个10x20的这个呃矩形啊。
这个有200个格子组成的对吧,那么这200个格子这个矩形呢,就是我的这个设计对吧,我的设计,那么有了这么一个设计,与我们现在要解决问题是什么啊,也就相当于我这些呃乐高啊。
这些blocks我走放在哪些地方啊,能够让我所形成的呃,就是我这些乐高的这些block所形成的这些呃,这个形状这个shape它具有最强的刚度对吧,最强的刚度啊,那么商就是就是通俗来讲。
就是这么一个问题对吧,那么也就是说现在我有100 10x20,有200个格子对吧,然后我要把它要放60个blog,60个vlog,那么也就是说我这60个blog应该怎么放,应该怎么放,对不对啊。
那么这60个blog怎么放,如果啊有同学很明显,就是我们可以直接都可以想到这段,大家可以想一想这个怎么来做对吧,它是一个什么问题啊,不就是一个排列组合的一个问题嘛,对吧啊。
也说我把这60个vlog放到这200个格子里面,我有多少种选择,但我要找到其中一种最好的一种选择对吧,最好的一种选择,那么就是来求我top优化问题,实际上准确的来讲就是这样来做对吧。
也就是实际他是一个就是在我们这个问题呢,它应该属于一个什么啊,就是一个离散优化的一个问题,是离散优化的问题,也就是说我们可能可能的这个解有多少个啊,可能的这个解有多少个,那想想爷爷说。
我们刚才说的就是一个排列组合问题啊,排列组合问题啊,就是我从200个里面选60个对吧,那我们可以算一算,我这个所有的这个design总共有多少个啊,所以我算出来应该是呃,7x10的51次方种选择。
也说实际上就是说我呃如果啊严格来讲,就是说我是,实际上也就要从这7x10的51次方个,这个选择里面,我选到一个这个最好的一种设计对吧,最好的一种材质的分布啊,那么这是我们的呃。
针对我们这么一个问题来讲对吧,因为它是呃作为一个二维的像素化的一种拓扑,优化的一个问题对吧,离三化的一个特别的问题啊,所以它就是一个离散优化的一个问题,那么对于这么一个离散优化的这么一个问题啊。
那么我如果这边给你这么一个a b c啊,总共有三种选择对吧,三种选择,那么这边怎么选呢啊我问你下面的这个,abc对吧,abc他等相应的这个选择哪一个是最好的呢,那么a这边我是选的60,从20个里面。
你看这个是三行吗,就是就是60对吧,就是60个格子啊,那么b呢也是是一种选择是吧啊,c呢也是一种填法啊,c呢也是一种填法,那么我问大家,就说这三个选三个填法里面,哪一个是我们想要的啊。
是想要的可以满足这个干度这种,那么其实如果有同学啊,研究过或者接触过一些,拓扑优化的一些知识的话,就可以知道应该选哪一个啊,那是选c对吧,那是选c,那么为为为什么选c呢啊为什么选c呢。
实际上我们可以来来做一些验证啊,开来做一些验证啊,就是说我可以对吧,如果按照刚才的做法,我可以让这个格子更密一点对吧,原来你是10x20,我如果现在变成,比如说是30乘以乘以乘以40啊。
或者或者更多的更密一点对吧,那我相应的这个格子的弦对吧,我最后形成的就是这个样子对吧,我有三种选择三种啊,当然我是可以做一些验证啊,做一些验证,就是说我可以通过呃,你说我优化后的结果对吧。
我可以同样的通过用这个有限元分析,或者等几个分析再来算一遍啊,我在这种结构下啊,如果我最后保留了部分啊,最后保留的部分就是我的黑色的这个黑格子,这一部分对吧啊,那么如果这样的话。
我最佳的选择选择是什么啊,最佳的这个选择是什么啊,他们他现在这个性能怎么样对吧,我是上,是可以通过有限元或者等几何来进行验证一下,是吧,来进行验证一下,那么我们可以看一下这个验证的结果对吧。
可以可以发现诶我c的这种设计啊,c的这种设计啊,确实可以,它相应的发行这个呃高度是最最最大的,对不对啊,因为我的这个它的发生了位移,就几乎没有发生位移,就几乎没有发生位移对吧,就是比较稳定的啊。
但是像这个a和b啊,如果我占用这个有限元再重新来算一下的话啊,那么它这个相应的这个位移,还是会会会发生的变形对吧,会发生的变形,发生了位移,这三就说明就是说诶就是说可以发现啊,c这种设计是最好的啊。
是最好的盐酸,实际上啊实际上就刚才我们说,这么一个拓扑优化的一个设计啊,实际上就是它是在我们这种基于像素的,或者基于提出的这种方法里面,他就是一个什么啊,离散优化的一个问题对吧,离散优化的问题。
但是对于这种离散优化问题来讲,我们是很难去进行求解啊,很难进行求解的去求解这么一个优化问题,因为它这个可能性太多了,就像有7x10的51次方啊,这是一个非常偏文的一个数字对吧。
那么也就是说我怎么样去求解,相应的一个这么一个离散优化的有问题的啊,那可以建造一个思路对吧,嗯就像我们三前面前面有次我给大家讲,我怎么样把这种哎这个最大值函数对吧,然后呢变得可微啊。
商也就说我在数学上呃,在这个数学上有很多的这个套路,很多的这个方法呢可以去做一些放松啊,或者做一些改造啊,然后呢,哎我基本的目标,还是朝着这个目标去努力了是吧,但是我在这个过程中。
就可以把相应的这个问题的难度呢,把它大大降低了啊,这实际上是在我们很多的这个实际的科研问题,里面经常会碰到的对吧,我怎么样把一个呃非常难以求解的一个呃,无论是优化问题还是其他问题就好还好对吧。
然后我把它放松啊,然后把它呢能够变成一个比较更容易解的,这么一个问题,那么商业说一个非常直接的思路啊,就是说啊我们可以把离散优化问题啊,top优化的这么一个离散优化问题,把它简化成呃。
放松成一个连续优化的一个问题啊,也就是说实际上就是说呃我希望啊,比如原来目标,我希望他的这个呃柔度最小对吧啊,在满足我的物理性能下,这个柔度最小,然后呢满足一定的呃体积的一些约束对吧。
然后这个roi呢对吧,我原来只是有有有一种选择对吧,要么是零,要么是一啊对吧,就是零一优化的问题啊,就是我要么是这么一个离散优化的问题对吧啊,要么是零,要么是一,然后呢我把它现在放松呢。
我可以让我的这个呃这格子的密度啊,格子的密度啊,变成一个连续的啊,连续的一个表达可能有表达啊,我要我这个roi呢,它可以是从零在01之间的啊,在01之间的,然后这个里面呢你们就可以把一个比较难的啊。
一个啊二级问题啊,二值优化的一个问题,把它转换成一个啊相对更容易的一个呃,连续优化的一个问题啊,那么实际上这也是我们后面要给大家介绍了,这个simple啊,这个方法它的一个基本的一个思路啊。
就那个思路啊,他的思想呢就是我爸啊连续优化问题啊,离散优化问题把它转换成什么啊,连续优化问题,那么sa simple呢它就是我们这些sodic是topic。
make rostructure,vi ponalization,作为作为惩罚的这么一个方法啊,比如说他是这种带冲拉系数的啊,各项同性的啊这么一个呃结构的方法啊,有时候上它是假设我这个材料的物理属性。
和我的这些呃单元密度之间,它存在着某种对应关系,然后通过引入一些惩罚因子呢,对这个中间密度质量来进行惩罚,然后说比如说呃,尽量的避免产生这个在0~1之间的,这个灰度单元啊,也就是说我们从呃。
以这个0~1这个区间系列的连续变化的,这个呃密度单元来表示这个结结构,它是存在的对吧,如果是密度单元是零,就这边是空洞啊,密单元是一呢,就代表是实体啊,实体实体,那么实际上是在simple啊。
simple是我们啊目前应该是结构优化里面呃,用的最多的一种方法啊,用的最多的一种方法啊,因为它迭代起来呢呃比较稳定,比较稳定,而且呢呃比较高效啊,而且比较容易理解啊,上市目前在呃top优化方面的。
应该是非常主流的一种方法啊,应该说每每一位呃开始学拓扑优化的同学啊,都会先学simple是吧,那simple那么实际上就是说它的缺点呢,就会就是呢会产生一些数值问题,就是比如像棋盘格对吧。
还有一些比较依赖于你的这个初始的这个,背景的网格啊,然后会产生比较多的灰度的单元啊,因为我们是希望能够尽量平面产生这个,0~1的混沌,因为你有了灰度单元,就实际上也就说明你我这个呃。
最后优化出来这个结构,它的边界在哪啊,这个就是比较难去确定啊,所以呢我们呃通常需要引入一些比如灵敏度啊,还有他的一些呃呃过滤的一些算子啊,这些东西啊,包括一些这些方法来进行解决,啊这边就是下面的颜色。
比如说像这种棋盘格的现象啊,棋盘格的现象呢实际上就是说,就就显得这种锯齿状非常明显对吧,而这些特别是一些孤立的一些锯齿状,而且它就可以会产生一些,非常脆弱的一些结构啊,非常脆弱的一些结构。
这个当然不是我们想看到啊,想看的啊,另外一个就是灰度单元比较多啊,就是它边缘不清晰啊,边缘不清晰,我们很难确定哪些是它的这个边缘啊,满清时代的边缘,那么实际上就是说啊等几何啊。
也就是说如果我们把基于样条的这种仿真啊,包括他的一些表示啊,引入到这个simple的框架里面的啊,主要就是说还是会带来一些好处啊,第一个就是说呃因为我们基于这种拟合呢,它这个它本来就是一个连续的一个。
向量函数对吧,而且呢呃它每个奇函数,它实际上是有一个局部的支撑空间的,那么在这个局部支撑空间内,它实际上就是自动的,就会有一些比较好的啊这种呃过滤的啊,这种情线还可以避免啊,这种棋盘格的这种现象啊。
棋盘格的这种现象啊,而且另外一个呢就是说呃,和我们前面介绍的一样对吧,等你和上他这个计算所需要的这个自由度,比有些人来讲应该是少了很多了啊,应该说在呃一些大规模的这种呃优化问题上啊。
特别优化问题上它的这个效率会比较高啊,这等你的一种方法啊,当然了,就说因为它本市场还是基于simple的方法来做的啊,所以说他在呃最终的优化中呢,可是可以可能出现这种边界不光滑的。
这种网格依赖的这种现象啊,那么他的这个基本思想啊,如果在我们登记和的特别化里面,它实际上就是说我开通这个控制点,这些密度来呃来计算啊,通过相当于我在这个控制点数,给他放一些密度值对吧,然后呢。
来计算这个结构中任何位置的这个密度值对吧,这个上次和我们啊,这就是相当于把我们这个dk对吧,放到这个和这个g函数做个加权啊,也就是说这样我以等级和单元中的中点,位置的密度。
来表示这个单元的这个密度就可以了,也就是说我这个得控制点的密度和,等级和单元密度之间的这个关系啊,我们可以通过一个呃,和我们这个样条这个表示一样的,通过一个奇函数加权的形式来进行实现啊。
那么说simple呢,它基本上最后的实际上就是一个最后一个字,这个p这个就是乘法对吧,也就是说他对这种中间的这个密度呃,单元呢来施加这个乘法,让它的单元的材料的模量啊降低啊。
那么这样呢在这个优化过程中啊,逐渐的被被移除掉啊,那我们可以定义相应的一个铲子,一个模型啊,通过这个铲子模型,实际上就是我可以哎,把这种连续离散优化的问题,把它连续化对吧,因为肉呢是在零一之间的对吧。
那么一般呢这个p呢,我们也是一般是乘以4÷3的啊,也就是说这样的话,我们就可以把这种单元的刚度,矩阵和我的这个它的材料属性直接放在一起啊,也就是说如果一个它是实体单元的呃,磁体材料的话啊。
这个就是我们知道的快点对啊,因为我们这边不可能是纯实体单元了,那么因为他有个密度值,所以说我可以这样来,这样就可以得到这个呃,在这个材料模型下,他现在的这个单元刚度啊,矩阵,那么商业言说。
如果我们以结构柔度的最小化为目标,对吧啊就可以写成这样子啊,那么呃a呢,就是我的这个等级和里面的这个,单元的数目对吧,然后相应的这个材料属性啊,啊这个诱饵就是你得的那个布片或位移嘛。
啊开点就是刚度矩阵是吧,让他这么多满足一定的体积的约束对吧,比如说我最后保留的体积大概是多少比例,什么之类的都可以放到这,然后满足我的一些力学性能,可以有等于f啊,那我这个肉呢当然是要满足这个东西。
也是这就是我们在等你和的,就等你们分析的这么一个simple的,这个拓扑优化的一个框架的,就是这样子,那么当然我们也是同样的啊,我们需要呃做这个灵敏度分析啊,因为它本质上还是一个基于梯度的优化问题啊。
梯度的一个优化问题,也就是说我相应的这个目标函数c啊,他对这个d开口设计变量的灵敏度啊,我们可以去去去算一下啊,当然在我们整个的这个计算过程中啊,因为我们这个那不是啊,或者样条这个基函数。
还是具有这个局部支撑性的对吧,比如说它这个定义域范围是有限的对吧,是有限的啊,那么还是相对比较独立的对吧,所以说呃我的d开头控制节点,它所影响的这个等级和单元的数量还是有限的,是一个np是吧。
是一个np啊,那么实实在这个里面呢,我们刚才也讲过,然后在基于等几何的这个框架下,它的这个sim的这个灵敏度过滤,是一个有着非常好的呃一个一个性质啊,就是说也就是我这个单元灵敏度。
可以由单元对应的嗯这么一个控制,顶点密度通过ng函数组合得到啊,并且一个控制点呢会影响多个单元对吧啊,也说实际是对我们这个,避免这种吸盘格的现象呢起到了一定作用啊,今天的作用。
也就是说我们实际上就是可以直接,可以通过样条啊的定义啊,来进行这种呃,即单元的这种啊灵敏度的这个过滤,那么啥也说,如果那不是这个基函数次数越高对吧啊,那么这个单个控制点它影响了单元数据越高。
相应的这个过滤性啊就越好啊,另外一个就是我怎么样去求解相应的这个,结构优化设计的问题啊,也就是说这个实际上就是说这个simple方法啊,那么我们一般呢就在用这个,oc的方法来进行求解啊。
那么它主要是比较适用于这种求解,设计变量比较多,优势条件比较少的优化问题啊,那么这边呢我们也是可以更新啊,他的呃去定义它的一些更新的一些规则啊,也就是说我做一个呃,我就是我在每一次每一步迭代里面。
我相信了每个单元的这个密度是肉,它是怎么来更新的啊,那么这边是基本上就是一个分情况的来考虑啊,分情况来考虑,那么这边呢就是呃给出了一些这个simple啊,优化的。
这边就是一个m b b量优化的一个问题啊,那么他这边这个载荷不是放在中间,而是放在我这个右下角,这边是固定的啊,这边也是100x200的啊,毫米的这么一个设计域啊,那么如果初始的拓扑是这个样子啊。
那慢慢的我通过多少次的迭代,大家可以看到这个类似于就慢慢生长是吧啊,然后慢慢的怎么找对吧,现在这个柔度大家可以也从原来的122,一直降到79。26,79。26,然后自家的这个科普的这个材料的分布呢。
也是进行了一些变化,那么当然我们也是可以啊,可以和这个把这个啊基于等你合的拓扑优化啊,基等你合的拓扑优化和,基于这个有些人的拓扑优化呢来做一下对比啊,来做一下对比啊,就可以发现什么呢。
啊这个虽然从结果上来看好像差别不大啊,但是确实这个等你和他在一些灰度单元上,可能还是呃有所小小的改进啊,啊但是在效率上确实还是提升了啊,还是提升了啊,那比如说对于这么一个80x40。
这个它的自由度这边是啊将近2万个自由度啊,那么在这个基等几何的这个图标化里面啊,这个是7000个自由度啊,那么现在呢这个优化所需的时间有限元,是十秒啊,那么这边呢是大概呃一半啊,减少一半就4。73秒啊。
那么基本上都是这个水平嘛,啊大概就降降低一半多的样子啊,也就说这样的话虽然就是说可以发现啊,我们继续在这个等式几何的这个框架下啊,确实我基于这个呃嗯等几个分析的这个突破。
优化呢要比有些人分析的话来来的的更更好啊,可以得到基本可以得到一致的,这个优化的结果啊,也说它的构型啊,还有它的柔度啊,最后的基本上可以收敛的,还是非常接近的,但是确实在效率上啊得到了提升啊。
得到了提升,你说这些这前面的这一个呢,我们是首先的给大家介绍了,基于这个simple的这个拓扑优化啊,simple的这个方法的拓扑优化啊,也说就是我们这个变密度法对吧,便秘的发啊。
那么实际是对于这个边牧的方法,它实际上也是一还是一种军医化的一种方法啊,那么实际上便秘度法呢所需要的这么一个呃,设计变量的数目相当于金融化的,一般的均化方法呢,它的数目是大大减少的啊。
因为我们这边所说的这个变密度呢,一般是指基于这种单元或者节点的这种伪密度,方法的这种拖布就换啊,那么这种方法的商是从他的这个思想上啊,还是比较简单的啊,思路比较清洗对吧,然后你包括整个编程啊。
设计啊都是相对还是比较集成的啊,比较容易的,应该说目前很多的这个呃商业的一些结构,优化的一些商业软件里面所经营基层的,最最多的就是这个呃simple的这种便秘的方法啊,还有一个呢就是说呃。
这个变密度法相对于这个呃其他的方法的,最大的优势,就是说他对于这种任意行动的设计,也都是比较合适啊,那么它上也是具有一些天然的普适性啊,这种天然普性实际上是对于比如后面讲的这个。
无论是呃leveset还是其他的商,就是就是商是不可比的,那么这是首先给大家介绍这个simple的,基于simple的这种呃特别玩方法,下面给大家介绍一下啊,这个。
给双性渐进结构演化的这种top优化思路啊,那么实际上呃我们说simple,它基本上是类似于增长的这种这种原理对吧,那实际上是呃这个呃渐进的这种思想呢,基本上就是说我是从呃去移除的这种思路啊。
也就是说实际上我怎么样从你的这个格子里面,我怎么样去把这些啊没用的格子,先把它给把它给删掉啊,把它给删掉啊,然后爷爷说呢,这个呢就是说啊,我怎么样移除这些低效的这些单元啊,反正我保证了我这个结构。
不断朝着最优的结构进行演化啊,也是所以说你在删我呃,我先删哪些单元对吧啊,然后我我怎么删啊,这个三就是一个比较重要的一个问题啊,比较重要的一个问题啊,那么商一开始出现的就是这种单向的,这个eso啊。
这种演化的方法,后来呢就出现了这个bl的方法上,就是基于这种双向的啊,双向的话也就是说当他在每一次的迭代更新中,我能够先把这个低效能的变成呃这种空单元啊,但是我在每次迭代的话。
我可以把这种高性能的空单元变成十单元,也是能够进行一个呃,如果你这个删的太厉害了,我可以进行恢复啊,那么上这次也是一个非常好的一种思路,就是可以避免误删嘛啊不免误删的啊。
也就是说所以说呢就是说呃还是存在的,就是吧我又怎么删掉和添加嘛对吧,恢复嘛啊,所以说我怎么样能够保证得到最优的,也是比较重要的啊,也就是说实际上我们也是可以,在这个白色的方法里面啊,受这个呃。
根据像这个simple一样来引入一些乘法因子啊,那么然后实际上就说我我希望能够呃,再加上一些过滤的一些手段的话,我可以实现这种非常接近,我这个通过零一优化所得到的这种这种结果好。
那么这就是我们这个双向间隙结构,它的拓扑优化的一个模型,也就是说我希望也是有这个优化最最小柔度啊,那么外乎就是说我这边呢呃c就是融入函数吗,那么这个k和u呢,就是它的呃这个全局的高度矩阵。
还有全局的位移向量啊,然后呢,我最后卫星呢,就是我希望达到了目标的这个体积的分数,我的体积的比例对吧啊,然后这个单元密度是呃x最小或者一啊,也就是说实际上就是说这个x me。
实际上就是来表示我这个空单元的这个密度,也就是实际上这个里面非常重要的,就是说呃我要确定哪些单元是要被删的是吧啊,所以说这个时候呢就要通过来算一下,也是需要算一下的这个灵敏度对吧,做一下灵敏度分析。
商业的需要算一下,我这个相应的,比如这个额额度最小的这个目标函数,对每个设计变量,它这个导数要求一下偏导是吧啊,那实际上在等你和里面,这个上也是有着天然的优势的对吧,它因为是一个连续的一个表达。
所以呢我是可以通过在求导方面呢,也是比较嗯直接的啊,也就是说像我这个单元的密度上,是也是通过控制点的这个密度,通过那不是g函数的一个组合来得到,那么当我们就可以得到一个单元,灵敏度的一个表达式。
是简短灵敏度的一个表达式,通过这个单元灵敏度的表达式,我就可以知道哪些单元灵敏度啊比较小,拿的哪些单元灵敏度比较大对吧,我上去可以做一个排序算法,做一个排序是吧,然后再让我通过排序之后。
我希望删掉的是什么啊,肯定是那些啊,先删这些难灵敏度比较小对吧,因为三角人民度比较小的话,上次也就是说,现在对我整个结构的性能影响比较少啊,这样的话实际上就是说哎,比如你要保留这个70%啊。
到商品就可以慢慢删,我每一次比如2/300啊,然后我大概三个,比如迭代个呃呃十几次,20次,然后就可以达到最后的这个保留体系,这个目标的对吧,但是就是说你比如我删到这个2%之后。
我要重新再算一下这种等几个分析再算一下,我相信的这个呃,这个结构的性能变成什么样子的对吧,然后呢我再对剩下的这些单元,然后再做一个呃求灵敏度,然后再算上,然后这样的话就是我再,然后我再重新做个排序是吧。
我再删掉里面的2%啊,然后这样就一直让一直迭代下去嘛,迭代下去之后,实际上就是我就可以得到,那经过比如说啊20来次迭代,我就可以剩下,最后剩下百分之六七十的这个体积,我就剩下了,那么我继续。
所以里面的这个观念是什么,就说我怎么样呃,计算这个单元的灵敏度对吧,那么我们这边也是可以在等你和框架里面,我们可以把它给推导出来啊,把它给推导出来,而且是一个解析的一个表达。
也就是说这边呢我们实际上是呃,有些进化的一些策略啊,对吧啊,就是说比如说卫星是你最终要保留的,这个目标的体积,那么那么未开呢就是我地空地开次啊,迭代所得到的对吧,然后这个e2 就是我前面说的。
就是你希望在每一次这时候你是三多,百分之多少啊,就是这个每次迭代最大的体积变化对吧,比如说你这样是可以2%,也可以是5% 3%对吧,就是实际上也就代表了你这个进化比啊,你这个进化比。
那么实际上也就是说我决定了每次迭代里面,他这个最大的这个体积的变化啊,当然我这边要定义一个收敛准则对吧啊,也就是说嗯如果我经过多少次迭代之后啊,迭代之后我上一次的柔度和下一次柔度。
他们之间的这个呃目标函数,它们之间的这个值相差非常小啊,那么就实验就说,我可以意味着我已经达到收敛了啊,一般这个excel我们是取的是0。001,也是这样的话,就意味着最近十次迭代呃。
这个目标函数的值啊,相差都非常小了啊,那说明我这个算法基本上已经已经收敛了啊,那么就可以不需要再进行这个继续往下优化,就是它的一些更新的一些策略对吧,那么这边呢就是一个就在等你的分析框架下。
这个bl的拓扑优化的这么一个,算法的一个流程的一个示意图啊,那么你就说你首先基于这个nb啊,这个建模对吧,可以来创建一个设计域啊,然后你定义优化及所需的这个呃参数啊,像那目标体积啊,要进化比啊。
就是百分之多少啊,还有这个相应的乘法因子啊,然后你可以对这些单元设计,它的一些单元的材料属性啊,打印模量啊,保证比啊,还有载荷啊,以及支持约束的一些条件啊,然后针对这个整个结构进行,等你和仿真分析对吧。
然后计算啊我这个每个单元的灵敏度,然后进行这个灵敏度的过滤啊,比如说我要删哪些单元,是也就说三句,说这边呢就是说根据这个目标函数,还有单元灵敏度来,根据这个进化比来决定下次呃迭代目标的体积。
然后你更新这个设计变量对吧,比如说确定我删掉了,让你整个结构都发生变化了嘛,然后你可以更新设计变量啊,然后看一下是不是满足底角色啊,啊还没有满足对吧,呃就说明还还可以删对吧,还可以删。
那么继续对你更新后的这个结构啊,进行这个等级和分析对吧,因为你现在这个密度,每个单元的密度啊,什么这些都不一样了嘛,啊那么三爷说你进行一个等几个分析对吧,包括删掉了你整个单元的这个,整个结构的形状啊。
什么都发生了变化,然后你可以进行一个等你分析,然后再去呃计计算这个新的这个目标函数的值,还有这个单元灵敏度的那个单元的明度对吧,然后下面呢再我再给你精华笔再删掉啊,宝剩下的这个呃5%是吧。
然后呢进行迭代一次,咱们中心下去,直到满足我这个体积约束啊,然满足这个体验是不是满足,这个是不进行收敛了啊,如果是的话,那么那么我就结束了啊,如果还没有收敛啊,那么还可以,就是如果没有。
还没有达到我这个最终的这个目标函数的什么,还可以继续的来进行迭代,继续的进行这个优化,那么这下面的就是一些算力啊,就是这边呢就是给出了呃,像这种双线建立结构特别化算力,就是这边呢呃。
是一个也是一个悬臂梁的优化对吧,刚才看到相机我们一开始就会发现诶,它最优的形状是不是应该是这个样子了对吧,a b c里面我确实应该选c对吧,那么三也是我们这边和把这个ig啊。
ig a b a c e这都是i g的结果对吧,那么b d f就是这个这个呃,嗯就是这个等那个有限元的啊,特别优化的结果,就可以发现主内从这个棋盘格啊,这种现象方面啊,确实这个锯齿状的方面。
这个等级和要好很多,对不对啊,而且相应的整个结构呃,也要比这个这个有限元方面要来的要好,也就是说等你和方向盘它更为稳定一些,那么实际上也有时候我们可以看出啊,呃这是另外一个例子啊,就是说我我这边固定。
然后这边是加一个往下的力对吧啊,然后这边是最终的这个特别优化的结果啊,也是在不同单元格式的优化结果,还有目标还是体积比例的变化,随着这个迭代次数还怎么变化的啊,也就可以看到不同单元个数的最终的构型啊。
基本上还是非常一致的啊,并没有出现,我说我这个背景网格依赖的这个情况,就是验证了我们这个等级和拓扑优化的。
它的一个稳定性,那么这是双向间距结构拓扑优化,下面再介绍一下这个呃。
就是我们国学老师提出了,这个m m c的top优化的这个思路啊,也就是说实际上前面的几种啊,无论是,无论是这个simple的方法还是这个bl的方法,包括后面讲的这个levesa的方法。
因为它基本上都是还是一种呃,基于演示即可描述的啊,一些也是有描述的,也就是说19说像这个为什么隐私了呢,像呃后面我们讲这个leveset啊,我们应该先讲这个level set的。
那么那我们先讲live set吧,后面我们再讲这个这个移动可变性组件好吧,后面我这个b b d会相应进行确定,要说这个live set是什么方法呢,实际上就是水平级的这个方法啊,水平级的这个方法。
那么实际上就是说这个水平级的方法呢,呃随便集在很多的地方都用到了,特别像我们这个图形图像的这个处理里面啊,也是用的非常多的啊,当然就是一个,这个演示的画的一个方法啊。
就像我们的一些呃这个leveset对吧,它实际上就是一个呃零等值面对吧,那等值面或者等值线啊,等值线啊,所以它本质上就是一个影视的曲线,曲面的表达啊,全明表达所在很多的这个呃图医学图像的分割,对吧啊。
还有一些三维形状的重建啊,里面呢会呃都会用到这个level set的方法啊,也就是说他常是呃也是非常广泛的啊,它的核心思想呢就是相当,就是我可以把这个边界对吧,这个结构的形状的形状呢可以看到是呃。
这个高一维空间中某一个函数的零的水平级啊,然后就是影视曲线曲面,我们前面也给大家介绍过的对吧啊,就像一个圆,这两个圆对吧啊,这两个圆我可以呃说明在这个呃c4 的部分,它就是满足f大于零对吧。
然后在这个与两个孔的边界上啊,它会获得这个外面这个边界,它就满足这个f等于零对吧,然后在这个浅色的部分啊,他就满足f小于零啊,那么商业就说,我随着这个f这个函数的这个变化,这个像这个孔洞的树木啊。
孔洞的形状啊都是会发生变化的对吧,也就是说你看这个这个平面,这个地上就可以看出是我高维的话啊,高维的话是就是这个曲面三维曲面,三维曲面和我这个呃z等于零相交啊,z等于零,这个d平面相交对吧。
这样就可以得到一个零水平集,零水平集,那么香蕉我所得到的这两个曲线对吧,这两个曲线是不是就是我这边的啊,两个拓扑结构啊,两个孔是吧,那么这两个孔它的边界就是影视曲线对,就是影视曲线啊。
也就是12 十这个里面的话呃,呃我这个变化当然是一个随着时间的变化的,对吧啊,也那么随着这个时间变量的变化,它这个结构的这个几何呢实际上是可以呃,随着水平集函数的这个变化而进行变化啊。
那么商业说这边就会涉及到一个设计与表达的,一个问题啊,第一个表达的问题啊,也就是说我这边这个fire我怎么去表达对吧,那么上我最后得到的一个水平集函数,对这个所有的这个时间演化的这么一个呃,一个方程。
然后就得到相当于hd方程啊,以解方程,那么这边的这个方案呢,就是我这个设计表达的一个对吧,然后现在你这个是什么量是吧啊,然后对时间的导数啊,应该等于啊,他这个法向的速度乘以这个这个f i s t。
对这个德尔塔这个等等于零啊,然后呢,呃我大概有一个初始的一个水平的函数啊,但对于这么一个方程,我们一般都是采用这个优先差分法,来进行求解啊,但是因为我们很多时候这个它是一个什么啊,是一个符号距离函数啊。
因为我们所以还是具有很多时候需要进行这个,重新的一个初始化啊,而且这个演化过程中呢,对这种差分格式这个稳定性还是比较大的要求,对于他的这个传统的水平级啊,他这个计算方法的计算量还是比较大啊,比如说,啊。
我们上次也有一些作者有引入了这种,参数化水面积的方法啊,参数化水面积的方法,传统化水平的方法呢,实际上就是说我们可以把原来的这种方程找,更用于求解的一些常用方程啊,也就是说我我可以把这种水平集函数。
就是fx t啊,用这种哎ng函数的组合对吧,这就和我们等你和结合起来了,对不对啊,来表示啊,来表示啊,那么也就是说我定义一些在每个时刻对吧,我就定义一个相应的一个控制变量方案。
然后呢和我这个那不是解函数组合,就会得到这个东西对吧,我们把这个东西就当做我的水平集函数了啊,水平集函数了啊,也就是说这个3t呢,就是在第二个网格点所对应的扩展的系数。
那个ax就是对应的那不是电函数对吧,那相应的我是不是呃这个h键偏移方程啊,还有相同的反应速度,表示我就可以这样写出来是吧,那么商这样写出来,一写出来的话,我这个相应的这个求这些vn的求解啊,这表达式啊。
反正都是变成碱性的啊,所以说就比较容易求解,那么实际上我们最后要要求的是什么,就是那些扩展的扩展系数就发了,这就就这个东西就是这个东西对吧,他这个求出来之后,我相应的那个呃整个的这个拓扑的表达。
也就也就求出来了对吧,然后像我这个发啊,我得到这个发t之后对吧,我每一个时刻啊,他这个拓扑是怎么变化的,我就你知道的对吧,我最后呃对我们这个三维曲面,我就得到的是一个演示的一个曲曲线嘛。
那么这个演示的曲线,相对是表达了我最后的这个拓扑结构的,也就是说当然我们也是可以把这么相应的一个,最小化柔弱的这个优化模型把它给写出来,是吧啊,也是我要满足一定的这个这个呃体积的约束啊。
然后最小化我的柔度,也是我这个相应的这个目标函数啊,我上次可以把这么一个约束优化问题,通过拉格朗日乘数法,从正法把它转换成一个为5月数的一个问题啊,5月数问题,然后呢来求相应的这个呃这个目标函数啊。
对这个它的形状导数把它给抽出来啊,包括对于这个设计变量,那会说fiat就是我的设计变量,对不对啊,对于这个设计变量这个灵敏度可以把它提出来,然后呢通过这种oc方法啊,来去更新这个fia对吧,更新和发。
那么啥就说我最后呃什么样的伪定呢,就是我这个目标函数l,对我的这个设计变量的方案,它的偏导等于零对吧,然后我采取后c法来更新这个设计变量啊,那是通过这种迭代呢,来逐步的更新我的这个发i t f i t。
然后重新,从而实现我这个最拓扑构型的这个优化啊,也是我最后的得到的拓扑构型,实际上是一个隐私的一个表达是吧,然后根据这个数量条件呢,也是同样的来进行判断,我有没有收敛,那么这边呢就是一个。
比如说一个桥结构的一个优化的问题啊,这边固定,然后往下对吧,然后这个优化方法和我们用simple方法优化出来,也是非常接近的啊,当然这边呢就是a呢就是我初始的这个孔洞啊,初始的那个fiat。
他的这个拓扑结构是这个样子的啊,也是我们在每一步的时候,我都是来更新什么,来优化那个呃发t啊,就是我的这个呃扩展系数啊,就这个发t是我的优化设计的变量啊,然后这样的话,所以大家可以看一下。
我通过这个8t的控制啊,我可以可以实现啊,这种拓扑结构的演化这种变化啊,然后我再最后呢在呃把这个相应的这个边界,因为它就是二维问题嘛,啊也是说它本质上这些边界都是影视曲线。
我就可以把这些演示曲线把它给提取出来啊,通过吧,请martin square对吧,二维的butsquare,那三维的如果影视曲面就把tin cube,大家都可以把它给抽取出来。
那么这边呢是更多的一些例子,这个曲边的一些悬梁臂,它的这个呃优化的一些结果,商业说我初始的这个孔洞呢是这样分布的啊,然后我最后慢慢的演化,演化,演化就会得到我想要的这个头部优化的结果啊。
那么商业元素我们可以和这种有限元,基于有限元,也就是说的方法和因为基于有限元,我们也可以转向用的live set top换,和基于等几何的这种live set top换呢来做一下对比。
就可以发现这个等你盒用的时间啊,基本上都是是在这个有限元这个框架下的,1/3左右啊,1/3左右啊,也就是说可以实现3~4倍的这个加速啊,当然这个也是比较容易理解的啊,就是因为我相应的这个自由度啊。
相应的自由度啊,在登顶盒的这个框架确实比较比较少,就是我这个fiat,这个是我的这个设计变量或者自由度吧,所以说你相应的这个也是会得到比较,在速度上得到比较大的这个提升,啊这边也是我们总结一下了。
整个基于水平集的这种拓扑优化的流程对吧,也就是说你可以定义初始的设计参数啊,就是书写的是一个设计参数啊,就我对我得到拓扑是这样的对吧啊,原来呃你输入,然后在上面对一些呃fi t嘛,然后数字可能这样子啊。
然后呢,做这种初参数化水平级的初始化啊,这个求解初始的扩展扩散系数啊,就那个fg嘛,然后我在四加通过这些边界条件对吧,来进行等你的分析计算目标函数和灵敏度更新,这个参数化的水平值是吧。
我的每一次都在通过这个oc的方法去去update,和这些variable是吧,然后慢慢的就在这个对会慢慢进行迭代,然后进行这种收敛性的判断,然后呢就会得到最终的这个top优化的结果。
那么这是基于live set这种头部优化,那么我们再再给大家回过来,来看看这个基于mmc的,那我这边就简单介绍一下这个,有兴趣的同学可以看一下我们郭老师团队啊,发表了很多的呃这个顶级的一些论文啊。
啊你看这个相应的引用量也算大的啊,那么上面刚才讲了三种啊,simple bl,还有这个leveset,然后这这三种方法应该都是基于这个,影视结合描述啊,那么实际上也是存在着一些问题。
第一个就是呃对于这种三维问题,会会会计算量非常大,会有这种尾数在灾难的这种问题对吧,另外一个呢就是对这种呃,和智商相关的一些几何约束,实际上在影视几何里面,你非常去难去满足,非常难去满足啊。
也是我最后的优化结果上是很难,我和我这个cad系统啊直接呃构建啊,也是我在说,为什么后面最后一部分会给大家简单介绍一下,我们在呃面向这种离散的拓扑优化结果,这个充电方面的这个工作。
也就是实际上是基于这个上述问题吧,啊也说就说郭老师团队提出了一种,基于m m c的,就是移动可变形组件的结构拓扑优化新框架,也说上次建立了结构拓扑优化的新范式,也就是说把传统的基于这种隐私表达的。
结构拓扑优化问题框架啊,把它改改成了这种基于显示的,移动可变形组件的这种结构拓扑优化器框架,他的这个基本思想呢,就是说呃就是在这个结构设计一类,来放置一定数量的基本的结构的组件啊。
这种组件呢我们是有它的,这个基本的解析表达的,然后我们把这个格组件的中心位置啊,厚度啊,也说这些基本的一些几何的这个参数啊,作为这个优化模型的设计变量啊,也就是说后面等级和一样。
它实际也是通过这些几何参数的话,也是可以大大减少什么自由度的数啊,然后我通过这个几何参数,几何尺寸的这些参数呢,就可以构建设计院内的一些拓扑,描述的一个函数啊,这个算是和我们这个呃水平集的方法。
有点类似了啊,那么然后呢建立设计变量与目标函数,约束函数的一些隐私关系啊,通过一些i i m m a的这些优化算法呢,来驱动啊,这个就这些组件的移动变形啊,旋转之后来得到一个最优的一个拓扑结构啊。
包括一些相应结构主要的几何参数,因为我们说这些这些参数啊什么都是显示的,所以说你最后得到的这个这个结果的,也是显示的啊,那么商也是说这个呃结构突破的几何描述啊,主要是我现在组件是怎么来定义的啊。
这边啊这边只是它一个它的组件的这个形状,大概就是这样子啊,大概就是这样子啊,颜色上这个里面呢就是呃top描述函数有哪些呢,就是这个组件的中心点呢,呃横坐标这是我的o嘛,就我的横坐标纵坐标对吧。
还有这个倾斜角sa啊,这个倾斜角sa,然后这个还有这个骨架线的这个带长度,就这个l2 就是古代线的半导段,还有三个不同位置的组件的厚度啊,三个不同位置的组件的厚度,就是厚度就t i e t t e r。
t r i和t3 i对吧,这是三个不同的组件的厚度对吧,然后呢我就可以通过这些参数啊,这你二的12345啊,大概有这么呃这么多参数对吧,然后我就可以呃总共是七个参数对吧。
七个参数啊我就可以去定义相应的一个组件啊,相应的组件当然这边是一个二维问题啊,啊通过这七个参数呢,我就可以定义一个相应的一个脱口描述的函数,就是这个fi这个东西啊,和我们这个呃是一样的对吧。
和我们这个leveset那边的,有点类似对吧,也就是我在这个组件的内部,它都是小于零的对吧,在外面都是大于零的啊,然后在这个边界上都是等于零的啊,那么基于这个组件的这个表达式,就是这个样子啊。
这个呃我就这边的具体不介绍了啊,有些同学可以具体解释一下啊,有时候实际上就是大家可以知道这个,我这个每一个组件都是通过这七个参数来进行,表达的啊,然后所以说我后面呃你在优化目标的优化变量。
就是这每个呃就相当于每个组件都有几个参数,就是这些几何参数啊,比如说你比如说有十个组件啊,那你就优化的就是70个参数,是70个参数,那么12点相应的这个呃,我们也可以把整体和的框架应用到相应的这个。
m c的这个框架里对吧,然后通过实际就是来控制这些材料的属性嘛,啊材料的属性啊,包括相应的这个拓扑优化的模型,那我们也是可以把它给写出来啊,也就是说,所以说我们的最终目标就是,我找到这些最优的这个参数。
是最优的参数啊,这些d这几何参数定义这些主要的点参数啊,几何参数,然后呢去极小化相应的柔度是吧,还满足一定的力学性能,还有这个体积的一些约束是吧,所以说我就可能要算一下我这个目标函数c啊。
对我这些几何参数,几何设计变量的导数,还有这个体积约束还是灵敏度的公式呢,就要把它给算出来啊,那么这样的我也因为用了,等你了,还有我这些显示的参数的表达嘛,所以我这里也是可以把它给想出来的啊。
那么最后用到了这个优化的算法,那么m a的算法,因为它呢呃比较呃适用于这种呃多约束,还有这种目标还是比较复杂的一些问题啊,我们上节课呢,在形状优化里面也给大家简单介绍了对吧,这边我就不呃详细介绍了啊。
不详细介绍,那么上节课我们可以看一些数字的算例啊,比如说还是那个m b b的对吧,当然这是一半了,这边是固定的,然后这对啊,然后如果这个初始的结构,这个组件的设计可能是这个样子,比如说我这些绿色的。
就是我的一些组件对吧,大概这边比如说是有啊12啊,12个组件啊,那么有这12个组件啊,是初始的摆字摆放是这样子的啊,那么我通过呃,我们的这个m c的这个优化的框架啊。
然后我就可以优化这每个组件的中心的坐标啊,它的这些宽度啊,还有这个角度啊对吧,还有这个长度啊等等,还有这些呃,每每个组件我都有七个参数嘛,啊所以说这边总共大概是84个参数啊,大概是啊84个参数。
然后你通过优化这84个参数啊,就可以得到一个呃,m b b梁最终的一个优化的结果,也说这些组件的,可能会有一些相互重叠之类的对吧,但是因为我这边是通过这种组件,它的也可以进行。
相应的也进行了相应的这个拓扑嗯,嗯拓扑结构的这个描描述的函数嘛,然后我也是可以把它的诶这个边界啊,这个红色的边界可以把它给抽取出来的,人家说我们通过这种m m c这种组件的这种思,想。
就可以把传统的基于这种隐私表达的事物,把它啊会变成这个显示表达的这个思路是吧,当然我们也可以就是说在等你和mc结合一下,我们和这种2d都不是单元的等级分析,和2d这种拉格朗单元的有限元方法。
直接对这个mb的优化,效率呢也是做了一些比较好,大概也是可以达到呃两倍多的这个加速啊,他们都加速,这边呢也是给出了在不同的网格尺寸的,另外包括这个啊登记和和有限元,他想要得到了这个投币化的结果啊。
可以发现这些拓扑优化的这个呃,结果上面还是有一些不一样的一些地方是吧。
啊这是基于m c的拓扑优化啊,那么最后呢我们介绍一下。
最后一部分,就是这个拓扑优化后处理和这个cd重建。
啊这一部分啊为什么要接受这一部分呢。
也是像大家可以看到刚刚才呃,无论是这种离散化的啊,就是说像基于这个simple bl啊,leveset啊,它常都是一种演示表达对吧啊,也就稍微就是说simple像simple的话。
他很容易有这种锯齿状对吧,那种棋盘格啊这种现象啊,那么像这个leveset的话,你还要抽取它的这个等值线等值面对吧,啊也是需要这种边界的一些抽取对吧,那掰手段上也是一样的,也是要进行三对吧啊。
但是我最后这个结构优化,拓扑优化出来的这些结果,我还是希望能够啊,能够呢最后导入我们的cad的建模的系统,cad系统对吧,然后呢把它给造出来,把它给造出来,也就是说呢,上次这个里面是需要大量的这个光线。
你和一些后处理一些操作,那么上在我们这个cad领域比较全,过了一个会议,从s spm上啊,2019年呢它的一个best paper啊,就是奥特desk他们公司的一个工作,就是来做这个工作的啊。
就说我怎么样把拓扑优化的这个结果,然后和cad系统能够建立起联系啊,比如说怎么样实现和cd系统的这么一个。
无缝的一个基层啊,那么实际上我们这边呢主要是呃在呃,郭旭老师的这个领导下,我们有一个呃国家重点研发的一个项目,就是来做呃这个自主可控的驼背化软件啊,其中一块内容呢就是要呃。
实现这种cp化结果的一个后处理,还有相应的这个cd重建啊,目前呢也是取得了一些阶段性的一些成果啊,那么第一个呢就是说像这种simple,拓扑优化的一些结果,他很多时候商都是一个锯齿状啊对吧。
还有一些孤岛啊啊啊,有的时候还要还要满足一些约束,对吧啊,那么商业说我怎么样对这么一个东西呃,实现它的cd重建,或者说并且做一些后处理对吧,因为你这样一个东西,你肯定不能直接拿去制造的啊。
不能直接拿去制造的啊,虽然我们就说了这件事情啊,比如说比如说像我们开发的一些软,件的一些功能啊,就是怎么样做一些实体的孤岛一些呃删除对吧。
把这些孤立的单元把它给清理掉啊,然后包括一些变表面,可能还有一些除了一些孤立单元,还有可能一些荣誉的一些单元,就是突出的一些呃小的格子对吧,所以像这些格子我怎么样进行删除啊。
这边都是一些我们图形学的一些功能啊,包括一些网格的光线对吧,这么一个句子,窗户肯定不是我想要的,那么我怎么样呃,通过一些绿面体网格的光线对吧,算法,然后来进行光滑化。
啊那么稍这边呢我们也是有一个下了一个demo。
大家可以看一下整个过程,这边比如我先录到这一个相应的一个,拓扑优化的一个结果是吧,那我们怎么怎么样算算买删除相应的孤岛啊,然后做这个线应用的,大家注意,包括一些比较脆弱的地方。
我还可以对它进行一些性能上的加强,把它让它把脆弱的地方把它弄掉啊,包括一些光线是吧,另外一个呢就是这个cad的重建,就是我希望能够我输入一个比如拓扑拓扑优化,这是一个我们拓扑优化的一个结果啊。
然后我经过光线的可能这个样子,但是我希望能够最终能够输出一个,cad的一个表示,那么这边呢我就可以对这个结果来进行,一个cd的重建,然后可以就可以这么一个b rap的边界表示,我就可以把它输入到。
弄到我们这个cad系统里面对吧,然后把它造出来,那么这边我们的一个技术框架的技术路线呢,就是先做光顺,然后三个三角网文化,然后因为我们这边大部分得到了特别化,结果还是呃骨架比较清晰的啊。
然后做这种股价的提取和简化,当然就对于目前我们还做这个工作,就是说如果是那种有这种呃面的这种股价的话,我们也是可以做到目前啊,然后做这种骨架的地面体生成啊,然后生成下的样条啊,然后做一些体细分的拟合啊。
体细分我们下节课会给大家详细的介绍啊,包括我们就说基于体积分,我们就来做这种建模仿真优化的一体化。
那么这边呢也是有一个相应的demo,啊这边比如一个简单的一个例子对吧,我输输入这么一个悬臂梁的例子啊,你说我们可以做一下光顺啊,然后抽取出相应的这个生成三角网格,然后下面呢我做这个cd重建。
我可以生成相应的股价,而且这个骨架里面的折腾这个骨架之后,我生成了一些呃一些节点位置,这么一个节点的生成,相应的一些网格的单元对吧,变成网格的单元,然后在这些单元上我就可以呃去。
而且我可以进行一些编辑修改增删,包括它的一些连接对吧,都可以做一些交互啊,然后做一些变换啊,啊那就快一点,然后通过这些编辑修改,然后后面呢我就可以生成这么一个控制网格的,初始的控制网格的一个框架啊。
然后后面呢再通过一些投影的拟合,曲面拟合,然后就会得到我最后的这个cad的一个表示啊,cd的表示,啊这是另外一个例子,我们的时间关系我就,这是另外一个更复杂的一些点时间关系呢,我这边就,跳啊。
就基本上我们还是对于这种股价比较,那个明晰的这种技术,我们可以还是可以做比较好的,这个cad的这个重建的,可以把它给重建出来,那么后面呢当然对于这种,如果你有这种一些板啊面的这种结构啊。
我们也是可以给他做做重建。
好那么还有几分钟时间呢,我们就简单做一下总结,我们今天这节课的主要就是给大家介绍了嗯,基于等级和分析的拓扑优化,我们也可以把它简称成这个整体和拓扑优化,对吧啊,等你和拓扑优化啊。
那主要给大家介绍了三种隐私的方法,就是simple的方法,best的方法,还有这种基于live set,基于水平集的这种特别的框架啊,那么也是呃,相应的这个和把这个呃有基于有限元的框架。
和基于登记的框架呢做了一个简单比较,就可以发现呢,基本上特别画出来的结果呢还是都差不多啊,但是呢呃确实就在等几个分析的框架,能够在效率上啊能够得到比较大的提升啊,能够得到比较大的提升。
那么当然我们也介绍了,郭老师提出这个慢慢排啊,移动可别用组件的m c的扩展方法啊,也是和我们可以和我们这个等级和道,来进行结合啊,但我这最近还有一些工作就是做,不仅不不叫m c了,它叫m m v啊。
就说我是移动可变形的孔洞啊,这种这种工作呢也也是目前也有,也做得非常好啊,啊,在网上我觉得也是其中很多的,也是可以和整体和分析啊结合起来,那么当然最后呢我们也是介绍了,我们最近来做的一个事情啊。
就是怎么样能够把拓扑优化的这个后处理呃,和包括cad重建啊这么一个工作,我觉得这个也是呃非常重要的啊,非常重要的就是说我怎么样能够实现啊,拓扑优化结果的可用性对吧,可用性,啊那总额那展望一下的话。
实际上就是说目前呢应该来说,我们所介绍的这种工作啊,包括现在虽然基于等级和分析的拓扑优化的,这个文章啊,非常非常多啊,但是基本上还是以传统的,拓扑优化的思想为主啊,或者在上面啊做了一些呃修修补补是吧。
修修补补啊,或者应用的不同的问题,像多材料的问题啊,啊满足可知效性约束的一些问题啊啊等等啊,就这些方面呢还是比较多的啊,还是比较多的啊,但是我想的基本上都是啊思想啊,还有这么大概这么几个思路啊。
就没有革命性的呃一些突破啊,就是我的一些个人的看法啊,也是12后面呢,怎么样能够把整几个分析的这种特性啊,很好地利用起来啊,也就是说真正的提出一些,就等你的分析自我特性的拓扑优化方法啊,才是目前后面。
我们我觉得是一个非常好的一个方向啊,非常好的一个方向啊,应该来说我觉得还是有空间啊,可以挖的啊,就是说大家可以想想哎,我怎么样把啊登顶盒的这种特性啊,特别是一些比较新的一些整理和分析的方法。
怎么样能够用到和拓扑优化更好的结合起来啊,然后呃不仅是在效率上对吧,在一些其他的一些方面更具有优势,这个也是非常重要的,还有一个呢就是呃,怎么样把我们现在非常火的这个ai机器学习。
比如说和我们的拓扑优化,等,你和top优化进行结合,也是我想的,也是一个非常具有前景的一个领域啊,那么实际上目前让郭老师他们,把这个移动组件啊,还有这些啊,上次和这个g学习,一种学习深度学习结合之后嗯。
在很多的这个效率方面得到了很大的提升啊,很大的提升啊,你说这样的实际上是呃效率上提升了,就是说还是非常重要的啊,天下武功是吧,五五块不扩是吧,所以说就是说呃,实际上就是说这个快还是非常重要的。
因为这时候快的才能真正的在实际中用起来啊,好今天我我这样讲的内容啊,就这么多啊,那么我们下次课呢就给大家讲啊,基于体系分的,我前面也提到了一些体系分的一些概念,那么就基于体系分的这个建模。
仿真优化一体化的这个框架啊,说明下次课的主要内容啊,欢迎大家关注参加好。