【图形学入门笔记】线性代数的本质

news/2025/2/27 8:16:46

笔记未完待续】如果我的分享对你有帮助,请记得点赞关注不迷路。

视频源地址:https://www.youtube.com/watch?v=fNk_zzaMoSs      作者:@3Blue1Brown

此处仅做个人笔记使用。

01 - 向量究竟是什么?

线性代数中最基础、最根源的组成部分就是向量,所以我得确信我们在“向量究竟是什么”这一问题上达成共识。一般来说,有三种看待向量的观点:物理学专业学生视角、数学专业学生视角、计算机专业学生视角。看似不同却有关联。

物理学专业学生视角看,向量是空间中的箭头,决定一个向量的是它的长度和它所指的方向。但是只要以主两个特征相同,你可以自由移动一个向量而保持它不变。处在平面中的向量是二维的,而处在我们所生活的空间中的向量是三维的。

计算机专业学生的视角看,向量是有序的数字列表,例如你在买房时用二维向量对房屋进行建模(价格和平米数这两个数字的组合)这两个数字是不可以颠倒的。

数学专业学生的视角看,数学家试图去概括这两种观点,大致地说,向量可以是任何东西,只要保证两个向量相加以及数字与向量相乘是有意义的即可。

线性代数为数据分析提供了一条将大量数据列表概念化、可视化的渠道,它让数据样式变得非常明晰,并让你大致了解特定运算的意义。 另一方面,线性代数给物理学家和计算机图形程序员提供了一种语言,让他们通过计算机能处理的数字来描述并操纵空间。

向量的数乘实际上就是缩放

02 - 线性组合、张成的空间与基

当你把坐标看作标量时,基向量实际上就是这些标量所缩放的对象。

所有可以表示为给定向量线性组合的向量集合,被称为给定向量张成的空间(span)。

eg:对于大部分二维向量来说,它们张成的空间是所有二维向量的集合。但当共线时,它们张成的空间就是终点落在一条直线上的向量的集合。

向量与点

如果你有多个向量,并且可以移除其中一个而不减小张成的空间,当这种情况发生时,相关术语称它们是“线性相关”的。相反,如果所有向量都给张成的空间增添了新的维度,它们就被称为是“线性无关”的。

03 - 矩阵与线性变换

很遗憾,Matrix (矩阵)是什么是说不清的。你必须得自己亲眼看看。   ——墨菲斯

线性变换:“变换”本质上是“函数”的一种花哨的说法,它接收输入内容,并输出对应结果。特别地,在线性代数的情况下,我们考虑的是接收一个向量并且输出一个向量的变换。既然“变换”和“函数”意义相同,为什么还要使用前者而不是后者?使用“变换”是在暗示以特定方式来可视化这一输入-输出关系。一种理解“向量的函数”的方法是使用运动 。如果一个变换接收一个向量并输出一个向量,我们想象这个输入向量移动到输出向量的位置:

直观地说,如果一个变换具有以下两条性质,我们就称它是线性的:一是直线在变换后仍然保持为直线,不能有所弯曲,二是原点必须保持固定。总的来说,你应该把线性变换看作是:“保持网格线平行并等距分布”的变换。

04 - 矩阵乘法与线性变换复合

很多时候你发现你想描述这样一种作用:一个变换之后再进行另一个变换,比如你想描述将整个平面逆时针旋转90度后,再进行一次剪切变换会发生什么。从头到尾的总体作用是另一个线性变换,它与旋转和剪切明显不同。

这个新的线性变换通常被称为前两个独立变换的““复合变换’。

请注意M1M2≠M2M1(这里推荐直接去看原视频,图像化理解真的非常有用!)【熟肉】线性代数的本质 - 04 - 矩阵乘法与线性变换复合_哔哩哔哩_bilibili

 05 - 行列式

如何用矩阵计算一个线性变换的行列式:对于一个2x2的矩阵[[a,b],[c,d]],公式是ad-bc

06 - 逆矩阵、列空间与零空间

透过线性变换来了解逆矩阵、列空间、秩和零空间的概念

线性代数

【未完待续】如果我的分享对你有帮助,请记得点赞关注不迷路。


http://www.niftyadmin.cn/n/5869787.html

相关文章

Tomcat 目录结构和应用实现

Tomcat 是一款开源的、轻量级的 Web 服务器,它不仅能够提供 HTTP 服务,还能够运行 Java Servlet 和 JavaServer Pages(JSP)。对于许多开发者来说,理解 Tomcat 的目录结构以及如何在该结构中组织应用,往往是…

解决Deepseek“服务器繁忙,请稍后再试”问题,基于硅基流动和chatbox的解决方案

文章目录 前言操作步骤步骤1:注册账号步骤2:在线体验步骤3:获取API密钥步骤4:安装chatbox步骤5:chatbox设置 价格方面 前言 最近在使用DeepSeek时,开启深度思考功能后,频繁遇到“服务器繁忙&am…

C++ Primer Plus第八章课后习题总结

1. 编写通常接受一个参数(字符串的地址),并打印该字符串的函数。然而,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注…

JVM垃圾回收器深度底层原理分析与知识体系构建

一、垃圾回收的基本步骤 标记(Marking) 从GC Roots(如虚拟机栈、方法区静态变量、本地方法栈等)出发,遍历对象引用链,标记所有可达对象为存活对象,未被标记的则视为垃圾。此阶段需暂停用户线程&…

224Gb/s信号完整性测试治具设计(二)

第一篇看这里: 224Gb/s信号完整性测试治具设计(一)-CSDN博客 聚焦解决方案空间 始终满足 1.6T 测试夹具的目标插入损耗要求 IEEE P802.3dj 中当前的插入损耗规范要求,在 53.125 GHz 频率下,主机合规板&#xff08…

无人机遥控器的亮度 和 两个工作频率

工作频率 2.4000-2.4835 GHz , 5.725-5.850 GHz 1.这是一个无人机的遥控器的两个工作频率,为什么会有两个工作频率? 无人机的遥控器采用双频段设计(2.4GHz 和 5.8GHz),主要是为了解决以下问题并优化性…

HTTP非流式请求 vs HTTP流式请求

文章目录 HTTP 非流式请求 vs 流式请求一、核心区别 服务端代码示例(Node.js/Express)非流式请求处理流式请求处理 客户端请求示例非流式请求(浏览器fetch)流式请求处理(浏览器fetch) Python客户端示例&…

react native中如何实现吸顶的效果

rn中实现吸顶效果用ScrollView、SectionList、FlatList都可以实现&#xff0c;因为SectionList、FlatList都是继承自ScrollView&#xff0c;都会有stickyHeaderIndices属性&#xff0c;这个属性是一个数组&#xff0c;可以决定下标为几的组件有吸顶的效果。 <FlatListdata{…