- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
directx游戏编程第1章
* 1.2.11 组合变换 * 1.2.12 一些用于向量变换的函数 D3DX库提供了如下两个函数来变换点和向量,D3DXVec3TransformCoord函数将点转换为第4个分量为1的向量。 D3DXVec3TransformNormal函数将三维向量转换为第4个分量为0的向量: 参见教材P25 * 1.3 平 面 可以通过一个向量n和平面上的一个点来描述平面p0。向量n被称为平面的法线,并且垂直于平面,如图1.11所示。 从图1.12中可以看出,一个平面是所有满足要求的点的集合。 * 1.3.1 D3DX中的平面 当使用代码描述一个平面时,它只需要存储法线向量n和一个常量d,将这个法线和常量组合为一个4维的向量(n, d),在D3DX库中使用如下结构描述这个平面: 参见教材P26 a、b和c用于描述一个平面上的法线向量,而d是一个常量,来自公式(1-12)。 * 1.3.2 点和平面之间的关系 给出了平面(n, d),可以检测一个特殊的点p和一个平面有怎样的关系: 如果n?p+d=0,则点p在平面上。 如果n?p+d0,则点p在平面上的外侧。 如果n?p+d0,则点p在平面上的内侧。 D3DX中的如下函数等价于n?p+d,用于求出一个指定的平面和点之间的距离: 参见教材P27 * 1.3.3 构建平面 * 1.3.3 构建平面 在D3DX中提供了如下的函数,通过给出3个不同点来计算一个平面: D3DXPLANE* D3DXPlaneFromPoints( D3DXPLANE *pOut, // Result CONST D3DXVECTOR3 *pV1, // Point 1 on the plane CONST D3DXVECTOR3 *pV2, // Point 2 on the plane CONST D3DXVECTOR3 *pV3 // Point 3 on the plane ); * 1.3.4 标准化一个平面 可以使用如下的公式来标准化平面(n, d): 在D3DX中可以使用如下的函数来标准化一个平面的法线向量: D3DXPLANE* D3DXPlaneNormalize( D3DXPLANE *pOut, // Resulting normalized plane CONST D3DXPLANE *pP // Input plane ); * 1.3.5 对平面进行变换操作 把它看成一个四维向量,用所需要的变换矩阵的逆——转置矩阵来对它进行操作。注意,这个平面的法线要先被标准化。 使用下面的函数: D3DXPLANE* D3DXPlaneTransform( D3DXPLANE *pOut, // Result CONST D3DXPLANE *pP, // Input plane CONST D3DXMATRIX *pM // Transformation matrix ); * 1.3.5 对平面进行变换操作 实例代码如下: D3DXMATRIX T(...); // Init. T to a desired transformation D3DXMATRIX inverseOfT; D3DXMATRIX inverseTransposeOfT; D3DXMatrixInverse(inverseOfT, 0, T); D3DXMatrixTranspose(inverseTransposeOfT, inverseOfT); D3DXPLANE p(...); // Init. Plane. D3DXPlaneNormalize(p, p); // make sure normal is normalized D3DXPlaneTransform(p, p, inverseTransposeOfT); * 1.3.6 求到一个指定点距离最短的平面上的点 假设在空间中有一个点p并且希望找出在平面(n, d)上的一个离p点最近的点q。 图1.13 k是p到平面上最短的距离 在平面(n, p)上距离点p最近的是点q。可以发现点p到平面的距离是正的,但是如果点p在平面的另一面,那么p将会是负的。 * 1.4 射 线 设想在游戏中一个玩家正在向一个敌人开火,通过什么方法来判断从一个指定的位置和方向射出后的子弹是否能击中目标呢? 一个解决方案就是使用一个射线对子弹建模,并对敌人建立一个包围盒,它和一个物体紧密地绑定在一起,因此近似为它的体积。包围盒将在第11章中重点讲述,然后通过数学计算,我们可以判断射线是否击中了包围盒并且能知道击中了哪个地方,在这一节中,我们学习怎样在数学上对一条射线建模。 * 1.4.1 射线的表达式 一
您可能关注的文档
- cfakepath03201208第3章整合的理论基础.pptx
- casestudy体验商务英语.ppt
- cems—75—76标准学习.ppt
- ch1new1第1章导论机械设计.ppt
- ch09—2电场强度静电场的高斯定理.ppt
- c7高中英语作文写作-如何写建议信.ppt
- ch1—3数字特征与极限定理.ppt
- ch1—1n阶行列式的定义与矩阵定义.ppt
- ch10—2直角坐标系1.ppt
- ch2 离散型随机变量和分布.ppt
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2025年江西管理职业学院教师招聘考试笔试备考题库.docx VIP
- 2024中国中信金融资产管理股份有限公司人力资源部(党委组织部)社会招聘笔试模拟试题及答案解析.docx VIP
- 高考英语完型填空汇总.doc VIP
- 合作经营合同(2020).docx VIP
- 关节活动度测定ppt课件.pptx VIP
- 体育教师专业发展计划.doc VIP
- 影视产业概论 教学大纲.docx VIP
- 明星志愿3群星合辑(星光圆舞曲+银色幻想曲)攻略-详细整理版精要.docx
- Q-CR 570-2017 电气化铁路接触网用力矩控制式胶粘型锚栓.docx VIP
- 煤矿机电事故专项应急预案及现场处置方案.pdf VIP
文档评论(0)