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

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

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轴。
    在这里插入图片描述

模型变换与观察变换

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

模型变换不观察变换具有对偶性。但是由于场景中只有部分物体运动,所以效果不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值