图形学基础一

光栅化

把3D的物体显示在屏幕上这就是光栅化

实时:

每秒钟能够生成30幅画面或者叫30帧,否则叫离线 (offline)

光线追踪费时, 现在随着技术的发展已经有了实时光线追踪

编程语言不推荐用python, 可以使用C++, 因为python实在是太慢了

线性代数基础

向量点乘

  • 默认向量的缺省是列向量

向量的点乘是一个数字

image-20211125220508201

image-20211125220523377

image-20211125220750168

会发现点乘其实是对应的元素位置相乘再相加

image-20211125220912798

点乘可以用在求法线, 求投影夹角上

点乘可以得到一个向量投影到另一个向量的样子:

  • 现在是把b向量投影到a向量

image-20211125222040415

  • 投影出来有啥用呢?可以把一个向量分解为两个向量,比如b分为平行于a和垂直于a的向量

image-20211125222441487

  • 向量的点乘还可以告诉前与后的信息

image-20211126102641804

比如以a为界,落在虚线以上的是forward部分, 下面是backward部分, 如果点乘都是大于0就是方向基本相同, 否则就是方向基本相反, 如果都是单位向量哈可以根据是否接近1来判断接近的程度

向量叉积

image-20211126103628309

从左到右用右手卷判断方向

叉积有什么用处呢?可以通过给定的两个向量来确定第三个向量, 以此构成坐标系

image-20211126104220703

如果在一个坐标系里面x叉乘y得到 了z, 那么我们称这个坐标系是个右手坐标系

叉乘的规则:

  1. 交换方向相反
  2. 相同向量叉乘得到的是零向量
  3. 分配律和结合律仍然存在

叉乘的矩阵表示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DiNvZoec-1637983135268)(https://i.loli.net/2021/11/26/lH5u12rPvNBsOI4.png)]

叉积还有一些用处, 判断左和右, 内与外,这两个其实一个意思

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XiOr07Jh-1637983135269)(https://i.loli.net/2021/11/26/TIBJ9elNxrdARQt.png)]

现在有个平面, a和b构成的, 从图上我可以很明显的看出, b在a的左侧(逆时针旋转),但是假如从向量角度出发就可以判断a叉乘b是否为正向量

假如A, B, C 三个点按逆时针的顺序排列在一起, 判断P点是不是在三角形的内部, 是不是在AB的左侧, 就可以构建从A到P的向量, 假如AB叉乘AP指向外, 那么P点就在AB左侧, 然后判断是CA的左侧,那么P在三角形内

点乘分解坐标

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cD3fgOi2-1637983135270)(https://i.loli.net/2021/11/26/TG9hfBEbMo68HzZ.png)]

矩阵

矩阵的乘积列等于行

image-20211126124556129

转置的性质

image-20211126141430117

点乘可以变换计算方式

image-20211126141905883

左边是点乘, 右边是矩阵乘积

叉乘也可以写成矩阵的形式

image-20211126142040233

其中 A ∗ A^* A是一个矩阵, 叫dual matrix

矩阵变换

缩放

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w1R2dGHi-1637983135273)(https://i.loli.net/2021/11/26/3G2mtV7XUZShIqO.png)]

放缩对角线有值, 这个矩阵叫缩放矩阵

image-20211126163252127

对称

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DT4uD6Ke-1637983135275)(F:/%E7%A0%94%E7%A9%B6%E7%94%9F%E6%95%B4%E7%90%86%E4%BF%A1%E6%81%AF/typora_pic/image-20211126163406106.png)]

猜你喜欢

转载自blog.csdn.net/landing_guy_/article/details/121574415