反转矢量位置变换



请帮我解决这个问题:我有一个向量a,向量B是这样得到的:

B = M1 * A * 0.5 + M2 * A * 0.5;

M1-旋转矩阵0度

M2-旋转矩阵45度

如果B是已知的,我需要找到一种计算a的方法。例如,如果B==(0.8535,0.3535(,那么A应该是(1.0,0.0(。我如何得到倒置的公式?

UPD:对于0.4/0.6,结果公式为:

A=(M1*0.4+M2*0.6)^-1 * B

将此方程转化为单个矩阵向量乘积

B = M1 * A * 0.5 + M2 * A * 0.5
B = (M1 * 0.5 + M2 * 0.5)*A
B = M*A

并反转M

A = inv(M)*B = MB

例如

M1 = | 1   0 |          M2 = | 1/√2  -1/√2 |
| 0   1 |               | 1/√2   1/√2 |

制作

M = | √2/4+1/2      -√2/4 |
| √2/4       √2/4+1/2 |

和反向

inv(M) = | 1      √2-1 |
| 1-√2      1 |

你会发现

inv(M)*| 0.8535 | = |  0.999999  |
| 0.3535 |   |  -3e-5     |

上面的过程是线性代数的一部分,正是因为你可以使用联想&具有非标量的分布性质。

A = (M1 * 0.5 + M2 * 0.5)^-1 * B

最新更新