CN108984262A - 三维指针的创建方法、装置及电子设备 - Google Patents

三维指针的创建方法、装置及电子设备 Download PDF

Info

Publication number
CN108984262A
CN108984262A CN201810766914.7A CN201810766914A CN108984262A CN 108984262 A CN108984262 A CN 108984262A CN 201810766914 A CN201810766914 A CN 201810766914A CN 108984262 A CN108984262 A CN 108984262A
Authority
CN
China
Prior art keywords
coordinate
pointer
dimensional
dimentional
dimensional object
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.)
Granted
Application number
CN201810766914.7A
Other languages
English (en)
Other versions
CN108984262B (zh
Inventor
陆小松
唐偲偲
张涛
蒲天发
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Vision Optoelectronics Co Ltd
Original Assignee
Ningbo Vision Optoelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Vision Optoelectronics Co Ltd filed Critical Ningbo Vision Optoelectronics Co Ltd
Priority to CN201810766914.7A priority Critical patent/CN108984262B/zh
Publication of CN108984262A publication Critical patent/CN108984262A/zh
Application granted granted Critical
Publication of CN108984262B publication Critical patent/CN108984262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本发明提供了一种三维指针的创建方法、装置及电子设备,其中,该方法包括:当监测到用户的指针操作时,获取指针操作对应的二维指针的坐标;获取立体显示界面上的三维对象的坐标;基于二维指针的坐标与三维对象的坐标进行插值计算,确定待创建的三维指针的坐标;根据三维指针的坐标,在立体显示界面上创建三维指针。本发明能够根据插值计算确定三维指针坐标,改变指针与三维对象的遮挡关系和视差关系,缓解立体视觉线索冲突,减少用户的眩晕感,提高用户使用立体显示装置的舒适度。

Description

三维指针的创建方法、装置及电子设备
技术领域
本发明涉及三维图像领域,尤其是涉及一种三维指针的创建方法、装置及电子设备。
背景技术
虚拟现实、裸眼3D(Three-Dimensional,三维图像)等技术已经逐步发展,在立体显示装置上显示3D对象,在视觉上将会有凸出屏幕的效果。但是在立体显示装置中的指针图形往往是2D(Two-Dimensional,二维图像)图像。当指针图形在立体显示装置上显示时,在遮挡关系上,指针图形比立体显示装置上显示的3D对象更靠近人眼;在视差关系上,指针图形比立体显示装置上显示的3D对象更远离人眼,由于遮挡关系与视差关系的不一致,因此会产生立体视觉线索冲突,导致用户产生眩晕的感觉。
发明内容
有鉴于此,本发明的目的在于提供一种三维指针的创建方法、装置及电子设备,能够使立体显示装置显示指针图形时,缓解因立体视觉线索冲突导致的用户眩晕感觉,提高用户的使用舒适度。
第一方面,本发明实施例提供了一种三维指针的创建方法,该方法包括:当监测到用户的指针操作时,获取指针操作对应的二维指针的坐标;获取立体显示界面上的三维对象的坐标;基于二维指针的坐标与三维对象的坐标进行插值计算,确定待创建的三维指针的坐标;根据三维指针的坐标,在立体显示界面上创建三维指针。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述获取立体显示界面上的三维对象的坐标的方法,包括:基于二维指针向外发射多条射线;检测每条射线的碰撞结果;其中,碰撞结果包括射线与三维对象发生碰撞时的碰撞点坐标;根据碰撞结果确定立体显示界面上的三维对象的坐标。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述根据碰撞结果确定立体显示界面上的三维对象的坐标的步骤,包括:根据每个碰撞点坐标与二维指针的坐标,计算每个碰撞点与二维指针之间的距离;确定目标碰撞点;其中,目标碰撞点与二维指针之间的距离符合预设距离范围;将目标碰撞点的坐标确定为立体显示界面上的三维对象的坐标。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述获取立体显示界面上的三维对象的坐标方法,包括:获取立体显示界面上的所有三维对象的坐标;计算各三维对象的坐标与二维指针的坐标之间的距离;获取距离最小值对应的三维对象的坐标。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述基于二维指针的坐标与三维对象的坐标进行插值计算,确定待创建的三维指针的坐标的步骤,包括:获取预先设置的插值,计算插值与二维指针的坐标的乘积,得到第一乘积值;其中,插值的取值上限为第一预设值,插值的取值下限为第二预设值;计算第一预设值与插值之间的差值;计算差值与三维对象的坐标的乘积,得到第二乘积值;求取第一乘积值与第二乘积值的和值,将和值确定为待创建的三维指针的坐标。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,根据三维指针的坐标,在立体显示界面上创建三维指针的步骤,包括:基于三维指针的坐标创建三维指针对象;通过图形渲染流水线操作,生成与三维指针对象对应的三维指针图形;在立体显示界面上显示三维指针图形。
第二方面,本发明实施例还提供一种三维指针的创建装置,该装置包括:监测模块,用于当监测到用户的指针操作时,获取指针操作对应的二维指针的坐标;坐标获取模块,用于获取立体显示界面上的三维对象的坐标;计算模块,用于基于二维指针的坐标与三维对象的坐标进行插值计算,确定待创建的三维指针的坐标;创建模块,用于根据三维指针的坐标,在立体显示界面上创建三维指针。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述坐标获取模块包括:发射单元,用于基于二维指针向外发射多条射线;检测单元,用于检测每条射线的碰撞结果;其中,碰撞结果包括射线与三维对象发生碰撞时的碰撞点坐标;确定单元,用于根据碰撞结果确定立体显示界面上的三维对象的坐标。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,其中,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面至第一方面的第五种可能的实施方式任一项方法的程序。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,其中,程序代码使处理器执行如第一方面至第一方面的第五种可能的实施方式任一项装置所用的计算机软件指令。
本发明实施例带来了以下有益效果:
本发明实施例提供的三维指针创建方法、装置及电子设备,当监测到用户的指针操作时,获取此时指针操作对应的二维指针坐标,并选取符合预设要求的三维对象坐标,对上述二维指针坐标与上述三维对象坐标进行插值计算,得到三维指针坐标,根据此三维指针坐标在立体显示界面上创建可被人眼察觉的三维指针。这种方式根据插值计算确定三维指针坐标,改变指针与三维对象的遮挡关系和视差关系,缓解立体视觉线索冲突,减少用户的眩晕感,提高用户使用立体显示装置的舒适度。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种三维指针创建方法的流程图;
图2为本发明实施例提供的另一种三维指针创建方法的流程图;
图3为本发明实施例提供的一种三维指针创建装置的结构框图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前在立体显示装置的应用中,立体显示界面显示的三维对象与二维指针存在遮挡关系与视差关系不一致的现象,即在遮挡关系上二维指针比三维对象更靠近人眼,在视觉关系上二维指针比三维对象更远离人眼,这将会产生立体视觉线索冲突,从而使用户产生眩晕的感觉。
基于此,本发明实施例提供的一种三维指针的创建方法、装置及电子设备,能够缓解由于立体视觉线索冲突导致用户产生的眩晕,提高用户使用立体显示装置的舒适度。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种三维指针的创建方法进行详细介绍,参见图1所示的一种三维指针创建方法的流程图,该方法应用于立体显示装置,包括以下步骤:
步骤S102,当监测到用户的指针操作时,获取指针操作对应的二维指针的坐标。
立体显示装置与指针设备相连,获取指针设备输入的二维指针,并在立体显示界面上显示。其中,上述立体显示装置为三维立体显示装置,用于显示三维对象,诸如,以3D形式显示的图形、视频以及3D游戏等;上述指针设备可以为轨迹球和鼠标等设备,用于对立体显示装置进行操作,例如移动二维指针等。
当监测到用户的指针操作时,获取此指针操作对应的二维指针的坐标,并将二维指针的图形隐藏。例如,当监测到二维指针移动时,实时获取该二维指针的移动坐标。
以鼠标指针设备为例,可以采用如下方法实时获取鼠标指针坐标:
方法一:消息处理方式,利用MFC消息映射机制响应消息,在响应代码中获取二维指针实时坐标,其中,MFC消息映射机制包含消息与消息处理函数一一对应的消息映射表、消息处理函数的声明和消息处理函数的实现代码等。当接收到WM_MOUSEMOVE消息时,会到消息映射表中查找WM_MOUSEMOVE消息对应的消息处理函数,然后由消息处理函数进行相应的处理;WM_MOUSEMOVE用于检测鼠标指针的坐标。
方法二,定时器方式,利用计时器响应WM_MOUSEMOVE函数代码,间隔一段时间取出该时间内的二维指针坐标。
步骤S104,获取立体显示界面上的三维对象的坐标。
立体显示界面上存在至少一个三维对象,最终选取合适位置上的三维对象,并获取上述选定的三维对象的坐标;其中,三维对象的坐标可以是距离二维指针最近的三维对象的坐标,也可以是其他位置上的三维对象的坐标。
步骤S106,基于二维指针的坐标与三维对象的坐标进行插值计算,确定待创建的三维指针的坐标。
对二维指针坐标与三维对象坐标进行插值计算,改变指针的坐标位置,插值计算结果即为待创建的三维指针坐标。另外,插值选取的不同,会使三维指针与三维对像的相对距离不同,当两者相对距离较大时,在立体显示界面上会显示出三维指针与三维对象之间较为明显的间隔。考虑到三维指针与三维对象距离过大时,人眼在判断三维指针所指三维对象时会产生一定程度上的视觉误差,因此优选的,选取适当的插值使计算得到的三维指针坐标与三维对象之间保持较小的距离。其中,上述插值计算方法可以采用Lagrange插值计算、Newton插值计算、Hermite插值计算或分段插值计算等插值计算方法。
步骤S108,根据三维指针的坐标,在立体显示界面上创建三维指针。
在上述三维指针的坐标处创建三维指针,并将其显示在立体显示界面。其中,可以通过图像渲染流水线的方法生成三维指针图形。因为生成的指针图形为三维对象,在立体显示装置上显示时,会有凸出屏幕的效果,在遮挡关系和视差关系上,三维指针与三维对象相比,三维指针均更靠近人眼,所以可以缓解因立体视觉线索冲突产生的眩晕感。
本发明实施例提供的三维指针创建方法,当监测到用户的指针操作时,获取此时指针操作对应的二维指针坐标,并选取符合预设要求的三维对象坐标,对上述二维指针坐标与上述三维对象坐标进行插值计算,得到三维指针坐标,根据此三维指针坐标在立体显示界面上创建可被人眼察觉的三维指针。这种方式根据插值计算确定三维指针坐标,改变二维指针与三维对象的遮挡关系和视差关系,缓解立体视觉线索冲突,减少用户的眩晕感,提高用户使用立体显示装置的舒适度。
考虑到在立体显示界面内存在至少一个三维对象,所以获取立体显示界面上的三维对象的坐标时,可以具体包括:在上述二维指针坐标处设置虚拟相机,该虚拟相机向四周发射射线,并接收射线与三维对象的碰撞结果,根据碰撞结果选取需要的三维对象坐标。为便于理解,本发明实施例提供了另一种三维指针的创建方法,参见图2,该方法具体包括以下步骤:
步骤S202,当监测到用户的指针操作时,获取指针操作对应的二维指针的坐标。
步骤S204,基于二维指针向外发射多条射线。
在上述二维指针坐标处设置虚拟相机,该虚拟相机向四周发射多条射线。其中,发射的上述射线会与三维对象发生碰撞,不同三维对象与上述射线发生碰撞后得到的碰撞结果不相同。
步骤S206,检测每条射线的碰撞结果。
其中,碰撞结果包括射线与三维对象发生碰撞时的碰撞点坐标。上述射线与三维对象发生碰撞后得到碰撞点的相关信息,即碰撞点的坐标信息,检测每条射线与三维对象的碰撞点,读取碰撞点的坐标信息并将其保存至本地。优选的,为减少存储空间占用,可以在确定三维指针坐标后清除本地碰撞点坐标信息。
步骤S208,根据每个碰撞点坐标与二维指针的坐标,计算每个碰撞点与二维指针之间的距离。
另外,还可以计算每个碰撞点与二维指针坐标连线与三维坐标系之间的夹角,当有两个或多个碰撞点与二维指针之间的距离相等时,可以通过判断夹角在上述碰撞点之间进行选择。
步骤S210,确定目标碰撞点。
其中,目标碰撞点与二维指针之间的距离符合预设距离范围。根据上述碰撞点与二维指针之间的距离选取目标碰撞点,例如,可以选取碰撞点与二维指针之间距离最小的碰撞点作为目标碰撞点,或者可以选取两者距离为某预设值时对应的碰撞点作为目标碰撞点。
在一种实施方式中,选取碰撞点与二维指针之间距离最小时的碰撞点为目标碰撞点,当有两个或多个碰撞点与二维指针之间的距离均为最小值时,可以通过判断上述夹角选取为目标碰撞点;其中,上述夹角需符合预设夹角范围。例如,以碰撞点与二维指针之间距离最小且与三维坐标系之间夹角最小作为目标碰撞点的选取规则,且碰撞点A、碰撞点B和碰撞点C与二维指针之间的关系如下,碰撞点A与二维指针相距为1,与三维坐标系X轴的夹角为90°;碰撞点B与二维指针相距为1,与三维坐标系X轴的夹角为0°;碰撞点C与二维指针相距为2,与三维坐标系X轴的夹角为0°,此时通过对比碰撞点与二维指针之间的距离,可以在碰撞点A和碰撞点B之间选择目标碰撞点,因碰撞点A和碰撞点B与二维指针的距离均为1,所以判断碰撞点A和碰撞点B与三维坐标系之间的夹角,最终选择碰撞点B作为目标碰撞点。
步骤S212,将目标碰撞点的坐标确定为立体显示界面上的三维对象的坐标。
步骤S214,获取预先设置的插值,计算插值与二维指针的坐标的乘积,得到第一乘积值。
其中,插值的取值上限为第一预设值,插值的取值下限为第二预设值。例如,上述插值设置为在0至1内任意数字,即第一预设插值为1,第二预设插值为0。
步骤S216,计算第一预设值与插值之间的差值。
步骤S218,计算差值与三维对象的坐标的乘积,得到第二乘积值。
步骤S220,求取第一乘积值与第二乘积值的和值,将和值确定为待创建的三维指针的坐标。
为便于理解,将上述上诉插值计算表示为:
cur.position=camera.position*alpha+target.position*(1-alpha),
其中,alpha为预先设置的插值,为0至1内任意数字,cur.position为待创建的三维指针坐标,camera.position为目标碰撞点坐标,target.position为二维指针坐标,改变上述预先设置的插值、目标碰撞点坐标、二维指针坐标,均会改变待创建的三维指针坐标。
步骤S222,基于三维指针的坐标创建三维指针对象。
在上述三维指针的坐标处创建三维指针对象,该三维指针对象可以被上述虚拟相机识别和获取。
步骤S224,通过图形渲染流水线操作,生成与三维指针对象对应的三维指针图形。
其中,图形渲染流水线可以为可编程图形渲染流水线和固定图形渲染流水线,用于根据上述三维指针对象生成可以被立体显示界面显示的三维指针图像。
步骤S226,在立体显示界面上显示三维指针图形。
本发明实施例提供的三维指针创建方法,当监测到用户的指针操作时,获取此时指针操作对应的二维指针坐标,在上述二维指针坐标处设置虚拟相机并向四周发射射线,根据射线与三维对象的碰撞结果选取符合预设要求的三维对象坐标,对上述二维指针坐标与上述三维对象坐标进行插值计算,得到三维指针坐标,根据此三维指针坐标创建可被人眼察觉的三维指针对象并将其显示在立体显示界面上。这种方式根据插值计算确定三维指针坐标,改变二维指针与三维对象的遮挡关系和视差关系,缓解立体视觉线索冲突,减少用户的眩晕感,提高用户使用立体显示装置的舒适度。
另外,上述获取立体显示界面上的三维对象的坐标方法,还可以使用如下方法,获取立体显示界面上的所有三维对象的坐标;计算各三维对象的坐标与二维指针的坐标之间的距离;获取距离最小值对应的三维对象的坐标。例如,当该三维指针生成方法应用在三维游戏时,遍历此时立体显示界面内显示的所有三维对象,并得到所有三维对象的坐标,计算三维对象坐标与上述二维指针坐标之间的距离,选取符合预先设置距离范围的坐标。
在前述三维指针创建方法的基础上,参见图3所示的三维指针创建装置的结构框图,该装置包括如下部分:
监测模块302,用于当监测到用户的指针操作时,获取指针操作对应的二维指针的坐标;
坐标获取模块304,用于获取立体显示界面上的三维对象的坐标;
计算模块306,用于基于二维指针的坐标与三维对象的坐标进行插值计算,确定待创建的三维指针的坐标;
创建模块308,用于根据三维指针的坐标,在立体显示界面上创建三维指针。
其中,坐标获取模块304还包括以下单元,例如,用于基于二维指针向外发射多条射线的发射单元;用于检测每条射线的碰撞结果的检测单元;其中,碰撞结果包括射线与三维对象发生碰撞时的碰撞点坐标;用于根据碰撞结果确定立体显示界面上的三维对象的坐标的确定单元。
本发明实施例提供的三维指针创建装置,当监测模块监测到用户的指针操作时,获取此时指针操作对应的二维指针坐标,坐标获取模块选取符合预设要求的三维对象坐标,计算模块对上述二维指针坐标与上述三维对象坐标进行插值计算,得到三维指针坐标,创建模块根据此三维指针坐标在立体显示界面上创建可被人眼察觉的三维指针。这种装置根据插值计算确定三维指针坐标,改变二维指针与三维对象的遮挡关系和视差关系,缓解立体视觉线索冲突,减少用户的眩晕感,提高用户使用立体显示装置的舒适度。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
该设备为一种电子设备,该电子设备即为前述立体显示装置,包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上述实施方式的任一项所述的方法。
图4为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的三维指针生成方法、装置及电子设备的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统具体工作过程,可以参考前述实施例中的对应过程,在此不再赘述。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种三维指针的创建方法,其特征在于,所述方法包括:
当监测到用户的指针操作时,获取所述指针操作对应的二维指针的坐标;
获取立体显示界面上的三维对象的坐标;
基于所述二维指针的坐标与所述三维对象的坐标进行插值计算,确定待创建的三维指针的坐标;
根据所述三维指针的坐标,在所述立体显示界面上创建所述三维指针。
2.根据权利要求1所述的方法,其特征在于,所述获取所述立体显示界面上的三维对象的坐标的方法,包括:
基于所述二维指针向外发射多条射线;
检测每条所述射线的碰撞结果;其中,所述碰撞结果包括所述射线与三维对象发生碰撞时的碰撞点坐标;
根据所述碰撞结果确定所述立体显示界面上的三维对象的坐标。
3.根据权利要求2所述的方法,其特征在于,所述根据所述碰撞结果确定所述立体显示界面上的三维对象的坐标的步骤,包括:
根据每个所述碰撞点坐标与所述二维指针的坐标,计算每个所述碰撞点与所述二维指针之间的距离;
确定目标碰撞点;其中,所述目标碰撞点与所述二维指针之间的距离符合预设距离范围;
将所述目标碰撞点的坐标确定为所述立体显示界面上的三维对象的坐标。
4.根据权利要求1所述的方法,其特征在于,所述获取所述立体显示界面上的三维对象的坐标方法,包括:
获取所述立体显示界面上的所有三维对象的坐标;
计算各所述三维对象的坐标与所述二维指针的坐标之间的距离;
获取距离最小值对应的三维对象的坐标。
5.根据权利要求1所述的方法,其特征在于,所述基于所述二维指针的坐标与所述三维对象的坐标进行插值计算,确定待创建的三维指针的坐标的步骤,包括:
获取预先设置的插值,计算所述插值与所述二维指针的坐标的乘积,得到第一乘积值;其中,所述插值的取值上限为第一预设值,所述插值的取值下限为第二预设值;
计算所述第一预设值与所述插值之间的差值;
计算所述差值与所述三维对象的坐标的乘积,得到第二乘积值;
求取所述第一乘积值与所述第二乘积值的和值,将所述和值确定为待创建的所述三维指针的坐标。
6.根据权利要求1所述的方法,其特征在于,所述根据所述三维指针的坐标,在所述立体显示界面上创建所述三维指针的步骤,包括:
基于所述三维指针的坐标创建三维指针对象;
通过图形渲染流水线操作,生成与所述三维指针对象对应的三维指针图形;
在所述立体显示界面上显示所述三维指针图形。
7.一种三维指针的创建装置,其特征在于,所述装置包括:
监测模块,用于当监测到用户的指针操作时,获取所述指针操作对应的二维指针的坐标;
坐标获取模块,用于获取立体显示界面上的三维对象的坐标;
计算模块,用于基于所述二维指针的坐标与所述三维对象的坐标进行插值计算,确定待创建的三维指针的坐标;
创建模块,用于根据所述三维指针的坐标,在所述立体显示界面上创建所述三维指针。
8.根据权利要求7所述的装置,其特征在于,所述坐标获取模块包括:
发射单元,用于基于所述二维指针向外发射多条射线;
检测单元,用于检测每条所述射线的碰撞结果;其中,所述碰撞结果包括所述射线与三维对象发生碰撞时的碰撞点坐标;
确定单元,用于根据所述碰撞结果确定所述立体显示界面上的三维对象的坐标。
9.一种电子设备,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至6任一项所述的方法的步骤。
CN201810766914.7A 2018-07-12 2018-07-12 三维指针的创建方法、装置及电子设备 Active CN108984262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810766914.7A CN108984262B (zh) 2018-07-12 2018-07-12 三维指针的创建方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810766914.7A CN108984262B (zh) 2018-07-12 2018-07-12 三维指针的创建方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108984262A true CN108984262A (zh) 2018-12-11
CN108984262B CN108984262B (zh) 2021-04-13

Family

ID=64537110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810766914.7A Active CN108984262B (zh) 2018-07-12 2018-07-12 三维指针的创建方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108984262B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114373064A (zh) * 2021-12-14 2022-04-19 聚好看科技股份有限公司 一种vrar内容编辑方法、装置、设备及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002541600A (ja) * 1999-04-09 2002-12-03 株式会社ソニー・コンピュータエンタテインメント 透視変換する装置及び方法
CN1910543A (zh) * 2004-10-12 2007-02-07 日本电信电话株式会社 三维指示方法、三维显示控制方法、三维指示装置、三维显示控制装置、三维指示程序、以及三维显示控制程序
CN102799378A (zh) * 2012-07-13 2012-11-28 Tcl集团股份有限公司 一种立体碰撞检测物体拾取方法及装置
US8493389B2 (en) * 2006-09-29 2013-07-23 Koninklijke Philips Electronics N.V. 3D connected shadow mouse pointer
CN103500467A (zh) * 2013-10-21 2014-01-08 深圳市易尚展示股份有限公司 基于图像的三维模型构成方法
CN104794758A (zh) * 2015-04-17 2015-07-22 青岛海信医疗设备股份有限公司 一种三维图像的裁剪方法
US9305398B2 (en) * 2010-10-08 2016-04-05 City University Of Hong Kong Methods for creating and displaying two and three dimensional images on a digital canvas
US9305386B2 (en) * 2012-02-17 2016-04-05 Autodesk, Inc. Editable motion trajectories
CN107203672A (zh) * 2017-06-08 2017-09-26 爱佩仪中测(成都)精密仪器有限公司 基于matlab的非均布三维测量数据处理方法
CN107392888A (zh) * 2017-06-16 2017-11-24 福建天晴数码有限公司 一种基于Unity引擎的距离测试方法及系统
US20180101932A1 (en) * 2016-10-11 2018-04-12 The Boeing Company System and method for upsampling of sparse point cloud for 3d registration

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002541600A (ja) * 1999-04-09 2002-12-03 株式会社ソニー・コンピュータエンタテインメント 透視変換する装置及び方法
CN1910543A (zh) * 2004-10-12 2007-02-07 日本电信电话株式会社 三维指示方法、三维显示控制方法、三维指示装置、三维显示控制装置、三维指示程序、以及三维显示控制程序
US8493389B2 (en) * 2006-09-29 2013-07-23 Koninklijke Philips Electronics N.V. 3D connected shadow mouse pointer
US9305398B2 (en) * 2010-10-08 2016-04-05 City University Of Hong Kong Methods for creating and displaying two and three dimensional images on a digital canvas
US9305386B2 (en) * 2012-02-17 2016-04-05 Autodesk, Inc. Editable motion trajectories
CN102799378A (zh) * 2012-07-13 2012-11-28 Tcl集团股份有限公司 一种立体碰撞检测物体拾取方法及装置
CN103500467A (zh) * 2013-10-21 2014-01-08 深圳市易尚展示股份有限公司 基于图像的三维模型构成方法
CN104794758A (zh) * 2015-04-17 2015-07-22 青岛海信医疗设备股份有限公司 一种三维图像的裁剪方法
US20180101932A1 (en) * 2016-10-11 2018-04-12 The Boeing Company System and method for upsampling of sparse point cloud for 3d registration
CN107203672A (zh) * 2017-06-08 2017-09-26 爱佩仪中测(成都)精密仪器有限公司 基于matlab的非均布三维测量数据处理方法
CN107392888A (zh) * 2017-06-16 2017-11-24 福建天晴数码有限公司 一种基于Unity引擎的距离测试方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114373064A (zh) * 2021-12-14 2022-04-19 聚好看科技股份有限公司 一种vrar内容编辑方法、装置、设备及介质

Also Published As

Publication number Publication date
CN108984262B (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
US11842438B2 (en) Method and terminal device for determining occluded area of virtual object
US9050538B2 (en) Collision detection and motion simulation in game virtual space
CN1307510C (zh) 确定预定义屏幕上目标点的位置的方法
CN107787497B (zh) 用于在基于用户的空间坐标系中检测手势的方法和装置
CN109375618A (zh) 清洁机器人的导航避障方法及终端设备
US20110096072A1 (en) Three-dimensional space interface apparatus and method
CN105913478A (zh) 360度全景显示方法、显示模块及移动终端
KR101732839B1 (ko) 컨텐츠 전달의 세그먼테이션
CN103157281B (zh) 一种二维游戏场景显示的方法和设备
US20160119615A1 (en) Three dimensional data visualization
WO2012171138A1 (en) Camera registration and video integration in 3-d geometry model
CN110210141A (zh) 基于bim技术的模型碰撞检测方法、装置及电子设备
US20100271369A1 (en) Curved surface rendering system and method
CN108882156A (zh) 一种校准定位基站坐标系的方法及装置
US11120629B2 (en) Method and device for providing augmented reality, and computer program
CN109933190B (zh) 一种头戴显示设备及其交互方法
CN108984262A (zh) 三维指针的创建方法、装置及电子设备
CN106131533A (zh) 一种图像显示方法和终端
US9454554B1 (en) View dependent query of multi-resolution clustered 3D dataset
CN109029443A (zh) 一种虚拟环境中的位置确定方法及装置
CN106569654A (zh) 一种虚拟现实界面显示方法及虚拟现实设备
JP2015529914A5 (zh)
CN111080781A (zh) 一种三维地图显示方法及移动终端
CN108306752B (zh) 网络拓扑可视化的实现方法及装置
CN115984324A (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