计算机图形学-GAMES101-3

这篇具有很好参考价值的文章主要介绍了计算机图形学-GAMES101-3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、transformation-变换

(1)Scale

  • 缩放变换示意图
    计算机图形学-GAMES101-3

  • 图形每个像素对应坐标的计算公式
    计算机图形学-GAMES101-3

  • 写成缩放矩阵的形式
    计算机图形学-GAMES101-3

  • 非均匀缩放
    计算机图形学-GAMES101-3

(2)Reflection Matrix

  • 镜面变换示意图
    计算机图形学-GAMES101-3

  • 图形每个像素对应坐标的计算公式
    计算机图形学-GAMES101-3

  • 写成镜像矩阵的形式
    计算机图形学-GAMES101-3

(3)Shear Matrix

  • 切变变换示意图
    计算机图形学-GAMES101-3

  • 写成切片矩阵的形式
    计算机图形学-GAMES101-3

(4)Rotate

  • 旋转变换示意图
    计算机图形学-GAMES101-3

  • 旋转默认以原点为旋转中心,旋转方式为逆时针旋转。计算机图形学-GAMES101-3

  • 旋转矩阵
    计算机图形学-GAMES101-3

(5)总结

  • 我们要做变换,就要找到变换前坐标和变换后坐标之间的一种关系,根据这种关系将原坐标变换为新坐标,并将坐标和变换写成矩阵形式。
    计算机图形学-GAMES101-3

二、齐次坐标

(1)平移

  • 平移变换示意图
    计算机图形学-GAMES101-3

  • 图形每个像素对应坐标的计算公式
    计算机图形学-GAMES101-3

  • 由于是相加,所以我们只能写成这种形式:
    计算机图形学-GAMES101-3

  • 可以发现平移变换不是线性变换,无法表述为之前变换的形式,即坐标矩阵乘以一个矩阵的形式。有没有一个办法可以统一的表示所有的变换方式呢?

(2)No free lunch

  • 没有付出就没有收获,诸如动态规划是一种用空间换时间的求解算法,想要更好的表达方式,就需要牺牲一些东西。使用齐次坐标即可统一表述方式。

  • 使用齐次坐标实现平移变换。计算机图形学-GAMES101-3

(3)齐次坐标的介绍

  • 点和向量齐次坐标的表示,向量w=0代表了向量的平移不变性。
    计算机图形学-GAMES101-3

  • 也表述了向量+向量=向量、点-点=向量 等运算规则。
    计算机图形学-GAMES101-3

  • 扩展齐次坐标下点w分量的含义
    计算机图形学-GAMES101-3

三、齐次坐标的变换

(1)变换

  • Affine Transformations计算机图形学-GAMES101-3

  • 任何一个 Affine Transformations都可以写为变换矩阵形式。
    计算机图形学-GAMES101-3

  • 变换对应的矩阵
    计算机图形学-GAMES101-3

(2)逆变换

  • 逆变换对应原变换矩阵的逆矩阵(AM=B,AM-M=B-M,A=B-M)。
    计算机图形学-GAMES101-3

(3)变换顺序的讨论

  • 变换的顺序:缩放->旋转->平移。因为定义旋转是围绕原点,所有必须保证旋转时未经过平移,因此旋转在平移之前。因为定义缩放一般是我们针对原图形进行的横纵向缩放,即缩放时我们认为图形的横向为x轴纵向为y轴,而旋转会导致图形横向和纵向偏移,所以缩放需要在旋转之前进行。

  • 所有任何复杂的变换都可以通过这些基本变换得到,即定义在一个变换矩阵中。如果当对图形进行过旋转和平移了,还想对其进行缩放,可以先将图形逆变换到缩放阶段,然后执行缩放变换,再执行原本的旋转和平移变换即可。

  • 注意矩阵乘法类似于函数映射y=F(x),所以变换矩阵M和位置矩阵x的乘法为Mx,为左乘。对坐标的变换如下图,会从右到左依次应用各个变换矩阵。
    计算机图形学-GAMES101-3

  • 矩阵从右到左逐个应用。也可也认为是,从An×A(n-1)×…×A1=M,即计算出变换矩阵M应用到坐标上。
    计算机图形学-GAMES101-3

  • 如果有一个变换,它要求基于原点以外一个点旋转,或者是要求基于x轴和y轴以外的轴进行缩放,那该怎么办?对于绕原点以外的点旋转,我们只需要平移物体,使得旋转点平移到原点(保证了旋转点和物体的相对位置不变),再开始绕着原点旋转,这样就得到了应该旋转得到的效果,只不过我们还要将物体平移回去而已。而对于缩放也是一样,我们将旋转轴旋转到x轴上,进行x轴上的缩放,然后再旋转回原本的缩放方向即可。注意变换矩阵是从右到左的变换顺序。
    计算机图形学-GAMES101-3

  • 存在变换顺序是因为变换的规则是固定的,而针对上述本身就打破了变换规则的变换,需要打破变换顺序才可以得到实现。但是无论在任何时候,我们想要旋转物体,只需要保证旋转中心在原点,我们需要缩放物体,只需要保证缩放轴在x或y轴上。这样我们可以先通过简单的变换使得旋转中心在原点或者缩放轴在x轴上,我们即可实施不规则的旋转或缩放。任何变换都是有对应的关系的,如果你能设计出一种变换关系,那你也可以不基于这些基本的变换,比如之间绕某个点旋转。

四、三维变换

