![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
3d数学
文章平均质量分 72
方大生
这个作者很懒,什么都没留下…
展开
-
3D数学---向量
方向向量方向向量实际上指向 从它到目标向量的相反方向点积几何意义:一个向量在另一个向量上的投影长度图形学意义:可以让我们知道两个向量的方向关系两个向量,方向相同时结果=1方向相反,结果=-1方向垂直,结果=0性质叉乘意义:计算出垂直于这两个向量的第三个向量公式一:公式二:...原创 2021-08-13 14:24:30 · 220 阅读 · 0 评论 -
3D数学---矩阵
初识矩阵矩阵可以做什么?矩阵运算矩阵和标量的乘法矩阵和矩阵的乘法矩阵的性质特殊的矩阵1.方块矩阵2.单位矩阵3.转置矩阵4.逆矩阵5.正交矩阵矩阵可以做什么?矩阵可以做的事情有很多,在这里只说明我们在游戏开发中会用到的知识。一个矩阵可以把一个矢量从一个坐标空间转换到另一个坐标空间矩阵运算矩阵和标量的乘法很简单,就是矩阵的每个元素和该标量相乘。以3x3的矩阵为例:矩阵和矩阵的乘法也很简单,但是有前提条件:一个 r X n的矩阵A和一个n X c的矩阵B相乘,他们的结果AB将会是一个r X原创 2021-08-13 18:48:36 · 1240 阅读 · 0 评论 -
3D数学---矩阵的几何意义:变换
什么是变换在三位渲染中,矩阵是可视化的,这个可视化的结果就是变换。 具体一下,变换指的是我们把一些数据,如点,方向矢量甚至是颜色等, 通过某种方式进行转换的过程。线性变换线性变换指的是那些可以保留矢量加和标量乘的变换。用数学公式来表示这两个条件就是:f(x) + f(y) = f(x+y) , kf(x) = f(kx)例:f(x)=2x可以表示一个大小为2的统一缩放,即经过变换后矢量x的模将被放大两倍。可以发现,f(x) = 2x 满足上方两个条件对于线性变换来说,如果我们要对一个三维的矢量进原创 2021-08-14 20:20:53 · 2945 阅读 · 0 评论 -
3D数学---坐标空间
概要渲染游戏的过程可以理解成是一个个顶点经过层层处理最终转化到屏幕上的过程,那么本节我们就将学习这个转换的过程是如何实现的。具体来说,顶点是经过了哪些坐标空间后,最后被画在了屏幕上。为什么要使用这么多不同的坐标空间举个例子, 此时此刻,你的鼠标在你键盘的右侧,那么此时使用的是以你的键盘为原点的坐标空间。你现在想上个厕所,厕所在你房间门口的右前方10米的位置,那么此时使用的是以你的房门为原点的坐标空间。你总不可能说厕所在你键盘的x方向x米的位置。因此,我们需要在不同的情况下使用不同的坐标空间,因为一些原创 2021-08-16 23:22:06 · 335 阅读 · 1 评论 -
3D数学——法线变换
法线也被成为法矢量,在上面我们已经看到如何使用变换矩阵来变换一个顶点或一个方向矢量,但法线是需要我们特殊处理的一种方向矢量。在游戏中,模型的一个顶点往往会携带额外的信息,而顶点法线就是其中一种信息。当我们变换一个模型的时候,不仅需要变换它的顶点,还需要变换顶点法线,以便在后续处理(如片元着色器)中计算光照等。一般来说,点和绝大部分方向矢量都可以使用同一个3x3或者4x4的变换矩阵MA→B把其从坐标空间A变换到坐标空间B中。但在变换法线的时候,如果使用同一个变换矩阵,可能就无法确保维持法线的垂直性。我们分原创 2021-08-17 15:21:08 · 468 阅读 · 1 评论