一种三维几何体的消隐方法及显示方法技术

技术编号:21687815 阅读:29 留言:0更新日期:2019-07-24 15:07
本发明专利技术提供了一种三维几何体的消隐方法,包括以下步骤:A、按照分割算法将三维几何体的表面分割成若干空间几何平面,构建该若干空间几何平面的数学表达;B、以显示平面为垂直面发出若干条射线,构建该若干条射线的数学表达;C、根据所述若干空间几何平面的数学表达和若干条射线的数学表达分别计算每条射线与空间几何平面的交点;D、以所述显示平面为起点,将每条射线与空间几何平面的第一个交点作为显示点,将其余交点作为隐藏点;E、将所述三维几何体表面的全部显示点和隐藏点构成的离散几何,借助二维投影关系投影在显示平面上,以实现三维几何体的消隐。本发明专利技术可灵活实现三维几何体在计算机图形中的消隐和显示。

A Hidden Elimination and Display Method for Three-Dimensional Geometry

【技术实现步骤摘要】
一种三维几何体的消隐方法及显示方法
本专利技术涉及计算机图形学领域,特别涉及一种基于表面单元分割技术的三维几何体的消隐方法及显示方法。
技术介绍
消隐是消除隐藏线和隐藏面的简称,在现代计算机图形学中占据重要地位。由于人眼的视物原理,感知空间中的三维物体的形状、位置甚至颜色、质地等实际上是通过三维物体的二维投影来实现的,而由于投影变换的本质在于消除一个维度,使得原本的三维物体失去深度信息,往往会导致图形的二义性,要消除二义性,就必须消除被遮挡的不可见的线或面,即消隐,这个过程可以借助图1来理解,经过消隐的投影图成为物体的真实图形。图形的消隐在大量的软件中均有重要应用,尤其是以三维建模、渲染等为核心的工艺系列软件,对于可视化及相关分析具有重要意义,自上世纪60年代以来,已经有大量的消隐方法被提出,但均需要借助复杂的数学与几何关系,通过对算力要求极高的硬件来实现,实现难度较大,且选择空间较为狭窄,在以工业机器人开发软件为主的一系列软件二次开发中应用的难度较大,例如经典的Z缓冲区消隐方法(也叫深度缓冲期算法),通过在象素级上以近物取代远物,这种取代方法实现起来远比总体排序灵活简单,有利于硬件实现,然而在这个算法里,不仅需要有帧缓存来存放每个象素的颜色值,还需要一个深度缓存来存放每个象素的深度值,占用空间大,没有利用图形的相关性与连续性。本专利提出一种之前未被提出过的新式消隐方法,实现难度远远小于现有的复杂消隐方法,而精度的高低可以根据现有硬件的算力进行调整,从而可以实现十分灵活的选择空间,可以实现在以工业机器人开发软件为主的一系列软件二次开发中得到应用。专利技术内容有鉴于此,本专利技术的主要目的在于提供一种三维几何体的消隐方法,其实现难度远远小于现有的复杂消隐方法,而精度的高低可以根据现有硬件的算力进行调整,从而可以实现十分灵活的选择空间,可以实现在以工业机器人开发软件为主的一系列软件二次开发中得到应用。本专利技术提供的技术方案为,一种三维几何体的消隐方法,包括以下步骤:A、按照分割算法将三维几何体的表面分割成若干空间几何平面,构建该若干空间几何平面的数学表达;B、以显示平面为垂直面发出若干条射线,构建该若干条射线的数学表达;C、根据所述若干空间几何平面的数学表达和若干条射线的数学表达分别计算每条射线与空间几何平面的交点;D、以所述显示平面为起点,将每条射线与空间几何平面的第一个交点作为显示点,将其余交点作为隐藏点;E、将所述三维几何体表面的全部显示点和隐藏点构成的离散几何,借助二维投影关系投影在显示平面上,以实现三维几何体的消隐。由上,本专利技术通过将三维几何体的全部表面分成若干个平面几何图形,并以计算机的显示平面垂直发射出若干条射线,该若干条射线至少穿过一个分割的平面几何图形,通过空间数学表达计算该若干条射线与平面几何图形的交点,将第一个交点作为显示点进行显示,将其余交点作为隐藏点进行隐藏,并将大量显示点和隐藏点构成的离散几何进行二维投影,从而实现计算机图形处理中,三维几何体的消隐方法。本专利技术的实现难度较小,且可根据计算机的算力进行灵活调整,从而实现三维几何体的二维投影。其中,所述步骤A包括:以计算机的显示平面为基准面建立笛卡尔坐标系,其中待消隐的三维几何体处于该笛卡尔坐标系内;按照分割算法将所述三维几何体的表面分割成若干空间几何平面;构建该若干空间几何平面在笛卡尔坐标系内的数学表达。其中,所述步骤B包括:以显示平面为垂直面,并以一精度单位为间距平行发射出若干条射线;以所述三维几何体在笛卡尔坐标系内的边界作为射线的边界;构建该若干条射线在笛卡尔坐标系内的数学表达。其中,所述步骤C还包括:当无法计算所述射线与空间几何平面的交点时,判定该射线未穿过所述空间几何平面,该射线与所有空间几何平面没有交点。由上,当建立笛卡尔坐标系时,三维几何体处于笛卡尔坐标系内,由于三维几何体的外表面不在同一平面上,因此当外表面被分割成若干个空间几何平面时,从某个方向射出的射线中的一部分会穿过一个或多个空间几何平面,当每条射线穿过一个空间几何平面时,该射线与该空间几何平面的交点即为显示点进行显示,当穿过多个空间几何平面时,只将射线起点方向的第一个交点作为显示点,其余交点皆为隐藏点,除此之外,还会有一部分射线不穿过任何空间几何平面,此时通过将该部分射线的数学表达与空间三角平面的数学表达进行联立计算,则无法计算出结果,此时计算机可判断该部分射线未穿过任何空间几何平面,则不会有交点,因此也无需再执行后续判断显示点或隐藏点的步骤。其中,所述空间几何平面包括空间三角平面。由上,三维几何体的全部表面可用现有的有限元算法划分成大量的空间几何图形,其中三角形的计算最为准确。其中,根据执行所述消隐方法的设备的算力调整所述精度单位大小。由上,可根据实际工程需求,对三维几何体的表面分割进行密度的调整,同时调整射线的数量,在设备算力满足的情况下,提高分割消隐精度。其中,所述分割算法包括有限元表面分割法。本专利技术还提供了一种三维几何体的显示方法,包括上述的消隐方法。附图说明图1为不同消隐状态下的图形表示示意图;图2为本专利技术实施例圆环外表面的不同密度的网格分割示意图;图3为本专利技术实施例任一空间三角平面在笛卡尔坐标系中的示意图;图4为本专利技术实施例复杂三维物体在笛卡尔坐标系中的示意图;图5为本专利技术实施例一条射线穿过两个空间三角平面的示意图。具体实施方式本专利技术的主要目的在于提供一种三维几何体的消隐方法,其实现难度远远小于现有的复杂消隐方法,而精度的高低可以根据现有硬件的算力进行调整,从而可以实现十分灵活的选择空间,可以实现在以工业机器人开发软件为主的一系列软件二次开发中得到应用。本专利技术的技术原理及实现步骤如下:S01:按照分割算法将三维几何体的表面分割成若干空间三角平面;本步骤首先需要以计算机的显示平面为基准面建立笛卡尔坐标系,其中待消隐的三维几何体处于该笛卡尔坐标系内;其次通过采用表面分割技术,按照有限元表面分割法将所述三维几何体的表面分割成若干空间几何平面,该技术的核心在于对于待消隐的三维几何体全部表面进行有限元分割,即用现有的有限元算法划分成大量以空间三角平面(或其它几何图形,但三角形计算最为精确)为基础单元构筑的整体,通过调整雅克比点、基本单元尺寸、网格密度等,可以根据实际工程中现有的计算条件调整不同等级的精度;如图2所示,以空间几何圆环为例,圆环的整个外表面都被分割成大量的空间三角平面,圆环的表面将可以用这些空间三角平面的数学表达式进行表达,而空间三角平面的数量取决于计算人员想要获得的精度及现有硬件的计算能力;值得注意的是,上述内容是一种近似思想,而事实上在现有的所有主流建模软件中,对于以圆环为代表的该类异形面均是采用近似思想,圆环外表面的边缘圆弧线可使用若干条直线近似表达。S02:构建空间三角平面的数学表达如图3所示,在笛卡尔坐标系中,任何的空间三角平面将可以视为由三条空间直线构成的封闭区域,这个区域的边界将可以采用数值进行表达;可以看出,任何一个空间三角平面将可以化成由图4中0,1,2为代表的三条空间直线构成的封闭区域,这个区域的边界将通过0,1,2中任意两条空间直线的交点的笛卡尔空间坐标定义,在笛卡尔空间中,对于一般的空间直线方程,有一般式、对称式、参数本文档来自技高网...

