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

上传人:hs****ma 文档编号:490474305 上传时间:2023-11-10 格式:DOC 页数:52 大小:504.50KB
返回 下载 相关 举报
基于Directx三维图形立体变换实现_第1页
第1页 / 共52页
基于Directx三维图形立体变换实现_第2页
第2页 / 共52页
基于Directx三维图形立体变换实现_第3页
第3页 / 共52页
基于Directx三维图形立体变换实现_第4页
第4页 / 共52页
基于Directx三维图形立体变换实现_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《基于Directx三维图形立体变换实现》由会员分享,可在线阅读,更多相关《基于Directx三维图形立体变换实现(52页珍藏版)》请在金锄头文库上搜索。

1、西南科技大学毕业设计论文题目名称:基于Directx的三维图形立体变换的实现年 级:2003级 本科 专科学生学号:20035247学生姓名:宋彦宾 指导教师:蒋体钢学生单位:信息工程学院 技术职称:副研究员学生专业:通信专业 教师单位:信息工程学院西 南 科 技 大 学 教 务 处 制基于Directx的三维图形立体变换的实现摘要:目前在世界上三维图形大量的被应用到日常生活中,它是许多媒体应用程序和游戏的主体局部,所以掌握最新的三维技术是很有必要的。本文首先研究了利用C和Directx9编程以及立体几何技术,数学变换和几何图形技术来制作三维立体图形的方法,掌握了利用API接口创立窗口实现消息

2、传递以及对坐标系,缓存,矩阵坐标变换的知识。其次,利用3DS Max创立三维立体图形,加载到所编写的三位图形立体变换程序中,并进行调试。设计主要完成了对绘制出来的电视机的平移,旋转和缩放技术的处理,最后通过程序对图形进行渲染使其更具有可观性。关键词:API;Visual C#.Net;Direct3D;3DS MaxThe Realization of ThreeDimensional Graph Three-Dimensional Transformation Based on DirectxAbstract:In the world of nowadays, the three -dime

3、nsional graphics are applying to daily life in a large number. It is the main part of the game and applications of many media. So, its necessary to master the latest 3-D technology.Firstly, this thesis researches on using C # and the Directx9 programming as well as the three-dimensional geometric te

4、chnology, the mathematical manipulation and the geometric figure technology to manufacture the three-dimensional graphics. Mastering the use of the API interfaces to create a window that can realize message transmission. Acquainting the knowledge on the coordinate system, the texture and the matrix

5、coordinate transformation. Secondly, the 3D models of the system were created by 3dsmax, then prepared to load the stereo 3D graphics transformation process, and debugging. The translation, the rotation and scaling of TV which have mapped out were completed in this design. Finally, by embroidering i

6、n procedure, the graphics were more arresting.Key words: API, Visual C#.Net, Direct3D, 3DS Max目 录第1章 绪论11.1 三维技术的现状11.2 编程语言简介21.3 三维图形立体变换的设计分析21.3.1 设计需求分析21.3.2 设计性能要求23的概念32.1.1 Direct3D的构架32.1.2 设计规划42.2 函数简介52.2.1 窗口类的处理62.2.2 创立IDirect3D接口72.2.3 创立IDirect3DDevice界面82.2.4 开始渲染92.2.5 顶点属性与顶点格式1

7、02.2.6 顶点缓冲102.2.7 索引缓冲122.2.8 D3D中的图元简介132.2.9 向量142.2.10 矩阵的操作15第3章 主体程序的设计与实现193.1 三维图形立体变换的设计193.2 三维图形立体变换设计具体实现193.2.1 利用.X文件图像获取193.2.2 利用画点画线函数生成图像233.2.3 图像的缩放333.2.4 图像的旋转343.2.5 图像保存为.TXT文挡373.2.6 渲染功能实现383.2.7 光源和观察矩阵的实现393.2.8 键盘的控制393.3 程序运行的调试40总结414.1 设计开发小结414.2 工程改良方向和未来展望41致谢42参考文

8、献43附录44第1章 绪 论 三维技术的现状在计算机屏幕上绘图的最根本单位是点,点构成线,线又构成多边形,还可以朝空间开展,构成立体图行,如正方体、立方体、锥体、球等。用高级语言绘图的尝试根本就到此为止了,以为学过计算机图形学的人都知道,绘制真实的图形非常复杂,诸如着色、光照、运动等操作都涉及到大量的数学变换,没有高深的数学理论和高超的编程技巧是无法构建出漂亮的三维场景的10。不过,现在已经有大量的软件能够完成一些复杂的图形操作,如做平面设计的Photoshop,做三维立体设计的AutoCAD,做三维动画设计的3DS Max等。使用这些软件,可以比拟容易地绘制出精彩的图形效果,只要有艺术细胞,

9、就不怕作不出想要的效果。说到DirectX,大局部读者都会认为这是一个专门为图形效劳的API(Application Program Interface)应用程序接口。实际上,DirectX是用途极为广泛的API,它并不局限于显示领域。目前的DirectX中包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。只是由于目前DirectX版本的更新主要在3D图

10、形技术上,因此DirectX才给人一种图形API的感觉。DirectX是为游戏而诞生,而且伴随着不同版本的DirectX推出,就会有相应的显卡产品支持。从DirectX1.0到DirectX3.0,微软让它的DirectX开始在游戏领域树立起3D的标杆,尽管当时的3D很粗糙,但是雏形已初步形成,到DirectX7开始,随着OpenGL和Glide势力日渐衰弱,DirectX的霸气初现。DIRECT3D是Microsoft公司推出的三维图形编程API,它主要用于三维游戏的编程。众多优秀的三维游戏都是由这个接口实现的。与OpenGL一样,Direct3D的实现主要使用C+和C语言。DIRECT3D

11、主要运用到现在众多的网络游戏中,越优越的网络游戏运用到DIRECT3D技术越先进。在我国由于国产大型网络游戏软件在质量、性能、可玩性等方面较国外品牌明显缺乏竞争力,目前,韩国和日本等国的游戏产品在我国网络游戏市场竞争中已占据主动。业者认为,无论从经济利益还是文化角度出发,我国都应尽快打破网络游戏产品主要依赖国外进口的被动局面,真正建立起研发、运营销售一条龙的产业链条,从根本上促进网络游戏产业的成熟。 编程语言简介C#语言自C/C+演变而来。但是,它现代、简单、完全面向对象和类型平安。如果您是C/C+程序员,学习曲线将会很平坦。许多C#语句直接借用您所喜爱的语言,包括表达式和操作符。假设不仔细看

12、,简直会把它当成C+。关于C#最重要的一点:它是现代的编程语言。它简化和现代化了C+在类、名字空间、方法重载和异常处理等领域。屏弃了C+的复杂性,使它更易用、更少出错。对C#的易用有奉献的是减少了C+的一些特性,不再有宏、模板和多重继承。特别对企业开发者来说,上述功能只会产生更多的麻烦而不是效益。使编程更方便的新功能是严格的类型平安、版本控制、垃圾收集(garbage collect)等等。所有的这些功能的目标都是瞄准了开发面向组件的软件。简单、现代、面向对象、类型平安、版本控制、兼容和灵活是C#至关重要的各种要素20。1.3 三维图形立体变换的设计分析近年来,3D世界飞速的开展。虚拟制造技术

13、具有诱人的应用前景,促使兴旺国家对其进行深入研究,并已出现许多成功的应用范例。3D技术已逐渐作为人们生活的一个重要局部而融入在人们的日常生活当中去。这次毕业设计是要利用Directx 9.0和C#语言编程实现对三维立体图形的旋转,平移和缩放等操作,并能对立体图行进行渲染,。 设计需求分析现今的社会,电脑已经落入千家万户。我们这个设计只需要一台支持Directx 9. 0电脑以及相关的软件就可以实现,相关软件有C#,3DS MAX, Directx SDK。 设计性能要求(1)绘制出一个三维立体的电视机(2)实现对电视机的旋转,平移和缩放.(3)实现对.TXT文档的翻开,显示和保存.(4)对绘制

14、的电视机进行渲染和光源设置第2章 DirectX2.1 DrectX9. 0包括8个主要组件。其中,DirectPlav提供多人网络游戏的功能和方便快捷的网络数据交互;DirectMusic那么为音乐音轨、MIDI或者其他由DirectMusic Producer创作的非音乐音轨提供一套完整的解决方案;DirectShow可以对媒体数据流进行高质量的采集与回放;Direct Setup能够实现DirectX组件的自动安装;DirectX Media Objects提供数据流对象的读写支持,包括视频和音频解码器及其效果。DirectSound用于播放和捕获音频波形的高性能音频应用软件的开发;DirectInput支持各种输入设备如键盘、鼠标、操作杆等,并且完全支持力反响技术。DirectX Graphics组合了过去DirectX版木中的DirectDraw 和 Direct3D两个组件,使其成为一个适用于所有图形程序的独立的应用程序接口,并简化了图形编程任务。2002年底,微软发布DirectX9.0。DirectX 9中PS单元的渲染精度已到达浮点精度,传统的硬件T&L单元也被取消。全新的VertexShader(顶点着色引擎)编程将比以前复杂得多,新的VertexShader标准增加了流程控制,更多的常量,每个程序的着色指令增加到了1024条12

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号