第03讲 顶点坐标变换.doc

第03讲 顶点坐标变换.doc

ID:61448398

大小:583.00 KB

页数:29页

时间:2021-01-31

第03讲 顶点坐标变换.doc_第1页
第03讲 顶点坐标变换.doc_第2页
第03讲 顶点坐标变换.doc_第3页
第03讲 顶点坐标变换.doc_第4页
第03讲 顶点坐标变换.doc_第5页
资源描述:

《第03讲 顶点坐标变换.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、顶点坐标变换1、坐标系(1)、左手法则:(2).世界坐标系世界坐标系也被称作全局坐标系,它用于建立一个描述其他坐标系所需要的参考框架,以便指定物体在该坐标系中的位置、方向及大小,如下图所示。(3)局部坐标系局部坐标系又被称作模型坐标系,用于描述物体自身属性的独立坐标系。局部坐标系相对于物体的中心位置构成一个模型空间,如下图所示。(4)观察坐标系观察坐标系是与观察者密切相关的坐标系,用于指定观察三维空间中的物体的方向和位置。观察坐标系的原点指定了摄像机(即观察视角)的位置,而左手坐标系统中的x轴和y轴描述摄像机的x和y方向上的正方向,而z轴正方向描述了观察的方向,如下图所示。2、D3d中的向量定

2、义在D3DX库中,我们能用D3DXVECTOR3类表示3维空间中的向量。它的定义是:typedefstructD3DXVECTOR3:publicD3DVECTOR{public:D3DXVECTOR3(){};D3DXVECTOR3(CONSTFLOAT*);D3DXVECTOR3(CONSTD3DVECTOR&);D3DXVECTOR3(CONSTD3DXFLOAT16*);D3DXVECTOR3(FLOATx,FLOATy,FLOATz);//castingoperatorFLOAT*();operatorCONSTFLOAT*()const;//assignmentoperatorsD

3、3DXVECTOR3&operator+=(CONSTD3DXVECTOR3&);D3DXVECTOR3&operator-=(CONSTD3DXVECTOR3&);D3DXVECTOR3&operator*=(FLOAT);D3DXVECTOR3&operator/=(FLOAT);//unaryoperatorsD3DXVECTOR3operator+()const;D3DXVECTOR3operator-()const;//binaryoperatorsD3DXVECTOR3operator+(CONSTD3DXVECTOR3&)const;D3DXVECTOR3operator-(CO

4、NSTD3DXVECTOR3&)const;D3DXVECTOR3operator*(FLOAT)const;D3DXVECTOR3operator/(FLOAT)const;friendD3DXVECTOR3operator*(FLOAT,CONSTstructD3DXVECTOR3&);BOOLoperator==(CONSTD3DXVECTOR3&)const;BOOLoperator!=(CONSTD3DXVECTOR3&)const;}D3DXVECTOR3,*LPD3DXVECTOR3;(1)计算向量的大小:FLOATD3DXVec3Length(//Returnsthemagni

5、tude.CONSTD3DXVECTOR3*pV//Thevectortocomputethelengthof.);D3DXVECTOR3v(1.0f,2.0f,3.0f);floatmagnitude=D3DXVec3Length(&v);//=sqrt(14)(2)标准化向量(单位化):D3DXVECTOR3*D3DXVec3Normalize(D3DXVECTOR3*pOut,//Result.CONSTD3DXVECTOR3*pV//Thevectortonormalize.);(3)向量的点积:FLOATD3DXVec3Dot(//Returnstheresult.CONSTD3DX

6、VECTOR3*pV1,//Leftsidedoperand.CONSTD3DXVECTOR3*pV2//Rightsidedoperand.);D3DXVECTOR3u(1.0f,-1.0f,0.0f);D3DXVECTOR3v(3.0f,2.0f,1.0f);//1.0*3.0+-1.0*2.0+0.0*1.0//=3.0+-2.0floatdot=D3DXVec3Dot(&u,&v);//=1.0(4)向量的叉积:D3DXVECTOR3*D3DXVec3Cross(D3DXVECTOR3*pOut,//Result.CONSTD3DXVECTOR3*pV1,//Leftsidedoper

7、and.CONSTD3DXVECTOR3*pV2//Rightsidedoperand.);你能通过左手法则确定叉积返回的向量。按照第一个向量指向第二个向量弯曲你的左手,这时拇指所指的方向就是叉积向量所指的方向。(5)向量使用实例:#include#includeintmain(){//二维向量C2=A2-B2D3DXVECTOR2A2(6.0f,3.0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。