The scene, and what the camera sees

A real WebGL scene beside the image a pinhole camera forms of it, with the camera's field of view derived from a focal length in pixels. The two views stay in sync, so moving the object moves the projection.

Try this

Push the ball away from the camera and watch its projected radius shrink by the same factor its distance grew.

Try it: the red-ball scene in 3-D
Scene drag to orbit · scroll to zoom
What the camera sees the render (640×480)

Where this lab comes from

The Camera Matrix: K, [R|t] and P, Worked on a Real Chessboard

Lesson 2 of Camera Geometry. A camera is one 3×4 matrix: the focal lengths and image centre in K, where the camera stands in [R|t], and their product P, which sends any point of the world to a pixel. Worked on one corner of a chessboard in OpenCV's own calibration photos, checked against cv2.projectPoints, and taken apart again.

More in cameras and geometry