LIO-SAM icon indicating copy to clipboard operation
LIO-SAM copied to clipboard

why transBt = transBegin.inverse() * transEnd;?

Open llxClover opened this issue 10 months ago • 1 comments

   Eigen::Affine3f transBt = transBegin.inverse() * transEnd; in imageProjection.cpp line 568

why not trans_e_s = transEnd * transBegin.inverse() , It make me very confused!

llxClover avatar Sep 03 '23 13:09 llxClover

Because we want to find the delta transformation (increment between final and initial):

We know that: transFinal = transBegin *transBt

The order is exactly like that because that is how coordinate frame change work. First element for matrix product is initial position, and second element is an increment.

Thus we can finds transBt from here:

transBt = transBegin.inverse() * transEnd

PurplePegasuss avatar Dec 19 '23 09:12 PurplePegasuss