三维动画形变算法(Gradient-Based Deformation)转载

转载请注明出处:http://www.cnblogs.com/shushen。

三维动画形变算法(Gradient-Based Deformation)

  将三角网格上的顶点坐标(x,y,z)看作3个独立的标量场,那么网格上每个三角片都存在3个独立的梯度场。该梯度场是网格的微分属性,相当于网格的特征,在形变过程中随控制点集的移动而变化。那么当用户拖拽网格上的控制点集时,网格形变问题即变为求解以下式子:

  根据变分法,上式最小化即求解泊松方程:

其中Φ为待求的网格形变后坐标,w为网格形变后的梯度场。

  上式可以进一步表示为求解稀疏线性方程组:

其中L为网格的拉普拉斯算子,b为梯度场w在网格顶点处的散度值。

 

  问题的关键是如何得到网格形变后的梯度场w,文章[Yu et al. 2004]提到其是通过由控制点集变换的加权运算得到,并且提出了几种不同的加权方式(线性加权,高斯加权等)。另外文章[Zayer et al. 2005]中提到可以在网格内构建一个调和场作为加权系数。

 

1.离散梯度算子定义:

      假设f是一个分片线性函数,在网格的每个三角片{xi,xj,xk}的顶点处有f(xi)=fi,f(xj)=fj,f(xk)=fk,通过线性插值可以知道f在三角片上每一点处的值为: 

  这样f的梯度如下: 

其中基函数Φi,Φj,Φk满足Φijk=1,那么它们梯度之和▽Φi+▽Φj+▽Φk=0。所以f的梯度可以写成如下形式: 

  经简单计算可以求得▽Φi的表达式是,同样也可以写出▽Φj、▽Φk的表达式,其中⊥表示将向量逆时针旋转90度,A表示三角片的面积。

2.离散散度算子定义:

       设向量值函数w:S→R3,S表示网格,w表示在每个三角片上的向量,那么w在顶点xi处的散度可以定义为:

其中T(xi)表示顶点xi的1环邻域三角片,AT表示三角片T的面积。

 

3.离散Laplace算子定义:

       将梯度算子表达式代入散度算子表达式可以得到顶点xi处的Laplace算子如下形式:

其中N(xi)表示顶点xi的1环邻域点。

 

效果:

本文为原创,转载请注明出处:http://www.cnblogs.com/shushen

 

 

参考文献:

[1] Y. Yu, K. Zhou, D. Xu, X. Shi, H. Bao, B. Guo, and H.-Y. Shum. "Mesh Editing with Poisson-Based Gradient Field Manipulation." ACM Transactions on Graphics (Proc. SIGGRAPH) 23:3 (2004), 644-51.

[2] R. Zayer, C. Rossl, Z. Karni, and H.-P. Seidel. "Harmonic Guidance for Surface Deformation." Computer Graphics Forum (Proc. Eurographics) 24:3 (2005), 601-10.

[3] 许栋. 微分网格处理技术[D]. 浙江大学, 2006.

[4] 刘昌森. 三角网格曲面上的laplace算子及其应用[D]. 中国科学技术大学, 2012.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
gradient-based neural dag learning(梯度优化的神经有向无环图学习)是一种用于构建和训练神经网络结构的方法。它通过学习网络的拓扑结构,即神经网络的连接方式和层次结构,来优化网络性能。 传统的神经网络结构通常是由人工设计的,而在gradient-based neural dag learning中,网络的结构可以通过梯度下降算法进行优化。该方法的核心思想是在训练过程中不仅学习网络的权重参数,还学习网络的拓扑结构。 在gradient-based neural dag learning中,网络的结构可以表示为有向无环图(DAG),图中的节点表示网络中的层或操作,边表示连接。我们可以用一组变量来表示每个节点的状态和连接关系,通过优化这些变量,实现网络结构的优化。 具体地,gradient-based neural dag learning通过计算网络中每个操作或层对目标函数的梯度来优化变量。在梯度下降的过程中,网络的结构随着反向传播算法的迭代而逐渐优化。这种方法可以使得网络自动完成结构的搜索和选择,提高了网络的表达能力和性能。 由于gradient-based neural dag learning可以自动进行网络结构的学习和优化,它可以减轻人工设计网络结构的负担,并且在处理复杂任务时能够获得更好的性能。然而,由于网络结构的搜索空间非常大,优化过程可能会很复杂,需要大量的计算资源和时间。 总之,gradient-based neural dag learning是一种通过梯度下降优化网络结构的方法,能够自动学习和优化神经网络的拓扑结构,提高网络性能。这种方法在深度学习领域有着广泛的应用潜力,并且为网络的设计和训练带来了新的思路和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值