摘要: 今天改正了一个小问题当能量函数对某个参数的梯度为0时,直接把这个参数的增量设为0。因为说明这个参数无论怎么变化都不可能影响能量函数。当解出参数增量不为有限值时,也把增量设为0。把增量设为0也就是保持参数与上一帧一样。当前发现的一个严重问题是,当Hessian不为正定时,模拟常常会出错。具体的表现是,... 阅读全文
posted @ 2015-01-01 23:39 dydx 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 今晚经过测时,发现模拟慢的主要原因有两点:1. 计算Hessian2. 一维搜索的过程中,需要反复获取内力。而corotational 模型的内力计算需要极分解。其中在一般情况下,一维搜索可以快速退出,因此Hessian是主要问题而在某些情况下(例如,参数很多的时候,第一帧从静止开始),一维搜索需要... 阅读全文
posted @ 2014-12-31 22:47 dydx 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 函数高级特性像新版c++一样,lua支持lambda表达式。也就是可以在函数内部声明函数。内层的函数可以访问外一层函数的局部变量。一个函数以及它会访问到的外层函数的变量,称为闭包。这些变量又被称为upvalue。实际上普通函数也是一种特殊的closure(没有要访问的外层变量)。执行不受信任的代码时... 阅读全文
posted @ 2014-12-31 09:56 dydx 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 今天发现有限元插件不稳定的原因在于用有限差商计算导数的数值误差。之前的步长都是1e-4,现在步长变为1e-2(0.01)就工作正常了。下一步要找一种健壮的、同时计算量不太大的导数计算方法。 阅读全文
posted @ 2014-12-30 17:49 dydx 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 今天开始学习Lua,下面把一些重点记下来:单行注释-- ,多行注释 --[[ ....... --]]Lua中false和nil表示条件判断的假,其余的,包括空字符串,0,都表示真。Lua没有整数,都是浮点数字符串Lua字符串不能直接修改,字符串可以用单引号或者双引号引住,反斜杠转义字符串转数字 p... 阅读全文
posted @ 2014-12-30 10:44 dydx 阅读(185) 评论(0) 推荐(0) 编辑