前几周为了准备试用期汇报的东西,暂停了几周(玛雅居然停了4周),可这劲儿把软渲染做了好多好多~
然鹅居然并没有大佬对这个部分表示赞赏~ T-T ~哎虽然小儿科但是也赞赏一下呀喂~ T-T ~
不过话说,就算是巩固吧~打破了没练手的心虚~然后,继续好好学习~
这本书是准备在软渲染里边加IK时遇到困难,然后朋友推荐的~打算先看一下前几章,直到实现IK为止~
(↑ flag!)
名词
- Screw: 刚体可以通过“绕某直线的旋转+平行该直线的平移”来达到任何位置。
- Twist: Screw的无穷小量。描述了Screw在某一瞬间的速度。
- Wrench: 任何作用于刚体上的力都可用“沿着某直线的力+绕该直线的扭矩”来等价。它和Twist对偶,可以直接使用Twist相关的许多理论。
- Rigid Motion: 刚体的、连续的移动
- Rigid Displacement: 通过Rigid Motion从一个位置挪到另一个位置的净移动(net movement)。
- Rigid body transformation:
- 任意两点之间的距离保持
- 叉积保持
- Configuration: 在刚体上某点处定义一个笛卡尔坐标,然后去跟踪它相对于这个固定帧而言的动作。如果用g(t)来表示映射,那么 g(vx),g(vy),g(vz) 就是新的Configuration。
旋转
- Rotation Matrix
可以通过旋转后的矩阵在原矩阵中的xyz的坐标来定义 - SO(3): special orthogonal
- 称为旋转群(闭合、一致、可逆、结合)
- 满足一一对应 -> 故为Configuration空间
- 定义:
-
RRT=1
-
detR=+1
-
- 定理:
-
R(v×w)=R(v)×R(w)
-
R(w)∧RT=(Rw)∧
- 距离保持、旋转保持
-
- so(3): skew-symmetric
- 定义:
-
ST=−S
-
- 定理:
-
a^2=aaT−||a||2I
-
a^3=−||a||2a^
-
- 叉积的矩阵表示:
a×b=(a)∧b=a^b=⎡⎣⎢0a3−a2−a30a1a2−a10⎤⎦⎥b它是反对称的(skew symmetric)
- 定义:
- so(3)->SO(3)的指数坐标(exponential coordinate)【旋转群的正则坐标】
考虑一个单位转速的刚体,它t时刻的速度为:q˙(t)=ω×q(t)=ω^q(t)
它t时刻的旋转为:q(t)=eω^tq(0)
亦即:R(ω,θ)=eω^θ
通过so(3)的两个性质,可将exp展开式化简为:eω^θ=I+ω^sinθ+