图形学

向量值常用于表示力,位移,速度等物理量
这里写图片描述

单位向量:模为1

点积:

这里写图片描述

叉积:计算结果是向量
叉积只能用于3D向量,2D向量没有叉积。向量w同时垂直于u和v。
左手拇指定则(用于左手坐标系):指定w的方向

  1. 将拇指之外的4个手指指向第一个向量u的方向
  2. 向v的方向转动手指

将矩阵的每一行/列视为一个向量。

矩阵乘法:
结果矩阵C的第ij个元素的值等于A的第i个行向量和B的第j个列向量的点积
Cij=Ai,* ∙B*,j
由于在点积的计算中2个向量的维度必须相等,所以矩阵A的列数必须与矩阵B的行数相同
这里写图片描述
所以矩阵可以用结合律,不能用交换律

转置矩阵:行列交换

单位矩阵:

  • 正方形矩阵
  • 除了对角线上的元素为1外,其他元素均为0。
  • 将一个矩阵与单位矩阵相乘,得到结果不会发生改变。单位矩阵可以被看成是矩阵中的数字1

矩阵行列式:用符号detA表示

  • 将一个正方矩阵映射为一个实数
  • 得到逆矩阵
  • 余子式:删除了第i行和第j列后的(n − 1)×(n − 1)矩阵。
    这里写图片描述

    伴随矩阵:

  • 对于1个正方形矩阵,用Cij=(−1)i+jdetA¯ij(代数余子式)代替对应的元素Aij,获得A的余子矩阵CA

  • 对CA进行转置,得到A的伴随矩阵

    逆矩阵:

  • 只有正方形矩阵能做逆运算

  • 不是所有的正方形矩阵都有逆矩阵。有逆矩阵的称为可逆矩阵,没有逆矩阵的称为单调矩阵。
  • 如果存在逆矩阵,则唯一。
  • 将一个矩阵与它的逆矩阵相乘,其结果必定为单位矩阵。矩阵与它的逆矩阵的相乘次序可以互换
  • 这里写图片描述
  • 对于小矩阵(4×4矩阵或更小)来说,使用伴随矩阵的方法更有效率。对于更大的矩阵来说,我们可以使用诸如高斯消元法的方法求逆矩阵。但是在3D计算机图形中,要处理的矩阵具有特定的形式,因此可以事先确定求逆矩阵的方程,这样我们就无需浪费CPU资源去求一般矩阵的逆矩阵了。
  • (AB)-1=B-1A-1

    线性变换:

  • 函数τ(v)= τ(x,y,z) = (xʹ,yʹ,zʹ)。这个函数的输入和输出都是一个3D向量。

  • 满足这里写图片描述

仿射变换:

  • 线性变换加上平移向量 α(u)=τ(u)+b
    这里写图片描述

组合变换:

  • 有缩放矩阵S,旋转矩阵R,平移矩阵T。将这3个变换连续应用于立方体。
  • 可以将SRT看成一个矩阵C,将所有的3个变换封装为一个净仿射变换矩阵。
  • 注意支持结合律不支持交换律

坐标转换变换:
把将点或向量的坐标从一个参考系转换到另一个参考系
这里写图片描述
这里写图片描述

例如

  1. 物体可能在多个场景中重复使用,在局部坐标系中建立对象并存储坐标,通过坐标转换矩阵将物体从局部坐标系变换到不同的世界坐标系。
  2. 为了生成场景的2D图像,把一个局部坐标系(称为观察空间)附加在摄像机上,从世界空间到观察空间的坐标转换称为观察变换,相应的矩阵称为观察矩阵。

active变换可以和坐标转换相互转换。
这里写图片描述

Direct3D是一种底层绘图API,位于应用程序和绘图硬件之间。
组件对象模型(COM)技术使DirectX独立于任何编程语言,COM对象称为接口,并把它当成一个普通的C++类来使用。
2D纹理(texture)是一种数据元素矩阵,可以用于存储图像数据。
纹理可以被绑定到渲染管线(rendering pipeline)的不同阶段(stage)

显示:
这里写图片描述

  • 两个缓冲区分别称为前台缓冲区和后台缓冲区。
  • 前台缓冲区存储了当前显示在屏幕上的图像数据
  • 在后台缓冲区中绘制动画的下一帧
  • 当后台缓冲区的绘图工作完成之后,交换前台缓冲区的指针和后台缓冲区的指针。

    深度缓冲区(depth buffer):

  • 深度缓冲区中的每个元素与后台缓冲区中的每个像素一一对应

  • 判定物体的哪些像素位于其他物体之前

因为计算机显示器上的像素分辨率有限,所以当我们绘制一条任意直线时,该直线很难精确地显示在屏幕上。
这里写图片描述
通过提高显示器的分辨率(缩小像素的尺寸),或者使用抗锯齿技术。
Direct3D支持多重采样的抗锯齿技术,它通过对一个像素的子像素进行采样计算出该像素的最终颜色,减弱阶梯效果,实现更平滑的图像。
例如4X多重采样(每个像素采样4个邻接像素)
这里写图片描述
一个像素与多边形的边缘相交,像素中心的绿颜色存储在可见的三个子像素中,而第4个子像素没有被多边形覆盖,因此不会被更新为绿色,对4个子像素(3个绿色和一个白色)取平均值,获得淡绿色。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值