3D模型选择方法及装置与流程

文档序号:11154103阅读:1139来源:国知局
3D模型选择方法及装置与制造工艺

本发明涉及一种在多个3D模型中精准选择指定模型的方法及装置,具体涉及一种在复杂细小3D模型组合中准确选择单一或多个指定模型的方法及装置。



背景技术:

对于拥有3D模型操作功能的软件,通常具备选择模型或定位模型部位的功能。尤其在医学教学软件中,需要对教学的人体结构进行准确的定位和选择。现有技术中,该功能的实现方式为使用鼠标或手指点击模型,所点中的模型变为被选择状态。参见图1,以鼠标点击或触摸操作体(通常为手指)触击触摸屏为起点,从点击处发射一条“碰撞检测射线”射向模型,当射线碰撞到模型后,即向程序返回其碰到的第一个模型的名称,并停止碰撞检测,从而使程序选中该模型。此外,专利文献(公开号:CN102637116A)公开了一种3D场景交互方法,其提出了从用户输入区域内选取若干个均匀分布的发射点,并从选取的发射点中引出多条射线对模型进行选择。然而在该方案中,其碰撞检测射线同样是一条射线只能检测到一个模型,多条射线的目的在于当足够数量的射线碰撞到同一3D物体时判定该3D物体为用户选择的物体,当判定有多个待选模型时仅选取其中一条射线碰撞到的模型作为目标模型,因此,该方法同样无法选择出被覆盖和遮挡的模型。同时其仅根据用户输入区域内均匀分布的若干点进行检测,容易造成模型选择的漏检以及误检,使得模型的检测准确率以及用户体验度不高。

同时,在医学教学软件中,人体结构复杂,通常由多个细小的模型组合而成。在模型较为细小、聚集在一起或相互产生交叠遮挡的情况下,用户便很难选中自己希望选择的对象模型,尤其是该模型被遮挡或周围有大量其他模型的时候,此时,可能产生多次误点,或须将其他模型进行移动或者旋转之后才能进行选择,甚至根本无法选中目标模型。同时,使用传统方式一次只能选中第一个检测到的模型,而不能选择到射线方向上能够碰撞到的所有模型,因此模型内部的精细模型很难被选择到。为了解决该问题,并提高用户体验度,需要引入一种更方便、更准确的在复杂细小模型组合中准确选择单一或多个指定模型的方法及装置。



技术实现要素:

针对现有技术中模型选择方法的不足,本发明提出一种在复杂细小3D模型组合中准确选择单一或多个指定模型的方法及装置,通过向目标所在区域发射碰撞检测面,形成碰撞检测体,将碰撞检测到的所有模型输出,供用户预览选择,以准确选择和定位用户需要查看的模型。

一种3D模型选择方法,该方法包括以下步骤:

步骤S1:发射碰撞检测面;

具体地,触摸屏将待选择模型显示在显示平面上,当鼠标点击或触摸操作体触击触摸屏触发点击事件后,以点击处为起点发射一个以碰撞检测射线为法向且面积大于0的碰撞检测面射向目标模型所在区域,使目标模型包含在检测范围当中,该检测面沿直线向显示平面内侧移动;

优选地,该检测面形状设置为圆形或矩形或其他面积大于0的闭合图形,其大小可根据模型精细度进行设置和调整;

步骤S2:返回碰撞检测到的所有模型名称;

具体地,碰撞检测面碰撞到任一模型后,记录碰撞到的模型名称,且碰撞检测面碰撞到模型后不会停止检测,而是继续沿着射线方向移动,直到穿透在射线方向上碰撞到的所有模型,形成碰撞检测体,返回所有碰撞检测到的模型的名称;

步骤S3:将步骤S2检测并返回的模型显示给用户以供用户选择;

具体地,分析在步骤S2获得的模型名称,将对应的模型进行简单或高精度的渲染,并展示在预览窗口中。预览窗口中的模型自动以一定的速率旋转,方便用户查看。预览窗口也可仅展示简化模型。模型名称及其对应的预览模型同时出现且共同构成一个列表项显示给用户。

优选地,所有检测到的模型按照体积由小到大的顺序自上而下排列在列表中。并且,在列表区域内可以按住鼠标或用手指按住上下滑动,以显示更多的列表内容,列表右侧以滑动条表示列表内容的总量以及目前所显示内容的位置。由此,用户通过浏览模型列表,获得模型名称及其预览信息,从而找到目标模型,点击对应列表项便可完成对目标模型的选择。

优选地,列表具备多项选择的功能,点击某个列表项时,该列表项高亮,表示已经选中,再次点击该项后取消选中状态。