(1)三维的齐次坐标

  • 添加z坐标即可。计算机图形学-GAMES101-3

  • w不等于0,则点的坐标为:
    计算机图形学-GAMES101-3

  • 三维变换矩阵,其中3X3为线性变换,旁边一列为平移变换计算机图形学-GAMES101-3

  • 变换的顺序,上图矩阵等价下图计算过程,因此变换顺序也是先线性变换后平移。
    计算机图形学-GAMES101-3文章来源地址https://www.toymoban.com/news/detail-459901.html

到了这里,关于计算机图形学-GAMES101-3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机图形学】图形变换(平移变换、比例变换、旋转变换、对称变换、错切变换、复合变换)

    一 实验目的 编写图形各种变换的算法 二 实验内容 1 :自行设计基本图案,完成1-5种简单变换 实验结果如下图所示: 图形初始化: 第一次点击左键,实现平移变换:     第二次点击左键,实现比例变换(同时伴有平移变换):   第三次点击左键,实现对称变换(以平行

    2024年02月05日
    浏览(32)
  • 【计算机图形学01】坐标变换

             将坐标变换为标准化设备坐标,接着再转化为屏幕坐标的过程通常是分步进行的,也就是类似于流水线那样子。在流水线中,物体的顶点在最终转化为屏幕坐标之前还会被变换到多个坐标系统(Coordinate System)。将物体的坐标变换到几个 过渡 坐标系(Intermediate Coor

    2024年02月10日
    浏览(31)
  • 计算机图形学(三) -- 3D 变换

    同样引入齐次坐标: 3D 点 = ( x , y , z , 1 ) T (x, y, z, 1)^T ( x , y , z , 1 ) T 3D 向量 = ( x , y , z , 0 ) T (x, y, z, 0)^T ( x , y , z , 0 ) T 通常, ( x , y , z , w ) (x, y, z, w) ( x , y , z , w ) (w != 0) 表示一个坐标为 ( x / w , y / w , z / w ) (x/w, y/w, z/w) ( x / w , y / w , z / w ) 的 3D 点 用一个 4x4 的矩阵来表示

    2024年02月08日
    浏览(29)
  • 计算机图形学 | 变换与观察

    华中科技大学《计算机图形学》课程 MOOC地址:计算机图形学(HUST) 回顾几何阶段 整体流程: 这其中存在3种变换: 坐标系的变换 模型本身的运动 观察者的运动 几何变换 以上各种变换都可以通过以下变换的复合来计算: 平移 比例 旋转 对称 错切 图形的几何变换是指对图

    2023年04月27日
    浏览(36)
  • 【计算机图形学】图形变换(以任意直线为对称轴的对称变换)

    模块3-2 图形变换 一 实验目的 编写图形各种变换的算法 二 实验内容 1 :任意直线的对称变换。要求将变换矩阵写在实验报告中,并与代码匹配。求对任意直线Ax+By+C=0的对称变换矩阵。 实验结果如下图所示: 1:预设图形初始化 2:鼠标左键点击直线起点 3:鼠标右键点击直线

    2024年02月01日
    浏览(45)
  • 计算机图形学:二维图形的几何变换(算法原理及代码实现)

    对于一个二维图形作平移、旋转、放缩变换,可以转换为在二维坐标系中图形的所有点分别可以对应到在x,y轴方向分别平移tx,ty(平移)、绕一点旋转固定的角(旋转)、在x,y轴方向分别放缩sx,sy倍。 对于变换的原理,只需要将原图形的点通过极坐标或者相加、相乘,再

    2024年02月11日
    浏览(29)
  • 计算机视觉 图像形成 几何图形和变换 3D到2D投影

            现在我们知道如何表示2D和3D几何图元以及如何在空间上转换它们,我们需要指定如何将 3D图元投影到图像平面上。 我们可以使用线性3D到2D投影矩阵来做到这一点。最简单的模型是正交法,它不需要除法就可以得到最终的(不均匀的)结果。更常用的模型是透视,

    2023年04月08日
    浏览(33)
  • 计算机图形图像技术(OpenCV核心功能、图像变换与图像平滑处理)

    1、显示图像 ①功能:在指定窗口中显示图像。 ②参数: name 为窗口的名字; image 为待显示的图像。 ③说明:可显示彩色或灰度的字节图像和浮点数图像,彩色图像数据按BGR顺序存储。 2、读入图像 ①功能:从指定文件读入图像。 ②参数: filename 为图像文件名,支持BMP、

    2024年02月03日
    浏览(37)
  • Games101学习笔记 - 变换矩阵基础

    缩放变换 : 1均匀缩放 2不均匀缩放 注意:上图是默认二维旋转的是以远点为圆转重心,并且逆时针旋转 旋转矩阵推导原理: 引入原因: 上面说了ax + by 的方式都可以写成矩阵的形式,但是平移的操作的公式如下,不能写成矩阵的形式。 只能写成如下: 为了同意变换,让他

    2024年02月15日
    浏览(20)
  • 【GAMES101】03 Transformation

    1、Scale(缩放)  2、Reflection Matrix(反射矩阵)  3、Shear Matrix(剪切矩阵)  4、Rotation Matrix(旋转矩阵) 推导过程:     5、Translation Matrix(平移矩阵) 平移操作不属于线性变换的范畴。 引入 齐次坐标 ,通过增加维度,来将平移坐标写成同样的矩阵形式。 很显然,平移无

    2024年02月02日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包