总结一下实践Blender布料系统的感想:

首先是blender的布料并不好用,在一些简单的demo中确实可以有比较好的表现,但是在比较复杂的运动中表现会有很多问题--比如撕裂,比如穿模,等等等,而且计算量特别大(因为它本质使用弹性网格而不是直接的物理系统)。

现在做的比较好的基本都不能直接用布料结算,通过物体代理实现是非常好的一个想法,也是现在的多数做法--用简单的代理物体来实现布料结算和碰撞,然后绑定到一起。或者干脆用骨骼驱动,这也是mmd原生的处理方法。计算量被极大减少的同时,碰撞造成的一系列复杂问题都消失了,但就是不真实。

同时blender的布料结算感觉更倾向于丝绸的材质?可能是由于节点数量不足,如果按照正常的节点重量来设置会有很大问题,因此我在实践的时候gravity,shear等等抗形变的数值都会拉得很大。这里还要提到一个问题:在做布料的时候,布料上的饰品就很难处理,而且由于布料要pin在节点上,结果会有很明显的凸起(这里要去手动刷权重值才能勉强调整一下)。

接下来准备去实践一下MD,看起来效果很好很多。先上手出个结果,blender真的让人头大

宾利欧陆GT。公路上比起超跑还是GT更合适了。

1

For some purposes, mac is using clang instead of gcc. You can still use clang++ or g++ to run a .cpp file. But basically, clang will use -std=c++98 as default.

So if you want to switch to new c++ standard in VsCode (Mac), do as follows:

Read more »

猩猩真快乐666666666666666

1

Principal Component Analysis (PCA)

WHY PCA

实践中比如我们看到一个人的信息,他可能有很多很多的feature--身高、体重、血小板数量等等,但是对我们所关心的话题(他长得帅不帅)所有实际意义的feature可能很少。因此我们尝试用PCA找出哪些feature对我们所关系的问题有实际的意义,从而实现对数据的降维(有损)。

Read more »

Margin

1

从margin引入,优化理论告诉我们如果我们能找到更大的margin,那么理论上分类器表现就会更好,SVM简单来说就是通过不断迭代找到更好margin的算法。

2

上图H1,H2,H3三个分类器,由margin可以看出来冥想H3更好(这也符合人的一般直觉)。

Read more »

Boosting & Bagging

Bagging是传统算法常常采用的方法:

  1. 从原始sample中用Bootstraping(类似cross-validation)选出n个样本,进行k次。
  2. 分别对k个训练集训练得到k个模型
  3. 加权得到最终模型
  • 当算法结果不稳定时使用(训练集、测试集对结果影响大)

->Bagging可能出现多个模型对同一样的sample都分类错误

->不能并行所有model的训练而要串行(每次关注之前训练不当的地方)

AdaBoosting

  1. 在整个数据集上训练model(h1)
  2. 对h1表现好的sample降低权重,对h2表现不好的sample增加权重,训练model(h2)
  3. repeat
Read more »

1
2
3
4
5
6
7
8
9
a = [1,2,3]
b = [a,a,a]
# Copy
c = b
d = b.copy()
# b c d all point at the same object. if one of the them is changed, all of them are changed.
from copy import deepcopy
f = deepcopy(b)
# python offers a function called deepcopy that allows to create a new object so that you can do anything with f while there is no influence on b.

MacOS 11.2

  1. sudo vim /private/etc/hosts

  2. Delete all path about Github

  3. Search IP address of github.com and github.global.ssl.fastly.net in https://github.com.ipaddress.com

  4. Add

    #github

    140.82.114.4 github.com

    199.232.69.194 github.global.ssl.fastly.net

    replace the IP address with the search result.

0%