pinkpitch
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数144
  • QQ
  • 铜币474枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1844回复:0

虚拟城市中地物几何建模技术的研究3

楼主#
更多 发布于:2006-04-04 14:26
<P >3.3<B>.</B>地物模型与地形模型的匹配<p></p></P>
<P >在地球引力场的作用下,任何地物模型总与地形发生不同程度的关系,即地物一定要与地形进行匹配。在实际三维场景的构建中,如果地物没有与地形相融合(或匹配),就会造成诸如地物飘在空中或钻入地下的情景。对双方模型匹配的处理是较为复杂的问题,原因在于:一、地物、地形模型往往是通过不同的建模软件生成的,双方的数据结构和组织方式由很大差别(如地形模型常用规则网表示,而地物模型常用三角网表示);二、地物模型如何同地形模型准确匹配。在真实世界中,地物的位置是任意的、不受任何限制的;而在视景仿真中,地形是起伏的,而地物的基准面往往是水平的,会出现地物所覆盖的区域跨在两个或多个高度不同的地形三角形面片上;三、不同的视景调度、显示技术对匹配技术的要求不同:如加速遮挡面处理的优先级法不允许一个地物跨越两个或多个地形面片;而地物的LOD受地形LOD的牵制,当地形从一个LOD层次向另一个LOD层次过渡时,地形面片的分割将发生变化,地物的数据也必须改变,而不考虑地物的数据是否需要更新<SUP><FONT face="Times New Roman">[6]</FONT></SUP>。<p></p></P>
<P >在地物与地形匹配方面主要有以下一些策略<SUP><FONT face="Times New Roman">[5]</FONT></SUP>:<p></p></P>
<P >a、首先在地形模型的选择上,根据应用需要选择规则网或三角网。两种数据结构各有优缺点,这里不再详述,比较成熟的结论是:在中小比例尺条件下,采用规则网结构描述DEM,因为其结构简单,处理负担均衡,磁盘存储易管理,有利于LOD的自动生成,另外有利于两者分开建模以及实现地物与地形的自适应匹配;在目视比例尺条件下采用三角网数据结构,它可以精细地刻画地表形态。<p></p></P>
<P >b、地物与地形的匹配常用两种策略:<p></p></P>
<P >l         直接将地物放置在地形表面上。这一方法最简单和实用,MultiGen即采用这一方法。这一方法的缺陷在于视景显示时,会出现“争夺Z值”的现象,即同一个Z值上可能有多个面。<p></p></P>
<P >l         首先生成地形的TIN网络,然后逐渐加入地物模型,与地形整合在一起。这种方法的缺点是动态加入地物要完全重构那些受影响的地形块,同时单独实体的管理比较复杂。<p></p></P>
<P ><st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on"><FONT face="Times New Roman">3.3.1</FONT></st1:chsdate>房屋模型与地形的匹配<p></p></P>
<P ><FONT face=宋体>目视条件下,房屋表现为本身垂直、其基准高随着地形起伏。解决房屋与地形匹配的方法有两种:<p></p></FONT></P>
<P >(<FONT face="Times New Roman">1</FONT>)、改变房屋模型<p></p></P>
<P >在与地形的合成中,首先寻找出房屋覆盖的地形面片中的最高点和最低点,然后将模型的水平基准面放在最高点,最后构造房屋基准面之下的模型(图<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="9" UnitName="a"><FONT face="Times New Roman">9a</FONT></st1:chmetcnv>)。这种方法适用于相对分散的点装特征物与地形匹配上。<p></p></P>
<P >(<FONT face="Times New Roman">2</FONT>)、改变地形模型<p></p></P>
<P >如果大片的居民区,其水平基准面相同,可以通过对地形模型的改造完成。可将多边形内得网格点高程置平,将多边形剖分,并将多边形经过的网格进行重新剖分(图<FONT face="Times New Roman">9b,c</FONT>)。<p></p></P>
<P ><wrapblock><v:group><v:group><v:group><v:rect><v:stroke dashstyle="dash"></v:stroke></v:rect><v:group><v:rect></v:rect><v:shape><v:path arrowok="t"></v:path></v:shape><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="val #0"></v:f><v:f eqn="prod #0 1 2"></v:f><v:f eqn="sum @1 10800 0"></v:f></v:formulas><v:path gradientshapeok="t" textboxrect="0,10800,10800,18000;5400,10800,16200,18000;10800,10800,21600,18000;0,7200,7200,21600;7200,7200,14400,21600;14400,7200,21600,21600" connecttype="custom" connectlocs="@0,0;@1,10800;0,21600;10800,21600;21600,21600;@2,10800"></v:path><v:handles><v:h position="#0,topLeft" xrange="0,21600"></v:h></v:handles></v:shapetype><v:shape></v:shape><v:rect></v:rect><v:rect></v:rect></v:group><v:shape><v:path arrowok="t"></v:path></v:shape><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line></v:group><v:group><v:group><v:rect></v:rect><v:shape><v:path arrowok="t"></v:path></v:shape><v:shape></v:shape><v:rect></v:rect><v:rect></v:rect></v:group><v:shape><v:path arrowok="t"></v:path></v:shape><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:rect><v:stroke dashstyle="dash"></v:stroke></v:rect><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:group><v:rect></v:rect><v:shape><v:path arrowok="t"></v:path></v:shape><v:shape></v:shape><v:rect></v:rect><v:rect></v:rect></v:group></v:group><v:group><v:group><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect></v:group><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:line><v:stroke dashstyle="dash"></v:stroke></v:line><v:group><v:shape><v:path arrowok="t"></v:path></v:shape><v:group><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line></v:group></v:group></v:group></v:group><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:path gradientshapeok="t" connecttype="rect"></v:path></v:shapetype><v:shape><v:textbox style="mso-next-textbox: #_x0000_s1128">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD >
<DIV>
<P >图9 房屋模型与地形匹配的两种形式<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:textbox style="mso-next-textbox: #_x0000_s1129">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD >
<DIV>
<P >(a)<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:textbox style="mso-next-textbox: #_x0000_s1130">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD >
<DIV>
<P >(b)<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><v:shape><v:textbox style="mso-next-textbox: #_x0000_s1131">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD >
<DIV>
<P >(c)<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><w:wrap type="topAndBottom"></w:wrap></v:group></wrapblock><BR  clear=all><st1:chsdate IsROCDate="False" IsLunarDate="False" Day="30" Month="12" Year="1899" w:st="on">3.3.2</st1:chsdate>道路模型与地形匹配<p></p></P>
<P >在目视比例尺条件下,道路为一定宽度的平面,而不应表现为一条随地形起伏的曲线,应表现为:道路中心纵截面轴线随地形起伏;道路表面横截面高程相同;周围地形有一定的改造与道路无缝连接。<p></p></P>
<P >已知:道路中心线(<FONT face="Times New Roman">X<SUB>1</SUB></FONT>,<FONT face="Times New Roman">Y<SUB>1</SUB></FONT>,<FONT face="Times New Roman">X<SUB>2</SUB></FONT>,<FONT face="Times New Roman">Y<SUB>2</SUB></FONT>……<FONT face="Times New Roman">X<SUB>n</SUB></FONT>,<FONT face="Times New Roman">Y<SUB>n</SUB></FONT>)、道路宽度<FONT face="Times New Roman">W</FONT>、<FONT face="Times New Roman">DEM</FONT>数据,算法如下:<p></p></P>
<P ><B >步骤</B><B ><FONT face="Times New Roman">1</FONT></B><B >:</B>求得道路左、右侧边线三维坐标<p></p></P>
<P >    <B >步骤</B><B ><FONT face="Times New Roman">2</FONT></B><B >:</B>道路面进行大三角面剖分<p></p></P>
<P >    <B >步骤</B><B ><FONT face="Times New Roman">3</FONT></B><B >:</B>循环求得左右侧边线与DEM的所有交点的三维坐标,并将所有交点洒入DEM格网中。如DEM格网中有Right数据,则逆时针形成多边形,并剖分;如DEM格网中有Left数据,则顺时针形成多边形,并剖分;<p></p></P>
<P ><B >步骤</B><B ><FONT face="Times New Roman">4</FONT></B><B >:</B>DEM网格中有数据的剖分,加上道路的简单剖分,即可建立与地形融合在一起的三维道路模型。当然,不同的三角面根据模型性质映射不同的纹理(图10)。<p></p></P>
<P ><wrapblock><v:group><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:rect></v:rect><v:shape><v:path arrowok="t"></v:path></v:shape><v:shape><v:path arrowok="t"></v:path></v:shape><v:rect></v:rect><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:oval></v:oval><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:line></v:line><v:shape><v:textbox style="mso-next-textbox: #_x0000_s1200">
<TABLE cellSpacing=0 cellPadding=0 width="100%">

<TR>
<TD >
<DIV>
<P  align=center>图10 与地形融合在一起的三维道路模型<p></p></P></DIV></TD></TR></TABLE></v:textbox></v:shape><w:wrap type="topAndBottom"></w:wrap></v:group></wrapblock><BR  clear=all>4.“虚拟小区”中三维模型的建立<p></p></P>
喜欢0 评分0
游客

返回顶部