专业教程理论讲解部分网络游戏开发——DirectX第1章计算机图形学基础第1章计算机图形学基础3D图形学概述向量矩阵向量矩阵向量运算矩阵运算熟悉3D图形学基础知识掌握向量的概念及运算掌握矩阵的概念及运算1.1计算机图形学概述1.1.1计算机图形学基础第1章计算机图形学基础计算机图形学是研究用计算机及其图形设备来输入、表示、变换、运算和输出图形的原理、算法及系统的一门学科。图形学的概念图形通常是由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。在计算机中表示图形最常用的是点阵法。图形的概念图形一般指用计算机绘制的画面;图像则是由输入设备捕捉的实际场景画面或以数字化形式存储的任意画面。图形与图像的区别1.1计算机图形学概述1.1.1计算机图形学基础第1章计算机图形学基础计算机里,图像文件主要分为2类:由排列成行列的像素点(pixel)组成,能真实地记录图像中每个像素的颜色和特征。位图(点阵图)图像文件中只记录生成图的算法和图上的某些特征点。向量图(矢量图)1.1计算机图形学概述1.1.1计算机图形学基础第1章计算机图形学基础实际应用中,常见的图像文件存储格式有7种:PCXBMP和DIBGIFTIFFJPG和PICPCDTGA1.1计算机图形学概述1.1.2计算机图形显示设备第1章计算机图形学基础目前,主流的计算机图形显示设备有3种:CRT显示器是基于阴极射线管(CathodeRayTube)的显示器。CRT1.1计算机图形学概述1.1.2计算机图形显示设备第1章计算机图形学基础LCD显示器是近来显示器的主流,它的工作原理是利用电场产生液晶分子的偏转,从而显示不同的像素点。LCD1.1计算机图形学概述1.1.2计算机图形显示设备第1章计算机图形学基础等离子显示器是一种利用气体放电的显示装置,这种屏幕采用了等离子管作为发光组件。PDP1.1计算机图形学概述1.1.3计算机图形处理器第1章计算机图形学基础图形处理器是图形系统结构的重要组件,是连接计算机和显示终端的纽带。1.1计算机图形学概述1.1.3计算机图形处理器第1章计算机图形学基础图形处理器是图形处理系统中最关键的部分,也就是常说的显卡。1.1计算机图形学概述1.1.4显卡发展史第1章计算机图形学基础显卡的发展可以分为5个阶段。2D显卡时代民用显卡的起源可以追溯到上个世纪80年代。这个阶段显卡规格主要是VGA(VideoGraphicsArray)。1.1计算机图形学概述1.1.4显卡发展史第1章计算机图形学基础3Dfx3Dfx公司推出的Voodoo显卡是业界的第一块真正意义的3D图形加速卡。NVIDIAVoodoo系列显卡逐渐被NVIDIA的显卡系列所替代。1.1计算机图形学概述1.1.4显卡发展史第1章计算机图形学基础NVIDIA与ATINVIDIA的Geforce系列与ATI公司的Radeon系列显卡。PCI-EPCI-E接口规格的显卡接口出现,开始逐渐替代AGP接口规格的显卡1.2线性代数基础计算机图形学概述1.2.1向量1.向量的概念第1章计算机图形学基础向量是一类既有大小,又有方向的量;标量只有大小,没有方向。几何上,用带有箭头的线段表示向量。1.2线性代数基础计算机图形学概述1.2.1向量1.向量的概念第1章计算机图形学基础在参照系中,为确定空间中一点的位置,按规定方法选取的有次序的一组数,叫做“坐标”。在某一问题中规定坐标的方法,就是该问题所用的坐标系。常用的坐标系是笛卡尔直角坐标系。坐标系的概念1.2线性代数基础计算机图形学概述1.2.1向量1.向量的概念第1章计算机图形学基础为了表示向量,可以将向量进行平移,向量的尾部移到坐标原点,此时,向量处于标准位置,可以用向量头部的位置来表示向量。向量有大小和方向,点只有大小,没有方向。1.2线性代数基础计算机图形学概述1.2.1向量1.向量的概念第1章计算机图形学基础•特殊向量在三维向量中有4个特殊的向量。第一个称之为零向量,它的所有分量都是0。另外3个特殊的向量也被认为是3个基本向量,这些向量,被称为i、j和k,分别沿着坐标系中x轴、y轴和z轴伸展,每个向量都有分量:i=(1,0,0),j=(0,1,0)和k=(0,0,1).1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•向量相等几何上,如果两个向量在标准坐标系中的位置相同并且拥有相同的分量,那么这两个向量就相等。在代数上描述为:如果两个向量拥有相同的尺寸并且拥有相等的分量,那么它们相等。•向量求模向量的模可以理解为表示向量的直线段的长度。1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•单位向量向量的模为1的向量称为单位向量。•向量加法维数相同的两个向量才能进行向量加法,向量加法满足平行四边形或三角形法则。1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•向量加法向量的加法满足如下性质:1)交换律:a+b=b+a;2)结合律:(a+b)+c=a+(b+c);3)a+0=0+a=a;4)a+(-a)=(-a)+a=0。1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•向量减法向量减法可以看作是向量加法的逆运算。向量减法可以按照三角形法则进行判断。•向量数乘标量与向量相乘称为向量的数乘。向量数乘有以下性质:1)1•u=u;2)k•(l•u)=(k•l)•u;3)(k+l)•u=ku+lu;4)k(u+v)=ku+kv;1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•向量点乘通过向量点乘的结果可以判断两个向量的关系:如果=0,那么向量相互垂直;如果0,那么向量u、v之间的夹角小于90°;如果0,那么向量u、v之间的夹角大于90°。svuvuvuvuzzyyxxcosvuvu1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•向量投影给定两个向量v与n,可以把向量v分解为两个向量vx,vy,它们分别平行和垂直于向量n,把平行于向量n的向量vx称为向量v在向量n上的投影。22coscosxxvvvnnnnvnnnvnnn1.2线性代数基础计算机图形学概述1.2.1向量2.向量的运算第1章计算机图形学基础•向量叉乘叉乘,也叫向量的外积、向量积,叉乘的结果是一个向量。u和v进行叉乘后得到另一个向量p,向量p同时垂直于u、v。向量的叉乘有如下性质:1)反对称性:u×v=-v×u;2)齐次性:(ku)×v=k(u×v);3)可加性:u×(v×r)=u×v+u×r。[(),(),()]yzzyzxxzxyyxpuvuvuvuvuvuvuv1.2线性代数基础计算机图形学概述1.2.2矩阵1.矩阵的概念第1章计算机图形学基础由数域P中mn个数排成m行n列的矩形表A称为一个m×n矩阵,记作Am×n1111...............nmmnaaAaa当m和n相等时,A称为一个n阶方阵。零矩阵所有元素均为零的矩阵。单位矩阵主对角元素全为1,其余元素均为0的方阵,通常用I表示。1...0...1...0...1A1.2线性代数基础计算机图形学概述1.2.2矩阵2.矩阵的运算第1章计算机图形学基础如果两个矩阵具有相同的维数并且它们的元素都相等,则这两个矩阵相等。矩阵相等矩阵加法矩阵加法只可以在两个相同维数的矩阵之间进行。矩阵的和就是两个矩阵的对应元素相加的和组成的矩阵。矩阵加法有如下性质:1)交换律:A+B=B+A;2)结合律:A+(B+C)=(A+B)+C;3)存在与A同型的零矩阵0,使得0+A=A+0=A;4)A+(-A)=0,-A称为A的负矩阵。1.2线性代数基础计算机图形学概述1.2.2矩阵2.矩阵的运算第1章计算机图形学基础矩阵减法只能在两个相同维数的矩阵之间进行。矩阵减法矩阵数乘矩阵与一个标量(或数量)相乘称为矩阵的数乘,对矩阵进行数乘时就是对矩阵中的所有元素都乘以某个数字。假设A,B是两个同型矩阵,k,l是两个标量,则有如下性质:1)1•A=A,0•A=0;2)(k+l)A=kA+lA;3)k(lA)=l(kA)=(kl)A;4)k(A+B)=kA+kB;1.2线性代数基础计算机图形学概述1.2.2矩阵2.矩阵的运算第1章计算机图形学基础为了计算AB的矩阵乘法,矩阵A的列数需要和矩阵B的行数相等。矩阵乘法如果A是一个m×n的矩阵并且B是一个n×p的矩阵,矩阵乘法的结果将会是一个m×p的矩阵C,记作C=A×B。在矩阵C中第ij个元素将会是A中第i个行向量和B中的第个j个列向量的点乘的结果。jiijbaC1.2线性代数基础计算机图形学概述1.2.2矩阵2.矩阵的运算第1章计算机图形学基础矩阵乘法假定有矩阵A、B、C满足矩阵乘法,则矩阵乘法有如下性质:1)结合律:(AB)C=A(BC);2)分配律:A(B+C)=AB+AC,(B+C)A=BA+CA;3)存在单位阵Im与In,使得:ImAm×n=AIn=A;4)对于标量k,有k(AB)=A(kB)=(kA)B。11121112132122212223313211121311213111121312223221222311213121222312223211111221133111121(,,)(,,)(,,)(,,)(,,)(,,)(,,)(,,)bbaaaABbbaaabbaaabbbaaabbbaaabbbaaabbbababababa2221332211122212331211222222332babCabababababab1.2线性代数基础计算机图形学概述1.2.2矩阵2.矩阵的运算第1章计算机图形学基础矩阵的转置指交换矩阵的行和列。矩阵转置转置矩阵具有如下性质:()TTAA()TTTABAB(),TTkAkAkP()TTTABBA1.2线性代数基础计算机图形学概述1.2.2矩阵2.矩阵的运算第1章计算机图形学基础矩阵运算中没有除法运算,只有逆矩阵的运算。逆矩阵1)只有方形的矩阵可以有逆矩阵。2)一个n×n的矩阵M的逆矩阵表示为M-1。3)将一个矩阵和它的逆矩阵相乘的结果是一个单位矩阵。4)并不是所有的方阵都有逆矩阵。5)反序律:6)还原性:111()ABBA11()AA小结(理论课)第1章计算机图形学基础本节主要介绍计算机图形学基础的知识:3D图形学概述向量和相关计算矩阵和相关计算小测验(题目部分)第1章计算机图形学基础选择题(单选题)1.下列选项中,属于向量性质的是()。A.位置B.方向C.起点D.长度2.单位矩阵中,哪些矩阵元素全部都是1?()A.第1行B.第1列C.左上到右下的正对角线D.左下到右上的反对角线判断题3.所有的方形矩阵都有逆矩阵。()小测验(答案部分)第1章计算机图形学基础选择题(单选题)1.下列选项中,属于向量性质的是(B)。A.位置B.方向C.起点D.长度2.单位矩阵中,哪些矩阵元素全部都是1?(C)A.第1行B.第1列C.左上到右下的正对角线D.左下到右上的反对角线判断题3.所有的方形矩阵都有逆矩阵。(F)课后作业第1章计算机图形学基础【作业1】编写向量类【作业2】编写矩阵类思路分析:编写向量类,实现向量的各种运算,重载运算符;思路分析:编写矩阵类,重载运算符,实现矩阵的各种运算。第1章计算机图形学基础TheEnd