步骤S4:当选中所有希望选择的模型后,点击确定按钮,完成选择,列表自动关闭,所选模型变为选中状态。当未获得目标模型需要重新检测模型或放弃选择目标模型时,点击列表以外的区域或点击列表上的“关闭”或“取消”按钮,关闭模型列表,以进行下一步操作。

一种3D模型选择装置,该装置包括以下单元:

发射单元,用于触发点击事件后发射碰撞检测面;

具体地,触摸屏将待选择模型显示在显示平面上,当鼠标点击或触摸操作体触击触摸屏触发点击事件后,以点击处为起点发射一个以碰撞检测射线为法向且面积大于0的碰撞检测面射向目标模型所在区域,使目标模型包含在检测范围当中,该检测面沿直线向显示平面内侧移动;

优选地,该检测面形状设置为圆形或矩形或其他面积大于0的闭合图形,其大小可根据模型精细度进行设置和调整;

检测单元,用于返回所述碰撞检测面碰撞检测到的所有模型名称;

具体地,碰撞检测面碰撞到任一模型后,记录碰撞到的模型名称,且碰撞检测面碰撞到模型后不会停止检测,而是继续沿着射线方向移动,直到穿透在射线方向上碰撞到的所有模型,形成碰撞检测体,返回所有碰撞检测到的模型的名称;

输出单元,用于将检测单元检测并返回的模型显示给用户以供用户选择;

具体地,分析在检测单元获得的模型名称,将对应的模型进行简单或高精度的渲染,并展示在预览窗口中。预览窗口中的模型自动以一定的速率旋转,方便用户查看。预览窗口也可仅展示简化模型。模型名称及其对应的预览模型同时出现且共同构成一个列表项显示给用户。

优选地,所有检测到的模型按照体积由小到大的顺序自上而下排列在列表中。并且,在列表区域内可以按住鼠标或用手指按住上下滑动,以显示更多的列表内容,列表右侧以滑动条表示列表内容的总量以及目前所显示内容的位置。由此,用户通过浏览模型列表,获得模型名称及其预览信息,从而找到目标模型,点击对应列表项便可完成对目标模型的选择。

优选地,列表具备多项选择的功能,点击某个列表项时,该列表项高亮,表示已经选中,再次点击该项后取消选中状态。

选定单元,用于执行以下功能:当选中所有希望选择的模型后,点击确定按钮,完成选择,列表自动关闭,所选模型变为选中状态。当未获得目标模型需要重新检测模型或放弃选择目标模型时,点击列表以外的区域或点击列表上的“关闭”或“取消”按钮,关闭模型列表,以进行下一步操作。

根据上述技术方案,本发明有益的技术效果在于:

1.舍弃了传统碰撞检测射线的检测方式,使用面积大于0的闭合图形碰撞检测面沿碰撞检测射线方向前进形成碰撞检测体,并且碰撞检测面碰撞到模型后不会停止检测,而是继续沿着射线方向移动,直到穿透在射线方向上碰撞到的所有模型并返回给用户以供选择,解决了多个细小模型聚集遮挡时无法准确选择的问题,尤其是在3D人体教学软件中,使得用户在使用软件时有更大的概率使细小或遮挡目标模型包含在检测范围当中,提高了在3D模型选择中的精准性和易用性。

2.采用本方法选择模型的对象主要针对体积更为细小的3D模型,通过显示被选中的模型的列表,并在列表中的预览窗口显示对应的预览模型,在列表中对模型进行体积由小到大的排序,以方便用户对待选模型进行单项或多项的选择,使得用户可以更加直观的选择细小模型,进一步提高了3D软件在模型选择上的易用性,进而提高了用户体验。

附图说明

图1为现有技术模型选择方式原理图。

图2为本发明模型选择方式原理图。

图3为本发明方法的操作流程图。

具体实施方式

以下,将参照附图来详细说明本发明的实施例。

图1为现有技术模型选择方式原理图。在现有技术中,当触发点击事件后,从点击处为起点发射一条碰撞检测射线射向多个3D模型;当射线碰撞到模型后,返回其碰到的第一个模型或最早接触到的模型名称,并停止碰撞检测,从而选中该模型。然而,在模型较为细小、聚集在一起或相互产生交叠遮挡的情况下,用户便很难选中自己希望选择的对象模型,尤其是该模型被遮挡或周围有大量其他模型的时候,此时,可能产生多次误点,或须将其他模型进行移动或者旋转之后才能进行选择,甚至根本无法选中目标模型。同时,使用传统方式一条射线一次只能选中一个检测到的模型,而不能选择到射线方向上碰撞到的所有模型,也即一条射线不能选择多个模型,模型内部的精细模型很难被选择到。

图2为本发明模型选择方式原理图。

步骤S1:发射碰撞检测面。

