收藏本站 | 论文目录

关键词: python matlab plc 单片机 dsp fpga 仿真 stm32

当前位置: 毕业论文设计参考 >> 电子电气通信 >> 通信工程本科论文

基于Directx的三维图形立体变换的实现

[关键词:Directx,三维图形,立体变换]  [热度 ]
提示:此毕业设计论文完整版包含【论文
作品编号:txgc0305,word全文:50页,合计:19000

以下仅为该作品极少介绍,详细内容请点击购买完整版!
基于Directx的三维图形立体变换的实现毕业设计论文------

图象的获取

通过读入生成的.X文件来获得我们需要操作的电视机模型。要使用Mesh读入.X文件,关于.X文件,其实可以说很多,可以用外部的工具例如3DS MAX来建立.3ds文件,然后利用微软提供给的工具转换成.X文件,如果同时会用3DS就可以知道.X文件能自动的包含材质,和动画,所以利用Mesh可以方便的把在3DS MAX的做品用在游戏中。D3D支持.x模型文件,.x文件包括模型数据,如vertexbuffer,indexbuffer,以及材质等信息。通过使用建模软件生成的.x文件,使3D编程变得更简单,更容易。下面说明怎样简单load一个.x文件[9]。

图像的旋转

在进行图像处理的过程中大量的运用了矩阵的变换,矩阵的变换可以更加容易的对图形进行操作以及视角的转换[17]。矩阵就像是一个表格,有一定数目的行与列;每个格子中都一个数字或表达式。通过特定的矩阵,可以对3D对象中的顶点坐标进行运算,来实现类似移动、旋转、缩放这样的操作。在DirectX中,矩阵就是4X4的数表。下面的这幅图是一个矩阵的例子,这个矩阵能使一个对象(由它的所有顶点)缩放到原来的五倍[6]。

程序运行的调试

通过对以上各个程序块的融合我们的程序就基本成型了,但是再调试的过程中我还是遇到了很多的麻烦,在我们完成一个LoadMesh[16]函数,这个函数我们可以在以后任何需要读入.X文件的地方都是非常的方便,但是我们一定要注意我们还需要在绘图的地方加上几句:

for (int i = 0; i < meshMaterials.Length; i++) 

device.Material = meshMaterials[i];// 把保存的材质赋予device; 

device.SetTexture(0, meshTextures[i]);// 把纹理赋予device,如果没有就为Null 

mesh.DrawSubset(i);// 根据子集的ID调用DrawSubset方法 

}

以上的这种情况是经常会遇到的,还有在进行.X文件的引用时,如果缺少了JPEG的压缩图片.X文件是不能正确应用的,再有就是对.X文件进行数据转换时一定要记清楚.X文件的格式那样才不会把纹理和材质的信息弄混乱。在程序的调试过程中Visual C#.Net中MSDN是非常重要的我们要学会运用他的帮助功能那样对程序中的定义错误我们很快就能找到解决的方法,以便我们能快速的调试好自己的程序。

设计开发小结

在本篇论文中首先介绍了开发语言C#的一些新特性和一些基本的图像处理方法。但在本次开发中还用到了其它的处理技术,比如键盘的控制设置,世界矩阵的具体变换设置,DX中的画点,画线等,由于限于篇幅,没有一一介绍。在开发的过程中由于这方面的参考资料比较少,大部分书籍都是一个一个的介绍处理技术,但具体多种方法合在一起应用很少见,所以花了很多时间在项目开发上。通过把以上的各个程序块的融合我们的设计程序就基本成型了。在程序的设计过程中,电视机的绘制给我带来了不小的麻烦,一直不知从何入手,最终通过大量资料的查阅选择了使用3DS MAX。

 

 


以上仅为该作品极少介绍,详细内容请点击购买完整版!

提示:此毕业设计论文完整版包含【论文
作品编号:txgc0305,word全文:50页,合计:19000

本通信工程毕业设计论文作品由 毕业论文设计参考 [http://www.qflunwen.com] 征集整理——基于Directx的三维图形立体变换的实现(论文)!
相关毕业设计
    没有关键字相关信息!