分享
分享赚钱 收藏 举报 版权申诉 / 33

类型基于三维动画技术仿真Ad hoc网络的路由技术.doc

  • 上传人:dzzj200808
  • 文档编号:2286368
  • 上传时间:2018-09-09
  • 格式:DOC
  • 页数:33
  • 大小:1.02MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于三维动画技术仿真Ad hoc网络的路由技术.doc
    资源描述:

    1、 南 京 理 工 大 学毕业设计说明书( 论文)作 者 : 张轶凡学 号:0706580143学 院 (系 ): 计算机科学与技术学院专 业 : 网络工程题 目 :基于三维动画技术仿真 Ad hoc 网络的路由技术指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务)陈清华 副教授年 月毕 业 设 计 说 明 书 ( 论 文 ) 中 文 摘 要Ad Hoc 网络成型于 20 世纪 80 年代,最早应用在军事领域的分组无线网络在战场环境下的数据通信应用,随着科学技术的发展以及我国 21 世纪对于物联网的规划需求,对于 Ad Hoc 网络的研究就显得比较重要。通过三维动画技术

    2、对于 Ad Hoc 网络路由技术进行仿真,不仅能够体现其无中心、自组织、多跳路由以及动态拓扑等一系列特征,而且可以清晰的显示出其节点之间的通信报文传播的过程,从而能够更加直观的了解其组织结构,对于接下来对于此技术在民用领域的推广以及部署都大有裨益。关键词 Ad Hoc 3Ds Max DirectX9.0 仿真 AODV毕 业 设 计 说 明 书 ( 论 文 ) 外 文 摘 要Title 3D-Based Implementation of Routing Protocol Simulation in Ad Hoc Networks AbstractFormed in 1980s,the Ad

    3、 Hoc network was initial used as the data access application of the packet radio network in the military environment. Since the development of the science and the demand for the Internet of Things in 21st century, its important to research it.Through three-dimensional animation technology for the Ad

    4、 Hoc Network Routing Technology to simulate not only reflect its non-central, self-organization, multi-hop routing and dynamic topology and a series of features, but also clearly shows the communication between the node packet transmission process, allowing more intuitive understanding of its organi

    5、zational structure, the next for this technology in the civilian field of promotion and deployment are of great benefit.Keywords Ad Hoc 3Ds Max DirectX9.0 Simulation AODV本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 I 页 共 I 页 目 次1 绪论 12 Ad Hoc 网络剖析 12.1 Ad Hoc 网络发展 现状 12.2 Ad Hoc 网络协议综述 12.2.1 先验式路由 协议 32.2.2 反应式路由协

    6、议 43 基于 3Ds Max 以及 D3D 技术的模拟 63.1 3Ds Max 技术综 述 73.2 D3D 技术综述 74 模拟环境的搭建和调试 144.1 3ds max 动画制作 154.2 D3D 下的转化流程 19结论 22致谢 22参考文献 23本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 1 页 共 23 页 1 绪论随着网络不断的升级以及规模的日益庞大,对于新的网络协议和算法的探讨和研究,提升网络性能是时可以通过以下三种方式来实现:分析法、实验法以及模拟法,其中,模拟方法通过依靠相关的软件,搭建好所需要的网络架构模型,并用相对较少的时间和费用更加完全的获取不同条件

    7、下网络各个方面的细节以及及其丰富的信息。目前,这种方便高效的研究方法被普遍采用。本文就通过对运用相对形象的动画形式模拟 Ad Hoc 网络路由协议进行深度的剖析和讲解。2 Ad Hoc 网络剖析Ad Hoc 网络前身是分组无线网络,最早在 20 世纪 80 年代被美国军方用在复杂的战场环境当中的进行数据通信所用,并且凭借着独立性、动态灵活的分布式组网特性而逐渐推广起来。2.1 Ad Hoc 网络发展现状目前的 Ad Hoc 网络,已经在以下领域大展手脚:1.军事缘于军事的 Ad Hoc 网络,在其中的发展也是比较全面的。它作为数字人战场的首选技术,得益于其可以快速部署、无需架设固定的网络设施以

    8、及抗毁性较强的特点,结合有效的安全策略和防护,Ad Hoc 技术已经成为美军战术互联网的核心技术并被应用在近期数字电台和无线互联网控制器等主要通信设备当中。2.传感器网络作为 Ad Hoc 网络技术的另一大应用领域,在很多应用场合当中,传感器网络只能通过无线技术进行通信。并且考虑到体积和节能等因素,传感器的发射功率不可能很大,因而运用 Ad Hoc 实现多跳通信也是一种非常实用的解决方法。分散在各处的传感器组成的 Ad Hoc 网络,可以有效提供传感器之间以及与控制中心的通信,这在爆炸物检测等领域有着比较良好的发展前景。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 2 页 共 23

    9、页 3.紧急临时场合在发生地震、台风、洪水等恶劣自然灾害打击之后,固定的通信网络设施 1可能被全部摧毁或者无法正常提供服务,对于抢险救灾的环境,就需要既不依赖任何固定网络,又可以快速部署的自组织网络技术。同样,在偏远山区、沙漠等一系列固定通信设施不好部署的场所,相较于使用昂贵的卫星通讯系统,同样也需要一种经济有效的无线技术来解决这些地区的通信问题。拥有独立组网能力和自组织特性的 Ad Hoc 网络,是这些场合通信的最佳选择。4.个人通信PAN2是 Ad Hoc 网络通信技术的另一大应用体现。它不仅用于实现 PDA、手机、手提电脑等个人电子通信设备之间的通信,还可用于个人局域网之间的多跳通信。蓝

    10、牙技术中的 Scatternet3就是一个典型的例子。5.与移动通信系统的结合在与移动通信系统的结合当中,Ad Hoc 网络通信技术充分的依靠移动台的多跳转发能力,从而能够扩大蜂窝移动通信系统的覆盖范围,均衡相邻小区的业务,提高小区边缘的数据速率等。在实际部署时,它不仅可以单独组网实现局部通信,而且还可通过作为终端子网通过接入层接入固定网络或者蜂窝移动网络,这样就可以与 Ad Hoc 网络以外的主机进行通信。因此,我们可以通过Ad Hoc 网络通信技术去无线接入各种通信网络。因而随着它的应用面的不断扩大,我们需要对它的路由协议进行系统的分析,这对于优化其通信质量,改进其网络构架以及后期的升级都

    11、有很重要的意义。1 有线通信网络、蜂窝移动通信网络的基站等网络设施、卫星通信地球站以及微波接力站等。2 PAN, Personal Area Network,个人局域网。3 Scatternet,分散网。由一个 IEEE 802.15.1 设备在一个极微网中充当主控设备,而在另一个或几个极微网中充当从属设备,从而将不同的极微网桥接起来所组成的网络。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 3 页 共 23 页 2.2 Ad Hoc 网络协议综述在 Ad Hoc 网络当中,每个节点都具有两个身份:路由器和主机。作为主机,它要向用户提供用以运行面向用户程序的平台;作为路由器,它需要运

    12、行路由协议,并根据一定的策略和路由表来进行相应的选路维护以及报文的分组转发。同时,其节点的移动性所造成拓扑的不断变化,造成传统意义上在有线网络通信中所使用的路由协议,例如基于 Bellman-Ford 算法的距离矢量协议的代表RIP 协议以及基于 SPF 算法的链路状态协议的代表 OSPF 协议都不能很好的与其完美的契合,同时受限于节点的计算能力以及存储容量,像之前提及两种网络协议都需要周期性交换路由信息以维护正确的路由表或者网络拓扑结构,如果采用的话将会严重的降低整个网络的性能;并且在拓扑不断变化的过程如果采用传统路由协议容易造成网络收敛的不完全。于是,在 Ad Hoc 网络当中,就需要新的

    13、相对简单的协议去实现节点的路由功能。目前,Ad Hoc 网络所采用的路由协议主要是以下两大类型:先验式路由协议和反应式路由协议。2.2.1 先验式路由协议先验式路由协议,也就是表驱动型路由协议,运行此种路由协议的节点,都包含有一张到其他节点的路由信息表,当检测到网络拓扑发生变更的时候,节点发出相应的更新消息,收到此消息的其他节点及时更新自己的路由表,从而使得整个网络都具有统一、正确、及时的路由信息,因而在源节点发送报文的时候,可以很迅速的知道去往目标节点的路径,因此,这种路由协议具有低延时但是开销较大的特点。此种路由协议典型的代表是 DSDV4路由协议。它基于Bellman-Ford 路由算法

    14、,并成功解决了传统算法当中无穷环路 5的问题。在DSDV 路由协议中,都维护着一张含有目的节点、跳数、下一跳节点以及目的节4 DSDV, Destination-Sequenced Distance-Vector routing protocol,基于目的序列的距离矢量协议5 无穷环路,指数据包在一系列路由器之间不断传输却始终无法达到目的节点的现象。而此种现象的成因多半是因为路由器当中存在错误的指向不可达网段的路径造成的,有线网络一般使用水平分割和毒性逆转来避免此种现象的发生。点序号的路由表,每个节点都是周期性的与相邻的节点交换路由信息或者仅根据路由表的变化进行本 科 毕 业 设 计 说 明

    15、书 ( 论 文 ) 第 4 页 共 23 页 相应的触发更新。对于网络变化较快的情况,一般采用 Fulldump 完全更新的模式,即将整个路由表添加到拓扑更新消息当中,而面对网络相对变化较慢的情况,则采用 Incrementalupdate 部分更新的模式,即更新消息仅仅包含序列号较高的路由。并且 DSDV 在路由条目方面只采用序列号最高即最新的,而当两个条目的序列号相同时,则采用相对最优的路径,例如跳数较少的。可以说在DSDV 路由协议当中,基于表来寻路的方式虽然可以比较迅速的将报文准确的发往目的节点,但是在网络拓扑变化较快较大的情况之下,单节点上通过的更新消息过度频繁,容易使其维护正确路由

    16、信息的开销过大,因而就需要下述类型的路由协议来解决。2.2.2 反应式路由协议反应式路由协议,又被称作按需路由协议,是指在需要传输报文的时候才开始查找路由的路由算法,在这种路由协议环境下,节点并不需要随时的去维护路由表信息,当源节点需要发送报文时,才引导网络发起路由查找。与先前的先验试路由协议相比较的话,它的开销要小很多,但是加上每次网络路径的查找和收敛时间之后,其发送数据报的延时有显著的增加。因而单纯的采用先验式和反应式的选路机制并不能比较完美的解决 Ad Hoc 网络的选路问题,因而AODV 路由协议现在比较受到欢迎。它属于反应式路由协议,但是融合了一些先验试网络的优点在里面。其寻路过程如

    17、下:1.在源节点不发送报文的时候,网络中的节点并不存储路由表项。而当需要发送报文的时候,首先检查自身有没有存在还没有超期的有效路由,若存在就根据路由信息转发报文,若不存在则向其邻居广播 RREQ6报文,其中包括源地址、源序列号、消息 ID、目的地址、目的序列号、跳数计数器等,其中源序列号、消息 ID 作为一个序列对完全标识一个路由请求报文。否则进行步骤 26 RREQ:Route Request Message,路由请求消息本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 5 页 共 23 页 图一 RREQ 报文格式2.中间节点在收到 RREQ 报文之后,比较本节点与目的节点的地址:如

    18、果自己是目的地址,则响应一个 RREP7报文,否则根据前面提到过的序列对判断是否收到曾经收到此报文,如果消息 ID 小于当前节点的序列号,则将该报文丢弃。否则进行步骤 3图 2: RREP 报文格式3.节点记录下相应的信息存入先驱表,来形成反向路由,记录下的信息包括上游节点的地址、目的地址、源地址、消息 ID、反响路由超时时常以及源序列号,同时跳数计数器加 1,并向邻近节点转发 RREQ 报文。直到最终形成有效的传输路径。7 RREP: Route Reply Message,路由回复消息本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 6 页 共 23 页 4.如果发起节点发现路由请求

    19、节点发生移动,那么他会重新进行寻路过程;如果中继节点发生了移动,则移动节点的上游节点发现中继点的变化,那么它会逐级向上转发 RERR 报文通知“此路不通”并最终导致发起节点重新的进行报文转发路径的查找过程。图 3:RERR 报文格式因此,选取 AODV 作为代表进行模拟,可以更加全面的了解 Ad Hoc 网络路由技术的构架,并对其今后对于它的升级改造有着良好的铺垫。而采用 3D 技术则能够更加清晰的体现这一过程3 基于 3Ds Max 以及 D3D 技术的模拟3D 动画技术,曾经作为电脑动画技术的一大难题被人们所诟病。因为这需要非常强大的软件和硬件方面的计算能力的支持,但是,它所带来的效果,也

    20、是 2D 动画所无法企及的。早期的人们通过 SGI 图形工作站来进行视觉图形处理,而自从 Autodesk 公司开发出 3Ds Max 软件加上微软公司提供的 D3D 接口,我们能够很方便的对 3D 动画进行渲染,一定程度上节省了我们在动画仿真上的成本。在 3D 动画仿真技术,包括物体造型、运动控制以及画面的着色技术三部分。其中物体造型方面,在计算机内部,对于物体的表示,主要包括体素构造表示法和边界构造表示法。体素构造表示法,也就是通过基本体素通过在三维空间的集本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 7 页 共 23 页 合变化或布尔计算来组合而成;边界构造表示法则是通过放样、

    21、拉伸、旋转等方式来调整物体的点线面的构成。而具体的物体类型,也分为 Polygon8、Patch 9、NURBS10之分。其中多边形主要是基于三角面片与四边形面片拼接而成用以描述建筑、人物以及游戏的模型;而曲面是用数学函数定义的曲线曲面,表面精度可以调整;至于面片则是介于前两者之间的一种表示模型,用 Bezier 定义。而无论物体用什么类型,最终渲染的时候都是以多边形方式计算结果。在运动控制方面,又分为通过关键帧和通过算法这两种形式。根据设计者的关键帧,软件通过对 3D 形状差值计算或者借助于物理规律和算法描述生成中间的过渡动画。在着色方面,通过消隐算法 11进行画面渲染,是生成真实感图形或图

    22、像的处理方法。3.1 3Ds Max 技术综述3Ds Max,最早是由 Autodesk 公司于 1990 年推出,是一款非常优秀的三维动画渲染和制作软件。经过不断的发展壮大并与 Windows NT 的结合,已经可以代替在 NT 出现之前仅仅依靠 SGI 图形工作站进行渲染工作的方法。支持多线程运算的它,同时也为广大的游戏开发者提供了一个很好的平台,可以说,丰富的插件是它具有良好的拓展性的先决条件之一。同时在 3ds Max 中,对于模型的描述建立在参数对象基础上的。参数对象是指建立在坐标系视图当中的任意可以使用数字来描述具体属性的物体,而任何操作也都是针对于他们的,这也使它可以良好的将用自

    23、身搭建好的模型提供给第三方软件使用的基础。3.2 D3D 技术综述D3D 技术的数学基础是建立在矩阵上面的,在编写 D3D 应用程序时,我们通常只使用 44 的矩阵和 14 的行向量,则如下的矩阵乘法是有意义的:8 Polygon,多边形9 Patch,面片10 NURBS,曲面11 消隐算法:对一个物体着色时的必要信息有光源方向、颜色、表面特性、表面法线。表面法线的翻转可产生表面的不可见,不可见表面叫消隐面。使不可见的消隐面在渲染时不显示叫消隐算法。向量-矩阵乘法。若 v 为 14 的行向量,T 为 44 的矩阵,则乘积 vT 有意义。且其结果为 14 的行向量。本 科 毕 业 设 计 说

    24、明 书 ( 论 文 ) 第 8 页 共 23 页 矩阵-矩阵乘法。若 T 和 R 为 44 的矩阵,则乘积 TR 和 RT 都有意义,且结果为 44 的矩阵,但是结果并不一样,这是矩阵乘法不具有交换性造成的。具体来说,44 矩阵用来表示变换的思路大概如下:设置一个 44 的矩阵中元素的值,使其表示一具体变换。然后我们将某一点的坐标或某一向量放入一个 14 的行向量 v 中。乘积 vX 就生成一个经过变换的向量 v。而普遍看来 33 的矩阵可能更适合 3D 变换,但是存在许多类型的变化无法用 33 矩阵表示,比如说平移、透视以及反射。从而导致 13 的行向量也需要拓展到 14 型的以契合于 44

    25、 矩阵。但是同时也让我对于第四个分量 w 的使用产生了疑问。而在 D3D 中,对于w 的处理方式如下:将点放入 14 的行向量中时,我们将 w 分量设为 1.这就能保证点的平移变换的正确进行。因为向量不含位置信息,所以没有对向量定义平移变换,任何企图对向量实施平移变换的运算只能产生一个毫无意义的向量。并且为了防止对向量进行平移变换,当我们将 13 向量置入 14 的行向量时,将 w 分量置为 0。有时我们所定义的矩阵改变为一个向量的分量 w 的值(w0 和 1) ,则会如下所示(其中 p31 和 0):=1,2,3,1(1 0 0 00 1 0 00 0 1 10 0 0 0)=1,2,3,3

    26、=可以看到,w= p 3。当 w0 和 1 时,我们称该向量处于齐次空间中,以区别3D 空间。将齐次空间中的向量映射回 3D 空间的方法是:用 w 分量去除该齐次向量的每一个分量。同时在表示平移的时候,要想将向量(x,y,z,1)沿 x轴平移 px个单位,沿 y 轴平移 py个单位或者沿 z 轴平移 pz个单位,我们只要将该向量与如下矩阵相乘即可:()=(1 0 0 00 1 0 00 0 1 0 1)本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 9 页 共 23 页 而进行旋转时,我们可以用以下 3 个矩阵将一个向量分别绕着 x,y,z 轴旋转 弧度,并且要注意的是,当沿着旋转轴指

    27、向原点的方向观察的时候,角度是按照顺时针方向度量的:()=(1 0 0 00 cos sin 00 -sin cos 00 0 0 1)()=( cos 0 -sin 0 0 1 0 0 sin 0 cos 0 0 0 0 1)()=(cos sin 0 0-sin cos 0 0 0 0 1 0 0 0 0 1) 经常,指定的顶点并不正好和屏幕上的像素相匹配;当这个发生的时候,D3D 使用三角形光栅化原则来那些像素对应到给定的三角形上。1. 三角形光栅化原则2 点和线规则3 点精灵规则1. 三角形光栅化原则D3D 使用顶-左填充约定作为填充几何算法。这同微软 GDI 以及 OpenGL 的矩

    28、形填充约定相同。在 D3D 中,像素的中央是决定性点,如果中心在一个三角形中,那这个像素是三角形的一部分。像素中心是整数坐标。这个 D3D 使用的三角形光栅化原则并不是必须应用到所有可用的硬件上;你的测试或许揭示这些规则小的变化。下图显示一个左上角在(0,0)点的矩形,其右下角在(5,5)点;这个举行填充了 25 个像素,就像你预期的一样,矩形的宽度定义为右-左,高度是底减去顶部。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 10 页 共 23 页 在顶左填充约定中,顶指的是水平跨度的垂直位置,左指的是一个像素宽度的水平位置。一个边不能是顶边,除非它是水平的;通常大多数三角形有唯一的

    29、左和右边。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 11 页 共 23 页 顶-左填充约定决定了当一个三角形穿过一个像素中心时 D3D 的行为。下图展示了两个三角形,一个是(0,0),(5,0),(5,5);而另外一个在(0,5),(0,0),(5,5)。这个例子中第一个三角形得到 15 个像素(黑色显示),然而第二个得到 10 个像素(灰色显示),因为他们共享边是第一个三角形的左边边。如果你定义一个矩形其左上角在(0.5,0.5),右下角在(2.5,4.5),中心点是(1.5,2.5)。当 D3D 光栅 tesselate 这个矩形时,每个像素的中心都明显的在矩形的内部,且左上

    30、角填充规则不必要。下图说明这个内容;矩形中的像素依据 D3D 包括的三角形标记。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 12 页 共 23 页 如果你移动上面例子中的矩形使其左上角坐标在(1.0,1.0),它的右下角在(3.0,5.0),它的中心点在(2.0,3.0),D3D 使用左上填充约定;大多数三角形在两个或多个三角形的边界上,如下图所示:两个矩形中,影响的相同像素如下:本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 13 页 共 23 页 同时 Direct3D 也是一套底层图形的 API12,借助这个 API,我们能够利用硬件加速这一强大的功能来绘制出 3D

    31、场景。Direct3D 可以被视作应用程序与图形设备,也就是 3D 硬件交互的中介。比方说,如果希望图形设备进行清屏操作,那么应用程序可以调用 Direct3D 的方法 IDirect3Device9:Clear。下图正好向我们展示了应用程序、Direct3D 以及硬件之间的一系列交互关系。图 4:应用程序、Direct3D 以及硬件之间的关系上图中的 Direct3D 部分是已经定义好的,由 Direct3D 提供给应用程序和编程人员的接口和函数,这些接口和函数代表了当前版本的 Direct3D 所支持的全部功能,但是有些时候也要注意硬件本身是否也支持他们。同时我们也可以看到,在 Direc

    32、t3D 和图形设备之间存在一个中间环节HAL13,这可以作为 D3D 接口与图形设备的兼容区以实现面对拥有不同执行机理的网卡,D3D 程序都不需要了解设备的具体细节,其规范的制定独立于具体的硬件实现。所以,设备制造商将它可以支持的全部功能都实现到 HAL 中, 但是 D3D 支持、设备不支持的功能无法在 HAL 实现,这就会导致 HAL 调用 D3D 函数的失败,因而 D3D 就提供在 Direct3D Runtime 中以软件计算的方式模拟的方法来解决这个问题。而其 ID3DXMesh 接口以及渐进网格技术也是很实用的。ID3DXMesh 接口继承 ID3DXBaseMesh。它自然继承其父

    33、接口有两种方法:GetVertexBuffer()用来得到网格的顶点缓存指针,GetIndexBuffer()用来的到这些顶点对应的索引缓存指针。12API,Application Programming Interface 应用程序编程接口 13HAL,Hardware Abstraction Layer,硬件抽象层应用程序 Direct3D 图形设备HALRESULT ID3 DXMesh:GetVertexBuffer(LPDIRECT3DVERTEXBUFFER9* ppVB)本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 14 页 共 23 页 RESULT ID3 DXMe

    34、sh:GetIndexBuffer(LPDIRECT3DINDEXBUFFER9* ppIB)比方说,MH 是一个已经生成的网格对象,利用上述的两个函数得到顶点缓存和索引缓存的两个指针并付给 vb 和 ib:IDirect3DVetexBuffer9* vb=0;MH - GetVertexBuffer(IDirect3DIndexBuffer9* ib=0;MH - GetIndexBuffer(若要从缓存中提取数据,那么需要先锁定住缓存:RESULT ID3 DXMesh:LockVertexBuffer(DWORD Flags,BYTE * * ppData)RESULT ID3 DXM

    35、esh:LockIndexBuffer(DWORD Flags,BYTE * * ppData)其中 Flag 参数描述如何锁定它,而 ppData 是函数返回的指向锁定内存的指针的地址。而当用完之后一定要记得解锁:RESULT ID3 DXMesh:UnlockVertexBuffer();RESULT ID3 DXMesh:UnlockIndexBuffer();另外,也可以利用一些 Get 函数来获取 Mesh 中的参数,这里就不再赘述。综上所述,可以看到 D3D 技术的普遍适用性以及强大的功能,所以它和 3DsMax 的组合比较适合本次仿真。4 模拟环境的搭建和调试本次毕业设计我采用

    36、3Ds Max 9 和 VC+ 6.0 作为模拟仿真的环境。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 15 页 共 23 页 4.1 3ds max 动画制作首先,我们使用 3Ds Max 9 在世界坐标系下建立好模拟的节点如图所示:图 5:节点相对位置三视图接下来就需要在场景中添加摄像机并调整视角以更好的体现出 Ad Hoc 网络路由协议的选路过程:图 6:摄像机视角下的节点相对位置本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 16 页 共 23 页 如上图所示,此 Ad Hoc 网络当中存在四个节点 AP1 到 AP4,现在 AP2 准备向 AP3 发送报文,根据采

    37、用 AODV 路由算法,则 AP2 需要向 255.255.255.255 发送 RREQ 报文,即向整个广播域内广播此报文,由于广播域中仅有 AP1 节点,因而,AP1 就将作为中继节点。下图将向您呈现上述过程。图 7:AP2 向广播域内广播 RREQ 报文,由于只有 AP1 存在在其中,所以报文最终被它接收(蓝色立方体为 RREQ 报文)AP1 在收到 AP2 发来的 RREQ 报文之后,首先将自己的地址与报文中的目的地址字段比较,发现并不吻合,于是检查报文的序列对,发现并没有接到过这个报文,于是,将去往 AP2 的反向路由信息记录下来,这样 AP1 与 AP2 之间就形成了点到点的通路,

    38、同时将 RREQ 报文中的跳数技术部分加一并转发出去,这样离我们的目标 AP2 到 AP3 通信的目标更近一步。图 8:AP2 和 AP1 之间成功形成通路,AP1 开始转发 RREQ 报文本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 17 页 共 23 页 而当 AP3 收到 AP1 转发过来的 RREQ 报文之后,通过检查发现报文当中的目的地址即为自己,因而向前向节点 AP1 回复一个 RREP 报文,同时运用反向路由信息形成 AP1 和 AP3 之间的通路,最终实现 AP2 和 AP3 的数据通信。图 9 AP2 与 AP3 之间的双向通信通道已经形成(图中绿色立方体为 AP3

    39、-AP1 的 RREP)而通过 AP2-AP1-AP4-AP3 也是通过上述的过程建立起来的通信连接,但是由于这样的跳数要比 AP2-AP1-AP3 的跳数要大,即需要多经过一个节点,因而在数据传输的时候通常都选择跳数较少的路径,这也符合 Bellman-Ford 算法以及低开销的特点。图 10 由于跳数较大,经过 AP4 的那条路径最终没有被采用本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 18 页 共 23 页 而要实现上述的动画功能,需要为每一个模型定义材质和关键帧的相关工作。并更改其相关参数曲线图 11 模型透明度、位移曲线图,通过添加 Key 更改其位置以影响到动画的部署图

    40、 12 材质编辑器,用来实现动画当中模型的变色功能。本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 19 页 共 23 页 4.2 D3D 下的转化流程接下来,就要使用插件 Pandasoft DirectX Exporter 将在 3Ds Max 当中做好的动画转化成.x 文件, 如图所示:图 13 PDEX 文件导出选项设定相应的.x 文件部分代码如下所示:xof 0303txt 0032template XSkinMeshHeader WORD nMaxSkinWeightsPerVertex;WORD nMaxSkinWeightsPerFace;WORD nBones;tem

    41、plate VertexDuplicationIndices DWORD nIndices;DWORD nOriginalVertices;本 科 毕 业 设 计 说 明 书 ( 论 文 ) 第 20 页 共 23 页 array DWORD indicesnIndices;template SkinWeights STRING transformNodeName;DWORD nWeights;array DWORD vertexIndicesnWeights;array FLOAT weightsnWeights;Matrix4x4 matrixOffset;template FVFData DWORD dwFVF;DWORD nDWords;array DWORD datanDWords;template EffectInstance STRING EffectFilename;.template EffectParamFloats STRING ParamName;DWORD nFloats;array FLOAT FloatsnFloats;

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于三维动画技术仿真Ad hoc网络的路由技术.doc
    链接地址:https://www.docduoduo.com/p-2286368.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开