在传统方案中,当触发点击事件后,从点击处为起点发射一条碰撞检测射线射向目标模型,并且,当碰撞检测射线一旦碰撞到模型,便返回所碰撞到的模型名称,并停止碰撞检测,也就是说使用传统方式一条碰撞检测射线一次只能选中一个检测到的模型。而在本方案中,触摸屏将待选择模型显示在显示平面上,当鼠标点击或触摸操作体(通常为手指)触击触摸屏触发点击事件后,以点击处为起点发射一个以碰撞检测射线为法向且面积大于0的碰撞检测面射向目标模型所在区域,扩大所选的模型范围,使目标模型尽可能包含在检测范围内。该检测面沿直线向前移动,形状设置为圆形或矩形或其他面积大于0的闭合图形,其大小可根据模型精细度进行设置和调整。

步骤S2:返回碰撞检测到的所有模型名称。

碰撞检测面碰撞到任一模型后,记录碰撞到的模型名称,且碰撞检测面碰到模型后并不会停止检测,而是沿着射线方向继续向前移动,直到穿透在射线方向上碰撞到的所有模型,形成碰撞检测体,并返回所有碰撞检测到的模型的名称。

步骤S3:将步骤S2检测并返回的模型显示给用户以供用户选择。

为了更直观的选择模型,分析在步骤S2获得的模型名称,将对应的模型进行简单或高精度的渲染,并展示在预览窗口中,且预览窗口中的模型自动以一定的速率旋转,方便用户查看。预览窗口也可仅展示简化模型。模型名称与其对应的预览模型同时出现且共同构成一个列表项,组成模型列表。用户通过浏览模型列表,获得模型名称及其预览信息,从而找到目标模型,点击对应列表项便可完成对目标模型的选择。

本发明侧重对细小或有遮挡且难以选择的模型的选择,当检测面检测模型时不可避免的同时检测到体型较大或处在较为明显位置的模型。然而使用环境而言,这样的模型是目标模型的几率较小。也就是说,采用本发明方法选择模型的首要目标是体积更为细小或有遮挡的模型。可通过模型列表中模型按照体积大小排序,将模型按照体积由小到大的顺序自上而下排列在列表当中,方便用户选择细小或有遮挡的模型。

对于检测到模型较多的情况,列表默认长度可能不足以显示完所有需要列出的模型,可采用滑动条的方式,在列表区域内按住鼠标或用手指按住上下滑动,显示更多的列表内容,列表右侧以滑动条表示列表内容的总量以及目前所显示内容的位置。

步骤S4:模型选择。用户通过浏览模型列表,获得模型名称及其预览信息,从而找到目标模型,点击对应列表项即可完成对目标模型的选择。

选择完成后,列表自动关闭,以免影响下一步操作,且所选模型变为选中状态;如未获得目标模型,需重新检测模型或放弃选择目标模型,可点击列表以外的区域或点击列表上的“关闭”或“取消”按钮,取消模型选择,关闭模型列表,以进行下一步操作。

列表具备单一选择和多项选择的功能。单一选择仅选择一个目标模型即可,而为了解决同时选择多个细小模型的问题,可设置一“多项选择”功能,同时使多个模型变为选中状态。在“多项选择”模式下,点击某个列表项时,该列表项高亮,表示已经选中,也可再次点击该项后取消选中状态;当选中所有希望选择的模型后,点击确定按钮,完成选择,所选模型变为选中状态。

为丰富本方法具备的功能,可集成两种选择方法,即传统选择方式和本发明细小模型的“精准选择”方式,可以按钮或其他形式实现上述两种方法的切换。在普通选择状态下,点击模型便为传统选择方式,采用图1所示方法进行选择。在“精准选择”状态下,使用为本发明图2所述的模型选择方式。

本发明方法具体操作流程如图3所示:

1.通过点击“精准选择”按钮或是其他方式开启“精准选择”状态;

2.鼠标点击或用手指触击触摸屏,确定目标模型所在区域;

3.此时,程序发射一个“碰撞检测面”射向模型,该检测面可设置为圆形或矩形或其他面积不为0的闭合图形,其大小也可根据模型精细度进行设置和调整,该检测面沿碰撞检测射线为法向以直线向前移动,直到穿透所有的模型,形成一个碰撞检测体;

4.将所有检测面碰撞到的模型罗列出来,并按照模型体积从小到大的顺序,以列表的形式显示;

5.在列表中的模型名称旁设置一模型预览窗口,显示模型对应的预览图,预览模型可自动旋转展示;

6.用户通过浏览模型列表,在列表中选择单个或多个目标模型,选择完成后列表自动关闭,目标模型变为被选中状态;若点击列表外区域或点击列表上的“关闭”或“取消”按钮,则取消模型选择,关闭模型列表,取消模型选择操作。

通过上述操作,即可实现对复杂细小模型组合的单一或多个指定模型准确选择。

以上实施例仅表达了本发明的典型实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1