I have an cube with 6 aruco markers and trying to find the center of the cube in world coordinates. Basically need to move the known point in the center of the aruco marker down half the length of the cube perpendicular to the face of the marker.
In a car game, this would be similar to finding the next position based on it's velocity and the direction it's going.
I'm not sure how to transform the point a given distance in the opposite direction of rvec. I am after the position in 3D in world coordinates, so this one doesn't help much.
This is what I have so far based on projectPoints() implementation
Matx33d R;
Rodrigues(rvecs[i], R);
Affine3d aff(rvecs[i], tvecs[i]);
Vec3d move_along_z(0, 0, 0.5f);
Vec3d new_point = aff*move_along_z; // ??