入门图形学之线性代数
羊羊2035
时间慢慢流
展开
-
线性代数:开篇随便聊聊
经历过基础三角函数和向量几何的学习,接下来我们就要进入一个已经被我们的懒惰遗忘的数学区域了,就是线性代数了。估摸着现在正在做unity3d unrealengine cryengine开发的小伙伴们,几乎都在学生生涯学过线性代数,了解行列式计算和矩阵向量计算等等。但是踏入社会工作后,用着市面上构架完善且性能优异的3D游戏引擎,拿着微薄的工资,日复一日年复一年的加班,看着策划改来改去...原创 2018-03-12 09:40:44 · 1387 阅读 · 7 评论 -
线性代数:转置矩阵(matrix transpose)和逆矩阵(matrix inverse)
这一篇是为了后面着色效果的数学基础做积累,之前我们使用矩阵的大部分情况都是直接的仿射空间变换,就是仿射空间A变换到仿射空间B,使用矩阵也都是如下: 矩阵T*齐次坐标V = 齐次坐标V' 其计算细节也就是矩阵行与向量列的点积,其计算意义也就是获得新仿射空间中的坐标分量,也聊了很多了。 这次我们就来学两个矩阵的操作,一个是矩阵的转置操作(得...原创 2018-11-24 13:44:19 · 211519 阅读 · 4 评论 -
线性代数:空间点与平面
这一篇作为线性代数栏目的扩展篇之一,是因为随着学习的深入,必须提前学习一些具有应用针对性的数学计算方法,这次我们就来观察立体几何空间中点和面的关系,主要还是为了CG中着色应用,比如真实反射和光追计算。 好接下来进入正题,首先观察一下空间中一个质点和平面的关系,如下图: 三维空间中顶点D(x0,y0,z0)在平面镜面P(Ax+By+Cz...原创 2018-11-08 20:18:44 · 5339 阅读 · 0 评论 -
线性代数:裁剪变换(投影变换)(二)
紧接上一篇:https://blog.csdn.net/yinhun2012/article/details/80336487之前我们推导完裁剪变换的矩阵T,这次我们就来对该矩阵T进行程序验证和演示,毕竟加入我们...原创 2018-06-07 11:02:53 · 1512 阅读 · 2 评论 -
线性代数:裁剪变换(投影变换)(一)
紧接上一篇:https://blog.csdn.net/yinhun2012/article/details/80218734 之前我们学习了“顶点机器”变换顶点的一系列过程,其中就谈到了原创 2018-06-06 18:12:35 · 5946 阅读 · 0 评论 -
线性代数:仿射变换图形矫正
之前学习完矩阵的理解和作用,又经历过一轮基本仿射变换推导,我想大家对矩阵在实际程序中的应用应该基本了解了,这里我们就实际应用一下。 之前学习的变换过程基本都是变换一个“规范”的图形,这次我们就反过来,把一个“不规范”的图形变换“规范”。 首先作为码农们,我们应该都会阅读大量书籍的,但是为了方便我自己下载过大量pdf文档,因为那样我不需要随身带一本厚重厚重...原创 2018-04-01 21:55:54 · 4203 阅读 · 2 评论 -
线性代数:矩阵变换图形(三维错切变换)
紧接上一篇:http://blog.csdn.net/yinhun2012/article/details/79640538 之前我们学习了理解了图形学中的线性代数,而且实际的操作了图形的基础变换,既然学习完基本变换了,那么接下来就看看一些不常见的特殊变换,下面我们就看看错切变换,也称为切变。 这里要介绍一下仿射变换的一个特点,就是“平直性”,因为前面我...原创 2018-03-22 15:09:58 · 8828 阅读 · 4 评论 -
线性代数:矩阵变换图形(三维平移缩放旋转)
紧接上一篇:http://blog.csdn.net/yinhun2012/article/details/79544205 这篇博文我只是准备对上一篇博文的内容进行扩展,因为上一篇我写完二维xy仿射坐标系的变换,这一篇我就扩充到三维xyz仿射坐标系的变换推导。 前面我们已经理解学习完矩阵在图形学中的作用,所以这一篇我只做纯推导和图形应用演示。...原创 2018-03-21 22:50:37 · 8413 阅读 · 2 评论 -
线性代数:矩阵变换图形(二维平移缩放旋转)
紧接上一篇:http://blog.csdn.net/yinhun2012/article/details/79566148 前面我们从理论上理解了图形学中图形的变换过程,具体可以理解为如果要对一个图形A进行变换,那么存在图形A所处的相同原点的仿射空间SpaceA(或者说仿射空间SpaceA中原点处存在一个图形A),这时候我们暂时忽略图形A,只考虑SpaceA经过各种...原创 2018-03-21 14:46:08 · 15705 阅读 · 6 评论 -
线性代数:矩阵变换图形(三维绕任意轴向量旋转)
紧接上一篇:https://blog.csdn.net/yinhun2012/article/details/79649089 之前我们学习了三维坐标系下绕坐标轴旋转,理论上我们能通过绕着XYZ轴旋转组合得到任意方向的旋转,但是这种组合方式并不能很方便的满足我们的一些特殊需求,比如让把我想象成一个跳伞兵,我拿出一把m4加四倍镜,斜朝着天空开一枪,枪械原理中为了保证子弹...原创 2018-03-26 18:57:01 · 10118 阅读 · 4 评论 -
线性代数:理解矩阵的作用
现在我们正式进入矩阵的学习了,矩阵Matrix这个词我相信小伙伴们第一次接触,基本就是在小时候看黑客帝国的时候,黑客帝国中有个经典的场景,就是数字世界在解放后的尼奥双眼中已经变成了一串串数字瀑布流,就是下面:一串串的数字流组成了一个“数字集合矩形块”,这个大概就是我们小时候不知不觉接触的矩阵原型了。我们再来看下数学中的矩阵写法,如下图:咋一看矩阵就是一个三行三列的数字集合。当然我们也可以写一个两行...原创 2018-03-13 18:02:20 · 13406 阅读 · 7 评论 -
线性代数:理解齐次坐标
紧接上一篇:http://blog.csdn.net/yinhun2012/article/details/79523187 前面有个问题我们还没聊开,不知道小伙伴们记得不?在几何向量的基本概念这一章,我们了解了如下两个概念: 1.矢:空间中的一个直线段,当规定其两个端点中一个为起始点,一个位终止点,这个线段就称为一个矢。 2....原创 2018-03-19 12:44:46 · 8331 阅读 · 3 评论 -
线性代数:切线空间和法向量变换
空间、空间、空间,为什么有这么多空间?前面我们说了有建模空间,世界空间,视口空间,裁剪空间,现在又来个切线空间,到底有些什么意义呢。 首先来说说空间的意义吧,最开始笛卡尔二维坐标系的创建是为了城镇基础建设规划使用的(前面我们也聊过),主要就是为了确定一个参考坐标系,将整个城镇的房屋设施赋予一个按照参考坐标系来的二维坐标值,假如还要考虑建筑物的高度,那么就需要一个三维参...原创 2018-11-28 14:15:37 · 3863 阅读 · 1 评论