To change the camera position, just change O. The viewport will move with it via CanvasToViewport

To change the camera orientation, multiply the camera rotation matrix by the vector from CanvasToViewport.