# Coordinate axis with triangulatePoints

So, I have the projection matrix of the left camera:

and the projection matrix of my right camera:

And when I perform `triangulatePoints`

on the two vectors of corresponding points, I get the collection of points in 3D space.
All of the points in 3D space have a **negative Z coordinate**. I **assume** that the initial orientation of each camera is directed **in the positive Z axis direction**.

My assumption was that OpenCV uses Right Hand coordinate system like this:

So, when I positioned my cameras with projection matrices, the complete picture would look like this:

But my experiment leads me to believe that OpenCV uses Left Hand coordinate system:

And that my projection matrices have effectively messed up the left and right concept:

Is everything I've said correct? Is the latter coordinate system really the one that is used by OpenCV?

If I assume that it is, everything seems to work fine. But when I want to visualize things using `viz`

module, their `WCoordinateSystem`

widget is right handed.

Is the question unclear in some way? I would consider this to be basic stuff... I just cannot find a definite answer.

Specifically, when I use

`triangulatePoints`

to get 3D point coordinates. And immediately after that I pass these 3D point coordinates to`solvePnP`

. What I expect to get is a camera pose around zero 3D coordinate and zero rotation.Instead I get some wild values, indicating that my camera moved about 5 meters in some random direction.