1. 数学基础

浏览量:171

参考

    高等代数. 高等敎育出版社, 2003.     Tomas Akenine-Möller, Eric Haines, and Naty Hoffman. Real-time rendering. CRC Press, 2011.     F. Hill, and S. Kelley. Computer Graphics Using OpenGL, 3/E, Pearson, 2007.

spacer
浏览量:332

1.4. 图形变换

  本篇文章禁止用于任何商业目的,版权申明、版本说明等见《前言》。 PDF文档和源码下载地址:https://github.com/twinklingstar20/Programmers_Computational_Geometry 1.4. 图形变换 图形变换包括平移、旋转、缩放、错切、正交变换等,由于本书的特点,这里只介绍其中最简单的平移、旋转、缩放变换,这几种变换都是仿射变换,所谓的仿射变换就是指两条互相平行的直线,经过变换后,仍能够保持平行特性的变换。在图形学中,齐次表示占有非常重要的位置,点表示空间上的一个位置,向量表示一个方向而没有具体的位置,因此点的位移是有意义的,但是向量的位移是没有意义的。在维空间上,把点和向量扩展一维,就是它们的齐次表示,点的齐次表示为,向量的齐次表示为。采用齐次表示,三维空间上的图形变换包括旋转、位移等都可以用一个的矩阵来表示,矩阵的连乘就是各个矩阵变换的叠加。 1.4.1. 平移变换 从一个位置到另一个位置的变化,可以用平移矩阵表示,其中,表示维度,取2或者3。平移矩阵可以表示为: \begin{eqnarray*} {T_n} = \left( {\begin{array}{*{20}{l}}1&0& \cdots &0&{{t_1}}\\0&1& \cdots &0&{{t_2}}\\ \vdots & \vdots & \ddots & \vdots & \vdots \\0&0& \cdots &1&{{t_n}}\\0&0& \cdots &0&1\end{array}} \right) \tag{1.34} \end{eqnarray*} 维空间上的平移变换矩阵是一个的矩阵。对一个点进行平移变换,得到新的点;对一个向量进行平移变换后,仍然得到向量,向量并没有受到任何影响。 1.4.2. 旋转变换 旋转变换可以用矩阵、欧拉角或者四元数表示,这里只考虑矩阵表示法。 在二维空间上,绕着原点,沿着逆时针方向旋转角,可以用的矩阵表示为

spacer
浏览量:345

1.3. 方阵

本篇文章禁止用于任何商业目的,版权申明、版本说明等见《前言》。 PDF文档和源码下载地址:https://github.com/twinklingstar20/Programmers_Computational_Geometry 1.3. 方阵 方阵是矩阵中的特殊性况,指的是行数和列数都相等的矩阵。 1.3.1. 特殊矩阵 1.    对角矩阵 对角矩阵是指除对角线元素外的其它所有元素都为0的方阵 \begin{eqnarray} A = \left( {\begin{array}{*{20}{c}}{{a_{1,1}}}&0& \cdots &0\\ 0&{{a_{2,2}}}& \ldots &0\\ \vdots & \vdots & \ddots & \vdots \\ 0&0& \ldots &{{a_{n,n}}}\end{array}} \right) \tag{1.20} \end{eqnarray} 前面介绍的单位矩阵、数量矩阵都是对角矩阵,对角矩阵具有一些很有用的性质。 如果和是对角矩阵,则也是对角矩阵。计算时,不需要进行完整的矩阵计算,可以采用较高效的方法:,其它元素为0。 对角矩阵的乘法具有交换性:如果和是对角矩阵,则。 如果是对角矩阵,是一般矩阵,并且,则的第行等于乘以的第行;如果,则的第列等于乘以的第列。 2.    三角矩阵 三角矩阵是方形矩阵的一种,因其非零系数的排列呈三角形状而得名。两个特别重要的三角矩阵分别称为上三角矩阵和下三角矩阵,一个上三角矩阵的形式为 \begin{eqnarray}

spacer
浏览量:279

1.2. 矩阵

