A: Sorry about that. The "Z" axis should be "X", "X" should be "Y", and "Y" should be "Z". Here is the correct picture:
A: If you have several parallel lines, they will appear to meet at a point when the perspective projection is applied. We know this, but how do we do it mathematically?
Think about the equation for a line: (x,y,z) = (Px,Py,Pz) + t(Vx,Vy,Vz). If you project this line using the projection matrix, and keep all the parameters in place, when you let t go to infinity, you should get the vanishing point.
Another way to look at it is this: A point on the line will have homogeneous coordinates:
(Px+tVx, Py+tVy, Pz+tVz, 1).
Since we can multiply homogeneous points by a constant, this is equivalent to the point multiplied by 1/t:
(Px/t+Vx, Py/t+Vy, Pz/t+Vz, 1/t)
Now let t go to infinity, and the homogeneous point is
(Vx,Vy,Vz,0)
So this should project to the vanishing point. Moral: the "Point at infinity" is a direction vector.
A: It's 1 (one) unit away from the eye, perpendicular to the eye-reference line, which is the camera's Z axis.
A: Sorry. The top-left number is positive, not negative:
[R] [ 1.967 -0.548 -0.297] [X] [G] = [-0.955 1.938 -0.027] [Y] [B] [ 0.064 -0.130 0.982] [Z]
A: No. Just write up your values of X,Y,Z, x,y, etc. that you obtained through your calculations.
X = k Σ P(λ) X(λ) Δλ
What is k in that equation?
A: It can be anything. Make it 1. It gets thrown out by the normalization anyway.
A: yes.
A: The image plane is located on the front clipping plane, and the image is contained in a rectangle bounded by the left, right, top, and bottom planes. Thus the image is a rectangle whose opposite corners are:
A: In VCS, at the origin, (0,0,0)
A: On the image rectangle, there are W of them left-right and H of them up-down. You should be able to infer each pixel's VCS coords from this information.
In DEVICE coordinates, on the bottom-left corner of the image rectangle.
Sure. Look here.