The row and col of a Mat to represent 3d point cloud in OpenCV is N * 3, N is the number of the points and 3 is the x, y, z coordinate respectively. For example, when I use method loadPLYSimple to load data from PLY file I will get N * 3 Mat, when I use the Flann KDTREE, I need to pass N * 3 Mat as the parameter... But the problem is when we try to perform a transformation on the data, it should be like transformation Mat * points Mat. If we have a 3 * 3 rotation Mat R, and the points Mat pc, the common way is just R * pc. However, pc is N * 3, so we need to do some extra transpose work. I'm not familiar with OpenCV, I just want to know if there is any better way to do that instead of doing the transpose work each time? Or maybe there is something which I do not understand hidden behind?Thanks.