本篇文章禁止用于任何商业目的,版权申明、版本说明等见《前言》。 PDF文档和源码下载地址:https://github.com/twinklingstar20/Programmers_Computational_Geometry 1.2. 矩阵 1.2.1. 矩阵定义 一个的矩阵是一个由行列元素排列成的矩形阵列,矩阵里的元素可以是数字、符号或数学式。以下是一个由6个数构成的2行3列的矩阵:     对于的矩阵,如果,则这样的矩阵叫做方阵,对于一般的矩阵,可以表示为: (1.13)   有时候为了指明所讨论的矩阵的级数,可以把矩阵写成或者。数,称为矩阵的元素,称为元素的行指标,称为列指标。 1.2.2. 矩阵运算 1.加减法 两个矩阵的加法是多元组加法的扩展,如果有两个矩阵和,则这两个矩阵的加法可以表示为 (1.14)   矩阵的加法就是矩阵对应的元素相加,当然相加的矩阵必需要有相同的行数和列数。由于矩阵的加法归结为它们的元素的加法,也就是数的加法,所以矩阵加法有如下性质: 结合律:                     交换律:                     元素全为零的矩阵,称为零矩阵,记为,在不致引起混淆的时候,可以简单地记为。显然,对所有的矩阵,有。 矩阵 \begin{eqnarray} \left( {\begin{array}{*{20}{c}}{ – {a_{1,1}}}&{ – {a_{1,2}}}& \cdots &{ – {a_{1,n}}}\\ { – {a_{2,1}}}&{ – {a_{2,2}}}&

spacer
浏览量:331

1.1. 向量

本篇文章禁止用于任何商业目的,版权申明、版本说明等见《前言》。 PDF文档和源码下载地址:https://github.com/twinklingstar20/Programmers_Computational_Geometry 1.1. 向量 向量是计算机图形几何学中的一个基本概念,它的地位是不容忽视的,例如,物体的坐标、运动轨迹等都可以用向量来表示。本节会介绍向量定义,基本的线性运算,点积,叉积,以及向量空间上的一些重要概念。 1.1.1. 定义 向量是计算几何中的基本概念,指一个同时具有大小和方向的几何对象。直观上,向量通常被标示为一个带箭头的线段如图1.1所示,线段的长度可以表示向量的大小,向量的方向也就是箭头所指的方向。可以用一个多元组来表示一个向量,个有次序的数所组成的数组称为n维向量,这个数称为该向量的个分量,第个数称为第个分量,如等式(1.1)所示。向量的大小称为模长,如等式(1.2)所示。 (1.1)   (1.2)   图1.1 向量表示 维向量可以写成一行,称为行向量;维向量写成一列,称为列向量。分别如等式(1.1)和(1.3)所示,行向量和列向量总被看成是两个相同的向量。设维的行向量是,它的列向量可以表示为,反之也是可以的。 (1.3)   与数字一样,一个向量中也有反向量、零向量、等向量等。若一个向量与它的大小相同,但方向相反,则称它为反向量,一般记作。如果向量是向量的反向量,那么也是的反向量。若一个向量的始点与终点重合,也就是重合点的向量,即,则称它为零向量。零向量具有方向性,但方向不定。若两个向量长度、方向相等,即为等向量,缺一不可。规定长度为1的向量为单位向量,可以把一个非零向量归一化为一个单位向量,如等式(1.4)所示。 (1.4)   1.1.2. 线性运算 1. 向量加减法 向量的加法满足平行四边形法则和三角形法则。具体地,两个矢量和相加,得到的是另一个向量。这个向量可以表示为和的起点重合后,以它们为邻边构成的平行四边形的一条对角线,或者表示为将的终点和的起点重合后,从的起点指向的终点的向量,如图1.2所示,图(a)是平行四边法法则,图(b)是三角形法则。 图1.2 向量加法,(a)平行四边形法则,(b)三角形法则 图1.3 多个向量的加法 当多个向量相加时,例如求个向量相加得到的向量,这个向量可以表示为将第个向量的起点和第个向量的终点重合后,从的起点指向的终点的向量,如图1.3所示。 图1.4 向量减法 两个向量和的相减,则可以看成是向量加上一个与大小相等,方向相反的向量。或者,和的相减得到的向量可以表示为和的起点重合后,从的终点指向的终点的向量,如图1.4所示。 2.  向量数乘 一个标量和一个向量之间可以做乘法,得出的结果是另一个与方向相同或相反,大小是的大小的倍的向量,可以记成。-1乘以任意向量会得到它的反向量,0乘以任何向量都会得到零矢量。如图1.5所示,标量2与向量的数乘,得到,方向与相同,大小是它的两倍。 图1.5 向量数乘 3. 向量加减法和数乘的性质 向量加法和数乘称为是向量的线性运算,它满足下列运算规则(设都是维向量向量):

spacer