zju3dv/Vox-Fusion

questions about coordinate frame transformation

marrblue opened this issue · 1 comments

Thanks for your impressive work!

Here I have some confusion on the following code (in mapping.py)

 def create_voxels(self, frame):
        points = frame.get_points().cuda()
        pose = frame.get_pose().cuda()
        points = points@pose[:3, :3].transpose(-1, -2) + pose[:3, 3]

In my understanding, this code is going to transform local points into world frame.
But why did you use 'transpose(-1, -2)' to transpose the rotation matrix ?
Look forward to your reply :)

It seems that "transpose(-1, -2)" is responsible for transpose nx3 matrix to 3*n matrix and has nothing to do with rotation matrix. I misunderstood before.