原理公式
正交投影:直接丢弃深度(或做线性缩放),平行线保持平行,远近物体大小相同:
$$\text{正交: } \quad (x', y') = (x, y)$$
透视投影:近大远小。相机在原点看向 +z,焦距 d 时:
$$\text{透视: } \quad x' = \frac{d\,x}{z},\qquad y' = \frac{d\,y}{z}$$
推导要点:透视是「相似三角形」——屏幕上的位置正比于
1/z, 这就是深度信息在投影中丢失、导致前四册「伪交点」问题的数学根源。
重难点核心代码(code/demo12_projection.py)
Python
def ortho(V): return V[:, :2] # 正交: 丢 z
def persp(V, d=3.0):
return d * V[:, :2] / V[:, 2:3] # 透视: 除以深度 z
