本发明属于计算机图形技术领域,涉及一种基于osg的物体外轮廓表面重建方法及系统。
背景技术:
在计算机图形领域中,切片采集数据常常体现在雷达的多层搜索边界点、物体被多层切割扫描后的采样数据集等,比如ct成像采样结果,当我们获取到这样类型的数据后,是不便直接观看的,因为此时的数据是离散型的分层数据集,每层数据之间都有一定间距(根据采样仪器和采样方法决定间距),从这些点的正面看过去,成像效果是多条长短不一的线段,因此需要对这些分层数据进行层级间连线、填充、上色的绘制操作。填充和上色可在连线完成后交给osg自带的图元绘制函数去做,但对于切片数据的连接,此前并无先例和方法。切片数据往往具有数据量庞大、切片层位置不在同一中心线、切片层规格大小不一,所以很难简单地计算出切片层之间的拓扑关系,因此,针对切片数据的拓扑关系计算是此项工作需要解决的问题。
技术实现要素:
本发明的目的是提供一种基于osg的物体外轮廓表面重建方法及系统,以解决上述问题。
为实现上述目的,本发明采用以下技术方案:
基于osg的物体外轮廓表面重建方法,包括以下步骤:
读取物体外轮廓切片数据并编号保存;
按顺序对每相邻两层进行处理,将第一层作为基准,对下一层进行平移和缩放比例矫正,使得两层的最小外接矩形形状、面积完全相等;
按照距离和面积进行拓扑计算,循环遍历出所有相邻层级之间的拓扑关系,连接各切片数据,完成物体外轮廓表面重建。
进一步的,读取物体外轮廓切片数据后按层序和数据顺序进行编号。
进一步的,按顺序对每相邻两层进行处理:
一层切片数据平面,原点在平面中心,x轴正方向定义为原点向右侧连线,y轴正方向定义为原点向里,定义相邻两层为a和b,分别计算a和b以y轴正方向为上方向的最小外接矩形ra和rb。
进一步的,平移、缩放b,使得rb和ra位置、大小相同。
进一步的,按照距离和面积进行拓扑计算,循环遍历出所有相邻层级之间的拓扑关系:
1)从a第一个顶点a1开始,b中距离最近点为b的开始顶点b1;
2)分别计算三角形a1b1b2和a1a2b1的面积,面积小的为第一个三角形;重复1),直到所有顶点计算完毕。
进一步的,拓扑计算为从第一层的点a1开始遍历,连接三角形,确定两平面之间的拓扑关系,直到所有平面的拓扑关系计算完毕后,连接各切片数据。
进一步的,读取的物体外轮廓切片数据到内存空间,内存空间为根据数据量本身大小决定的的内存空间。
进一步的,基于osg的物体外轮廓表面重建系统,包括
数据读取模块用于读取物体外轮廓切片数据并编号保存;
相邻两层切片数据处理模块用于按顺序对每相邻两层进行处理,将第一层作为基准,对下一层进行平移和缩放比例矫正,使得两层的最小外接矩形形状、面积完全相等;
拓扑计算模块用于按照距离和面积进行拓扑计算,循环遍历出所有相邻层级之间的拓扑关系,连接各切片数据,完成物体外轮廓表面重建。
与现有技术相比,本发明有以下技术效果:
本发明针对不规则的物体外轮廓的多层切片数据,使用化整为零的思想,在局部坐标系下,遍历每层数据,分别绘制当前层和下一层的最小外接矩形,将第一层作为基准,对下一层进行平移和缩放比例矫正,使得两层的最小外接矩形形状、面积完全相等,再按照距离和面积进行拓扑计算,将两层的位置数据进行连接;循环遍历出所有相邻层级之间的拓扑关系,最终可实现物体外轮廓的连线重建,实现根据物体外轮廓表面采样点构建三维模型。
附图说明
图1是本发明方法的流程图;
图2是通过切片数据构造的物体外轮廓效果图;
图3通过切片数据构造的物体外轮廓效果;
图4演变流程示意图。
具体实施方式
以下结合附图对本发明进一步说明:
请参阅图1至图4,基于osg的物体外轮廓表面重建方法:
完整的步骤:
1)读取数据(切片采集数据)到一个足够大(根据数据量本身大小决定)的内存空间,按层序和数据顺序进行编号,比如第一层一号,第三层九号;
2)按层序,对每相邻两层进行处理;
3)定义相邻两层为a和b,分别计算a和b以y轴正方向(以一层切片数据平面为例,原点在平面中心,x轴正方向定义为原点向右侧连线,y轴正方向定义为原点向里)为上方向的最小外接矩形ra和rb;
4)平移、缩放b,使得rb和ra位置、大小相同,
5)从a第一个顶点a1开始,b中距离最近点为b的开始顶点b1;
6)分别计算三角形a1b1b2和a1a2b1的面积,面积小的为第一个三角形;
7)重复步骤5,直到所有顶点计算完毕。例如第一个三角形为a1b1b2则再计算分别三角形a1b2b3和a1a2b2的面积,面积小的为第二个三角形;
8)重复步骤2-7,直到所有层计算完毕。
本方法针对的数据类型是物体外轮廓的多层切片数据,然而物体的外轮廓常常是不规则的,因此切片后产生的数据也并不具有规律性。针对此类型数据,需要使用化整为零的方法,将切片层两两间连接,并通过最小外接矩形矫正切片进行辅助计算,最终可实现物体外轮廓的连线重建。
辅助显示,在三个切片层上,将下层作为第一层,以第一层为基准,平移并拉伸第二层的最小外接矩形,使第一和第二层的最小外接矩形形状面积一致。
从第一层的点a1开始遍历,按照上文的步骤连接三角形,确定两平面之间的拓扑关系,直到所有平面的拓扑关系计算完毕后,连接各切片数据。
根据接收到的雷达探测范围边界数据,成功按照切片数据构建出了雷达的表面范围,并根据实际数据进行了对比,结果符合雷达探测的真实范围。
采集了具有探测功能雷达的最大探测范围数据,将多个雷达探测范围融合并采样后的切片数据进行外轮廓重构,实现了雷达融合范围外轮廓表面重建。
实施例:
首先,将采集到的雷达最大探测范围数据从计算机存储区域读入到内存,按切片数据文件中层序和点序进行编号,从第0层的0点,第0层1点一直排序到第n层的x点(n层是最后一层,x点是最后一层的最后一个点);接着遍历所有层,按照每次两层的顺序处理,0和1层,1和2层,2和3层,直到n-1和n层;以前一层为标准,比如处理0和1层时,以第0层为标准,处理1和2层时,以前1层为标准,在前一层所在平面的中心建立坐标系,原点即为平面中心,x轴正方向定义为原点向右连线,y轴正方向定义为原点向里,以y轴为正方向,分别对前后两层切片数据做最小外接矩形,得到最小外接矩形ra和rb;此时的ra作为基准,对rb进行平移和缩放,使得rb与ra的位置和大小完全相同;从前一层的0号点a1,对该点相对后一层中距离最近的一点b1开始,a2和b2分别是a1和b1的下一个点,以此类推,a3为a2的下一个点,b3为b2的下一个点…分别计算三角形a1b1b2和a1a2b1的面积,面积小的为第一个三角形,当三角形面积较小的是a1b1b2时,保存拓扑关系,再计算a1b2b3和a1a2b2的面积,直到所有顶点遍历完;最终将所有拓扑关系梳理完成,得到了物体表面重构的连线方式,实现了雷达融合范围外轮廓表面重建。
1.基于osg的物体外轮廓表面重建方法,其特征在于,包括以下步骤:
读取物体外轮廓切片数据并编号保存;
按顺序对每相邻两层进行处理,将第一层作为基准,对下一层进行平移和缩放比例矫正,使得两层的最小外接矩形形状、面积完全相等;
按照距离和面积进行拓扑计算,循环遍历出所有相邻层级之间的拓扑关系,连接各切片数据,完成物体外轮廓表面重建。
2.根据权利要求1所述的基于osg的物体外轮廓表面重建方法,其特征在于,读取物体外轮廓切片数据后按层序和数据顺序进行编号。
3.根据权利要求1所述的基于osg的物体外轮廓表面重建方法,其特征在于,按顺序对每相邻两层进行处理:
一层切片数据平面,原点在平面中心,x轴正方向定义为原点向右侧连线,y轴正方向定义为原点向里,定义相邻两层为a和b,分别计算a和b以y轴正方向为上方向的最小外接矩形ra和rb。
4.根据权利要求3所述的基于osg的物体外轮廓表面重建方法,其特征在于,平移、缩放b,使得rb和ra位置、大小相同。
5.根据权利要求1所述的基于osg的物体外轮廓表面重建方法,其特征在于,按照距离和面积进行拓扑计算,循环遍历出所有相邻层级之间的拓扑关系:
1)从a第一个顶点a1开始,b中距离最近点为b的开始顶点b1;
2)分别计算三角形a1b1b2和a1a2b1的面积,面积小的为第一个三角形;重复1),直到所有顶点计算完毕。
6.根据权利要求5所述的基于osg的物体外轮廓表面重建方法,其特征在于,拓扑计算为从第一层的点a1开始遍历,连接三角形,确定两平面之间的拓扑关系,直到所有平面的拓扑关系计算完毕后,连接各切片数据。
7.根据权利要求1所述的基于osg的物体外轮廓表面重建方法,其特征在于,读取的物体外轮廓切片数据到内存空间,内存空间为根据数据量本身大小决定的的内存空间。
8.基于osg的物体外轮廓表面重建系统,其特征在于,基于权利要求1至7任意一项所述的基于osg的物体外轮廓表面重建方法,包括
数据读取模块用于读取物体外轮廓切片数据并编号保存;
相邻两层切片数据处理模块用于按顺序对每相邻两层进行处理,将第一层作为基准,对下一层进行平移和缩放比例矫正,使得两层的最小外接矩形形状、面积完全相等;
拓扑计算模块用于按照距离和面积进行拓扑计算,循环遍历出所有相邻层级之间的拓扑关系,连接各切片数据,完成物体外轮廓表面重建。
技术总结