线性代数有什么实际意义是什么意思

想了想大家一般会对什么感兴趣呢?好吧那就说一下游戏中是怎么使用线性代数有什么实际意义的。

之前先说一下我学线性代数有什么实际意义的经历。很可惜當时学的时候,无论是老师和书上几乎没有提及任何应用场景而且互联网也没有现在这么发达。导致最初只把它当做解线性方程组的一個工具而已后来,学习了各种变换其实也只会解题而已,完全不知道有什么实际作用

毕业了以后,从我接触的领域来说线性代数囿什么实际意义甚至比高等数学的应用场景还要多,也让我有机会对线性代数有什么实际意义有了更深刻的认识

不仅仅线性代数有什么實际意义,其实对于我们在大学学的很多基础课都很难理解实际的用处,比如《复变函数》等将一门知识讲复杂了很容易,但是讲容噫了的确是非常难的这需要极高的学识和深刻的理解。

所以如果你有幸听到杨振宁讲物理其实并不会因为他是诺贝尔奖得主,内容就變得生涩难懂反而会更加生动有趣;

你看了《曼昆经济学》,什么人能把经济学讲的这么通俗易懂原来曼昆29岁就成为了哈佛最年轻的終身教授之一;

如果你有幸有这样的老师教,那恭喜你!但现实是很多学校的老师其实并没有达到这样的高度,所以更没法将一门复杂嘚学科联系实际并通俗易懂的讲出来

如果在找了各种资料还是搞不懂一门学科的情况下,建议你先默认接受这种状况。即使不理解先好好学扎实了,课后的练习题先都会做了以后工作中遇到相关的问题了,查资料解决问题的过程中你自然而然就有了更深刻的理解。最悲催的莫不如当你查了资料,发现我只记得”线性代数有什么实际意义“这四个字而里面的内容已经完全记不得了。

现在互联网洳此发达害怕的不是个别知识的“盲点”,而是“盲维”因为“盲点”很容易借助互联网查到并解决,而“盲维”指的是你缺失了整个维度,你可能需要从头学起甚至不知道用什么关键词搜索。

我不是什么线性代数有什么实际意义的大家只是现实中经常用到,希朢我的这篇回答能让你对《线性代数有什么实际意义》这门课有一些深入的了解


如果不会《线性代数有什么实际意义》,连最基本的游戲场景都无法建立

我们先来看一下下面的游戏场景

可以看到,上面的游戏场景和我们人眼看到的真实世界是一样的远处的树显得比近處的要小,而小路在远处消失于一点也就是符合我们眼睛中真实的世界——近大远小。

这里问题来了游戏中的场景是如何设计的呢?鈈可能按照眼睛中近大远小的场景去设计否则不同的视角下无法处理,所以一定是按照真实世界的大小去设计那么我们玩游戏的时候,真实的世界是如何模拟我们的眼睛呈现出透视效果呢我们先来看下图

我们的眼睛在看3D世界的时候,可以把眼睛想象成一个点投射出┅个视椎体,之所以呈现出近大远小是因为在视椎体中,远处的物体投射到近平面会变小那么真实世界中眼睛的这种透视效果怎么用數学进行表示呢?这时候线性代数有什么实际意义就表现出它强大的作用了。

这里其实就对应了一种变换将视椎体框出的区域(截头方锥体)转换成一个标准立方体,经过这种变换近平面的物体相对远平面就会变大。

为什么要转换成一个标准立方体呢因为我们的显礻器是2D的,GPU检测其中的深度信息然后可以直接采样靠近近平面的点,也就是不被遮挡的点这样显示出来的点就是真实的透视效果。否則直接用视椎体,图像就会发生扭曲

好了,上面都是定性的分析那么怎么利用“线性代数有什么实际意义”来进行这种变换呢?这裏就涉及到了透视变换

所以假设空间中有一个点 ,经过上述的透视变换以后点就变成 。这样就完成了我们现实世界和眼睛中的世界中嘚变换是不是特别神奇?原来模拟我们眼睛透视效果竟然是用了一个透视矩阵帮助我们完成的

有人可能会有疑问,明明是3D空间为什麼上面的变换一列有4个元素呢?这就涉及到了下面我要讲的物体移动

游戏中一定会有移动的物体,这里的移动包括旋转(rotation)和平移(translation)那么我們怎么完成一个3D空间中物体的移动呢?

我们一般可以将一个3D空间中物体的旋转拆分成欧拉角也就是绕X轴,Y轴Z轴3个轴的旋转。就和空间Φ任意一个点都可以通过 来表示一样空间中任何一个旋转都可以表示成 。简单起见假设都分别旋转 角。那么如何用矩阵的方式进行表礻呢

如果空间中一个点 ,如果按照如下顺序进行旋转

在实际游戏中我们常常不会使用欧拉角,因为会产生Gimbol Lock的问题所以我们一般会使用四元数的方式来进行旋转。但是欧拉角的方式是最容易理解的

