嗨,我正在尝试将IK应用于我的骨架系统,并且正在在线阅读一些文章,而这样做的方法之一是使用Jacobian矩阵的伪逆。 但是,我已经看到了2种形式的伪逆,并且我想知道这两种表示的区别是什么。
第一个形式是J + =((Jt * J).inverse())* Jt
第二种形式是J + = Jt *((J * Jt).inverse())
说实话,我什至不确定他们如何获得第二种形式,目前我只能得出第一种形式。
任何帮助将不胜感激!
答案 0 :(得分:0)
通常,矩阵的逆具有将其与任一侧的原始矩阵相乘的特性,从而生成恒等矩阵。
A * A^-1 = A^-1 * A = I
但是,对于伪逆而言,这不再是正确的。对于伪逆,顺序很重要(独立于矩阵可能不是正方形的事实)。第一种形式用于左乘法,第二种形式用于右乘法:
J+ * J = I <= J+ = (J^T * J)^-1 * J^T
J * J+ = I <= J+ = J^T * (J * A^T)^-1
如果使用伪逆来求解线性系统,则在具有列向量(即J x = b
为J+ J x = I x = x = J+ b
)时使用第一种形式,在有行时使用第二种形式向量(即x J = b
)。