
lcgfs
文章平均质量分 85
火车上遇见
这个作者很懒,什么都没留下…
展开
-
零基础学图形学(8) 几何知识——点和向量的变换
(1)点的变换我们已经介绍完了如何使用矩阵来进行点的变换所需要写代码的知识。但是尽管平移被看做是最简单的应用于电商的线性操作,在之前的章节中我们没有提到。因为平移会用到矩阵的乘法知识,我们需要对点的结构做点变化,那可能会让你感到迷惑。像我们在之前两篇文章中提到的矩阵和矩阵的乘法,只有当两个矩阵的大小满足一定的规则之后才可以进行,也就是说需要m x p和p x n的大小。让我们从一个3 x翻译 2017-11-06 15:20:31 · 2562 阅读 · 0 评论 -
零基础学图形学(7) 几何知识——矩阵是如何工作的:第二部分
(1)矩阵和笛卡尔坐标系统的关系假如想象你有一个点Px它的左边是(1, 0, 0),你想将这个点绕着z轴顺时针旋转10度,那么新的坐标点是什么呢?使用我们已经学习的旋转矩阵的知识,我们知道可以使用简单的三角矩阵得到这些新坐标。新得到的点的x轴的左边是cos(-10),y轴的坐标会是sin(-10)(不要忘记了C++中的三角函数的角度需要转换成弧度).如果我们使用Py(0, 1,0)做相同的操作翻译 2017-11-06 11:39:54 · 946 阅读 · 0 评论 -
零基础学图形学(12) 几何知识——创建面向矩阵或者本地坐标系统
(1)创建面向矩阵或者是本地坐标系统在这章中,我们会使用我们所学习关于坐标系统的只是,以及它们所表示的东西建立一个本地的坐标系统,这些向量也可以是法向量。这项技术可以被用在渲染管道上,它做呗定义在一个坐标系统中的点或者向量转化到另外一个坐标系统。让这个点的法向量城池本地坐标系统的一个轴(经常是向上的向量坐标轴,让tangent和bi-tangent成为这个点相互垂直的另外两个轴)。建立本地翻译 2017-11-11 10:52:28 · 634 阅读 · 0 评论 -
零基础学图形学(5) 几何知识——矩阵
在我们介绍为什么矩阵有趣之前,我们先开始说渲染一副图片,而所有的3D图形,所以的相机都在原地静止是十分受限制的。必须的,矩阵在物体的移动, 灯光和相机,方面扮演着十分重要的角色,使用它们你可以创建你想要得到的图像。如果我们忽略矩阵的话,我们不能创建出非常激动人心的图像。如果你想要实现自己的渲染器,你不应该忽略它们。因此让我们现在马上就学习它们。(1)矩阵介绍:它们使变换变得简单其实矩阵一点原创 2017-11-03 11:53:52 · 3449 阅读 · 0 评论 -
零基础学图形学(14) 几何知识——Geometry源码
//[header]// This program illustrates how the concept of vector and matrix can be implemented// in C++. This is a light version of the implementation. It contains the most// essential methods to ma翻译 2017-11-18 09:13:16 · 813 阅读 · 0 评论 -
零基础学图形学(13) 几何知识——法向量变换
(1)什么是法向量我们在第一篇的时候简单地提到了什么是法向量。一个表面P点的法向量是一个垂直该P点平面的向量。我们进入到几何基础之后会学习到更多的关于法向量的计算。现在假设我们知道tangent T和bi-tangent B,那么我们可以用下面的公司进行计算P点的法向量。N = T x B记住我们所说的叉乘操作,它是反结合率的,也就是说交换两个参数的位置会得到相反的结果。换句话说T翻译 2017-11-14 11:44:15 · 3992 阅读 · 3 评论 -
零基础学图形学(4) 几何知识——点和向量的数学操作
现在我们已经学习了笛卡尔坐标系统的概念,同事也学习了点和向量相对于坐标的位置,我们现在可以学习一些在点和向量上的最基本的操作,你会在很多的3D程序中发现这些基础的函数。(1)C++中的向量类首先让我们定义一个C++向量类templateclass Vec3 {public: // 3 most basic ways of initializing a vector原创 2017-11-02 17:21:47 · 1288 阅读 · 0 评论 -
零基础学图形学(3) 几何知识——坐标系统
1. 坐标系统的介绍在图像管道中坐标系统扮演很重要的角色。它们并不复杂,当我们在学校学习几何知识的时候坐标系统是我们首先学习的知识。但是,通过学习一点它们的知识可以更好地理解矩阵的知识。在前面的章节中我们提到点和向量是用三个有理数表示的。但是那些数表示什么意思呢?每个数表示一段带符号的从原点到该点的距离(signed distance)。比如,画一条直线,我们在它中间的位置做上一个标记。我原创 2017-10-31 13:58:37 · 2843 阅读 · 0 评论 -
零基础学图形学(11) 几何知识——球坐标和三角函数
除了点,向量,法向量,矩阵,最后一个在线性代数中有用的渲染图片的技术是将向量表达为球体坐标。我们当然可以不用使用它们渲染图片,但是你可以看到使用它们可以简化很多的问题,特别是提到阴影的时候,这个章节是一个很好的复习三角函数的机会。(1)三角函数(Trigonometric Functions)渲染一张计算机生成的图片基本上都是几何相关的问题,因此如果不懂或者是没有使用三角函数(和勾股定理P翻译 2017-11-08 15:41:18 · 7636 阅读 · 0 评论 -
零基础学图形学(2) 几何知识——点,向量,法向量
内容:1. 点,向量,法向量2. 坐标系统3. 点和向量的数学操作4. 矩阵5. 矩阵介绍6. 点和向量变换7. 行向量和列向量8. 矩阵操作9. 球坐标系和三角函数10. 创建矩阵和本地坐标系统11. 法向量变换12. 源码关键字: 向量,点,矩阵,法向量,变换,笛卡尔坐标系, 笛卡尔坐标,球坐标,左边系几何学是数学的一个分支,主要涉及的是原创 2017-10-30 19:52:09 · 4432 阅读 · 0 评论 -
零基础学图形学(1) 序言——各级标题
这个系列将站在学习者的角度学习讲解图形学基础。主要的知识来自于http://www.scratchapixel.com/更多的是翻译的作用,如果翻译得不好的地方可以参考原网站。Learn Computer Graphics From Scratch!原创 2017-10-30 19:47:11 · 1325 阅读 · 0 评论 -
零基础学图形学(10) 几何知识——矩阵操作
(1)转置(transpose)矩阵M的转置是另外一个矩阵,我们写成下面这种样式:MT(右上标T),我们可以使用不同的方式描述矩阵的转置。它可以描述为从主对角线(diagonal)左右对换,上下对换获取转置矩阵。M的行写成MT的列,M的列写成MT的行。可以使用下面的代码计算矩阵: Matrix44 transpose() const { Matrix44 transp翻译 2017-11-08 11:49:41 · 1145 阅读 · 0 评论 -
零基础学图形学(9) 几何知识——行向量和列向量
在之前的文章中,我们已经解释了向量可以写成[1 x 3]的矩阵(一行三列)。但是现在也可以写成[3 x 1](三行一列)的形式。从技术上来说,这两种表示点和向量的方式都是合理的,选用一种模式只是涉及到习惯的问题。向量写成[1 x 3]的矩阵 V = [x y z]向量写成[3 x 1]的矩阵翻译 2017-11-07 11:58:01 · 15576 阅读 · 2 评论 -
零基础学图形学(14) 蒙特卡罗数学方法——快速介绍
关键字: Monte Carlo方法, Monte Carlo 整合, 随机变量, 概率,统计,期望值,variance(方差),标准差(standard deviation), 概率分布,概率密度模型(probability density function), 累积分布函数(cumulative distribution function), 转置采样,估值。原始的我们并不想这个教程太长,翻译 2017-11-24 12:52:55 · 1439 阅读 · 0 评论