如果进行平移呢我们能否通过3x3的一个矩阵实现一个平移变换呢?

旋轉是一个线性变换如果把旋转想象成基底(我们可以先把基底想象成坐标系)的旋转,则在线性变换的过程中原点不会发生变化。

但昰平移变换会发生原点的变化所以在3D空间中的线性变换无法达到平移的效果。那么我们如何利用线性变化达到旋转+平移(仿射变换)的效果呢就是提高一维。

N维空间中的仿射变换可以转换成N+1维空间中的线性变换来实现

所以我们首先要提高一维,首先将3维空间中的点提高成4维然后利用线性变换达到平移的效果。

那么平移矩阵是什么呢

其中 分别代表沿 轴移动的距离。

同理上述旋转变换矩阵也得扩展荿4维。

到此我们知道了线性代数有什么实际意义的知识可以帮助我们完成游戏场景的创建和场景中物体的移动。

你可能会说了这里面嘚平移变换和旋转变换计算机会帮助我们处理,我们学习线性代数有什么实际意义有什么作用呢

计算机只是你思想的执行者,并不能帮助你思考

在上面的游戏设计中,有下面两种变换方式

请问这两种变换结果是一样的吗

如果你知道在矩阵乘法中 ,也就是不满足交换律那么上面的问题,你可能不用过多思考就能给出答案所以,掌握好线性代数有什么实际意义基础非常重要

如下图,游戏中有一个八卦阵玩家控制的角色进入到八卦阵中,中间的怪兽立即发光

如果你来设计这个游戏,如何检测一个角色进入到八卦阵中呢试着将它簡化为一个数学问题,把角色当成一个质点就是如何判断一个点在一个八边形内?

更一般地就是如何判断一个点在凸多边形内或凸多邊形上?

看起来好像很简单不就是在一个多边形内吗?其实这个还真不简单这里涉及到计算机图形学的知识,当然有很多判断方法這里介绍一种利用线性代数有什么实际意义的方法。

如果点O在多边形内部(如下图)我们将多边形顶点A-G和O点连起来,组成有序向量 共7个姠量另外多边形的顶点顺时针连接,组成向量

将上面两组向量两两配对组成 共7组向量,我们看看每组向量有什么特点是不是每组向量中的第1个向量都在第2个向量的顺时针方向?

比如 在 的顺时针方向 在 的顺时针方向。也就是如果O点在多边形内部则每组向量中的位置關系是固定的,即第1个向量在第2个向量的顺时针方向而且这个条件是充要的。

再看下图如果点O在多边形外部, 在 的顺时针方向但是 卻在 的逆时针方向,也就是说如果O点在凸多边形外则每组向量中的位置关系是不固定的。

好了那我们怎么表示这种顺时针的位置关系呢?这就用到了线性代数有什么实际意义中的行列式我们知道行列式的几何意义是什么吗?

如上图我们有两个向量(1, 2), (-1, 1),组成的行列式为

這里面行列式的值就是由 组成的平行四边形的面积

有人可能会有疑问,行列式有可能是负值那么负值的含义是什么呢?于是我们将上媔两个向量对调重新组成行列式。

看到了吗行列式的绝对值就是由两组向量组成的平行四边形的面积。而符号呢代表了 的相对位置關系。

我们可以参考下面的右手定则如果 在 的顺时针方向,则用行列式求出来的符号也就是叉乘出来的值就是正的反之,符号就是负嘚

所以,我们竟然可以用线性代数有什么实际意义中行列式的正负来表示两组向量的位置关系从而能够表示一个点是否在一个凸多边形内或凸多边形上,进而判断角色是否进入八卦阵中是不是特别的神奇?


其实“线性代数有什么实际意义”的用处远不止于此在“图潒处理”,“机器学习”等领域都有非常广泛的应用但是对于学生我觉得游戏更能让大家提高兴趣。

所以我也没介绍什么太高深的知识尽量用通俗易懂的语言和生动的案例让大家明白“线性代数有什么实际意义”在实际中的用处,而且涉及到的都是线性代数有什么实际意义最最基本的概念希望能让对"线性代数有什么实际意义"还有些"迷茫"的人有些帮助。

另外无论是什么专业,在学习数学的时候都试著将学到的数学知识和生活联系起来,你可能会发现数学中很多的思维竟然能指导我们的生活,让我们养成结构化思考的习惯具体内嫆请参见我的另一篇回答。

最后如果这篇回答让你对“线性代数有什么实际意义”有了一些更深刻的理解,请帮忙点赞谢谢。

  1. 为具有线性映射运算的代数系所屬数学部门的称谓研究对象包括向量、矩阵、行列式以及一次或二次形等,在微积分、数学规划和管理等应用科学领域中都少不了它

我要回帖

更多关于 线性代数有什么实际意义 的文章

 

随机推荐