Until now all of our equations were referenced to an axis situated in optical center (OC) of the camera, but probably the given PO won’t be referenced to that axis and we have POw (world referenced) and we’ll need to convert POw to PO (OC referenced) before apply previous equations, see figure 1.
If we want to project a POw to N cameras we have to covert N times POw into PO (referenced to OC of each camera) before apply intrinsics matrix.
Rotation & translation
The camera axis can be rotated and translated respect to word axis. Let’s starts defining some parameters:
Twoc = Vector from world axis center to camera axis center (respect world axis)
Tocw = Vector from camera axis center to world axis center (respect camera axis)
Rw2oc = Rotation matrix of the world axis respect camera axis (used to project world points to camera axis)
Roc2w = Rotation matrix of the camera axis respect world axis (used to project camera points to world axis
Usually we have Twoc and Rocw, and starting from these parameters we have to calculate extrinsics matrix (Kext).
In the figure 2 we define the previous parameters and we calculate the Kext matrix for a 2D environment.
We can see that the matrices used to convert (rotate) a 3D point world referenced to camera referenced (OC) are the same matrices used to rotate point in 3D world (standard rotation matrices), we are doing the same calculus from different point of view, see the figure 4.
Finally we can define Kext for a 3D world, see figure 5:
Now we can use Kext we can convert any 3D point world referenced into cam referenced, we only have to multiply the world referenced vector by Kext to obtain the converted vector.