一种通过绘制方式选择三维场景中物体的方法及系统技术方案

技术编号:15505078 阅读:85 留言:0更新日期:2017-06-04 00:47
本发明专利技术涉及一种通过绘制方式选择三维场景中物体的方法,包括获取三维场景的图像;为三维场景中的每个物体分配不同的颜色值;按照分配的颜色值绘制三维场景中的所有物体得到三维场景的颜色表达图像;根据选择区域对绘制得到的三维场景的颜色表达图像进行裁剪;裁剪后的颜色表达图像中每个像素的颜色值与物体进行对应,从而确定出被选中的物体。本发明专利技术还提供通过绘制方式选择三维场景中物体的系统。本发明专利技术利用显卡进行计算,无需占用CPU的计算资源,可以减少视口变换的缩放比例,在栅格化时能覆盖更多的像素,减少漏选的可能性。

Method and system for selecting objects in three-dimensional scene by drawing mode

The invention relates to a mode selection method by drawing objects in 3D scenes, including image acquisition of 3D scene; distribution of different color values for each object in the scene; in accordance with the distribution of the color value of rendering all objects in 3D scene by 3D scene image based on the image color expression; clipping region of expression the 3D scene rendering color; after clipping color expression of each pixel in the image color values corresponding to the object, so as to determine the selected objects. The invention also provides a system for selecting objects in a three-dimensional scene by drawing. The invention uses graphics to calculate, without computing resources occupy CPU, can reduce the viewport transform zoom can cover more pixels in the grid, reducing the possibility of missing selection.

