二维矩阵传参不会改变值_计算机图形学学习笔记(五):二维图形变换

第五章 二维图形变换

5.1 向量基础

  • 向量功能
    • 图形学中,处理三维物体,以及绘制对象的形状、位置、方向。有两大基本工具:向量分析、图形变换。
    • 向量:点和方向的实体 (没有位置)
  • 向量的表示
    • 两点之差是一个向量,方向指向被减点。
    • 维向量就是一个
      元组
  • 向量基本运算
    • 加减、数乘
    • 归一化
      • 即将向量转变为单位向量,方向不变,长度
    • 点积
      • ,用向量描述新闻,新闻相似,则向量夹角余弦接近于 1
      • ;
        ;
        ;
    • 叉积
      • 两个向量都正交,因此可以利用叉积求平面的法向量
      • 的长度等于由
        决定的平行四边形面积
  • 向量线性组合
    • 向量两种特殊线性组合(
      ):
      • 仿射组合:线性组合的系数和等于 1,
      • 凸组合:线性组合的系数和等于 1,且各系数非负,

5.2 图形坐标系

  • 坐标系的基本概念
    • 坐标系:建立图形和数之间对应联系的参考系
    • 建模 (modeling):程序中用于描述对象几何信息的数值
    • 观察 (viewing):表示对象中大小和位置的数值
      • 二维观察变换的一般方法是在世界坐标系中指定一个观察坐标系统,以该系统为参考通过选定方向和位置来指定矩形裁剪窗口。
  • 坐标系分类
    • 维度分类
      • 一维、二维、三维坐标系
    • 坐标轴之间的空间关系分类
      • 直角坐标系、极坐标系、圆柱坐标系、球坐标系
    • 计算机图形学坐标系分类
      • 世界坐标系:公共坐标系,现实中物体或场景的统一参照系。计算机图形系统中涉及的其它坐标系都是参照它进行定义的。
      • 建模坐标系:又称局部坐标系,每个物体(对象)有它自己的局部中心和坐标系,独立于世界坐标系来定义物体的几何特性。
      • 观察坐标系:依据观察窗口的方向和形状在世界坐标系中定义的坐标系。观察坐标系用于指定图形的输出范围。
      • 设备坐标系:适合特定输出设备输出对象的坐标系,比如屏幕坐标系。设备坐标是整数。
      • 规范化坐标系:规范化坐标系独立于设备,能容易地转变为设备坐标系,是一个中间坐标系。归一化后的坐标,坐标轴取值范围 0~1。

5.3 二维图形变换原理

5.3.1 图形变换概述

  • 用途
    • 各种变换:比例、旋转、镜像、错切、平移
    • 由一个基本的图案,经过变换组合成另外一个复杂图形
    • 用很少的物体组成一个场景
    • 可以通过图形变换组合得到动画效果
  • 基本原理
    • 图形变化,但原图形的连边规则没有改变
    • 图形变化,是因为顶点位置改变决定
    • 变换几何关系,保持原拓扑关系。

5.3.2 仿射变换

  • 仿射变换 (Affine Transformation / Affine Map)
    • 基本功能
      • 平直性:直线变换后仍是直线
      • 平行性:平行线变换后仍平行,且直线上点的位置顺序不变
    • 二维仿射变换
      • 都是原始坐标
        的线性函数
      • 矩阵形式:

5.3.3 齐次坐标

  • 二维平面中用
    表示一个点,不妨说是一个向量
    表示一个点。所以可以用第
    维为常数的
    表示二维平面上的向量。
  • 这种
    维表示
    维的方法称为——齐次坐标表示法,
    维向量
    表示为
    ,其中
    称为哑坐标,特别的
    时称齐次坐标为规格化坐标。
  • 二维仿射变换,齐次坐标表示:
  • 不使用齐次坐标可以做比例、对称、旋转变换,但做不到平移变化,无法增加常数项。

5.4 基本几何变换

5.4.1 平移变换

  • 不产生变形而移动物体的刚体变换,即物体上的每个点移动相同数量的坐标
  • 坐标形式:
  • 齐次坐标形式:

5.4.2 比例变换

  • 相对于坐标原点沿
    方向放缩
    倍,沿
    方向放缩
    倍。
    放大,
    缩小。
  • 坐标形式:
  • 齐次坐标形式:
  • 时,为整体比例变换,
    放大,
    缩小,
    发生关于原点的对称等比变换。

5.4.3 对称变换

  • 也称镜像变换或反射变换。有关于x轴、y轴、原点、某条直线的对称变换。
  • 关于
    轴对称:
  • 关于
    轴对称:
  • 关于原点对称:

5.4.4 旋转变换

  • 将点绕原点旋转角度
    ,逆时针为正,顺时针为负
  • 坐标形式(逆时针):
  • 齐次坐标形式(逆时针):
  • 顺时针只要将
    即可。

5.4.5 错切变换

  • 弹性物体的变形处理

6a2485267cb658cb24a737d58f4fd9b1.png
  • 变换矩阵中的非对角线元素大都为零,若变换矩阵中的非对角元素不为
    ,则意味着
    同时对图形的变换起作用。也就是说,变换矩阵中非对角线元素起着把图形沿
    方向错切的作用。
  • 值或
    值越小,错切量越小;
    值或
    值越大,错切量越大。
  • 齐次坐标形式:
  • 沿
    方向错切,即

5.4.5 复合变换

  • 图形作大于一次的变换,
    矩阵相乘不可交换!任何一个复杂的几何变换都可以看作基本几何变换的组合形式。
  • 二维复合平移:
  • 二维复合比例:
  • 二维复合旋转:

5.4.6 坐标系变换

  • 图形变换经常需要从一个坐标系变换到另一个坐标系,如下图从
    变换到

43146883177136cf7eaa332aaf4f98c4.png
  • 上图变换分两步完成,
    ,注意是从目标到源
    • 平移变换 —— 将
      坐标系的原点平移至
      坐标系的原点
    • 旋转变换 —— 将
      轴旋转到
      轴上

5.4.7 任意参考点的几何变换

  • 在以往的变换中,以 (0, 0) 为参考点,倘若以任意点为参考点,则:
    • 将参考点移到原点(平移)
    • 针对原点进行二维几何变换(变换)
    • 将原点移到参考点(反平移)

5.5 二维变换矩阵

5.5.1 二维变换矩阵概述

  • 二维空间中某点的变化可以表示成点的齐次坐标与 3 阶的二维变换矩阵
    相乘

e79fdf6ec296fb9374467b7b51b03987.png

5.5.2 二维图形几何变换的计算

  • 点的变换:
  • 直线的变换(两端点的变换):
  • 多边形的变换(每个顶点的变换):

5.4 窗口、视图及变换

5.4.1 窗口和视区

  • 窗口:世界坐标系中要显示的区域
  • 视区:窗口映射到显示器上的区域
  • 窗口定义显示什么;视区定义在何处显示;二者需要进行坐标变换

3bd44645d66ce521cb7f35ea36564c09.png
  • 世界坐标系中的一个窗口可以对应于多个视区

4c82549a60f5434f114b97b37bae38b4.png

5.4.2 观察变换

  • 观察变换 (Viewing Transformation)
  • 变焦距效果
    • 窗口放大/缩小,视区不变,图形缩小/放大

320300b5f1ed860bb3fb364d3cc7249d.png
  • 整体缩放效果
    • 窗口不变,视区放大/缩小,图形放大/缩小

d9f0cc0628898ef2de92b37252aeadbc.png
  • 漫游效果
    • 把一个固定大小的窗口在一幅大图形上移动,视区不变。

5.4.3 窗口到视区的变换

  • 窗口的点
    视区的点

1a156213e1f6ab4e55fc3edd0ecd9737.png
  • 保持比例的映射
    • 保持比例:映射之后,中心点仍然在中心,边界点仍然在边界
    • 比例保持:
    • 根据倍数关系:
    • 同理,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值