- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 3D数学基础:正交矩阵
正交矩阵若方阵M是正交的,则当且仅当M与它的转置MTM^TMT的乘积等于单位矩阵。见下列公式:M正交 ⟺ MMT=IM正交\iff MM^T=IM正交⟺MMT=I如何检测矩阵的正交性:矩阵乘以它的逆等于单位矩阵:MM−1=IMM^{-1}=IMM−1=I所以,如果一个矩阵是正交的,那么它的转置等于它的逆。即:M正交 ⟺ M−1=MTM正交\iff M^{-1}=M^TM正交⟺M−1=MT这是一条非常有用的性质,如果知道矩阵是正交的,那么可以避免计算矩阵的逆,这也大大减少计算量。重要性质
2021-01-06 22:01:26 2240 1
原创 3D数学基础:矩阵的逆
矩阵的逆矩阵的求逆是一个重要的矩阵运算,这个运算只能用于方阵。方阵M的逆,记作M−1M^{-1}M−1,也是一个矩阵,当M与M−1M^{-1}M−1相乘时,结果时单位矩阵。用公式表示:M(M−1)=M−1M=1M(M^{-1})=M^{-1}M=1M(M−1)=M−1M=1并非所有矩阵都有逆。一个明显的例子是若矩阵的某一行或列上的元素都为零,用任何矩阵乘以该矩阵,结果都是一个零矩阵。如果一个矩阵有逆矩阵,那么称它为可逆的或非奇异的。如果一个矩阵没有逆矩阵,则称它为不可逆的或奇异矩阵。奇异矩阵的行
2020-12-10 23:43:15 2103
原创 3D数学基础:矩阵
矩阵方阵行数和列数相同的矩阵称作方阵。方阵的对角线元素就是方阵中行号和列号相同的元素。其余元素均为非对角线元素。简单的说,方阵的对角线元素就是方阵对角线上的元素。如果所有非对角线元素都为0,那么称这种矩阵为对角矩阵,例如:[9000010000−50000−3]\begin{bmatrix}9&0&0&0\\0&1&0&0\\0&0&-5&0\\0&0&0&-3\end{bmatrix}⎣
2020-10-14 22:13:10 482
原创 KaTeX公式编辑
在CSDN上或是别的地方编辑公式就不得不接触到KaTeX,它所渲染的公式还是很好看的,也很好用。话不多说:这是传送门:KaTeX说明书。
2020-10-11 17:16:19 207
原创 3D数学基础:向量运算
向量的定义从几何上讲,向量就是有方向,有大小的有向线段。向量的运算负向量要得到任意维向量的负向量,只需要简单的将向量每个分量都变负即可。数学表达式:−[ab...x]=[−a−b...−x]\begin{gathered}-\begin{bmatrix}a\\b\\...\\x\end{bmatrix} = \begin{bmatrix}-a\\-b\\...\\-x\end{bmatrix}\end{gathered}−⎣⎢⎢⎡ab...x⎦⎥⎥⎤=⎣⎢⎢⎡−a−b...−x⎦⎥
2020-10-11 16:28:40 1496
原创 引用和指针
引用和指针的区别指针运行时可以改变其指向的值,而引用一旦和某个对象绑定后就不再改变。引用声明是必须初始化,而指针不必须。程序在编译时分别将指针和引用添加到符号表上,符号表上记录的是变量名及变量所对应的地址。指针变量在符号表上对应的地址值为指针变量的地址值,而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,因此指针可以改变指向的对象,而引用对象不能改。这是使用指针不安全而使用引用安全的主要原因。不存在指向空值的引用这个事实,意味着使用引用的代码效率比使用指针的要高。因为在使用引
2020-09-21 16:24:30 115
原创 详解C++11后explicit关键字的用法
C++ 关键字explicitC++11 之前explicit的作用例子C++11 之后explicit的新作用例子:C++11 之前explicit的作用关于explicit关键字,先看看MSDN上的解释:This keyword is a declaration specifier that can only be applied to in-class constructor declarations . An explicit constructor cannot take part in i
2020-09-01 14:39:22 927
原创 OpenGL学习笔记:模板缓冲
模板缓冲区简介整个图形渲染管线中包含了许多步骤,其中一步是模板测试,它在透明度测试之后,深度测试之前。模板缓冲中的模板值通常是8位的,因此每个片段/像素共有256种不同的模板值,模板缓冲区与深度缓冲区的大小相同。在使用的过程中,一般先开启模板缓冲,绘制一个物体作为我们的模板,这个过程实际上就是写入模板缓冲的过程;接着我们利用模板缓冲中的值决定是丢弃还是保留后续绘图中的片元。作用模板测试的作用有许多,常见的:绘制物体轮廓实现镜面效果实现阴影效果等等。函数使能模板测试glEnab
2020-07-05 23:33:07 528 1
原创 OpenGL学习笔记:着色器
画一个三角形准备着色器(Shader)顶点着色器片段着色器顶点缓冲对象(Vertex Buffer Objects, VBO)顶点数组对象(Vertex Array Object, VAO)索引缓冲对象(Element Buffer Object,EBO)实际操作顶点输入顶点着色器编译着色器链接顶点属性顶点数组对象片段着色器着色器程序绘制三角形拓展索引缓冲对象准备在画三角形之前,需要了解一些概...
2020-05-01 22:07:50 311
原创 OpenGL学习笔记:创建窗口
OPENGL学习:创建窗口实例化GLFW窗口配置GLFW创建窗口对象视口实现一个渲染循环释放资源输入控制渲染实例化GLFW窗口配置GLFWint main(){ glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3...
2020-04-24 21:59:02 148
原创 OpenGL学习笔记:opengl简介与安装
LearnOpenGL学习笔记:了解、安装并配置OPENGLOPENGL简介核心模式与立即渲染模式特性功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowch...
2020-04-21 22:13:48 110
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人