【技术实现步骤摘要】
一种通过绘制方式选择三维场景中物体的方法及系统
本专利技术涉及图像处理技术,具体涉及一种通过绘制方式选择三维场景中物体的方法及系统。
技术介绍
多边形网格在图形学和建模中广泛使用,用来模拟复杂物体的表面,如建筑、车辆、人体等,多边形网格为一个多边形列表。三角网格是全部由三角形组成的多边形网格,三角网格为一个三角形列表。在三维CAD软件中编辑三角网格模型时,存在大量三角形,通常采用选择判断方法来获取选中的三角形。传统的选择判断方法经常使用求交计算来判断点与几何元素的关系,例如使用射线法来判断三维场景中的物体是否被选中。射线法基本的判断原理是从选择点引出一条射线,射线方向为观察平面的法向量(从屏幕外往屏幕内的方向),将该射线与三维场景中的物体进行求交计算,如果相交,则物体被选中,否则没有被选中。但是,在三维场景中用求交计算的方法来判断物体是否被选中的方式需要占用大量的CPU计算资源,如果三维场景中存在大量物体,则会严重影响选择速度。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种通过绘制方式选择三维场景中物体的方法及系统。本专利技术提出的技术方案如下。一种通过绘制方式选择三维场景中物体的方法,包括以下步骤:步骤S10,获取三维场景的图像;步骤S11,为三维场景中的每个物体分配不同的颜色值;步骤S12,按照步骤S11分配的颜色值绘制三维场景中的所有物体得到三维场景的颜色表达图像;步骤S13,根据选择区域对步骤S12绘制得到的三维场景的颜色表达图像进行裁剪;步骤S14,裁剪后的颜色表达图像中每个像素的颜色值与物体进行对应,从而确定出被选中的物体。进一步地,所述步骤S11包括:为三维场景中的每个物体根据其唯一标识符分配一个唯一的RGB颜色值并将其存储在颜色缓冲区中,将唯一的RGB颜色值与物体的唯一标识符的对应关系以关系表的形式存储在存储器中;所述步骤S12包括:按照所述关系表从颜色缓冲区中提取相应的RGB颜色值对三维场景中的所有物体进行绘制,得到三维场景的颜色表达图像并将其存储在存储器中;所述步骤S13包括:从存储器中取出三维场景的颜色表达图像,裁剪窗口根据选择区域对三维场景的颜色表达图像进行裁剪,其中裁剪窗口的位置和大小设置为与所述选择区域的位置和大小一致;所述步骤S14包括:根据所述关系表,将裁剪后的三维场景的颜色表达图像内每个像素的RGB颜色值与唯一标识符进行映射,唯一标识符被映射到则表示拥有该唯一标识符的物体被选中。一种通过绘制方式选择三维场景中物体的系统,包括以下模块:获取模块,获取三维场景的图像;分配模块,为三维场景中的每个物体分配不同的颜色值;绘制模块,按照所述分配模块分配的颜色值对三维场景中的所有物体进行绘制得到三维场景的颜色表达图像;裁剪模块,根据选择区域对所述绘制模块绘制得到的三维场景的颜色表达图像进行裁剪;映射模块,将裁剪后的颜色表达图像中每个像素的颜色值与物体进行对应,从而确定出被选中的物体。进一步地,所述分配模块为三维场景中的每个物体根据其唯一标识符分配一个唯一的RGB颜色值并将其存储在颜色缓冲区中,将唯一的RGB颜色值与物体的唯一标识符的对应关系以关系表的形式存储在存储器中;所述绘制模块按照所述关系表从颜色缓冲区中提取相应的RGB颜色值对三维场景中的所有物体进行绘制,得到三维场景的颜色表达图像并将其存储在存储器中;所述裁剪模块从存储器中取出三维场景的颜色表达图像,裁剪窗口根据选择区域对三维场景的颜色表达图像进行裁剪,其中裁剪窗口的位置和大小设置为与所述选择区域的位置和大小一致;所述映射模块根据所述关系表,将裁剪后的三维场景的颜色表达图像内每个像素的RGB颜色值与唯一标识符进行映射,唯一标识符被映射到则表示拥有该唯一标识符的物体被选中。一种通过绘制方式选择三维场景中物体的方法,包括以下步骤:步骤S30,获取三维场景的图像;步骤S31,为三维场景中的每个物体分配不同的颜色值;步骤S32,将选择区域划分为N个区域块,N为自然数;步骤S33,选取划分后的其中一个区域块,将裁剪窗口的位置和大小设置为与所述被选取的区域块的位置和大小一致;步骤S34,按照步骤S11分配的颜色值绘制所述裁剪窗口中的所有物体;步骤S35,所述裁剪窗口中每个像素的颜色值与物体进行对应,从而确定出所述被选取的区域块中被选中的物体;步骤S36,判断被划分的所有区域块是否都已经被处理,如果还有区域块未被处理,则返回步骤S33继续执行;如果所有区域块均已被处理,则继续步骤S37;步骤S37,将步骤35中针对每个区域块所选中的物体合并起来即为选择区域所选中的所有物体。进一步地,所述步骤S31包括:为三维场景中的每个物体根据其唯一标识符分配一个唯一的RGB颜色值并将其存储在颜色缓冲区中,将唯一的RGB颜色值与物体的唯一标识符的对应关系以关系表的形式存储在存储器中;步骤S34包括:按照所述关系表从颜色缓冲区中提取相应的RGB颜色值对所述裁剪窗口中的所有物体进行绘制,得到该裁剪窗口的颜色表达图像存储在存储器中;步骤S35包括:从存储器中取出该裁剪窗口的颜色表达图像,根据所述关系表,将该裁剪窗口的颜色表达图像中每个像素的RGB颜色值与唯一标识符进行映射,唯一标识符被映射到则表示拥有该唯一标识符的物体被选中。一种通过绘制方式选择三维场景中物体的系统,包括以下模块:获取模块,获取三维场景的图像;分配模块,为三维场景中的每个物体分配颜色值;分块模块,将选择区域划分为N个区域块,N为自然数;设置模块,选取划分后的其中一个区域块,将裁剪窗口的位置和大小设置为与所述被选取的区域块的位置和大小一致;绘制模块,按照分配模块分配的颜色值绘制所述裁剪窗口中的所有物体;映射模块,将绘制后的所述裁剪窗口中每个像素的颜色值与物体进行对应,从而确定出所述裁剪窗口中被选中的物体;判断模块,判断被划分的所有区域块是否都已经被处理,如果还有区域块未被处理,则继续由设置模块、绘制模块和映射模块进行相应的处理,直到所有区域块均已被处理;合并模块,将映射模块中针对每个区域块所选中的物体合并起来即为选择区域所选中的所有物体。进一步地,所述分配模块为三维场景中的每个物体根据其唯一标识符分配一个唯一的RGB颜色值并将其存储在颜色缓冲区中,将唯一的RGB颜色值与物体的唯一标识符的对应关系以关系表的形式存储在存储器中;所述绘制模块按照所述关系表从颜色缓冲区中提取相应的RGB颜色值对所述裁剪窗口中的所有物体进行绘制,得到该裁剪窗口的颜色表达图像存储在存储器中;所述映射模块从存储器中取出该裁剪窗口的颜色表达图像,根据所述关系表,将该裁剪窗口的颜色表达图像中每个像素的RGB颜色值与唯一标识符进行映射,唯一标识符被映射到则表示拥有该唯一标识符的物体被选中。本专利技术的有益效果:1.本专利技术使用绘制的方式判断三维场景中的物体是否被选中,其计算主要由显卡完成,可以充分利用显卡的性能,效率更高,且无需过多占用CPU的计算资源。2.本专利技术通过对选择区域进行分块处理,并且在每次绘制前将裁剪窗口的位置和大小设置为与区域块的位置和大小一致,这样可以减少视口(viewport)变换的缩放比例,使得物体在栅格化时能覆盖更多的像素,减少由于没有覆盖所有像素而导致漏选的可能性。附图说明图1为本专利技术实施例提出的通过本文档来自技高网...
一种通过绘制方式选择三维场景中物体的方法及系统

