2008年向量几何在游戏中的运用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2008年向量几何在游戏中的运用.doc

向量几何在游戏编程中的使用 分类: DirectX 2008-06-01 20:14 584人阅读 评论(0) 收藏 举报 1简单的2-D追踪 -Twinsen编写 -本人水平有限,疏忽错误在所难免,还请各位数学高手、编程高手不吝赐教 -我的Email-address: popyy@ Andre Lamothe说:“向量几何是游戏程序员最好的朋友”。一点不假,向量几何在游戏编程中的地位不容忽视,因为在游戏程序员的眼中,显示屏幕就是一个坐标 系,运动物体的轨迹就是物体在这个坐标系曲线运动结果,而描述这些曲线运动的,就是向量。使用向量可以很好的模拟物理现象以及基本的AI。 现在,先来点轻松的,复习一下中学知识。 向量v(用粗体字母表示向量)也叫矢量,是一个有大小有方向的量。长度为1的向量称为单位向量,也叫幺矢,这里记为E。长度为0的向量叫做零向量,记为0,零向量没有确定方向,换句话说,它的方向是任意的。 一、向量的基本运算 1、向量加法:a+b等于使b的始点与a的终点重合时,以a的始点为始点,以b的终点为终点的向量。 2、向量减法:a-b等于使b的始点与a的始点重合时,以b的终点为始点,以a的终点为终点的向量。 3、 数量乘向量:k*a,k0时,等于a的长度扩大k倍;k=0时,等于0向量;k0时,等于a的长度扩大|k|倍然后反向。 4、向量的内积(数量积、点积): a.b=|a|*|b|*cosA 等于向量a的长度乘上b的长度再乘上a与b之间夹角的余弦。 ???它的几何意义就是a的长度与b在a上的投影长度的乘积,或者是b的长度与a在b上投影长的乘积,它是一个标量,而 且可正可负。因此互相垂直的向量的内积为0。 5、向量的矢积(叉积): a x b = |a|*|b|*sinA*v = c, |a|是a的长度,|b|是b的长度,A是a和b之间的不大于180的夹角,v是与a,b所决定的平面垂直的幺矢,即axb与a、b都垂直。在右手坐标系下,a,b,c构成右手系,即右手拇指伸直,其余四指按由a到b的不大于180度的角卷曲,此时拇指所指方向就是c的方向。因此axb!=bxa。如果是左手系,那么上图中a x b = -c ,即a,b和-c构成左手系。a x b的行列式计算公式如上图右边所示。两个向量的矢积是一个向量。 6、正交向量的内积:互相垂直的两个向量是正交的,正交向量的内积为零。a.b = |a|.|b|*cos(PI/2) = |a|.|b|*0 = 0。 二、向量的性质 没有下面的这些性质做基础,我们后面向量技巧的推导将无法进行。 1) a + b = b + a 2) (a + b) + c = a + (b + c) 3) a + 0 = 0 + a = a 4) a + (-a) = 0 5) k*(l*a) = (k*l)*a = a*(k*l) 6) k*(a + b) = k*a + k*b 7) (k + l)*a = k*a + l*a 8) 1*a = a 9) a.b = b.a 10)a.(b + c) = a.b + a.c 11)k*(a.b) = (k*a).b = a.(k*b) 12)0.a = 0 13)a.a = |a|^2 三、自由向量的代数(分量)表示 1、向量在直角坐标中的代数表示方法: a=(x,y) 其中x,y分别是向量在x轴和y轴上的分量。任何一个在直角坐标轴上的分量为(x,y)的向量都相等。比如上图中的每个向量都表示为(-2,1)。 或者写成a=x*i+y*j,即i和j的线性组合,这里i是x轴方向的单位向量(1,0),j是y轴方向的单位向量(0,1),因此i正交于j。任意一个2-D向量都可以表成i与j的线性组合。 |i| = |j| = 1 2、向量的代数(分量)表示的运算: 向量加法分量表示:a+b=(xa,ya)+(xb,yb)=(xa+xb,ya+yb) 向量减法分量表示:a-b=(xa,ya)-(xb,yb)=(xa-xb,ya-yb) 向量的内积(数量积、点积)分量表示: a.b =(xa * i + ya * j).(xb * i + yb * j) = xa * i * xb * i + xa * i * yb * j + ya * j * xb * i + ya * j * yb * j =(xa * xb) * (i * i) + (xa * yb) * (i * j) + (xb * ya) * (i * j) + (ya * yb) * (j * j) = xa * xb + ya * yb |ab|*cosA=x^2|ab|sinA 3、向量长度(模)的计算以及单位化(归一化): 设a=(x,

文档评论(0)

changjiali2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档