上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 25 下一页
摘要: 今天打算改进一维搜索算法要求一维搜索类做到以下几点:1.在失败时,能够返回失败的具体原因,以便根据不同情况分别处理2.尽可能找到使得函数充分下降的步长发现初始步长选得不是越小越好,太小的步长会出现数值误差,导致一维搜索出错能够把参数记下来下次使用当前采用了一些改进,包括1. 在共轭梯度法和牛顿法中,强制限制每次迭代的参数最大增量,避免Hessian不定、半正定等情况导致的参数突变2. 在共轭梯度法... 阅读全文
posted @ 2015-02-06 23:30 dydx 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 今天把一维搜索和共轭梯度法加在牛顿法前面,发现模拟比较顺利了。这个是模拟的结果,从左到右硬度递增在某些情况下还是有问题,如图在伸直姿态附近容易走到局部极值。发现模拟失败有以下几种情况:1. 牛顿法失败以下是其中失败的一步:G=[50482.700496 -243431.343366 ];f = 186558.898373, |GP| = 248610.784123, minGradSize = 1... 阅读全文
posted @ 2015-02-05 16:16 dydx 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 今天把蒙皮模拟算法实现了。具体方法是加载此前算出的权重矩阵,每个内部点都是表面点的加权平均。于是求解的时候唯一的未知数就是参数p了。这次牛顿法能够模拟,但是同之前不带权重的模拟算法一样,模拟过程中无法收敛到全局极值点。出问题的是这根棒。控制这根棒的参数有两个,一个是弯曲大小,另一个是弯曲方向。当强制令弯曲方向不起作用是,能够正常模拟,结果如上图。当让弯曲方向参数起作用时,结果如下,模型不弯曲。 检... 阅读全文
posted @ 2015-02-04 17:59 dydx 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 今天试图实现内部点权重的计算。在论文中,权重的计算过程是这样的:其中solveNNLS是求解这个方程s为表面点,q为内部点发现两种方法:1.一种是把内部点位置表示成表面点的线性组合2.另一种是把内部点的位移表示成表面点的线性组合第2种可以化成内部点位置表示成表面点的线性组合,加上某个常数向量估计代码中的while循环是为了避免过拟合。来自为知笔记(Wiz) 阅读全文
posted @ 2015-01-26 11:55 dydx 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 今天实现了把模拟状态保存为文件的功能。当前的模拟对话框为:模拟过后只需点 Save Simulation Result,即可保存结果。结果包括初始位置initPos、内部点索引intPntIdx、表面点索引surfPntIdx、每一帧偏移量q、速度v、加速度a、参数值param下一步实现模型的静态解算,就是给出一组表面点的运动序列,算出平衡位置下内部点的运动序列。做一个切换开关,就是把参数连接到初... 阅读全文
posted @ 2015-01-25 23:40 dydx 阅读(151) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 25 下一页