【技术保护点】
一种通过绘制方式选择三维场景中物体的方法,其特征在于:包括以下步骤:步骤S10,获取三维场景的图像;步骤S11,为三维场景中的每个物体分配不同的颜色值;步骤S12,按照步骤S11分配的颜色值绘制三维场景中的所有物体得到三维场景的颜色表达图像;步骤S13,根据选择区域对步骤S12绘制得到的三维场景的颜色表达图像进行裁剪;步骤S14,裁剪后的颜色表达图像中每个像素的颜色值与物体进行对应,从而确定出被选中的物体。

【技术特征摘要】
1.一种通过绘制方式选择三维场景中物体的方法,其特征在于:包括以下步骤:步骤S10,获取三维场景的图像;步骤S11,为三维场景中的每个物体分配不同的颜色值;步骤S12,按照步骤S11分配的颜色值绘制三维场景中的所有物体得到三维场景的颜色表达图像;步骤S13,根据选择区域对步骤S12绘制得到的三维场景的颜色表达图像进行裁剪;步骤S14,裁剪后的颜色表达图像中每个像素的颜色值与物体进行对应,从而确定出被选中的物体。2.根据权利要求1所述的方法,其特征在于:所述步骤S11包括:为三维场景中的每个物体根据其唯一标识符分配一个唯一的RGB颜色值并将其存储在颜色缓冲区中,将唯一的RGB颜色值与物体的唯一标识符的对应关系以关系表的形式存储在存储器中;所述步骤S12包括:按照所述关系表从颜色缓冲区中提取相应的RGB颜色值对三维场景中的所有物体进行绘制,得到三维场景的颜色表达图像并将其存储在存储器中;所述步骤S13包括:从存储器中取出三维场景的颜色表达图像,裁剪窗口根据选择区域对三维场景的颜色表达图像进行裁剪,其中裁剪窗口的位置和大小设置为与所述选择区域的位置和大小一致;所述步骤S14包括:根据所述关系表,将裁剪后的三维场景的颜色表达图像内每个像素的RGB颜色值与唯一标识符进行映射,唯一标识符被映射到则表示拥有该唯一标识符的物体被选中。3.一种通过绘制方式选择三维场景中物体的系统,其特征在于:包括以下模块:获取模块,获取三维场景的图像;分配模块,为三维场景中的每个物体分配不同的颜色值;绘制模块,按照所述分配模块分配的颜色值对三维场景中的所有物体进行绘制得到三维场景的颜色表达图像;裁剪模块,根据选择区域对所述绘制模块绘制得到的三维场景的颜色表达图像进行裁剪;映射模块,将裁剪后的颜色表达图像中每个像素的颜色值与物体进行对应,从而确定出被选中的物体。4.根据权利要求3所述的系统,其特征在于:所述分配模块为三维场景中的每个物体根据其唯一标识符分配一个唯一的RGB颜色值并将其存储在颜色缓冲区中,将唯一的RGB颜色值与物体的唯一标识符的对应关系以关系表的形式存储在存储器中;所述绘制模块按照所述关系表从颜色缓冲区中提取相应的RGB颜色值对三维场景中的所有物体进行绘制,得到三维场景的颜色表达图像并将其存储在存储器中;所述裁剪模块从存储器中取出三维场景的颜色表达图像,裁剪窗口根据选择区域对三维场景的颜色表达图像进行裁剪,其中裁剪窗口的位置和大小设置为与所述选择区域的位置和大小一致;所述映射模块根据所述关系表,将裁剪后的三维场景的颜色表达图像内每个像素的RGB颜色值与唯一标识符进行映射,唯一标识符被映射到则表示拥有该唯一标识符的物体被选中。5.一种通过绘制方式选择三维场景中物体的方法,其特征在于:包括以下步骤:步骤S30,获取三维场景的图像;步骤S31,为三维场景中的每个物体分配不同的颜色值;...

【专利技术属性】
技术研发人员:陈明良
申请(专利权)人:广州视源电子科技股份有限公司广州视睿电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1