齐次方程

  • (n+1)维度向量表示n维点
  • 二维点 (x, y) 可用齐次坐标(X,Y,ω)表示, 其中 x = X/ω, y = Y/ω
  • 一个空间点(x,y)有无穷多齐次坐标(X,Y,ω)

优点:

  • 用矩阵运算统一表示各种几何变换
    • 易于表示复合变换
    • 支持非线性变换表示 (3D-perspective transformations)
  • 可表示无穷远点(Infinity)

常用的几何变换

  • 基本变换:平移、旋转、放缩
  • 其它变换:剪切、对称、复合
  • 所有变换都是针对一个点的变换来讨论,复杂场景由顶点定义

作用:

  1. 构建复杂几何场景
  2. 简单动画
  3. 图形绘制流水线

二维变换

刚性变换

  • 形状不变但位置与朝向变化
    • 点之间的距离不变;
    • 线之间的夹角
  • 旋转与平移都是刚性变换
  • 刚性变换的复合变换仍然是刚性变换

仿射变换

三维变换

场景造型

  • 场景坐标系,包括世界坐标系、局部坐标系
    • 局部坐标系:建立单个物体模型,简化物体的定义
    • 世界坐标系:从单个物体构造复杂场景、造型变换
  • 变换:造型变换

图形流水线中的坐标系变换

  • 世界坐标系到视点坐标系
  • 变换:取景变换

投影(照相、摄影)

  • 投影坐标系和窗口坐标系
  • 变换:投影变换

二维显示

  • 窗口坐标系、规格化设备坐标系与屏幕的物理坐标系
  • 变换:设备变换、视窗变换

坐标变换流程图

坐标系

三维取景变换

图形流水线

几何变换流水线

坐标系设定方式

坐标系坐标轴方向计算

观察(取景)变换

投影变换

  • 3D到2D
  • 两种投影
    • 透视投影
    • 平行投影

裁剪--线段与多边形裁剪

需要裁剪的原因

  • 剔除不可见部分
  • 透视投影中视域四棱锥是指位于“前面”和“后面”之间的四棱台
  • 平行投影的视域形状一般为长方体
  • 投影时,要剔出位于视域体外部的物体部分

裁剪所在的流程

  • 图像坐标系到设备变换的过程中

二维线段裁剪

二维多边形裁剪

三维裁剪

关于三维变换与裁剪