(本文为三无产品。不含详细推导过程,不含示意图,不知所云。仅供围观)
-
model transformation
模型在世界坐标系下的表示
-
view/camera transformation
将相机调整到世界坐标系上,使得模型在相机坐标系下表示
-
projection transformation
设模型位于给定frustum/cube中,将其映射至的标准立方体中
-
viewport transformation
将标准立方体映射至显示屏幕上
1. Model Transformation (M)
from model to world transform:
2. View/Camera Transformation (V)
from world coordinate to camera
- -- camera/eye position
- -- gaze direction (look at)
- -- view-up vector
其中和不一定垂直
世界坐标系:
设camera的base在世界坐标系的表示为:,最后归一化
表示为:
表示为:
3. Projection Transformation (P)
3.1 Orthographic Projection Transformation (正交投影变换)
from cube to canonical cube
define cube plane:
- -- left plane
- -- right plane
- -- bottom plane
- -- top plane
- -- near plane
- -- far plane
变换步骤:先平移至原点,再缩放
3.2 Perspective Projection Transformation (透视投影变换)
from frustum to cube: 保持近平面不变,远平面形状压缩为近平面(z值不变)
define frustum plane distance:
- -- near plane
- -- far plane
以下公式基于虎书(此处假设)
而在一些图形API中,假设,此时:
最终透视投影变换可以表示为:
如果给定以下参数,define frustum para:
- -- field of view (视场角,竖直方向)
- -- 宽高比
so:
考虑frustum参数,并且认为frustum设置于camera朝向轴线上,可以表示为:
so:
4. Viewport Transformation (视口变换)
from canonical cube to screen
define
scale: ,z方向不变
Ref
- games101
- Fundamentals of Computer Graphics, Fourth Edition, 4th Edition
- 计算机图形学二:视图变换(坐标系转化,正交投影,透视投影,视口变换)
网友评论