output = the end result of this operation
JointToOrigin = some input matrix
OriginToJoint = The inverse of JointToOrigin
parent = parent->output (the output of this output's parent)
State = An input matrix, and the one I want to extract from output
This is how output is computed with these matrices:
MATRIX output;
output = JointToOrigin * State;
output = output * OriginToJoint;
output = output * parent;
Now assuming all of these matrices have the same values as the time of above, is it possible to determine the value of the original -State- matrix? Can anyone help me determine the order I would need to do this in? This is what I have tried, and I've tried re-arranging them, but I haven't had any luck:
State = Inverse(parent) * output;
State = State * JointToOrigin; // because JointToOrigin is the inverse of OriginToJoint
State = OriginToJoint * State; // because it is the inverse
Thank you for any help