本部分主要介绍了向量的点乘与叉乘在图形学中的基本应用,介绍了图形学中常用的2D矩阵变换,例如缩放、对称、切变换、旋转、平移、逆变换、组合变换和分解变换。还有在图形学中为了简化操作而采取的添加维度的方法。
主要的学习过程来自下面的视频,本文只会有主要的基础内容,默认一些知识大家是掌握的,该精简的地方一定会精简。原视频非常好,我会在文章中插入视频的具体节点位置,更详细的内容可以观看原视频,教程网站上有课件和作业。个人也会在后续的学习过程中不断的向文章做补充,有问题大家可以在评论区探讨。文章的最后有一些小问题可以尝试回答,有些问题比较重要。
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1X7411F744?p=2&share_source=copy_web正在上传…重新上传取消https://link.zhihu.com/?target=https%3A//www.bilibili.com/video/BV1X7411F744%3Fp%3D2%26share_source%3Dcopy_web
目录
向量
点乘(dot product)在图形学中的应用
叉乘(cross product)在图形学中的应用
矩阵
2D矩阵变换
问题小测试
向量
向量的定义、加减、模、点乘、叉乘的计算等概念。视频位置02-07:48。其实向量部分知道在什么地方用、怎么用就足够了。
点乘(dot product)在图形学中的应用
基本上都是高中常用知识,就只总结下应用。
1.找俩向量的夹角、找一个向量在另一个向量上的投影。视频位置02-21:49
2.判断垂直、判断向前还是向后。本质上就是求夹角,但特别常用。视频位置02-26:11
3.分解向量。本质是找投影。视频位置02-24:56
叉乘(cross product)在图形学中的应用
叉乘注意一点就是看是左手还是右手坐标系,原视频都是右手。视频位置02-30:15
1.用两个给定的坐标轴生成第三个坐标轴。
例子:摄像机(观察者)坐标系中就以面朝方向为-Z轴,向上为Y,来建立了坐标系。
另一常用例子:求法线。知道一个方向的微分,逆时针旋转90度就得到法线。视频位置P10-22:43
2.判断左右。
如在平面xoy上的两向量,通过叉乘结果看Z的正负就能判断。
3.判断内外。最常用,随处可见。视频位置02-39:00
一定要收尾相连的向量去和与P形成的向量叉乘得到向量,都是同向说明点在三角形内
矩阵
矩阵的基本运算,一些性质。
视频位置03-06:18
1.缩放变换
3.切变换
切变换
4.旋转(注意事项,只要使用旋转变换矩阵一定是围着原点,切逆时针为正方向)
旋转矩阵
以上的几种都是线性变换。视频位置03-23:51
线性变换的形式
5.平移变换不是线性变换。视频位置03-26:22
tx,ty为平移变换
但这样的形式后面总是带着尾巴,对于运算过程很麻烦,我们并不想让平移变换变成一种特例。因此我们引入一个新的维度来简化过程。
我们让2D的点变为变为 ,2D的向量变为 。至于为什么这么变化,并不是经过复杂的数学过程推导出来的,就一个原因,好用且没错。视频位置03-32:30。
点经过平移后,位置正确。向量经过平移后应该没有变化。
6.逆变换
a经过M变换到b,b经过 (M的逆变换)得到a。
7.组合变换
a先经过X变换到b,b经过Y变换到c,c经过Z变换到d d=Ma(M=ZYX)
8.分解变换
先逆时针旋转45度,再向右平移,实际上有无穷多的方法可以达到
问题小测试
1.一个向量与自己点乘结果是什么,叉乘呢?
2.摄像机(观察者)坐标系中就以面朝方向为什么是-Z轴而不是Z轴呢?向上为Y,右手坐标系下X轴方向是哪里?
3. 如果有旋转变换 ,那么 怎么得出来的,提示可以将-θ代入,这是直接求旋转逆变换的方法。
3.表示2D的点(3,3,1)和(9,9,3)是一个点吗?
4.在经过将2D的点或向量添加一个维度(1和0)后。向量加向量是__?点减点是___? 点加向量是___?点加点是___?
5. 矩阵部分7.组合变换中,怎么从d变换到a,即求 。
6.如果想让一个并不靠近原点的物体围着自己的中心旋转,用分解变换怎么实现。
7.2D矩阵变换的7种类型,3D变换都能用吗?
下一部分
计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换_酷月千里的博客-CSDN博客https://blog.csdn.net/weixin_45314475/article/details/121736622?spm=1001.2014.3001.5501总目录
计算机图形学入门(总目录)_酷月千里的博客-CSDN博客https://blog.csdn.net/weixin_45314475/article/details/121876845?spm=1001.2014.3001.5502