CN112540711B - 一种在网页端选取三维空间物体的控制方法、装置及设备 - Google Patents
一种在网页端选取三维空间物体的控制方法、装置及设备 Download PDFInfo
- Publication number
- CN112540711B CN112540711B CN202011375004.XA CN202011375004A CN112540711B CN 112540711 B CN112540711 B CN 112540711B CN 202011375004 A CN202011375004 A CN 202011375004A CN 112540711 B CN112540711 B CN 112540711B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- coordinates
- mouse
- selection frame
- selection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种网页端选取三维空间物体的控制方法、装置、设备及计算机可读存储介质,通过建立网页端对三维空间的当前视角下,三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系,在接收到对三维空间的三维部件的选取操作的信号后,确定选取操作对应的二维选框的坐标,而后利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定选取操作对应的目标三维部件,最后输出目标三维部件的信息。利用相较于三维碰撞运算更为简单的二维碰撞运算,在重复的碰撞算法执行的过程中大大减少了计算量,从而能够更快的确定用户选取的目标三维部件,给用户带来更加流畅的选取体验。
Description
技术领域
本发明涉及网页三维展示技术领域,特别是涉及一种在网页端选取三维空间物体的控制方法、装置、设备及计算机可读存储介质。
背景技术
WebGL(Web Graphics Library)是一种计算机三维绘图协议,它允许把JavaScript(一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言)和开放图形库OpenGL结合在一起,可以为HTML5 Canvas提供硬件三维加速渲染,这样开发人员可以借助于它在浏览器里面使用系统显卡更流畅的展示三维场景或物体。Three.js是基于WebGL封装运行的三维引擎,其提供了许多方便的操作三维场景或物体的工具和计算方法。基于Three.js的网页端提供的人机交互界面,用户可以在二维区域内对三维模型内的部件进行选取操作,通常为鼠标选择二维区域开始,到最终选中从用户视角观察在二维区域内的三维模型部件结束。
现有的在网页端选取三维空间物体的方法,通过用户在二维区域选择的二维选框,生成用户想要选择的立方体区域,利用三维物体OBB等碰撞算法检查立方体区域和三维空间内各三维部件所在区域是否碰撞或包含,进而确定被选中的三维部件。在功能执行期间,鼠标在屏幕上像素位置的每次变化均会触发下述三维物体OBB等碰撞算法的执行,在各次计算执行完毕前,系统将处于卡死状态。当用户操作大型建筑信息模型时会造成严重卡顿甚至不能正常使用,严重影响用户体验。
使用户基于网页端进行大型三维模型内部件的选取时获得更为流畅的操作体验,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种在网页端选取三维空间物体的控制方法、装置、设备及计算机可读存储介质,可以使用户基于网页端进行大型三维模型部件的选取时获得更为流畅的操作体验。
为解决上述技术问题,本发明提供一种在网页端选取三维空间物体的控制方法,包括:
建立网页端对三维空间的当前视角下,所述三维空间的点的坐标到所述网页端的人机交互界面的点的二维坐标的映射关系;
当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标;
利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件;
输出所述目标三维部件的信息。
可选的,所述当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标,具体包括:
当接收到鼠标在所述人机交互界面的按下信号后,记所述按下信号对应的坐标为所述二维选框的起始坐标;
记录所述鼠标移动过程中对应的坐标,直至接收到所述鼠标的抬起信号,记所述抬起信号对应的坐标为所述二维选框的终止坐标;
相应的,所述利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件,具体包括:
自接收到所述按下信号起,每当所述鼠标被检测到一次移动,则根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,直至确定所述二维选框的终止坐标;
以所述二维选框的终止坐标对应的二维碰撞运算结果对应的三维部件为所述目标三维部件。
可选的,所述自接收到所述按下信号起,每当所述鼠标被检测到一次移动,则根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,直至确定所述二维选框的终止坐标,具体为:
自接收到所述按下信号起,每当所述鼠标被检测到一次移动,若在所述鼠标的当前位置未接收到所述抬起信号,则终止所述鼠标的上一位置对应的二维碰撞运算,以所述当前位置的坐标执行所述根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算的步骤,直至确定所述二维选框的终止坐标。
可选的,还包括:
存储所述当前视角对应的映射关系;
相应的,所述利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,具体包括:
若所述网页端对所述三维空间的视角未改变,则调用所述当前视角对应的映射关系,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算;
若所述网页端对所述三维空间的视角发生变化,则建立所述网页端对所述三维空间的新视角对应的映射关系,将所述映射关系替换为所述新视角对应的映射关系,并利用所述新视角对应的映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算。
可选的,在所述根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标之后,还包括:
利用渲染系统显示所述二维选框。
可选的,所述记录所述鼠标移动过程中对应的坐标,具体为:
记录所述鼠标在所述人机交互界面的移动过程中对应的坐标。
可选的,所述输出所述目标三维部件的信息,具体为:
根据所述目标三维部件的编号,利用渲染系统将所述目标三维部件和所述三维空间内除所述目标三维部件外的三维部件进行区别显示。
为解决上述技术问题,本发明还提供一种在网页端选取三维空间物体的控制装置,包括:
映射单元,用于建立网页端对三维空间的当前视角下,所述三维空间的点的坐标到所述网页端的人机交互界面的点的二维坐标的映射关系;
接收单元,用于当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标;
运算单元,用于利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件;
输出单元,用于输出所述目标三维部件的信息。
为解决上述技术问题,本发明还提供一种在网页端选取三维空间物体的控制设备,包括:
存储器,用于存储指令,所述指令包括上述任意一项所述在网页端选取三维空间物体的控制方法的步骤;
处理器,用于执行所述指令。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述在网页端选取三维空间物体的控制方法的步骤。
本发明所提供的在网页端选取三维空间物体的控制方法,通过建立网页端对三维空间的当前视角下,三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系,在接收到对三维空间的三维部件的选取操作的信号后,确定选取操作对应的二维选框的坐标,而后利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定选取操作对应的目标三维部件,最后输出目标三维部件的信息。利用相较于三维碰撞运算更为简单的二维碰撞运算,在重复的碰撞算法执行的过程中大大减少了计算量,从而能够更快的确定用户选取的目标三维部件,给用户带来更加流畅的选取体验。
本发明还提供一种在网页端选取三维空间物体的控制装置、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种在网页端选取三维空间物体的控制方法的流程图;
图2为本发明实施例提供的另一种在网页端选取三维空间物体的控制方法的流程图;
图3为本发明实施例提供的一种在网页端选取三维空间物体的控制装置的结构示意图;
图4为本发明实施例提供的一种在网页端选取三维空间物体的控制设备的结构示意图。
具体实施方式
本发明的核心是提供一种在网页端选取三维空间物体的控制方法、装置、设备及计算机可读存储介质,可以使用户基于网页端进行大型三维模型部件的选取时获得更为流畅的操作体验。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种在网页端选取三维空间物体的控制方法的流程图。
如图1所示,本发明实施例提供的在网页端选取三维空间物体的控制方法包括:
S101:建立网页端对三维空间的当前视角下,三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系。
S102:当接收到对三维空间的三维部件的选取操作的信号后,确定选取操作对应的二维选框的坐标。
S103:利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定选取操作对应的目标三维部件。
S104:输出目标三维部件的信息。
在本发明实施例中,三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系由网页端对三维空间的当前视角决定。通过建立当前视角下三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系,三维空间内的三维部件的三维坐标可以转换为二维坐标,而利用三维部件的二维坐标和用户选取的二维选框进行二维碰撞运算,简化了单次碰撞运算的计算量。
在具体实施中,本发明实施例的方法通过预先编写三维坐标到二维坐标的坐标转换函数(worldToClient)、判断二维碰撞函数(modelFilterByBox2)实现。其中,坐标转换函数用于将三维模型的点坐标转换成标准设备坐标(SDC);判断二维碰撞函数用于根据二维选框内的区域(rect)和三维模型内三维部件的二维映射数据进行二维碰撞运算,输出结果为目标三维部件的信息,如目标三维部件的编号(selections)。
对于步骤S101来说,通过调用预先编写的坐标转换函数,建立网页端对三维空间的当前视角下三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系。
二维选框通常为矩形框,以用户在人机交互界面上某一点按下鼠标开始,到用户抬起鼠标按键为止,可以得到二维选框的两个对角,进而确定二维选框所包含的区域。从用户开始选取开始,到用户一次选取结束,步骤S102和步骤S103是循环进行的,直至用户完成选取,具体可以参考现有技术中重复执行三维碰撞运算的过程。对于步骤S102来说,鼠标的点击和移动均为触发二维碰撞运算的触发信号,而用户抬起鼠标的位置对应的二维选框的二维碰撞运算结果,即为目标三维部件的信息。对于步骤S103来说,利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,首先可以利用映射关系计算得到各三维部件的二维坐标,再利用二维选框的坐标各三维部件的二维坐标进行二维碰撞运算。
通过检测两个二维OBB包装盒是否重合的方式进行二维碰撞运算,具体可以采用如下程序实现:
对于步骤S104来说,输出目标三维部件的信息,可以为输出目标三维部件的编号。由于通常情况下用户选取三维部件的首要目的是查看这些目标三维部件,则步骤S104可以为:根据目标三维部件的编号,利用渲染系统将目标三维部件和三维空间内除目标三维部件外的三维部件进行区别显示,例如可以将三维空间内除目标三维部件外的三维部件进行暂时隐藏,或者将目标三维部件和除目标三维部件外的三维部件分别采用不同的颜色显示,以便对目标三维部件进行突出显示。
本发明实施例提供的在网页端选取三维空间物体的控制方法,通过建立网页端对三维空间的当前视角下,三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系,在接收到对三维空间的三维部件的选取操作的信号后,确定选取操作对应的二维选框的坐标,而后利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定选取操作对应的目标三维部件,最后输出目标三维部件的信息。利用相较于三维碰撞运算更为简单的二维碰撞运算,在重复的碰撞算法执行的过程中大大减少了计算量,从而能够更快的确定用户选取的目标三维部件,给用户带来更加流畅的选取体验。
图2为本发明实施例提供的另一种在网页端选取三维空间物体的控制方法的流程图。
在上述实施例的基础上,如图2所示,在本发明实施例提供的在网页端选取三维空间物体的控制方法中,步骤S102:当接收到对三维空间的三维部件的选取操作的信号后,确定选取操作对应的二维选框的坐标,具体可以包括:
S201:当接收到鼠标在人机交互界面的按下信号后,记按下信号对应的坐标为二维选框的起始坐标。
S202:记录鼠标移动过程中对应的坐标,直至接收到鼠标的抬起信号,记抬起信号对应的坐标为二维选框的终止坐标。
相应的,步骤S103:利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定选取操作对应的目标三维部件,具体可以包括:
S203:自接收到按下信号起,每当鼠标被检测到一次移动,则根据鼠标的当前位置的坐标和起始坐标确定二维选框的坐标,并利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,直至确定二维选框的终止坐标。
S204:以二维选框的终止坐标对应的二维碰撞运算结果对应的三维部件为目标三维部件。
在具体实施中,步骤S201和步骤S202可以通过预先编写鼠标按下处理函数(onMouseDown)、鼠标移动处理函数(onMouseMove)和鼠标弹起处理函数(onMouseUp)实现。其中,鼠标按下处理函数在鼠标按键按下时执行,用于标记启动(active)显示选取的二维区域(rect)并引发后续一系列动作。鼠标移动处理函数在鼠标移动时候执行,用于更新鼠标选取二维区域(rect)的数据,鼠标坐标采用标准设备坐标(SDC)记录。鼠标弹起处理函数在鼠标按键弹起时执行,主要负责标记结束(active)选取二维区域(rect)并触发最终的模型选择动作。
步骤S203和步骤S204可以通过预先编写帧更新函数实现,此函数可以交给渲染系统进行周期性调用。在实际应用中,由于鼠标的刷新频率通常大于屏幕的刷新频率,在调用帧更新函数前获取鼠标上报系统的位置移动情况,将导致一定的无用计算,因此步骤S202中记录鼠标移动过程中对应的坐标,优选为:记录鼠标在人机交互界面的移动过程中对应的坐标。
为了提升用户交互体验,利用系统分配的资源,在进行二维碰撞运算的同时,预留出进行用户交互的资源,则在步骤S203中根据鼠标的当前位置的坐标和起始坐标确定二维选框的坐标之后,本发明实施例提供的在网页端选取三维空间物体的控制方法还可以包括:利用渲染系统显示二维选框。在此基础上,在系统资源、系统延迟允许的情况下,可以利用渲染系统显示被选取的三维部件。需要说明的是,这部分预留出来用于实现在用户选取过程中与用户交互的系统资源,虽然会占用原有的计算资源导致一定的系统延迟,但提供了流畅的用户体验,综合考虑是值得的。
在上述实施例中提到,通过二维选框的起始坐标和二维选框的终止坐标,可以得到在人机交互界面上二维选框所包含的区域。而现有的Three.js引擎会在鼠标被检测到一次移动时均进行一次碰撞运算,而每次运算对应的都是鼠标的当前位置的坐标和起始坐标所形成的二维区域的运算,这意味着在鼠标到达终止坐标之前,会进行大量的无用计算,这些无用计算浪费了系统资源、导致了严重的系统卡顿。
故本发明实施例提供一种渐进式选择技术,在本发明实施例提供的在网页端选取三维空间物体的控制方法中,步骤S203具体为:
自接收到按下信号起,每当鼠标被检测到一次移动,则终止鼠标的上一位置对应的二维碰撞运算,以当前位置的坐标执行根据鼠标的当前位置的坐标和起始坐标确定二维选框的坐标,并利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算的步骤,直至确定二维选框的终止坐标。
在具体实施中,通过预先编写判断二维碰撞函数的协程调用函数(modelFilterByBox2_async)以及将上述实施例中的判断二维碰撞函数创建为生成器类型实现,通过帧更新函数根据功能启用标记(active)执行协程调用函数,判断是否需要终止鼠标的上一位置对应的二维碰撞运算。
对应上述实施方式,协程调用函数的核心代码参考如下:
因此,本发明实施例提供的在网页端选取三维空间物体的控制方法不仅在不增加编程复杂度的同时降低了碰撞算法的复杂度,还在不影响用户最终期待结果的情况下使用渐进式选择技术极大地增加了操作流畅度。
在上述实施例的基础上,为了进一步提升用户操作的流畅度,本发明实施例提供的在网页端选取三维空间物体的控制方法还可以包括:
存储当前视角对应的映射关系。
相应的,步骤S103中利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,具体包括:
若网页端对三维空间的视角未改变,则调用当前视角对应的映射关系,并利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算;
若网页端对三维空间的视角发生变化,则建立网页端对三维空间的新视角对应的映射关系,将映射关系替换为新视角对应的映射关系,并利用新视角对应的映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算。
本发明实施例通过在步骤S101建立了当前视角的映射关系之后存储当前视角的映射关系,在用户未改变网页端视角的情况下,每次执行步骤S102、S103、S104时无需再执行步骤S101,因此在上述实施例的基础上进一步减少了计算量,提升了用户操作的流畅度。而当网页端对三维空间的视角发生变化时,再重新建立映射关系,替换之前存储的映射关系,并利用新视角对应的映射关系进行碰撞运算。
在上述实施例的基础上,为实现映射关系的存储、视角转换的监控,本发明实施例还需要预先编写视角改变处理函数(onViewChanged),用于监听鼠标动作时间的监听脚本还需要监听视角改变事件,同时建立映射关系的缓存(cache)。在通过监听脚本在监听到视角改变事件后,调用视角改变处理函数重建三维模型的点的三维坐标到网页端的二维坐标的映射关系,更新缓存。而在每次接收到用户选取操作的信号时,利用缓存在视角相机位姿不变的情况下提供当前视角下的映射关系。
上文详述了在网页端选取三维空间物体的控制方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的在网页端选取三维空间物体的控制装置、设备及计算机可读存储介质。
图3为本发明实施例提供的一种在网页端选取三维空间物体的控制装置的结构示意图。
如图3所示,本发明实施例提供的在网页端选取三维空间物体的控制装置包括:
映射单元301,用于建立网页端对三维空间的当前视角下,三维空间的点的坐标到网页端的人机交互界面的点的二维坐标的映射关系;
接收单元302,用于当接收到对三维空间的三维部件的选取操作的信号后,确定选取操作对应的二维选框的坐标;
运算单元303,用于利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定选取操作对应的目标三维部件;
输出单元304,用于输出目标三维部件的信息。
可选的,本发明实施例提供的在网页端选取三维空间物体的控制装置还可以包括:
存储单元,相应的,运算单元303利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算,具体包括:
若网页端对三维空间的视角未改变,则调用当前视角对应的映射关系,并利用映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算;
若网页端对三维空间的视角发生变化,则建立网页端对三维空间的新视角对应的映射关系,将映射关系替换为新视角对应的映射关系,并利用新视角对应的映射关系、二维选框的坐标和各三维部件的坐标进行二维碰撞运算。
可选的,本发明实施例提供的在网页端选取三维空间物体的控制装置还可以包括:
显示单元,用于利用渲染系统显示二维选框。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图4为本发明实施例提供的一种在网页端选取三维空间物体的控制设备的结构示意图。
如图4所示,本发明实施例提供的在网页端选取三维空间物体的控制设备包括:
存储器410,用于存储指令,所述指令包括上述任意一项实施例所述的在网页端选取三维空间物体的控制方法的步骤;
处理器420,用于执行所述指令。
其中,处理器420可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器420可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable LogicArray)中的至少一种硬件形式来实现。处理器420也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(CentralProcessing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器420可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器420还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器410可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器410还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器410至少用于存储以下计算机程序411,其中,该计算机程序411被处理器420加载并执行之后,能够实现前述任一实施例公开的在网页端选取三维空间物体的控制方法中的相关步骤。另外,存储器410所存储的资源还可以包括操作系统412和数据413等,存储方式可以是短暂存储或者永久存储。其中,操作系统412可以为Windows。数据413可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,在网页端选取三维空间物体的控制设备还可包括有显示屏430、电源440、通信接口450、输入输出接口460、传感器470以及通信总线480。
本领域技术人员可以理解,图4中示出的结构并不构成对在网页端选取三维空间物体的控制设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的在网页端选取三维空间物体的控制设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的在网页端选取三维空间物体的控制方法,效果同上。
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
为此,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如在网页端选取三维空间物体的控制方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-OnlyMemory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的计算机可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的在网页端选取三维空间物体的控制方法的步骤,效果同上。
以上对本发明所提供的一种在网页端选取三维空间物体的控制方法、装置、设备及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种在网页端选取三维空间物体的控制方法,其特征在于,包括:
建立网页端对三维空间的当前视角下,所述三维空间的点的坐标到所述网页端的人机交互界面的点的二维坐标的映射关系;
当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标;
利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件;
输出所述目标三维部件的信息;
其中,所述当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标,具体包括:当接收到鼠标在所述人机交互界面的按下信号后,记所述按下信号对应的坐标为所述二维选框的起始坐标;记录所述鼠标移动过程中对应的坐标,直至接收到所述鼠标的抬起信号,记所述抬起信号对应的坐标为所述二维选框的终止坐标;
相应的,所述利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件,具体包括:自接收到所述按下信号起,每当所述鼠标被检测到一次移动,则根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,直至确定所述二维选框的终止坐标;以所述二维选框的终止坐标对应的二维碰撞运算结果对应的三维部件为所述目标三维部件;
所述自接收到所述按下信号起,每当所述鼠标被检测到一次移动,则根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,直至确定所述二维选框的终止坐标,具体为:自接收到所述按下信号起,每当所述鼠标被检测到一次移动,若在所述鼠标的当前位置未接收到所述抬起信号,则终止所述鼠标的上一位置对应的二维碰撞运算,以所述当前位置的坐标执行所述根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算的步骤,直至确定所述二维选框的终止坐标。
2.根据权利要求1所述的控制方法,其特征在于,还包括:
存储所述当前视角对应的映射关系;
相应的,所述利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,具体包括:
若所述网页端对所述三维空间的视角未改变,则调用所述当前视角对应的映射关系,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算;
若所述网页端对所述三维空间的视角发生变化,则建立所述网页端对所述三维空间的新视角对应的映射关系,将所述映射关系替换为所述新视角对应的映射关系,并利用所述新视角对应的映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算。
3.根据权利要求1所述的控制方法,其特征在于,在所述根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标之后,还包括:
利用渲染系统显示所述二维选框。
4.根据权利要求1所述的控制方法,其特征在于,所述记录所述鼠标移动过程中对应的坐标,具体为:
记录所述鼠标在所述人机交互界面的移动过程中对应的坐标。
5.根据权利要求1所述的控制方法,其特征在于,所述输出所述目标三维部件的信息,具体为:
根据所述目标三维部件的编号,利用渲染系统将所述目标三维部件和所述三维空间内除所述目标三维部件外的三维部件进行区别显示。
6.一种在网页端选取三维空间物体的控制装置,其特征在于,包括:
映射单元,用于建立网页端对三维空间的当前视角下,所述三维空间的点的坐标到所述网页端的人机交互界面的点的二维坐标的映射关系;
接收单元,用于当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标;
运算单元,用于利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件;
输出单元,用于输出所述目标三维部件的信息;
其中,所述当接收到对所述三维空间的三维部件的选取操作的信号后,确定所述选取操作对应的二维选框的坐标,具体包括:当接收到鼠标在所述人机交互界面的按下信号后,记所述按下信号对应的坐标为所述二维选框的起始坐标;记录所述鼠标移动过程中对应的坐标,直至接收到所述鼠标的抬起信号,记所述抬起信号对应的坐标为所述二维选框的终止坐标;
相应的,所述利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,根据二维碰撞运算结果确定所述选取操作对应的目标三维部件,具体包括:自接收到所述按下信号起,每当所述鼠标被检测到一次移动,则根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,直至确定所述二维选框的终止坐标;以所述二维选框的终止坐标对应的二维碰撞运算结果对应的三维部件为所述目标三维部件;
所述自接收到所述按下信号起,每当所述鼠标被检测到一次移动,则根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算,直至确定所述二维选框的终止坐标,具体为:自接收到所述按下信号起,每当所述鼠标被检测到一次移动,若在所述鼠标的当前位置未接收到所述抬起信号,则终止所述鼠标的上一位置对应的二维碰撞运算,以所述当前位置的坐标执行所述根据所述鼠标的当前位置的坐标和所述起始坐标确定所述二维选框的坐标,并利用所述映射关系、所述二维选框的坐标和各所述三维部件的坐标进行二维碰撞运算的步骤,直至确定所述二维选框的终止坐标。
7.一种在网页端选取三维空间物体的控制设备,其特征在于,包括:
存储器,用于存储指令,所述指令包括权利要求1至5任意一项所述在网页端选取三维空间物体的控制方法的步骤;
处理器,用于执行所述指令。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述在网页端选取三维空间物体的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011375004.XA CN112540711B (zh) | 2020-11-30 | 2020-11-30 | 一种在网页端选取三维空间物体的控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011375004.XA CN112540711B (zh) | 2020-11-30 | 2020-11-30 | 一种在网页端选取三维空间物体的控制方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540711A CN112540711A (zh) | 2021-03-23 |
CN112540711B true CN112540711B (zh) | 2022-08-05 |
Family
ID=75016536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011375004.XA Active CN112540711B (zh) | 2020-11-30 | 2020-11-30 | 一种在网页端选取三维空间物体的控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540711B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093196A (zh) * | 2013-01-14 | 2013-05-08 | 大连理工大学 | 一种基于手势的汉字交互输入与识别方法 |
CN104035562A (zh) * | 2014-06-18 | 2014-09-10 | 广州市久邦数码科技有限公司 | 一种三维立体桌面触摸事件的映射方法及系统 |
CN108970113A (zh) * | 2018-07-26 | 2018-12-11 | 广州多益网络股份有限公司 | 一种碰撞检测方法、装置、设备及介质 |
CN109683729A (zh) * | 2018-12-22 | 2019-04-26 | 威创集团股份有限公司 | 三维场景控制方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100309197A1 (en) * | 2009-06-08 | 2010-12-09 | Nvidia Corporation | Interaction of stereoscopic objects with physical objects in viewing area |
CN101777092B (zh) * | 2009-12-18 | 2014-11-05 | 中国人民解放军防化指挥工程学院 | 基于考虑空间非均匀性的传染病传播模型疫情预测方法 |
US8840466B2 (en) * | 2011-04-25 | 2014-09-23 | Aquifi, Inc. | Method and system to create three-dimensional mapping in a two-dimensional game |
CN102637116B (zh) * | 2012-03-20 | 2016-05-25 | Tcl集团股份有限公司 | 3d场景交互方法、装置及碰撞检测方法、装置 |
CN103729877A (zh) * | 2013-12-18 | 2014-04-16 | 珠海金山网络游戏科技有限公司 | 一种三维模型的有向包围盒构造的方法和系统 |
CN108536880A (zh) * | 2017-03-06 | 2018-09-14 | 上海盟云移软网络科技股份有限公司 | 一种虚拟现实系统的随机碰撞检测算法 |
CN107146287B (zh) * | 2017-03-22 | 2019-08-02 | 西北大学 | 二维投影图像至三维模型的映射方法 |
CN111382613B (zh) * | 2018-12-28 | 2024-05-07 | 中国移动通信集团辽宁有限公司 | 图像处理方法、装置、设备和介质 |
-
2020
- 2020-11-30 CN CN202011375004.XA patent/CN112540711B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093196A (zh) * | 2013-01-14 | 2013-05-08 | 大连理工大学 | 一种基于手势的汉字交互输入与识别方法 |
CN104035562A (zh) * | 2014-06-18 | 2014-09-10 | 广州市久邦数码科技有限公司 | 一种三维立体桌面触摸事件的映射方法及系统 |
CN108970113A (zh) * | 2018-07-26 | 2018-12-11 | 广州多益网络股份有限公司 | 一种碰撞检测方法、装置、设备及介质 |
CN109683729A (zh) * | 2018-12-22 | 2019-04-26 | 威创集团股份有限公司 | 三维场景控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112540711A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279964B (zh) | 蒙层渲染的实现方法、装置、智能设备及存储介质 | |
US9053529B2 (en) | System and method for capturing digital images | |
JP2012521041A (ja) | 連続および不連続プロパティのスムーズレイアウトアニメーション | |
US20210166457A1 (en) | Graphic drawing method and apparatus, device, and storage medium | |
CN110619683B (zh) | 三维模型调整方法、装置、终端设备及存储介质 | |
CN114115681B (zh) | 页面生成方法及装置、电子设备和介质 | |
CN111459501A (zh) | 基于SVG的Web组态画面存储与展示系统和方法及介质 | |
CN111596848A (zh) | 一种界面取色方法、装置、设备及存储介质 | |
CN110471700B (zh) | 图形处理方法、装置、存储介质及电子设备 | |
CN107122104B (zh) | 数据显示方法及装置 | |
CN109343770B (zh) | 交互反馈方法、设备和记录介质 | |
CN114895891A (zh) | 一种图形软件的处理方法、装置、电子设备及存储介质 | |
CN112540711B (zh) | 一种在网页端选取三维空间物体的控制方法、装置及设备 | |
CN112419456B (zh) | 一种特效画面生成方法和装置 | |
CN113835835B (zh) | 一种创建一致性组的方法、装置、及计算机可读存储介质 | |
CN113867580B (zh) | 窗口内指针的显示控制方法及装置、设备、存储介质 | |
CN109426529B (zh) | 基于x窗口系统图形绘制的方法、装置及终端 | |
US20200043144A1 (en) | System and method for applying antialiasing to images | |
CN113885766B (zh) | 组织架构图的展示方法、装置、存储介质及终端设备 | |
KR20130141259A (ko) | 화면 분할에 의한 실행영상 처리 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체 | |
CN112579073B (zh) | 一种代码转换方法、装置、电子设备及存储介质 | |
KR101423234B1 (ko) | 전자칠판용 판서프로그램의 메뉴버튼 생성 및 실시간 크기 변환방법 | |
WO2024065097A1 (zh) | 板书内容展示方法、电子设备及存储介质 | |
EP4300297A1 (en) | Exhibiting method of desktop element and electronic device | |
CN117827207A (zh) | 图元面板的动态构建方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |