计算机图形学 | 变换与观察

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

华中科技大学《计算机图形学》课程

MOOC地址:计算机图形学(HUST)

计算机图形学 | 变换与观察

6.1 神奇的齐次坐标

回顾几何阶段

整体流程:

计算机图形学 | 变换与观察

这其中存在3种变换:

  • 坐标系的变换
  • 模型本身的运动
  • 观察者的运动

几何变换

以上各种变换都可以通过以下变换的复合来计算:

  • 平移
  • 比例
  • 旋转
  • 对称
  • 错切

图形的几何变换是指对图形的几何信息经过平移、比例、旋转等变换后产生新的图形。

下面以二维为例,讲解各个变换。

平移

指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程,是一种不产生变形而移动物体的刚体变换(rigid-body transformation)。

计算机图形学 | 变换与观察

比例

对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍。其中Sx和Sy称为比例系数。

计算机图形学 | 变换与观察

旋转

将p点绕坐标原点转动θ角度(逆时针为正,顺时针为负)得到新的点p’的重定位过程。

计算机图形学 | 变换与观察

对称

对称变换后的图形是原图形关于某一轴线或原点的镜像。

计算机图形学 | 变换与观察

错切

也称为剪切、错位变换,用于产生弹性物体的变形处理。

计算机图形学 | 变换与观察

总结:

计算机图形学 | 变换与观察

齐次坐标的引入

齐次坐标的概念和相关问题

齐次坐标表示就是用n+1维向量表示一个n维向量。

以二维坐标系下点p(4,3)为例:齐次坐标表示为p(hx,hy,hz),具体可以为P(4,3,1), P(8,6,2)等等。

说明齐次坐标的不唯一性。

规范化齐次坐标表示就是h=1的齐次坐标表示。

规范化的方法:将每一维除以h。

以二维坐标系下点p(4,3)为例:齐次坐标表示为P(4,3,1), P(8,6,2)等等;其中,规范化齐次坐标表示P(4,3,1);

规范化:将P(8,6,2)规范化只需要对每一维除以h即可。即:P(8/2,6/2,2/2)得到P(4,3,1)。

基于齐次坐标的变换

全部统一为矩阵运算:

计算机图形学 | 变换与观察

其中:
T1是对图形进行比例、旋转、对称、错切等变换;
T2是对图形进行平秱变换;
T3是对图形作投影变换;
T4则可以对图形作整体比例变换。

计算机图形学 | 变换与观察

整体比例变换:

计算机图形学 | 变换与观察

如果有多个点?如果变换多次呢?

  1. 几何变换均可表示成P’ = P ∙ T 的形式,其中P和P’可以有多行(有几个点对应几行);
    计算机图形学 | 变换与观察

  2. 如果是多次变换,则T变成多次变换对应矩阵的乘积:
    计算机图形学 | 变换与观察

6.2 三维模型,动起来!

基本三维变换

基本的三维变换包括:

  • 平移
  • 比例
  • 旋转
  • 对称
  • 错切

三维坐标(x,y,z)的齐次坐标表示(hx,hy,hz,h)。

以维坐标系下点p(4,3,2)为例:齐次坐标表示具体可以为P(4,3,2,1), P(8,6,4,2)等,规范化齐次坐标表示为P(4,3,2,1)。

基于三维齐次坐标的变换:

计算机图形学 | 变换与观察
根据T3D在变换中所起的作用,可将T3D分成四个子矩阵:

T1:3×3阶子矩阵,作用是对点进行比例、对称、旋转、错切变换
T2:1×3阶子矩阵,作用是对点进行平移变换
T3:3×1阶子矩阵,作用是进行投影变换
T4:1×1阶子矩阵,作用是进行整体比例变换

平移

指将p点沿直线路径从一个坐标位置移到另一个坐标位置的重定位过程,是一种不产生变形而移动物体的刚体变换(rigid-body transformation)。

计算机图形学 | 变换与观察

比例

对p点相对于坐标原点沿x方向放缩Sx倍,沿y方向放缩Sy倍,沿z方向放缩Sz倍。其中Sx、Sy和Sz称为比例系数。

计算机图形学 | 变换与观察

旋转

将p点绕坐标轴转动θ角度得到新的点p’的重定位过程。

正方向如何确定?

按右手定则,规定逆时针为正,顺时针为负。

计算机图形学 | 变换与观察

计算机图形学 | 变换与观察

计算机图形学 | 变换与观察

对称

对称变换后的图形是原图形关于某一轴线、某一坐标平面或原点的镜像。

关于坐标平面:

计算机图形学 | 变换与观察

关于坐标轴:

计算机图形学 | 变换与观察

错切

也称为剪切、错位变换,用于产生弹性物体的变形处理。

计算机图形学 | 变换与观察

假设有一个x方向上的错切则:x’=x+dy+gz。

整体比例变换

整体比例变换:对p点相对于坐标原点沿x方向放缩S倍。

计算机图形学 | 变换与观察

逆变换

所谓逆变换即是与上述变换过程的相反的变换。

平移的逆变换

平移的逆变换就是反向平移,将平移后的点移回到原处。

其变换矩阵为:

计算机图形学 | 变换与观察

比例变换的逆变换

比例变换的逆变换就是将比例因子取为倒数。

其变换矩阵为:

计算机图形学 | 变换与观察

旋转变换的逆变换

旋转变换的逆变换就是反向旋转,也就是将旋转角度由θ改为- θ。

其变换矩阵为:

计算机图形学 | 变换与观察

复合变换

三维复合变换是指图形作一次以上的变换,变换结果是每次变换矩阵相乘。

相对于任一参考点的变换

相对于参考点F(xf,yf,zf)作比例、旋转、错切等变换的过程分为以下三步:

  1. 将参考点F移至坐标原点
  2. 针对原点进行二维几何变换
  3. 进行反平移

计算机图形学 | 变换与观察

绕任意轴的三维旋转变换

计算机图形学 | 变换与观察

答案将在下一节给出。

6.3 观察者也能动

绕任意轴的三维旋转变换

假设已知空间有任意轴AB,A点的坐标为A(xA,yA,zA),AB的方向数为(a,b,c)。

现有空间一点p(x, y, z) ,绕AB轴逆时针旋转θ角后成为p’ (x’, y’, z’ ) ,若旋转变换矩阵为TRAB

则:[x’ y’ z’ 1] = [x y z 1] · TRAB

问题:如何求出TRAB

步骤:

  1. 把A点移动到坐标原点
  2. 把AB轴绕到某个坐标轴上
  3. 旋转
  4. 求1、2变换的逆变换,回到AB原来的位置

第一步:把A点移动到坐标原点

计算机图形学 | 变换与观察

第二步:把AB轴绕到某个坐标轴上

计算机图形学 | 变换与观察

绕x轴正转α角,将O’B’转动到XOZ平面上

计算机图形学 | 变换与观察

绕y轴反转β角,将O’B’转动到z轴上

计算机图形学 | 变换与观察

第三步:旋转

此时,AB轴与z‘轴重合,此时绕AB轴的旋转转换为绕z轴的旋转。

绕z轴旋转θ角的旋转变换矩阵为:

计算机图形学 | 变换与观察

第四步:求1、2变换的逆变换,回到AB原来的位置

也就是求 TtA ,TRx ,TRy 的逆变换。

计算机图形学 | 变换与观察

计算机图形学 | 变换与观察

计算机图形学 | 变换与观察

总结:

计算机图形学 | 变换与观察

观察变换

观察变换:从世界坐标系到观察坐标系的转换。

计算机图形学 | 变换与观察

观察坐标系:

坐标原点:观察者所在的位置。

计算机图形学 | 变换与观察

其中:

zv:视点和观察物体上焦点的连线
yv:向上的方向
xv:按照右手定则确定的方向

实际上求什么?

求世界坐标系中点Q(x,y,z)在观察坐标系中的坐标值。

观察变换的实现:

  1. 平移观察参考点到用户坐标系原点
    计算机图形学 | 变换与观察
  2. 进行旋转变换分别让xv、yv和zv轴对应到用户坐标系中的x、y和z轴。
    计算机图形学 | 变换与观察

模型变换与观察变换

观察变换的应用:场景漫游

模型变换不观察变换具有对偶性。但是由于场景中只有部分物体运动,所以效果不同。文章来源地址https://www.toymoban.com/news/detail-426870.html

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

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

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

相关文章

  • 计算机图形学:二维图形的几何变换(算法原理及代码实现)

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

    2024年02月11日
    浏览(29)
  • 计算机图形学基础:2D/3D坐标变换(Transformation)

    本文讲解了2D变换和3D变换式如何用矩阵表示的 如何将线性和非线性变换进行一个统一表示形式 三维物体在二维空间上的映射 表示向量添加了一维,分别表示单位距离和平移不变形的方向 旋转默认都是以(0, 0)为中心

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

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

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

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

    2024年02月03日
    浏览(37)
  • 深度学习·理论篇(2023版)·第002篇深度学习和计算机视觉中的基础数学知识01:线性变换的定义+基于角度的线性变换案例(坐标变换)+点积和投影+矩阵乘法的几何意义+图形化精讲

    💕 恭喜本博客浏览量达到两百万,CSDN内容合伙人,CSDN人工智能领域实力新星~ 🧡 本文章为2021版本迭代更新版本,在结合有效知识的基础上对文章进行合理的增加,使得整个文章时刻顺应时代需要 🧡 本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理

    2023年04月08日
    浏览(43)
  • 【计算机图形学】二维图形裁剪算法

    Cohen-Sutherland算法 Cohen-Sutherland是最早最流行的算法。 核心思想:通过 编码测试 来减少计算交点的次数。(编码算法) 1. 区域码: 线段端点以区域赋值以四位二进制码。 编码顺序:四位从右到左分别为:左边界、右边界、下边界、上边界。 编码值:落在相应位置为1,否则

    2024年02月02日
    浏览(39)
  • 初识计算机图形学

    笔记来源:【老奇】阴差阳错 撼动世界的游戏引擎 详见本人博客: 1.Transformation 2.梳理从MVP变换到光栅化的过程 MVP变换将空间中3D物体投影到2D屏幕 详见本人博客: 1.Rasterization(光栅化) 2.梳理从MVP变换到光栅化的过程 场景是一个个由三角面组成的模型 将模型投射到像素就

    2024年01月21日
    浏览(39)
  • 线性变换与计算机视觉的发展

    计算机视觉(Computer Vision)是一门研究如何让计算机理解和解析人类视觉系统所处的环境的科学。它涉及到许多领域,包括图像处理、模式识别、机器学习等。线性变换(Linear Transform)是计算机视觉中的一个基本概念,它可以用来处理图像和其他多维数据。 线性变换是一种将一个

    2024年02月22日
    浏览(35)
  • 计算机图形学——大作业

    绘制一个简单的三维场景,可以是室内:卧室,办公室,教室,也可以是室外:运动场,公园等,加上光照效果,简单的纹理映射,透视投影;不能过于简单;可以加动画、鼠标和键盘交互。     上交材料: project和word文档(具体内容展示,思路和心得) 首先初始化窗口,

    2024年02月11日
    浏览(38)
  • 计算机图形与图像技术

    可以使用Python、Java等语言。 下图中,图中各事物比例失调 如何使用代码去掉某个人(不允许使用抠图工具)?         像素(Pixel)是“图像元素”的缩写, 指的是图像的最小单位 。 它是构成数码图像或屏幕显示图像的基本单元,代表了图像中的一个小点或一个小方块

    2024年02月07日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包