【技术保护点】
1.一种三维几何体的消隐方法,其特征在于,包括以下步骤:A、按照分割算法将三维几何体的表面分割成若干空间几何平面,构建该若干空间几何平面的数学表达;B、以显示平面为垂直面发出若干条射线,构建该若干条射线的数学表达;C、根据所述若干空间几何平面的数学表达和若干条射线的数学表达分别计算每条射线与空间几何平面的交点;D、以所述显示平面为起点,将每条射线与空间几何平面的第一个交点作为显示点,将其余交点作为隐藏点;E、将所述三维几何体表面的全部显示点和隐藏点构成的离散几何,借助二维投影关系投影在显示平面上,以实现三维几何体的消隐。

【技术特征摘要】
1.一种三维几何体的消隐方法,其特征在于,包括以下步骤:A、按照分割算法将三维几何体的表面分割成若干空间几何平面,构建该若干空间几何平面的数学表达;B、以显示平面为垂直面发出若干条射线,构建该若干条射线的数学表达;C、根据所述若干空间几何平面的数学表达和若干条射线的数学表达分别计算每条射线与空间几何平面的交点;D、以所述显示平面为起点,将每条射线与空间几何平面的第一个交点作为显示点,将其余交点作为隐藏点;E、将所述三维几何体表面的全部显示点和隐藏点构成的离散几何,借助二维投影关系投影在显示平面上,以实现三维几何体的消隐。2.根据权利要求1所述的消隐方法,其特征在于,所述步骤A包括:以计算机的显示平面为基准面建立笛卡尔坐标系,其中待消隐的三维几何体处于该笛卡尔坐标系内;按照分割算法将所述三维几何体的表面分割成若干空间几何平面;构建该若干空间几何平面在...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京芯合科技有限公司
类型:发明
国别省市:北京,11

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

1