CN115089965A - 用于场景中的路径呈现的方法、装置、设备和存储介质 - Google Patents
用于场景中的路径呈现的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115089965A CN115089965A CN202210806698.0A CN202210806698A CN115089965A CN 115089965 A CN115089965 A CN 115089965A CN 202210806698 A CN202210806698 A CN 202210806698A CN 115089965 A CN115089965 A CN 115089965A
- Authority
- CN
- China
- Prior art keywords
- path
- point
- points
- target
- target path
- 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.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Abstract
根据本公开的实施例,提供了用于场景中的路径呈现的方法、装置、设备和存储介质。该路径呈现的方法包括呈现包括目标区域的场景。该方法还包括响应于对目标区域内的至少两个点的选择,在场景中呈现目标路径。该目标路径通过被选择的至少两个点。该方法还包括响应于对目标路径上的至少一个目标点的修改,更新目标路径。以此方式,提供了在场景中呈现路径并且对该路径进行更新的各种交互方式。
Description
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及用于场景中的路径呈现的方法、装置、设备和计算机可读存储介质。
背景技术
随着计算机技术的发展,各种类型的场景展示应用层出不穷。例如游戏、模拟演练、地图等应用已经能够为用户提供丰富的场景。为了在场景中呈现出更多的感兴趣的信息,通常会对场景中的若干感兴趣点(POI)进行标注。例如,常常需要对场景中的路径、道路等进行标注和呈现。因此,希望能够提供有效的路径呈现或路径标注的方法。
发明内容
在本公开的第一方面,提供了一种用于路径呈现的方法。该方法包括呈现包括目标区域的场景。该方法还包括响应于对目标区域内的至少两个点的选择,在场景中呈现目标路径。该目标路径通过被选择的至少两个点。该方法还包括响应于对目标路径上的至少一个目标点的修改,更新目标路径。
在本公开的第二方面,提供了一种用于路径呈现的装置。该装置包括路径呈现模块,被配置为呈现包括目标区域的场景。该装置还包括路径呈现模块,被配置为响应于对目标区域内的至少两个点的选择,在场景中呈现目标路径。该目标路径通过被选择的至少两个点。该装置还包括路径更新模块,被配置为响应于对目标路径上的至少一个目标点的修改,更新目标路径。
在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质。介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面的方法。
应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的一些实施例的用于路径呈现的过程的流程图;
图3示出了根据本公开的一些实施例的示例场景的示意图;
图4A至图4B示出了根据本公开的一些实施例的对路径进行呈现的交互示例的示意图;
图5A至图5B示出了根据本公开的实施例的用于对呈现的路径进行更新的交互示例的示意图;
图6A至图6B示出了根据本公开的实施例的用于对呈现的路径进行更新的另一交互示例的示意图;
图7A至图7B示出了根据本公开的实施例的用于对呈现的路径进行更新的另一交互示例的示意图;
图8A至图8B示出了根据本公开的实施例的用于对呈现的路径进行更新的另一交互示例的示意图;
图9示出了根据本公开的一些实施例的用于场景中的路径呈现的装置的框图;以及
图10示出了能够实施本公开的多个实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息,从而使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在该示例环境100中,电子设备110可以呈现场景120。例如,电子设备110可以呈现全景鸟瞰的三维的场景120。在一些实施例中,电子设备110可以基于存储在电子设备110中或者存储在与电子设备110可通信的诸如云存储中的各个模型、纹理等,来呈现场景120。在本文中,场景120中呈现出的模型可以是任意适于呈现的模型格式,例如dwg、obj、3ds,等等。场景120中呈现出的纹理可以是各种类型的纹理贴图,例如联合图像专家组格式(jpeg)、便携式网络图形(png),等等。电子设备120可以基于任意适当的模型渲染引擎,例如开放图形库(OpenGL)、DirectX、Web图形库(例如,WebGL)等来渲染模型,以呈现出场景120。本公开的实施例在这些方面均不受限制。应理解,图1中呈现的场景120仅仅是示例性的,而不是限制性的,场景120中可以呈现任何适当的场景或画面。
在一些实施例中,场景120可以由电子设备110中的例如场景编辑应用或者场景演示应用提供。场景120可以具有适合于电子设备110的显示区域大小的显示区域面积,或者具有其他适当的预定的或由用户指定的显示区域面积。
在一些实施例中,用户102可以与电子设备110进行交互。例如,用户102可以通过与电子设备110交互,来对场景120进行各种交互操作。例如,用户102可以通过与电子设备110交互,来使场景120中呈现出某个路径或者道路。关于用户102与电子设备110的各种交互过程将在下文中进行详细描述。
电子设备110可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,电子设备110也能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。
如前所述,各种类型的场景展示应用,诸如游戏、模拟演练、地图展示等等,已经为用户提供了丰富的场景。有时,为了使场景尽量逼真并且呈现出更多的用户感兴趣的信息,在场景中通常会需要显示诸如路径、道路、区域边界等感兴趣点的信息。例如,在全景鸟瞰的场景中,通常希望能够呈现出全景鸟瞰场景中的路径和区域围合等信息。
一种路径呈现的常规方案是通过创建道路、区域围合等路径的模型,并且在场景中呈现这些模型来呈现出这些路径。这种基于模型的路径呈现方案需要建模人员花费大量的时间来对各个路径进行建模。此外,由于地形存在着高低起伏,这些路径模型难以被重复应用在其他场景中。另一方面,这些大量的模型也会对场景的渲染造成增加的计算工作,进而增加电子设备的负担。因此,这种基于模型的路径呈现方式造成了人力和计算资源的浪费。
另一种路径呈现的常规方案是利用纹理的方式在场景中呈现出道路的效果。这种基于纹理的路径呈现方式增加了模型纹理的复杂度,同时也增加了建模人员编辑场景地面的难度。因此,这种基于纹理的路径呈现方式同样会造成人力和计算资源的浪费。
此外,以上描述的基于模型和基于纹理的路径呈现方式,均无法在路径在场景中呈现后对该路径进行修改和优化。一旦创建的模型不准确或者纹理无法准确贴合地面,则常常会出现诸如在道路和地面间出现缝隙等情况。如果出现了这种错误的路径呈现情况,则通常需要建模人员对模型或者纹理进行修改,否则无法对呈现的错误路径进行修改。换句话说,这些常规的路径呈现方式均难以在路径呈现出现错误时,对其进行修改和优化。
综上所述,希望能够提出有效的路径呈现方案,能够在诸如全景鸟瞰的场景中呈现路径,并且对路径进行修改和优化。
根据本公开的实施例,提出了一种改进的路径呈现的方案。在该方案中,通过对场景中呈现的目标区域内的至少两个点的选择,将通过被选择的至少两个点的路径在场景中呈现。此外,在该方案中,还可以通过对路径上至少一个目标点进行修改,来更新该路径。
该方法包括呈现包括目标区域的场景。该方法还包括响应于对目标区域内的至少两个点的选择,在场景中呈现目标路径。该目标路径通过被选择的至少两个点。该方法还包括响应于对目标路径上的至少一个目标点的修改,更新目标路径。
该方案能够支持基于用户选择的点来呈现路径,并且支持基于各种交互来对路径进行更新。换句话说,该方案能够基于用户交互在场景中标注路径,并且利用便捷的交互方式对标注的路径进行修改。以此方式,该方案提供了简单便捷的路径呈现及更新方式。
图2示出了根据本公开的一些实施例的用于路径呈现的过程200的流程图。过程200可以在电子设备110处实现。为便于讨论,将参考图1的环境100来描述过程200。
在框210处,电子设备110呈现包括目标区域的场景120。例如,场景120可以包括二维的或三维的场景。场景120还可以包括全景鸟瞰的场景,例如通过天空盒或天空球等方式渲染或绘制的全景鸟瞰场景。
图3示出了根据本公开的一些实施例的示例场景120的示意图。在图3的场景120中,示出了包括若干建筑物和树木等的目标区域300。在一些实施例中,场景120中还可以布置有关闭控件301。电子设备110可以检测对关闭控件301的触发指示,以将场景120关闭。附加地或备选地,场景120中还可以布置有导航控件(未示出),诸如可以上下左右旋转的旋转控件或者上下左右平移的平移控件等,以对呈现的目标区域300进行定位。
应理解,图3示出的场景以及下文中将描述的其他附图中的场景仅仅是示例,实际可以存在各种不同的场景。场景中的目标区域内的各个图形元素可以具有不同的布置和不同的视觉表示,其中的一个或多个元素可以省略或被替换,并且还可以存在一个或多个其他元素。本公开的实施例在此方面不受限制。
继续参考图2。在框220处,电子设备110检测对目标区域内的点的选择。例如,用户102可以采用鼠标、指点设备、触控笔、手指等等方式,来对场景120的目标区域300内的点进行选择。本公开的实施例在此方面不受限制。电子设备110可以检测出用户102对目标区域300内的点的选择。在本文中,被选择的点也被称为感兴趣点或者关键点。
在框230处,电子设备110确定是否检测到对目标区域300内的至少两个点的选择。如果在框230处,电子设备110确定出已经检测到目标区域300内的至少两个点被选择了,则电子设备110在框240处在场景120中呈现目标路径。该目标路径通过被选择的至少两个点。换句话说,该目标道路包括被选择的至少两个点之间的连线。
在一些实施例中,电子设备110可以通过在场景120中将被选择的至少两个点按照被选择的顺序连接,来生成目标路径。备选地,电子设备110可以基于被选择的至少两个点,利用差值运算或者利用路径生成模型,来生成目标路径。电子设备110可以在框240处将生成的目标路径进行呈现。在本文中,在场景120中生成并呈现目标路径的过程也被称为对目标路径进行标注。
备选地或附加地,在一些实施例中,电子设备110还可以将所生成的目标路径的信息进行存储。例如,可以将所生成的目标路径的信息存储到电子设备110的存储装置中,或者存储到与电子设备110可通信的远程存储设备,例如云存储中。通过存储目标路径的信息,可以在下次对该场景120进行呈现时,直接呈现出前次生成或标注的目标路径,而无需对目标路径进行再次标注。当然,这些被存储的目标路径的信息也可以由用户进行修改或者删除,或者由电子设备110进行更新和删除。
如果在框230处,电子设备110未检测到对目标区域300内的至少两个点的选择,则电子设备110在框220处继续检测对目标区域300内的点的选择,直到检测到至少两个点被选择为止。在一些实施例中,电子设备110还可以对用户102发出关于在目标区域300内选择点的指示。例如,电子设备110可以在场景120中利用诸如弹出窗口等呈现指示信息,该指示信息指示用户102选择目标场景中的点。
在一些实施例中,如果电子设备110检测到两个距离非常相近的点连续被选择了,则电子设备110可以仅保留其中一个被选择的点,而将另一个被选择的点丢弃。例如,电子设备110可以将两个距离相近的点中的第二点作为无效点进行丢弃。电子设备110还可以对用户102输出指示,以告知用户102其选择的某个点为无效点。以此方式,能够避免用户对相同位置的点的连续误选。
以上描述了基于用户选择的至少两个点在场景中呈现目标路径的方式。以此方式,能够使用户通过选择场景中的点而在场景中标注路径。关于基于被选择的至少两个点在场景中呈现路径的过程将在下文结合图4A至图4B进行详细描述。
在框250处,电子设备110检测对目标路径上至少一个目标点的修改。例如,电子设备110可以检测对目标路径上的被选择的至少两个点中的至少一个目标点的修改。又如,电子设备110可以检测对目标路径上的除被选择的至少两个点之外的其他的目标点(例如,虚拟节点)的修改。在一些实施例中,用户102可以利用鼠标、指点设备、触控笔或者手指来对至少一个目标点进行修改,例如拖拽、移除,等等。电子设备110可以检测到用户102对至少一个目标点的上述修改。
在框260处,电子设备110确定是否检测到对目标路径上至少一个目标点的修改。如果在框260处,电子设备110确定出检测到对至少一个目标点的修改,则电子设备110在框270处,更新目标路径。反之,如果在框260处,电子设备110确定出未检测到对至少一个目标点的修改,则电子设备110可以在框250处继续检测对目标路径上至少一个目标点的修改,直到检测到对至少一个目标点的修改位置。
在一些实施例中,在框270之后,电子设备110还可以继续在框250处检测对目标路径上的至少一个目标点的修改,以继续更新目标路径。备选地或附加地,在框240之后,电子设备110还可以继续在框220处检测对目标区域内的点的选择。如果在框240之后,电子设备110在框220处继续检测到对目标区域内的附加点的选择,则电子设备110可以基于被选择的附加点,来更新目标路径。
备选地或附加地,在一些实施例中,电子设备110还可以将所更新的目标路径的信息进行存储。例如,可以电子设备110的存储装置中存储的目标路径的信息进行更新,或者将与电子设备110可通信的远程存储设备例如云存储中存储的目标路径的信息进行更新。
以上描述了通过交互来更新目标路径的过程。以此方式,能够使用户通过对目标路径上的点进行修改来更新目标路径,从而呈现出更加准确的目标路径。关于基于交互更新路径的过程将在下文结合图5A至图8B进行详细描述。
图4A至图4B示出了根据本公开的一些实施例的对路径进行呈现的交互示例的示意图。在图4A至图4B中,以图3中呈现的场景120中的目标区域300为例进行描述。在图4A所呈现的目标区域300中,示出了由用户102选择的多个点402、404、406和408。在本文中,由用户102选择的点也被称为路径单点或者道路单点。应理解,图4A中示出的被选择的多个点的示例仅仅是示例性的,而不是限制性的。在其他示例中,用户102可以选择更多的或更少的(至少两个)点,被选择的点可以位于目标区域300内的任意位置。
图4B示出了基于图4A中被选择的多个点402、404、406和408而生成并呈现的目标路径的示意图。例如,可以将由点402和点404限定的分段412作为目标路径的一部分。类似地,可以将由点404和点406限定的分段414以及由点406和点408限定的分段416分别作为目标路径的一部分。换句话说,目标路径可以包括分段412、分段414和分段418。应理解,虽然在图4B的示例中,目标路径中的各个分段被显示为由被选择的点限定的直线,但在一些实施例中,各个分段也可以是由被选择的点限定的具有预定的弧度的曲线。
如前所述,各个点是由用户102选择的。例如,可以通过鼠标点击电子设备110的显示装置(例如,屏幕)上的某个位置或者手指触摸电子设备110的显示装置上的某个位置来选择该位置对应的点。在一些实施例中,可以将被选择的点在呈现场景120的屏幕上的屏幕坐标转换为三维空间中的三维坐标,来确定该点在场景120中的位置。根据各个点在场景120中的位置,可以确定出目标路径。这种由屏幕上的位置点确定出场景中的位置点的方式,也称为基于透视模式的位置点或关键点标注。
具体而言,针对场景120包括利用包围区域(例如,天空盒或天空球或者其他适当的包围区域)进行渲染或绘制的全景鸟瞰场景的示例,各个点的在场景120中的位置坐标可以通过以下方式来被确定。接下来以点402为例描述确定点的位置坐标的过程。首先,获取点402在屏幕上的屏幕坐标。接下来,基于点402的屏幕坐标、场景120的视点坐标(即,相机坐标)以及场景120的包围区域,可以将点402在包围区域上的投影坐标确定为点402的位置坐标。
例如,可以将点402的屏幕坐标转换为场景120所在世界坐标系下的坐标。将从视点(相机位置)出发并朝向点402的世界坐标系下的坐标的射线与场景120的包围区域(例如,立方体的天空盒或球体的天空球,等等)求交点。所获取的交点的坐标位置即可作为点402在场景120中的位置坐标。
通过根据各个点的屏幕位置确定该点在包围区域上的投影坐标,并以投影坐标作为该点的位置坐标,能够避免针对该点与相机的连线求取场景或画布中所有模型的交点坐标,并由此确定出该点的位置坐标。以此方式,能够减少确定位置坐标的计算量。此外,能够利用所获取的投影坐标,而在包围区域上准确地呈现出被选择的各个点,进而呈现出目标路径。
在一些实施例中,电子设备110可以确定被选择的至少两个点中最先被选择的起始点与最后被选择的末尾点之间的距离是否超过距离阈值。换句话说,电子设备110可以确定被选择的起始点与末尾点的位置是否足够接近。如果确定出被选择的起始点与末尾点之间的距离低于距离阈值(也称为吸附距离),即起始点与末尾点的位置很接近,则电子设备110可以基于起始点和末尾点,确定合成点。例如,电子设备110可以将起始点与末尾点合二为一。电子设备110可以将被选择的至少两个点中除起始点与末尾点之外的点按照被选择的顺序彼此相连接,以得到第一路径。电子设备110进而将第一路径的两个端部分别连接到合成点,以生成闭合的目标路径。这种将距离很接近的起始点与末尾点合二为一的方式,能够便于标注或呈现封闭的道路或区域围合(也称为小区围合)。
备选地或附加地,在一些实施例中,还可以在目标路径上生成若干虚拟节点。例如,可以在分段412上生成虚拟节点422。在一些示例中,可以将分段412的中点确定为虚拟节点422。在其他实施例中,可以基于其他预定的规则来生成虚拟节点422。例如,可以将分段412的三分之一位置处确定为虚拟节点422。又如,可以将分段412上距离点402或点404某一预定距离的点确定为虚拟节点422。类似地,可以在分段414上生成虚拟节点424,并且可以在分段416上生成虚拟节点426。
出于解释说明的目的,在每个分段上显示出了一个虚拟节点,但应理解,每个分段上也可以有更多的或更少的虚拟节点,各个分段上的虚拟节点的数目可以不同。例如,如果某个分段的长度较短,则可以不在该分段上设置虚拟节点。又如,如果某个分段的长度很长,则可以在该分段上生成多个虚拟节点。
通过在目标路径上生成虚拟节点,可以使用户通过与虚拟节点交互而更新目标路径,从而提供了用于更新目标路径的更丰富的交互方式。关于通过与虚拟节点的交互而更新目标路径的过程将在下文结合图8A至图8B进行描述。除此之外,用户还可以通过与目标路径上被选择的点进行交互来更新目标路径,该过程将在下文结合图5A至图7B进行描述。
图5A至图5B示出了根据本公开的实施例的用于对呈现的路径进行更新的交互示例的示意图。在图5A至图5B中,以图4B中呈现的目标区域300中的目标路径为例进行描述。在图5A中,电子设备110检测到用户102对点406的移动。箭头510示出了对点406移动的方向和大小。出于解释说明的目的,以箭头510为例示出了对点406的移动,但这仅仅是示例性的。应理解,可以对目标区域300中的各个点,诸如点402、点404、点406和/或点408进行各个方向和大小的移动。
附加地或备选地,如果电子设备110检测到用户102对点406的移动,电子设备110还可以向用户102发出确认指示,以由用户102确认是否要对该点进行移动。以此方式,能够避免因鼠标误点或者手指误触等引起的对点的移动。
图5B示出了基于对点406的由箭头510所示出的移动,而被更新的目标路径。目标路径中由被移动的点406与相邻点404和相邻点406分别限定的分段414和分段416被从目标路径中移除(在图中以虚线表示被移除)。由移动后得到的点512与相邻点404和相邻点406分别限定的新的分段514和分段516被添加到目标路径。备选地或附加地,分段414上的虚拟节点424和分段416上的虚拟节点426也被移除(在图中以虚线表示被移除)。新的分段514上可以形成新的虚拟节点518,并且新的分段516上可以形成新的节点519。
应理解,虽然图5A至图5B中被移动的节点406不位于目标路径的起始点和末尾点处,但在一些实施例中,也可以对目标路径的起始点或末尾点进行移动。在移动起始点或末尾点的示例中,仅一个分段被从目标路径移除,并且仅一个新的分段被添加到目标路径中。
通过这样的方式,用户102可以通过拖拽目标路径上的路径单点来对路径进行修改和优化。这种便捷的交互方式,极大方便了对场景中路径的标注和修改。
图6A至图6B示出了根据本公开的实施例的用于对呈现的路径进行更新的另一交互示例的示意图。在图6A至图6B中,以图4B中呈现的目标区域300中的目标路径为例进行描述。在图6A中,电子设备110检测到用户102对点408的移除。例如,用户102可以用鼠标右击点408,以对其进行移除。又如,用户102可以用手指长按点408,以对其进行移除。以“×”叉形图标610显示出对点408的移除。应理解,虽然图6A中仅示出了对目标路径末尾处的点408的移除,但在其他实施例中,也可以对目标区域300中起始点处的点402进行移除。
附加地或备选地,如果电子设备110检测到用户102对点408的移除,电子设备110还可以向用户102发出确认指示,以由用户102确认是否要对该点进行移除。以此方式,能够避免因鼠标误点或者手指误触等引起的对点的移除。
图6B示出了基于点408被移除后被更新的目标路径。如图所示,目标路径中由被移除的点408与相邻点406限定的分段416被从目标路径中移除(在图中以虚线表示被移除)。在分段416被移除后,点406变为目标路径的末尾点。附加地,分段406上的虚拟节点426也被移除(在图中以虚线表示被移除)。以此方式,可以通过对目标路径的起始点和/或末尾点进行移除来更新目标路径。
备选地或附加地,在其他的实施例中,还可以对目标区域300中除起始点和结尾点处的点进行移除。在这些实施例中,可以将由与被移除的点相邻的两个点限定的分段添加到目标路径中,并且将由被移除的点分别与相邻的两个点限定的分段从目标路径中移除。
图7A至图7B示出了根据本公开的实施例的用于对呈现的路径进行更新的另一交互示例的示意图。在图7A至图7B中,以图4B中呈现的目标区域300中的目标路径为例进行描述。在图7A中,电子设备110检测到用户102对新增的点710的选择。
图7B示出了增加了被选择的点710后被更新的目标路径。如图所示,目标路径中新增了由点408和点710限定的新的分段712。此外,点710变为目标路径的末尾点。附加地,分段712上可以形成新的虚拟节点714。以此方式,可以通过增加新的节点来更新目标路径。
图8A至图8B示出了根据本公开的实施例的用于对呈现的路径进行更新的另一交互示例的示意图。在图8A至图8B中,以图4B中呈现的目标区域300中的目标路径为例进行描述。在图8A中,电子设备110检测到用户102对目标路径的分段416上的虚拟节点426的移动。箭头810示出了对虚拟节点426移动的方向和大小。出于解释说明的目的,以箭头810为例示出了对虚拟节点426的移动,但这仅仅是示例性的。应理解,可以对目标区域300中的各个虚拟节点,诸如虚拟节点422、虚拟节点424和/或虚拟节点426进行各个方向和大小的移动。
附加地或备选地,如果电子设备110检测到用户102对虚拟节点426的移动,电子设备110还可以向用户102发出确认指示,以由用户102确认是否要对该点进行移动。以此方式,能够避免因鼠标误点或者手指误触等引起的对虚拟节点的移动。
图8B示出了基于对虚拟节点426的以箭头810所示出的移动,而被更新的目标路径。如所图示的,被移动的虚拟节点426以及虚拟节点426所位于的分段416被从目标路径中移除。移动后的虚拟节点变为路径单点,即点812。由虚拟节点426的两个相邻点406和408各自与点812限定的分段被添加到目标路径中。换句话说,由点406和点812限定的分段814被添加到目标路径中。类似地,由点408和点812限定的分段816也被添加到目标路径中。备选地或附加地,新的分段814上可以形成新的虚拟节点818,并且新的分段816上可以形成新的节点819。
通过这样的方式,用户102可以通过拖拽目标路径上的虚拟节点来对路径进行修改和优化。此外,在虚拟节点被拖拽后,虚拟节点可以转变为道路单点,并且在新形成的分段上形成新的虚拟节点,以供对路径进行修改和优化。这种便捷的交互方式,极大方便了对场景中路径的修改和优化。例如,可以通过多次拖拽虚拟节点来使目标路径变得更为光滑,即,更加接近光滑的弧形。
以上结合图5A至图8B示出了多种更新目标路径的交互方式。应理解,这些示例交互方式仅仅是示例性的,而不是限制性的。本公开的实施例还可以采用其他适当的交互方式来更新目标路径。虽然在以上描述中,以手指或者鼠标来选择或者拖拽各个点,但这仅仅是示例性的。在一些实施例中,可以使用其他的选择或者拖拽方式,例如,可以采用语音控制、硬件按键控制、手势控制,等等。本公开的实施例在此方面不受限制。
应理解,虽然在图4A至图8B的示例中,均以图3中呈现的目标区域300为例进行了描述。但在一些实施例中,场景120中所呈现的目标区域300可以是不断变化的。例如,可以根据用户102对目标区域300的移动和定位来呈现不同的目标区域。可以在目标区域的移动呈现的过程中,通过选择不同的点来生成并呈现目标路径。此外,可以在目标区域的移动呈现的过程中,通过对各个点和/或各个虚拟节点的修改,来更新目标路径。本公开的实施例在此方面不受限制。
根据本方案,能够根据用户选择的点来生成路径,并且还能够根据用户对被选择的点和/或所生成的虚拟节点的修改,来更新和优化所生成的路径。以此方式,可以采用多种多样的灵活的交互方式来对场景中的道路、小区围合等进行标注并对标注进行修改和完善。这种便捷的交互方式一方面简单易用,不需要具有一定的建模知识即可对场景中的路径进行标注。另一方面,这种方式通过简单的连线即可形成路径,不需要复杂的计算,进而节省了计算资源。
图9示出了根据本公开的某些实施例的用于场景中路径呈现的装置900的示意性结构框图。装置900可以被实现为或者被包括在电子设备110中。装置900中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置900包括场景呈现模块910,被配置为呈现包括目标区域300的场景120。装置900还包括路径呈现模块920,被配置为响应于对目标区域300内的至少两个点的选择,在场景120中呈现目标路径。该目标路径通过被选择的至少两个点。
在一些实施例中,装置900还包括路径生成模块,被配置为通过在场景120中将被选择的至少两个点按照被选择的顺序连接,来生成目标路径。路径呈现模块920可以将生成的目标路径进行呈现。
在一些实施例中,路径生成模块包括距离确定模块和闭合路径生成模块。距离确定模块被配置为确定被选择的至少两个点中最先被选择的起始点与最后被选择的末尾点之间的距离是否超过距离阈值。闭合路径生成模块被配置为响应于距离确定模块确定出起始点与末尾点之间的距离低于距离阈值,基于起始点和末尾点,确定合成点;将被选择的至少两个点中除起始点与末尾点之外的点按照被选择的顺序彼此相连接,以得到第一路径;以及将第一路径的两个端部分别连接到该合成点,以生成闭合的目标路径。
装置900还包括路径更新模块930,被配置为响应于对目标路径上的至少一个目标点的修改,更新目标路径。例如,在一些实施例中,路径更新模块930包括第一路径更新模块。第一路径更新模块被配置为:响应于被选择的至少两个点中的第一点被移动,将目标路径中由第一点和至少一个相邻点限定的至少一个分段从目标路径中移除;以及将由移动后的第一点与至少一个相邻点限定的至少一个分段添加到目标路径。
备选地或附加地,在一些实施例中,路径更新模块930还包括第二路径更新模块。第二路径更新模块被配置为:响应于被选择的至少两个点中位于目标路径的端部的第二点被移除,将目标路径中由第二点与相邻点限定的第一分段从目标路径中移除。
备选地或附加地,在一些实施例中,路径更新模块930还包括第三路径更新模块。第三路径更新模块被配置为:响应于目标路径上由被选择的至少两个点中的两个相邻点限定的第二分段上的虚拟节点被移动,将第二分段从目标路径移除;以及将由两个相邻点各自与移动后的虚拟节点限定的分段添加到目标路径。
在一些实施例中,装置900还包括:坐标确定模块,被配置为针对被选择的至少两个点中的每个点,如下确定该点在场景120中的位置坐标:获取该点在呈现场景120的屏幕上的屏幕坐标;以及基于屏幕坐标、场景120的视点坐标以及场景120的包围区域,将该点在包围区域上的投影坐标确定为该点的位置坐标。
图10示出了示出了其中可以实施本公开的一个或多个实施例的电子设备1000的框图。应当理解,图10所示出的电子设备1000仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图10所示出的电子设备1000可以用于实现图1的电子设备110。
如图10所示,电子设备1000是通用电子设备的形式。电子设备1000的组件可以包括但不限于一个或多个处理器或处理单元1010、存储器1020、存储设备1030、一个或多个通信单元1040、一个或多个输入设备1050以及一个或多个输出设备1060。处理单元1010可以是实际或虚拟处理器并且能够根据存储器1020中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备1000的并行处理能力。
电子设备1000通常包括多个计算机存储介质。这样的介质可以是电子设备1000可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1020可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备1030可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备1000内被访问。
电子设备1000可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图10中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1020可以包括计算机程序产品1025,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元1040实现通过通信介质与其他电子设备进行通信。附加地,电子设备1000的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备1000可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备1050可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1060可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备1000还可以根据需要通过通信单元1040与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备1000交互的设备进行通信,或者与使得电子设备1000与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
Claims (16)
1.一种用于路径呈现的方法,包括:
呈现包括目标区域的场景;
响应于对所述目标区域内的至少两个点的选择,在所述场景中呈现目标路径,所述目标路径通过所述至少两个点;以及
响应于对所述目标路径上的至少一个目标点的修改,更新所述目标路径。
2.根据权利要求1所述的方法,其中更新所述目标路径包括:
响应于被选择的所述至少两个点中的第一点被移动,
将所述目标路径中由所述第一点和至少一个相邻点限定的至少一个分段从所述目标路径中移除;以及
将由移动后的所述第一点与所述至少一个相邻点限定的至少一个分段添加到所述目标路径。
3.根据权利要求1所述的方法,其中更新所述目标路径包括:
响应于被选择的所述至少两个点中位于所述目标路径的端部的第二点被移除,
将所述目标路径中由所述第二点与相邻点限定的第一分段从所述目标路径中移除。
4.根据权利要求1所述的方法,其中更新所述目标路径包括:
响应于所述目标路径上由被选择的所述至少两个点中的两个相邻点限定的第二分段上的虚拟节点被移动,
将所述第二分段从所述目标路径移除;以及
将由所述两个相邻点各自与移动后的所述虚拟节点限定的分段添加到所述目标路径。
5.根据权利要求1所述的方法,还包括:
通过在所述场景中将所述至少两个点按照被选择的顺序连接,来生成所述目标路径。
6.根据权利要求5所述的方法,其中生成所述目标路径包括:
确定所述至少两个点中最先被选择的起始点与最后被选择的末尾点之间的距离是否超过距离阈值;
响应于确定所述距离低于所述距离阈值,
基于所述起始点和所述末尾点,确定合成点;
将所述至少两个点中除所述起始点与所述末尾点之外的点按照被选择的顺序彼此相连接,以得到第一路径;以及
将所述第一路径的两个端部分别连接到所述合成点,以生成闭合的所述目标路径。
7.根据权利要求1所述的方法,还包括:
针对所述至少两个点中的每个点,如下确定所述点在所述场景中的位置坐标:
获取所述点在呈现所述场景的屏幕上的屏幕坐标;以及
基于所述屏幕坐标、所述场景的视点坐标以及所述场景的包围区域,将所述点在所述包围区域上的投影坐标确定为所述点的位置坐标。
8.一种用于路径呈现的装置,包括:
场景呈现模块,被配置为呈现包括目标区域的场景;
路径呈现模块,被配置为响应于对所述目标区域内的至少两个点的选择,在所述场景中呈现目标路径,所述目标路径通过所述至少两个点;以及
路径更新模块,被配置为响应于对所述目标路径上的至少一个目标点的修改,更新所述目标路径。
9.根据权利要求8所述的装置,其中所述路径更新模块包括第一路径更新模块,被配置为:
响应于被选择的所述至少两个点中的第一点被移动,
将所述目标路径中由所述第一点和至少一个相邻点限定的至少一个分段从所述目标路径中移除;以及
将由移动后的所述第一点与所述至少一个相邻点限定的至少一个分段添加到所述目标路径。
10.根据权利要求8所述的装置,其中所述路径更新模块包括第二路径更新模块,被配置为:
响应于被选择的所述至少两个点中位于所述目标路径的端部的第二点被移除,
将所述目标路径中由所述第二点与相邻点限定的第一分段从所述目标路径中移除。
11.根据权利要求8所述的装置,其中所述路径更新模块包括第三路径更新模块,被配置为:
响应于所述目标路径上由被选择的所述至少两个点中的两个相邻点限定的第二分段上的虚拟节点被移动,
将所述第二分段从所述目标路径移除;以及
将由所述两个相邻点各自与移动后的所述虚拟节点限定的分段添加到所述目标路径。
12.根据权利要求8所述的装置,其中所述装置还包括:
路径生成模块,被配置为通过在所述场景中将所述至少两个点按照被选择的顺序连接,来生成所述目标路径。
13.根据权利要求12所述的装置,其中所述路径生成模块包括:
距离确定模块,被配置为确定所述至少两个点中最先被选择的起始点与最后被选择的末尾点之间的距离是否超过距离阈值;以及
闭合路径生成模块,被配置为响应于确定所述距离低于所述距离阈值,
基于所述起始点和所述末尾点,确定合成点;
将所述至少两个点中除所述起始点与所述末尾点之外的点按照被选择的顺序彼此相连接,以得到第一路径;以及
将所述第一路径的两个端部分别连接到所述合成点,以生成闭合的所述目标路径。
14.根据权利要求8所述的装置,其中所述装置还包括:
坐标确定模块,被配置为针对所述至少两个点中的每个点,如下确定所述点在所述场景中的位置坐标:
获取所述点在呈现所述场景的屏幕上的屏幕坐标;以及
基于所述屏幕坐标、所述场景的视点坐标以及所述场景的包围区域,将所述点在所述包围区域上的投影坐标确定为所述点的位置坐标。
15.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述设备执行根据权利要求1至7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序可由处理器执行以实现根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210806698.0A CN115089965A (zh) | 2022-07-08 | 2022-07-08 | 用于场景中的路径呈现的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210806698.0A CN115089965A (zh) | 2022-07-08 | 2022-07-08 | 用于场景中的路径呈现的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115089965A true CN115089965A (zh) | 2022-09-23 |
Family
ID=83296353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210806698.0A Pending CN115089965A (zh) | 2022-07-08 | 2022-07-08 | 用于场景中的路径呈现的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115089965A (zh) |
-
2022
- 2022-07-08 CN CN202210806698.0A patent/CN115089965A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11511188B2 (en) | Virtual scene recognition and interaction key position matching method for application and computing device | |
US20220249949A1 (en) | Method and apparatus for displaying virtual scene, device, and storage medium | |
JP7258078B2 (ja) | 実景ナビゲーションアイコン表示方法、装置、機器及び媒体 | |
CN103946836A (zh) | 使用非光栅地图数据的修改来渲染地图图像 | |
CN110648363A (zh) | 相机姿态确定方法、装置、存储介质及电子设备 | |
KR20200106754A (ko) | 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램 | |
CN114648615B (zh) | 目标对象交互式重现的控制方法、装置、设备及存储介质 | |
CN108763511B (zh) | 页面中图层排版方法、装置、电子设备及存储介质 | |
CN107978018B (zh) | 立体图形模型的构建方法、装置、电子设备及存储介质 | |
CN110895823B (zh) | 一种三维模型的纹理获取方法、装置、设备及介质 | |
US10573033B2 (en) | Selective editing of brushstrokes in a digital graphical image based on direction | |
CN111739134B (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
CN112419430B (zh) | 动画播放方法、装置及计算机设备 | |
CN113034582A (zh) | 位姿优化装置及方法、电子设备及计算机可读存储介质 | |
CN117078888A (zh) | 虚拟角色的服装生成方法、装置、介质及电子设备 | |
CN115089965A (zh) | 用于场景中的路径呈现的方法、装置、设备和存储介质 | |
CN115311397A (zh) | 用于图像渲染的方法、装置、设备和存储介质 | |
CN115619904A (zh) | 图像处理方法、装置及设备 | |
CN112686806B (zh) | 图像拼接方法及装置、电子设备、存储介质 | |
CN112529984B (zh) | 绘制多边形的方法、装置、电子设备及存储介质 | |
CN108553900A (zh) | 一种基于ue引擎的可叠加存储反复使用的方法 | |
US10909769B1 (en) | Mixed reality based 3D sketching device and method | |
CN114937059A (zh) | 显示对象的运动控制方法及设备 | |
CN112685279B (zh) | 脚本录制方法、装置、终端设备 | |
CN110168601B (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 | ||
CB02 | Change of applicant information |
Address after: Room 802, Information Building, 13 Linyin North Street, Pinggu District, Beijing, 101299 Applicant after: Beijing youzhuju Network Technology Co.,Ltd. Address before: 101299 Room 802, information building, No. 13, linmeng North Street, Pinggu District, Beijing Applicant before: Beijing youzhuju Network Technology Co.,Ltd. |
|
CB02 | Change of applicant information |