




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于矢量数据的渠系模型自动生成算法研究摘要Abstract1.绪论1.1课题研究背景1.2国内外研究现状1.3_本文的组织结构2.矢量数据可视化基本理论2.1虚拟现实技术2.2数字高程模型(DEM)2.3三维图形变换2.4空间线性插值算法3.基于矢量数据的自动模型生成算法3.1包围盒技术3.2矢量点高程插值算法3.3模型的生成二维矢量点一旦被拓展成三维矢量点,便可据此通过相应的接口生成某种格式的三维模型文件。三维矢量模型的表达通常分为线型矢量模型和面型矢量模型。线型模型即在每两个相邻矢量控制点之间画直线段,整个矢量线由一段段首尾相连的直线段组成。算法比较简单。本节我们重点介绍生成OpenFlight格式的面型矢量模型的方法。3.3.1 OpenFlight文件格式及API3.3.2基于矩形条模型的矢量模型生成基于矩形条模型的矢量模型是一种简单的、能表达矢量宽度信息的模型。该方法的基本思想是:对矢量线中的每两个相邻控制点,生成一个与这两个控制点之间连线平行,并且以该连线为对称轴的矩形。矩形具有指定的宽度,长度同两控制点之间的距离,矩形两端顶点的高程值同相应矢量控制点的高程。如图如示。图中点A,点B为矢量两相邻控制点。线段A1A2为水平线段,与线段AB垂直,具有与点相同的高程值,且以点A为中心点;线段B1B2为水平线段,与线段AB垂直,具有与点B相同的高程值,且以点B为中心点。空间矩形A1A2B2B1即为所求矩形。对矢量中每两个相邻点,算出相应的矩形,这此首尾相连的矩形便组成了整个矢量线。矢量的具体算法如下:(1)将两矢量控制点投影至xy平面,得点A和点B;(2)将向量逆时针旋转90度,并缩放到指定宽度的一半,得到向量;(3)将向量(O为坐标原点)加上向量得到点A1的投影点A1, 向量减去向量得到点A2的投影点A2,同理计算得到点B1和点B2的投影点B1和B2;(4)将点A1和点A2均赋于点A的高程值分别得到点A1和A2,同样,将点B1和点B2均赋于点B的高程值分别得到点B1和B2。如图所示。得到了矩形A1A2B2B1四个点的三维坐标后,便可通过如下代码将四边形添加到OpenFlight数据库中去。/生成一个新的Object对象pObjmgrec* pObj = mgNewRec(fltObject);/将新生成的pObj加入到父结点parent中去mgAttach(parent, pObj);/生成一个新的多边形对象pPolymgrec* pPoly = mgNewRec(fltPolygon);/将新生成的pPoly加入到Object对象pObj下面mgAttach(pObj, pPoly);/依次将四个点加入到多边形对象pPoly中去addVertex(pPoly, p1);addVertex(pPoly, p2);addVertex(pPoly, p3);addVertex(pPoly, p4);/设置多边形对象pPoly的主颜色属性mgSetAttList(pPoly, fltPolyPrimeColor, color, MG_NULL);函数AddVertex的代码如下:void addVertex(mgrec *prec, Point3D& point)mgrec *vrec;/生成一个新的顶点(vertex)对象vrecvrec = mgNewRec(fltVertex);/将新生成的顶点对象vrec加入到多边形prec中去mgAppend(prec, vrec);/设置顶点对象vrec的坐标mgSetCoord3d(vrec, fltCoord3d, point.x, point.y, point.z);生成的单个模型如图所示。所有的矢量模型加载到三维地形上效果如图所示。图传统方法生成的矢量模型与地形叠加效果为了避免多边形共面而产生的像素闪烁的现象,图中的地形高度降低了0.15个DBU。4.矢量数据渠系模型的自动生成第三章我们介绍了传统的矢量模型自动生成算法。这一章我们在渠系矢量数据的基础上,针对传统方法提出一些改进算法。包括改进矢量与地形的匹配程度、改进最终模型形状以及矢量数据的压缩。4.1传统生成算法的不足传统矢量模型生成算法首先根据地形的高程信息,使用一定的插值算法的TIN搜索技术,计算每个二维矢量点对应的高程信息。在完成将二维矢量点拓展成三维矢量点后,针对矢量曲线中的每一段,简单地生成一个与线段平行具有指定宽度的矩形来表达这区间的矢量。该方法直观,易于实现。但,该方法生成的矢量模型有许多需要改进的地方。矢量与三维地形的匹配程度。传统方法生成的矢量模型与三维地形的匹配程序并不太理想。有的矢量部分埋于地形之下,有的矢量部分悬于地形之上。见图。图矢量模型不地形不匹配图中中间粗线部分,因为矢量一部分位于地形之下,使得给人一种不连续的感觉。另外,还有的矢量部分悬于地形之间,只是图中不易察觉。产生这种现象的根本原因在于传统方法没有考虑到矢量与地形的自适应细化。TIN模型的地形中,每三角形都有自己的平面方程,相邻三角形之间通常具有不同的平面方程。矢量模型中的某一段(矩形)跨越两个或者多个三角形面片时,而矩形处于某一平面内,不可能与其所跨越的所有三角形面相吻合。于是就出现上述矢量模型与地形不匹配的情况。4.3节我们将介绍矢量数据针对TIN模型自适应细化算法,彻底解决矢量模型与地形这匹配的现象。矢量模型的表达。由于传统矢量模型生成算法简单地使用一个矩形来表示两个控制点之间的矢量,而未考虑矩形与前后相邻矩形的拼接,导致在两矩形相接处出现锯齿现象(特别近距离观察时)和多边形部分重叠现象,影响了模型的真实感和美观。见图。图矢量模型出现锯齿现象和重叠现象4.4节我们将介绍线型缓冲区模型,并采用夹角平分线模型来生成我们的矢量模型,以消除传统方法出现的锯齿现象和重叠现象。矢量数据压缩。矢量数据压缩虽然并非矢量模型自动生成过程中的必需步骤,但数据量的直接地决定了三维仿真系统渲染速度。传统方法并未涉及矢量数据的压缩,没有消除冗余的数据,徒然增加了系统的处理数据量,降低了虚拟现实系统的渲染帧频,而对数据精度的保持并没明显效果。图矢量数据冗余图中的各矢量点基本上处一条直线上,但传统方法仍然都其全部显示。针对这种数据,我们完全可以大胆地进行数据压缩,以提高系统渲染速度。再者,渠系矢量曲线相邻控制点之间通常走势平滑,很少会出现急剧拐弯的现象,具有很大的压缩潜力。4.2节我们将介绍矢量压缩常见方法,并首先提出一种改进后的垂距法垂距比法。以消除矢量数据的冗余。4.2矢量数据的压缩4.3基于TIN地形的矢量自适应细化方法4.4基于夹角平分线模型的矢量表达5.结果与结果的对比分析本文以疏勒河灌区渠系矢量和地形数据为例,分别采用传统方法生成矢量模型和采用我们的方法生成矢量模型,进行结果对比分析。渠系数据共计2520个控制点,分为110条渠系矢量曲线。地形采用OpenFlight格式的TIN模型。结果显示,与传统方法相比,我们的方法产生的最终结果,无论是从数据量的大小,还是矢量模型与三维地形的匹配程度,均有明显的改善。采用垂距比法对矢量进行压缩后,在不明显降低数据精度的前提下,能有效地去除冗余数据,减少数据量。根据选定的阈值不同,减少的数据量不同。在我们对比的范围内(0.0010.010),随着阈值的增长,数据量以近似线性的速度下降。矢量模型与地形的匹配程度也明显提高。采用传统方法生成的矢量模型与三维地形在高程上最大的误差为0.64,而我们的方法生成的模型与地形在高程上最大的误差为0.15。5.1矢量数据压缩前后数据量及相似度对比分析采用不同的压缩阈值,最终得到的矢量数据量(控制点个数)及矢量精度不同。本文分别让阈值Dr取0.0010.010(步长0.001)区间10个值,分别对原始矢量数据进行压缩,简化并生成最终的矢量模型,生成10组不同的数据。结果表明,随着阈值的增长,压缩后的数据有很快下降,在我们的对比区间(0.0010.010),以近似线性的速度下降。经过矢量细化过的数据量,相比也有较快下降,在我们的对比区间(0.0010.010),以近似线性的速度下降,下降速度略慢于压缩后数据量的下降速度。生成的模型与未压缩前矢量相似度也随着阈值的增长而下降,在前阈值Dr取值位于(0.000,0.007)区间时,相似度以很慢的速度下降;在(0.0070.009)区间,进入一个相对略快的下降过程;在(0.009,0.010)区间下降速度则明显增加,下降速度接近压缩后数据的下降速度。关于矢量的相似度,本文以如下方式进行计算。首先将未经过压缩的原始矢量数据,针对地形进行细化,并以表所示的矢量模型宽度分别生成各级渠系模型。加载到三维场景中进行渲染。视点从高空俯视地形及渠系模型,并在保证所有的矢量均在可视域范围内的情况下尽可能的接近矢量模型。截取所渲染出来的图像(下文称为原始图)。如图所示。为了方便比较,我们将地形纹理设置为白色,将所有的矢量模型设置为红色。图原始数据生成的矢量渲染效果针对采用各阈值进行压缩后的数据,以同样的参数生成矢量模型,并以同样的设置进行渲染,同样截取渲染图。将图与原始图进行逐像素比较,计算与原始图共同的矢量像素点(红色像素)的个数,记为Pc。分别统计原始图和当前图中矢量像素点的个数,分别记为Po,P。则相似度s的计算公式为:该计算公式是规范的。当两组矢量模型完全相同时,渲染出来的效果图完成一样,所有矢量像素均相同,计算得到的相似度为1;相反,如果两组矢量模型完全不相同,渲染出来的效果图没有一个共同像素点,则计算得到的相似度为0。阈值Dr分别取(0.0010.010)区间10个值时,生产的结果(包括压缩后的数据量,细化后的数据量,矢量模型的相似度)如表所示。阈值Dr压缩后数据量细化后数据量矢量相似度0.0010.964680.965060.999540.0020.921830.935660.998950.0030.879760.9010
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考点攻克青岛版8年级数学下册期末测试卷附答案详解(能力提升)
- 2025内蒙古事业单位招聘报考指南笔试备考及完整答案详解一套
- 教师招聘之《幼儿教师招聘》过关检测附参考答案详解(模拟题)
- 教师招聘之《小学教师招聘》考试押题密卷附参考答案详解【基础题】
- 教师招聘之《小学教师招聘》试题(得分题)含答案详解【培优】
- 2025江西吉安市青原区司法局招聘2人考试模拟试题及答案解析
- 2025江苏宿城区高层次紧缺急需专业人才招聘12人笔试备考试题及答案解析
- 2025年能源行业储能技术多元化发展模式与商业模式报告
- 合肥市产业结构调整对税收收入的影响:基于多维度视角的剖析
- 2025年《砥砺前行筑梦未来》骨干教师培训心得体会
- 静脉治疗知识培训课件
- 教科版小学五年级上册科学实验报告20篇
- 学风建设科研诚信宣教课件
- 江西省宜春市2025年上半年事业单位公开遴选试题含答案分析
- 2025繁轩科技发展(天津)有限公司公开招聘工作人员35人备考题库及答案解析
- 2025年度水电项目工程结算与审计服务协议
- 脑卒中并发吞咽障碍个案护理
- 德育副校长在新学期德育工作部署会讲话范文
- (2025年标准)学生玩耍纠纷协议书
- 南昌二中初一数学试卷
- 2025金融消费权益保护知识竞赛题库(+答案)
评论
0/150
提交评论