<Dl> <Dd> b x = e z d z d x − e x b y = e z d z d y − e y . (\ displaystyle (\ begin (array) (lcl) \ mathbf (b) _ (x) & = & (\ frac (\ mathbf (e) _ (z)) (\ mathbf (d) _ (z))) \ mathbf (d) _ (x) - \ mathbf (e) _ (x) \ \ \ mathbf (b) _ (y) & = & (\ frac (\ mathbf (e) _ (z)) (\ mathbf (d) _ (z))) \ mathbf (d) _ (y) - \ mathbf (e) _ (y) \ \ \ end (array)).) </Dd> </Dl> <Dd> b x = e z d z d x − e x b y = e z d z d y − e y . (\ displaystyle (\ begin (array) (lcl) \ mathbf (b) _ (x) & = & (\ frac (\ mathbf (e) _ (z)) (\ mathbf (d) _ (z))) \ mathbf (d) _ (x) - \ mathbf (e) _ (x) \ \ \ mathbf (b) _ (y) & = & (\ frac (\ mathbf (e) _ (z)) (\ mathbf (d) _ (z))) \ mathbf (d) _ (y) - \ mathbf (e) _ (y) \ \ \ end (array)).) </Dd> <P> Or, in matrix form using homogeneous coordinates, the system </P> <Dl> <Dd> (f x f y f z f w) = (1 0 − e x e z 0 0 1 − e y e z 0 0 0 1 0 0 0 − 1 e z 1) (d x d y d z 1) (\ displaystyle (\ begin (bmatrix) \ mathbf (f) _ (x) \ \ \ mathbf (f) _ (y) \ \ \ mathbf (f) _ (z) \ \ \ mathbf (f) _ (w) \ \ \ end (bmatrix)) = (\ begin (bmatrix) 1&0& - (\ frac (\ mathbf (e) _ (x)) (\ mathbf (e) _ (z))) &0 \ \ 0&1& - (\ frac (\ mathbf (e) _ (y)) (\ mathbf (e) _ (z))) &0 \ \ 0&0&1&0 \ \ 0&0& - (\ frac (1) (\ mathbf (e) _ (z))) &1 \ \ \ end (bmatrix)) (\ begin (bmatrix) \ mathbf (d) _ (x) \ \ \ mathbf (d) _ (y) \ \ \ mathbf (d) _ (z) \ \ 1 \ \ \ end (bmatrix))) </Dd> </Dl>

Write a program for displaying 3d objects as 2d display using perspective transformation