- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动漫游戏开发技术习题集
1.向量有哪些重要属性?举例说明,在3D游戏中向量的作用。
向量的两个重要属性是长度和方向。在3D游戏中可以表示例子的速度和加速度,光线的走向,多边形的朝向。
2.向量的数学表示方法以及在D3D中采用何种结构体来表示一个三维向量。
数学表示方法:N=(Nx,Ny,Nz)。
D3D中 typedef struct D3DVECTOR
{float x,y,z;} D3DVECTOR;
3.向量长度的计算方法以及如何在D3D中计算向量的长度。
||u||=sqrt(Ux*Ux+Uy*Uy+Uz*Uz)
在D3D中, FLOAT D3DXVec3Length(CONST D3DVECTOR3 *pV);
D3DXVECTOR3 v(1.0f, 2.0f, 3.0f); float magnitude = D3DXVec3Length( v ); // = sqrt(14)
4.向量的加、减,数乘、点积、叉积运算方法,并用简单的程序实现上述运算。
;
D3DXVECTOR3 u(2.0f, 0.0f, 1.0f);
D3DXVECTOR3 v(0.0f, -1.0f, 5.0f);
// (2.0 + 0.0, 0.0 + (-1.0), 1.0 + 5.0)
D3DXVECTOR3 sum = u + v; // = (2.0f, -1.0f, 6.0f)
D3DXVECTOR3 u(2.0f, 0.0f, 1.0f);
D3DXVECTOR3 v(0.0f, -1.0f, 5.0f);
D3DXVECTOR3 difference = u - v; // = (2.0f, 1.0f, -4.0f)
D3DXVECTOR3 u(1.0f, 1.0f, -1.0f);
D3DXVECTOR3 scaledVec = u * 10.0f; // = (10.0f, 10.0f, -10.0f)
FLOAT D3DXVec3Dot( // Returns the result.
CONST D3DXVECTOR3* pV1, // Left sided operand.
CONST D3DXVECTOR3* pV2 // Right sided operand.);
D3DXVECTOR3 u(1.0f, -1.0f, 0.0f);
D3DXVECTOR3 v(3.0f, 2.0f, 1.0f);
// 1.0*3.0 + -1.0*2.0 + 0.0*1.0
// = 3.0 + -2.0
float dot = D3DXVec3Dot( u, v ); // = 1.0
D3DXVECTOR3 *D3DXVec3Cross(
D3DXVECTOR3* pOut, // Result.
CONST D3DXVECTOR3* pV1, // Left sided operand.
CONST D3DXVECTOR3* pV2 // Right sided operand.
);
5.在D3D中如何表示一个4*4的矩阵。在D3D中如何获得一个平移、旋转、比例变换矩阵。
平移
D3DXMATRIX *D3DXMatrixTranslation(
D3DXMATRIX* pOut, // 返回平移后的矩阵. FLOAT x, // x轴移动的单位
FLOAT y, // y轴移动的单位 FLOAT z // z轴移动的单位);
旋转
D3DXMATRIX *D3DXMatrixRotationX(
D3DXMATRIX* pOut, // 返回旋转后的矩阵
FLOAT Angle // Angle是旋转的弧度
);
比例
D3DXMATRIX *D3DXMatrixScaling(
D3DXMATRIX* pOut, // 返回缩放后的矩阵
FLOAT sx, // x轴缩放的比例
FLOAT sy, // y轴缩放的比例
FLOAT sz // z轴缩放的比例.);
6.如果一个物体先向X轴正向平移5个单位,然后绕Y轴旋转45度并整体放大2倍,请求出该物体对应的旋转矩阵。
7.已知平面的一个点P0以及垂直于该平面的一条法向矢量n,请表示出该平面,并采用适当的程序创建该平面。
该平面为p点的集合,n*(p-p0)=0;
这里a, b和c是平面法向量n的成员,d就是那个常数。
8.如何判断一个点是否在某个平面上?
例如,假设平面(n, d),我们能判定点p和平面的关系:
假如n·p + d = 0,那么点p与平面共面。
假如n·p + d 0,那么点p在平面的前面且在平面的正半空间里。
假如n·p + d 0,那么点p
您可能关注的文档
最近下载
- 地铁车站智能建筑(弱电)专项施工方案.docx
- 佳能50d使用说明书.pdf
- 食品配送流程(学校食材配送项目).pdf VIP
- GB/T 3480.5-2008_直齿轮和斜齿轮承载能力计算 第5部分:材料的强度和质量.pdf
- 个体工商户转换为企业法人决定书.docx
- 《管理会计师中级案例分析:成本管理的具体运用分析案例》6000字.docx
- 部编人教版初中八年级上册道德与法治《第六课责任与角色同在:做负责任的人》优质课获奖教案_1.pdf VIP
- 2024年疾控大学习我国传染病流行形势与防控策略答案.docx VIP
- 幼儿园课堂设计: 儿童哲学,让幼儿思考哲学问题并进行相关讨论的课堂活动.docx VIP
- 风力机和风力发电技术-控制系统概述.pptx
文档评论(0)