This interactive toy shows how different camera parameters change the camera's geometry and how a scene is rendered. This was originally built to supplement my upcoming articles exploring the intrinsic and extrinsic matrices; this is the standalone version. For more on the perspective camea, check out my series of articles on the topic, "The Perspective Camera, an Interactive Tour".
This requires javascript and a WebGL-enabled browser.
Scene | Image |
Adjust extrinsic parameters above.
This is a "world-centric" parameterization. These parameters describe how the world changes relative to the camera. These parameters correspond directly to entries in the extrinsic camera matrix.
As you adjust these parameters, note how the camera moves in the world (left pane) and contrast with the "camera-centric" parameterization:
Also note how the image is affected (right pane):
Adjust extrinsic parameters above.
This is a "camera-centric" parameterization, which describes how the camera changes relative to the world. These parameters correspond to elements of the inverse extrinsic camera matrix.
As you adjust these parameters, note how the camera moves in the world (left pane) and contrast with the "world-centric" parameterization:
Also note how the image is affected (right pane):
Adjust extrinsic parameters above.
This is a "look-at" parameterization, which describes the camera's orientation in terms of what it is looking at. Adjust \(p_x\), \(p_y\), and \(p_z\) to change where the camera is looking (orange dot). The up vector is fixed at (0,1,0)'. Notice that moving the camera center, *C*, causes the camera to rotate.
Adjust intrinsic parameters above. As you adjust these parameters, observe how the viewing volume changes in the left pane:
Intrinsic parameters result in 2D transformations only; the depth of objects are ignored. To see this, observe how the image in the right pane is affected by changing intrinsic parameters: