-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
60 lines (51 loc) · 4.83 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>THY</title>
<link>https://thyzju17.github.io/</link>
<description>Recent content on THY</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 30 Aug 2019 11:20:25 +0800</lastBuildDate>
<atom:link href="https://thyzju17.github.io/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Week 2 Report</title>
<link>https://thyzju17.github.io/post/19830report/</link>
<pubDate>Fri, 30 Aug 2019 11:20:25 +0800</pubDate>
<guid>https://thyzju17.github.io/post/19830report/</guid>
<description>报告 2019/8/29/ 23:15
1 总述 &emsp;&emsp;这几周主要根据论文内容,将原2D Deformation项目的代码进行了修改,删除不可用的第三方包(包括zjucad、hjlib等),代之以矩阵库Eigen,并最终在Win10+vs2017环境下成功运行,运行效果符合个人预期。
2 详细工作 用Eigen库里的MatrixXd替换了所有的matrix&lt;double&gt;,用SparseMatrix&lt;double&gt;替换了sparse_matrix&lt;double&gt;,并且将所有的函数操作都修改成符合Eigen库的函数操作 用SparseLU来进行矩阵方程的求解。用compute(A)来设置系数矩阵A,solve(B)来求解。 用JacobiSVD实现极分解,求解对应的旋转矩阵。要求的旋转矩阵便是U*V.transpose()。其中U是分解出来的前一个矩阵,V是分解出来的后一个矩阵 3 实验结果 &emsp;&emsp;基本重现了论文中的形变,包括长条、花、人和马的形变。像马这种有复杂形状的鬃毛和尾巴的图形也可以进行良好的形变。(以下的形变都是在考虑了Curve Laplacian Coordinates、Mean Value Coordinates、Edge Lengths以及Global Area进行计算的)
图一 &ldquo;p&rdquo;的变形
图二 花的变形
图三 一个人的变形
图四 马的变形
4 总结与分析 &emsp;&emsp;项目中,M即为GL,H与C合并为C。Gauss-Newton method的迭代通过start solve来实现。
&emsp;&emsp;见图五,对于二维图,在没有加入内部顶点的约束的时候,形变会比较奇怪,更像是在维持多边形的局部特征的前提下,多边形分为两块在进行相对的运动。而不像是右图,进行了图形的旋转。原因应该是在没有内部顶点的约束下,第一种形变的能量已经足够低,因此从能量函数上看,已经是一个优秀的结果了。
图五 左边的没有内部顶点约束,右边有内部顶点的约束
&emsp;&emsp;加入内部顶点的约束,以及面积的约束之后,形变确实看上去更加合理了。
&emsp;&emsp;面积约束理解的还不够透彻,需要再深入的理解。</description>
</item>
<item>
<title>Java相关</title>
<link>https://thyzju17.github.io/post/second/</link>
<pubDate>Mon, 26 Aug 2019 12:04:40 +0800</pubDate>
<guid>https://thyzju17.github.io/post/second/</guid>
<description>Java学前小知识点 final修饰变量时,像const char是双字节,可以存一个汉字 String 首字母大写 变量必在用之前初始化,不然报错 原来是虚函数,加final就不是虚函数,原子类相同函数报错 int可以隐式转换成double,但是double不行,需要显式转换(int) boolean只有true false,不是非零与零 Scanner类获取输入 基本数据类型可以直接和String类型相加,结果为String final类不可以被继承(String) 判断两个字符串相等A.equals(B) ==在其中一个是常量的时候可以用(不是final,是对编译器可见的final(声明时可见的初始化),或者直接常量) class的构造函数和C++一样,class没有析构函数 project -&gt; generate javadoc 可以生成注释文档(网页的格式),前提是注释要用
/**
&emsp;*
&emsp;*
&emsp;*/ 这种形式来写</description>
</item>
<item>
<title>新的开始</title>
<link>https://thyzju17.github.io/post/blog/</link>
<pubDate>Mon, 26 Aug 2019 10:47:23 +0800</pubDate>
<guid>https://thyzju17.github.io/post/blog/</guid>
<description>转移到新博客的第一天
虽然以前在csdn上有一个小博客,但是之前的博客主要是高中信息竞赛训练相关的文章。现在我是大三,成功转到了cs。新的旅途需要一个新的记录,因此选择这样一个新的博客
特别希望自己能够坚持把博客写下去,做好工作的记录(也包括生活的记录吧)
作为一个这个方向的萌新,我还缺少很多,所以,希望在接下来的日子里能够慢慢成长起来,不让自己和他失望</description>
</item>
</channel>
</rss>