CN104134235A - 真实空间和虚拟空间的融合方法和融合*** - Google Patents

真实空间和虚拟空间的融合方法和融合*** Download PDF

Info

Publication number
CN104134235A
CN104134235A CN201410360771.1A CN201410360771A CN104134235A CN 104134235 A CN104134235 A CN 104134235A CN 201410360771 A CN201410360771 A CN 201410360771A CN 104134235 A CN104134235 A CN 104134235A
Authority
CN
China
Prior art keywords
component
point
coordinate position
broadcast window
virtual space
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
CN201410360771.1A
Other languages
English (en)
Other versions
CN104134235B (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.)
SuperD Co Ltd
Original Assignee
Shenzhen Super Perfect Optics 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 Shenzhen Super Perfect Optics Ltd filed Critical Shenzhen Super Perfect Optics Ltd
Priority to CN201410360771.1A priority Critical patent/CN104134235B/zh
Publication of CN104134235A publication Critical patent/CN104134235A/zh
Application granted granted Critical
Publication of CN104134235B publication Critical patent/CN104134235B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提出了一种真实空间和虚拟空间的融合方法和一种真实空间和虚拟空间的融合***,其中,所述真实空间和虚拟空间的融合方法包括:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。通过本发明的技术方案,可以解决虚拟模型与真实物***置之间的对应关系,正确地计算出虚拟物体对接点q与真实物体对接点p在观看时的位置关系,并实现真实物体与虚拟物体的融合,也便于对虚拟空间中的物体进行进一步的操作。

Description

真实空间和虚拟空间的融合方法和融合***
技术领域
本发明涉及图像显示技术领域,具体而言,涉及到一种真实空间和虚拟空间的融合方法和真实空间和虚拟空间的融合***。
背景技术
以计算机软件技术为依托的虚拟现实技术包括多个细分领域的应用,如体感技术、实拍、虚拟三维场景融合技术等。伴随着立体显示技术的发展与成熟产生了许多与立体显示有关的应用。如真实物体与渲染出的虚拟物体相融合的应用。
关于这种应用,一个基本想法是观看立体时,在视觉上,可以实现真实物体和虚拟物体无缝对接,以根据真实物体在虚拟场景中的位置实现对虚拟空间中的虚拟物体的各种操作。例如,我们观看立体画面时,用一支笔点在立体屏幕上,这时,可以通过在虚拟场景中渲染这支虚拟的笔与真实的笔之间的一致的位置关系,进而判断虚拟场景中虚拟笔与其它虚拟物体的位置关系,以便于进一步操作。
因此,为了实现真实物体与虚拟物体的融合,如何解决虚拟模型与真实物***置之间的对应关系,正确地计算出虚拟物体对接点q与真实物体对接点p在观看时的位置关系,成为目前亟待解决的技术问题。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种真实空间和虚拟空间的融合方法。
本发明的另一个目的在于提出了一种真实空间和虚拟空间的融合***。
为实现上述目的,根据本发明的第一方面的实施例,提出了一种真实空间和虚拟空间的融合方法,包括:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
在上述技术方案中,优选地,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置,具体包括:获取所述真实空间中观看者的双眼位置;根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在该技术方案中,通过三个点(多个点中的任一点以及双眼的位置)的真实空间坐标位置可以准确地确定出任一点在立体播放窗口的实际坐标位置,进而可以基于任一点的投影坐标位置准确地确定出任一点在虚拟空间内对应的目标坐标位置。其中,观看者的双眼位置也可以通过多种技术手段获得,如利用陀螺仪、深度摄像头等装置。
其中,任一点的投影坐标位置为由眼睛中心位置到该点的连接线段所在的直线与窗口相交的位置。
在上述技术方案中,优选地,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置,具体包括:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
在该技术方案中,由于观看者的左眼和右眼在看同一点时,得到点的坐标位置不同,而通过第一预设公式、第二预设公式和第三预设公式就可以分别计算出左眼和右眼在观看同一点时,该点在立体播放窗口上对应的坐标的X分量和Y分量,进而确定该点在立体播放窗口的第一坐标位置和第二坐标位置。
其中,假设左眼和右眼的高度相同,因此,左眼和右眼在观看同一点时,该点在立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,具体包括:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
在该技术方案中,根据任一点在视平面上对应的第三坐标位置和第四坐标位置的视差值,以及原始相机的当前参数,通过第七预设公式可以直接计算出任一点在虚拟空间中的深度值z,在得到深度值z时,就可以根据第八预设公式和第九预设公式进一步计算出任一点的X分量和Y分量,从而确定任一点在虚拟空间中的目标坐标位置。
具体地,可以按照上述任一点的目标坐标位置的计算过程,计算得到真实空间的多个点中,每个点在虚拟空间中对应的目标坐标位置,进而进行后续的模型选择位置的指定及与虚拟空间中其他物体的碰撞检测等操作。
在上述技术方案中,优选地,还包括:设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
在该技术方案中,在计算所述目标坐标位置时,需要先建立一个真实显示空间坐标系,即以立体显示设备的播放窗口所在平面为真实空间中的XY平面,以窗口中心位置为原点,且Z轴的方向垂直于所述XY平面,其中,当Z轴垂直于XY屏幕里向里时,建立的坐标系为左手系(常用的底层驱动是direct3d),当Z轴垂直于XY屏幕里向外时,建立的坐标系为右手系(常用的底层驱动是OpenGL)。当然,当建立左手系坐标时,从真实显示空间坐标系转化到虚拟空间坐标系变换公式会更加简洁。
根据本发明的另一个实施例,提出了一种真实空间和虚拟空间的融合***,包括:获取单元,获取真实空间中多个点的真实空间坐标位置;确定单元,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;处理单元,根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
在上述技术方案中,优选地,所述获取单元还用于:获取所述真实空间中观看者的双眼位置;所述确定单元包括:第一位置确定单元,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置;第二位置确定单元,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在该技术方案中,通过根据三个点(多个点中的任一点以及双眼的位置)的真实空间坐标位置可以准确地确定出任一点在立体播放窗口的实际坐标位置,进而可以基于任一点的投影坐标位置准确地确定出任一点在虚拟空间内对应的目标坐标位置。
其中,观看者的双眼位置也可以通过多种技术手段获得,如利用陀螺仪、深度摄像头等装置。
在上述技术方案中,优选地,所述第一位置确定单元具体用于:根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
在该技术方案中,由于观看者的左眼和右眼在看同一点时,得到点的坐标位置不同,而通过第一预设公式、第二预设公式和第三预设公式就可以分别计算出左眼和右眼在观看同一点时,该点在立体播放窗口上对应的坐标的X分量和Y分量,进而确定该点在立体播放窗口的第一坐标位置和第二坐标位置。其中,假设左眼和右眼的高度相同,因此,左眼和右眼在观看同一点时,该点在立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同。
在上述技术方案中,优选地,所述第二确定单元具体用于:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,所述第二位置确定单元还用于:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,所述第二位置确定单元还用于:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;
根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
在该技术方案中,根据任一点在视平面上对应的第三坐标位置和第四坐标位置的视差值,以及原始相机的当前参数,通过第七预设公式可以直接计算出任一点在虚拟空间中的深度值z,在得到深度值z时,就可以根据第八预设公式和第九预设公式进一步确定任一点的X分量和Y分量,从而确定任一点在虚拟空间中的目标坐标位置。
具体地,可以按照上述任一点的目标坐标位置的计算过程,计算得到真实空间的多个点中,每个点在虚拟空间中对应的目标坐标位置,进而进行后续的模型选择位置的指定及与虚拟空间中其他物体的碰撞检测等操作。
在上述技术方案中,优选地,还包括:设置单元,设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
在该技术方案中,在计算所述目标坐标位置时,需要先建立一个真实显示空间坐标系,即以立体显示设备的播放窗口所在平面为真实空间中的XY平面,以窗口中心位置为原点,且Z轴的方向垂直于所述XY平面,其中,当Z轴垂直于XY屏幕里向里时,建立的坐标系为左手系(常用的底层驱动是direct3d),当Z轴垂直于XY屏幕里向外时,建立的坐标系为右手系(常用的底层驱动是OpenGL)。当然,当建立左手系坐标时,从真实显示空间坐标系转化到虚拟空间坐标系变换公式会更加简洁。
根据本发明的实施方式,还提供了一种存储在非易失性机器可读介质上的程序产品,用于真实空间和虚拟空间的融合,所述程序产品包括用于使计算机***执行以下步骤的机器可执行指令:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
根据本发明的实施方式,还提供了一种非易失机器可读介质,存储有用于真实空间和虚拟空间的融合的程序产品,所述程序产品包括用于使计算机***执行以下步骤的机器可执行指令:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
根据本发明的实施方式,还提供了一种机器可读程序,所述程序使机器执行如上所述技术方案中任一所述的真实空间和虚拟空间的融合方法。
根据本发明的实施方式,还提供了一种存储有机器可读程序的存储介质,其中,所述机器可读程序使得机器执行如上所述技术方案中任一所述的真实空间和虚拟空间的融合方法。
通过以上技术方案,解决了虚拟模型与真实物***置之间的对应关系,可以正确地计算出虚拟物体对接点q与真实物体对接点p在观看时的位置关系,从而实现真实物体与虚拟物体的融合,也便于对虚拟空间中的物体进行进一步的操作。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的实施例的真实空间和虚拟空间的融合方法的流程示意图;
图2示出了根据本发明的实施例的真实空间和虚拟空间的融合***的结构示意图;
图3A至图3D示出了根据本发明的实施例中的立体播放窗口与视平面之间的映射原理;
图4A至图4F示出了根据本发明的实施例中虚拟空间与立体播放空间之间的映射原理;
图5A和图5B示出了根据本发明的实施例中的真实空间和虚拟空间的融合原理的具体应用。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的真实空间和虚拟空间的融合方法的流程示意图。
如图1所示,根据本发明的实施例的真实空间和虚拟空间的融合方法,包括:步骤102,获取真实空间中多个点的真实空间坐标位置;步骤104,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;步骤106,根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
在上述技术方案中,优选地,所述步骤104具体包括:获取所述真实空间中观看者的双眼位置;根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在该技术方案中,通过根据三个点(多个点中的任一点以及双眼的位置)的真实空间坐标位置可以准确地确定出任一点在音视频立体播放窗口的实际坐标位置,进而可以基于任一点的投影坐标位置准确地确定出任一点在虚拟空间内对应的目标坐标位置。其中,观看者的双眼位置也可以通过多种技术手段获得,如利用陀螺仪、深度摄像头等装置。
在上述技术方案中,优选地,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置,具体包括:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
在该技术方案中,由于观看者的左眼和右眼在看同一点时,得到点的坐标位置不同,而通过第一预设公式、第二预设公式和第三预设公式就可以分别计算出左眼和右眼在观看同一点时,该点在立体播放窗口上对应的坐标的X分量和Y分量,进而确定该点在立体播放窗口的第一坐标位置和第二坐标位置。
其中,假设左眼和右眼的高度相同,因此,左眼和右眼在观看同一点时,该点在立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,具体包括:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep(即Separation缩写)为所述分离值,con(即Convergence的缩写)为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
在该技术方案中,根据任一点在视平面上对应的第三坐标位置和第四坐标位置的视差值,以及原始相机的当前参数,通过第七预设公式可以直接计算出任一点在虚拟空间中的深度值z,在得到深度值z时,就可以根据第八预设公式和第九预设公式进一步计算出任一点的X分量和Y分量,从而确定任一点在虚拟空间中的目标坐标位置。
具体地,可以按照上述任一点的目标坐标位置的计算过程,计算得到真实空间的多个点中,每个点在虚拟空间中对应的目标坐标位置,进而进行后续的模型选择位置的指定及与虚拟空间中其他物体的碰撞检测等操作。
在上述技术方案中,优选地,还包括:设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
在该技术方案中,在计算所述目标坐标位置时,需要先建立一个真实显示空间坐标系,即以立体显示设备的播放窗口所在平面为真实空间中的XY平面,以窗口中心位置为原点,且Z轴的方向垂直于所述XY平面,其中,当Z轴垂直于XY屏幕里向里时,建立的坐标系为左手系(对应底层驱动是direct3d),当Z轴垂直于XY屏幕里向外时,建立的坐标系为右手系(对应底层驱动是OpenGL)。
图2示出了根据本发明的实施例的真实空间和虚拟空间的融合***的结构示意图。
如图2所示,根据本发明的实施例的真实空间和虚拟空间的融合***200,包括:获取单元202,获取真实空间中多个点的真实空间坐标位置;确定单元204,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;处理单元206,根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
在上述技术方案中,优选地,所述获取单元202还用于:获取所述真实空间中观看者的双眼位置;所述确定单元204包括:第一位置确定单元2042,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置;第二位置确定单元2044,根据所述任一点投影到所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在该技术方案中,通过根据三个点(多个点中的任一点以及双眼的位置)的真实空间坐标位置可以准确地确定出任一点在立体播放窗口的实际坐标位置,进而可以基于任一点的投影坐标位置准确地确定出任一点在虚拟空间内对应的目标坐标位置。
其中,观看者的双眼位置也可以通过多种技术手段获得,如利用陀螺仪、深度摄像头等装置。
在上述技术方案中,优选地,所述第一位置确定单元2042具体用于:根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
在该技术方案中,由于观看者的左眼和右眼在看同一点时,得到点的坐标位置不同,而通过第一预设公式、第二预设公式和第三预设公式就可以分别计算出左眼和右眼在观看同一点时,该点在立体播放窗口上对应的坐标的X分量和Y分量,进而确定该点在立体播放窗口的第一坐标位和第二坐标位置。其中,假设左眼和右眼的高度相同,因此,左眼和右眼在观看同一点时,该点在立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同。
在上述技术方案中,优选地,所述第二确定单元2044具体用于:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,所述第二位置确定单元2044还用于:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,所述第二位置确定单元2044还用于:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;
根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
在该技术方案中,根据任一点在视平面上对应的第三坐标位置和第四坐标位置的视差值,以及原始相机的当前参数,通过第七预设公式可以直接计算出任一点在虚拟空间中的深度值z,在得到深度值z时,就可以根据第八预设公式和第九预设公式进一步计算出任一点的X分量和Y分量,从而确定任一点在虚拟空间中的目标坐标位置。
具体地,可以按照上述任一点的目标坐标位置的计算过程,计算得到真实空间的多个点中,每个点在虚拟空间中对应的目标坐标位置,进而进行后续的模型选择位置的指定及与虚拟空间中其他物体的碰撞检测等操作。
在上述技术方案中,优选地,还包括:设置单元208,设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
在该技术方案中,在计算所述目标坐标位置时,需要先建立一个真实显示空间坐标系,即以立体显示设备的播放窗口所在平面为真实空间中的XY平面,以窗口中心位置为原点,且Z轴的方向垂直于所述XY平面,其中,当Z轴垂直于XY屏幕里向里时,建立的坐标系为左手系(常用的底层驱动是direct3d),当Z轴垂直于XY屏幕里向外时,建立的坐标系为右手系(常用的底层驱动是OpenGL)。
以上结合图1和图2说明了本发明的真实空间和虚拟空间的融合方法和***,下面将具体介绍本发明的真实空间和虚拟空间的融合原理,在此之前,先说明下本发明所使用的固定汇聚面双目相机投影的技术。
首先,在计算机上实现3D场景渲染时,主要运用两种API,一种是微软公司推出的Direct3D API,一种是开源社区提供的OpenGL API。这两种API在实现3D渲染上坐标系的选取不同,Direct3D采用左手系,OpenGL采用右手系,而本发明为了简化运算采用Direct3D采用左手系。
同时,为了获得具有视差的左右两幅图像,在渲染三维场景时,需要设定两个位置不同的虚拟相机即左相机和右相机,同时,在此技术中,主要的参数是左右相机的放置距离和左右相机汇聚焦点的深度值,其中,左右相机距离使用sep标识,汇聚焦点的深度值使用con标识。另外,为了便于计算,本实施例中给定一个原始相机,且所有与相机相关的参数包括相机的位置,观察方向,相机的向上向量,以及原始相机对应的投影变换矩阵,都由原始相机指定。
另外,左相机的位置为原始相机沿相机侧方向(即观察坐标系中X轴的负方向)平移sep/2,右相机位置为原始相机沿观察坐标系中X轴的正方向平移sep/2,同时,为了使深度值小于con的物体渲染后的视差为正视差、大于con的物体渲染后的视差为负视差以及为了避免产生垂直视差,本实施例中,将使左右相机近投影平面与原始相机近投影平面保持在同一平面上,左右相机近投影平面矩形与原始相机近投影屏面矩形仅在X轴取值相差sep/2,以及在深度值为con的平面上左右相机有同样大小的投影裁减矩形。
以上所述技术即为本发明所使用的固定汇聚面双目相机投影的技术,且这种技术即反应在图3A至图3D中。
图3A至图3D示出了根据本发明的实施例中的立体播放窗口与是平面之间的映射原理。
下面将结合图3A至图3D说明根据本发明的实施例中的立体播放窗口与视平面之间的映射原理。
图3A描述了如何利用虚拟相机进行透视取景以及将三维空间投影到二维视平面上,图3B描述了视平面与立体显示窗口的映射关系,图3C和图3D描述了虚拟左右相机与原始相机的关系。
通过图3C中的原始相机参数可以推导出左右相机的设置参数,由于相机的垂直张角不变,因此图3D描述了由原始相机生成左右相机后相机水平张角的变化。其中,Convergence为零视差平面深度值,Separation分离值,near为原始相机的近投影面距离所述虚拟空间坐标原点的距离。
由于左右相机水平张角与原始相机水平张角不同导致左右相机对应的投影矩阵与原始相机的投影矩阵不同。具体如下:
OProj = 2 near ONr - ONl 0 0 0 0 2 * near top - bottom 0 0 ONr + ONl ONl - ONr top + bottom bottom - top far far - near 1 0 0 near * far near - far 0 - - - ( 01 )
LProj = 2 near LNr - LNl 0 0 0 0 2 * near top - bottom 0 0 LNr + LNl LNl - LNr top + bottom bottom - top far far - near 1 0 0 near * far near - far 0 - - - ( 02 )
RProj = 2 near RNr - RNl 0 0 0 0 2 * near top - bottom 0 0 RNr + RNl RNl - RNr top + bottom bottom - top far far - near 1 0 0 near * far near - far 0 - - - ( 03 )
其中,(01)是原始投影矩阵,(02)是左相机投影矩阵,(03)是右相机投影矩阵,从上述投影矩阵中,可知,左右相机对应的投影矩阵在第一列上的分量与原始投影矩阵在第一列上的分量取值不同。
同时,在本实施例中,令投影矩阵里的***面上的NOr+NOi=0;top+bottom=0;因而,根据上述所述的投影矩阵,即可得到公式(03)至(08),其中,公式(03)至(07)给出了渲染场景时,三维空间中的任一点的三个坐标位置x、y、z是如何转化到视平面上的,而公式(08)给出了z与视差的关系:
U=2*tanθ*near  (03)
d = sep * near con - - - ( 04 )
VLx = ( 2 * near * x + sep * near - z * d U + d ) * 1 / z - - - ( 05 )
VRx = ( 2 * near * x - sep * near + z * d U + d ) * 1 / z - - - ( 06 )
Vy = ( 2 * near * y - ( top + bottom ) * z top - bottom ) * 1 / z - - - ( 07 )
Vw = 2 * near * sep - 2 * d * z ( U + d ) * z - - - ( 08 )
上面在推导公式(03)到(08)时使用的是Direct3D图形库的透视投影矩阵(即左手系)。
下面给出openGL图形库的透视投影矩阵(即右手系)。其中T表示转置。
2 near ONr - ONl 0 0 0 0 2 * near top - bottom 0 0 ONr + ONl ONl - ONr top + bottom bottom - top - far - near far - near 1 0 0 2 near * far near - far 0 T
其中,对于推导公式时使用的矩阵分量,Direct3D使用的是矩阵的前两列分量,而OpenGL将会用到前两行分量,并且分量取值的变化是相同的,因此不论采用哪种图形库使用基于固定汇聚面双目相机投影的技术得到的公式是一样的。其中,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值。
图4A至图4F示出了根据本发明的实施例中虚拟空间与立体播放空间之间的映射原理。
下面以真实中的笔在为例虚拟空间与立体播放空间的坐标位置,并根据图4A至图4F说明本发明的实施例中真实空间与虚拟空间之间的映射原理,其中,图4A示出了人眼与立体播放窗口的位置,图4B至图4C示出了真实场景中的笔与虚拟空间中的笔的对应关系,图4D至图4F示出了虚拟场景中笔的坐标位置。
而将真实中的笔在真实空间坐标位置转化为对应的虚拟空间的目标坐标位置的具体步骤如下:
首先,建立一个真实显示空间坐标系,即以立体显示设备的播放窗口所在平面为真实空间中的XY平面,以窗口中心位置为原点,且Z轴的方向垂直于所述XY平面,其中,当Z轴垂直于XY屏幕里向里时,建立的坐标系为左手系(常用的底层驱动是direct3d),当Z轴垂直于于XY屏幕里向外时,建立的坐标系为右手系(常用的底层驱动是OpenGL)。当然,为了使真实显示空间坐标系转化到虚拟空间坐标系变换公式会更加简洁,本实施例采用左手系坐标。
然后,应用定位捕捉跟踪设备获得人眼位置及笔的位置,利用真实笔上的两个点p1,p2计算虚拟场景中与其对应的两点q1,q2以及通过深度摄像头获得观看者左右眼在真实坐标系中的三维坐标值,其中,给定相机参数时虚拟笔的起点是可以设定的,在本实施例中,设置虚拟笔的起点为q1,那么点q1在视平面空间的z分量就等于相机参数con,同时,设置播放立体窗口的高度为h,宽度为w。
进一步地,利用左右眼的位置计算空间点p2在屏幕显示窗口上的位置,并将左眼记为EL,右眼记为ER,左眼的位置记为TLx,右眼的位置记为TRx,且假定左右眼的Y分量记均为Ty,则通过图4D、图4E、图4F即可得到以下公式:
p 2 . x - TLx EL . x - p 2 . x = p 2 . z EL . z - p 2 . z - - - ( 09 )
p 2 . x - TRx ER . x - p 2 . x = p 2 . z ER . z - p 2 . z - - - ( 10 )
p 2 . y - Ty E . y - p 2 . y = p 2 . z E . z - p 2 . z - - - ( 11 )
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) - - - ( 12 )
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) - - - ( 13 )
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) - - - ( 14 )
其中,等式(14)中的E可以任取左眼或右眼的坐标值。
然后将TLx,TRx,Ty变换为视平面上的x坐标VLx,VRx,Vy,并利用公式(15)得到图4D中的观看者与屏幕之间的三维点在屏幕上的视差值(假定左右眼在真实显示空间的z值是相同的):
Tw = e * ( P 2 . z ) Eye . z - - - ( 15 )
其中,e是左右眼间距值,e=ER.x–EL.x,再根据图示3B描述的映射关系给以下转化公式:
Vw = 2 * Tw w - - - ( 16 )
VLx = 2 * TLx w - - - ( 17 )
VRx = 2 * TRx w - - - ( 18 )
Vy = 2 * Ty h - - - ( 19 )
其中,公式(16)可以将屏幕上的视差值转化为视平面上的视差值,公式(17)、(18)、(19)可以将真实空间中的值变换为视平面上的值。
最后,利用公式(05),(06),(07),(08)即可计算出真实空间中一点p2在虚拟空间中对应的点q2,其中,top,bottom,U,near,sep,con均为已知量,且这些变量均可以由虚拟场景中的左右相机来设置,而计算q2的具体计算步骤如下:
(1)计算q2点Z分量:
利用公式(05)、公式(06)推导出公式(08)并利用公式(08)推导出公式(20),其中,公式(20)的作用在于当相机参数固定时,给定一个视差值就可以计算出能够产生该视差值的空间点q2的深度值z,其中,公式(20)中的sep、near、d和U均为已知量,而Vw可由公式(16)计算得到,d由公式(4)推出:
z = 2 * sep * near ( Vw * U + Vw * d + 2 * d ) - - - ( 20 )
(2)计算q2点X分量:
q2点的X分量值由公式(21)计算得到,其中,z的值由公式(20)计算得到,VLx由公式(17)得到,而Tanθ,sep,con均为已知量,
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con - - - ( 21 )
3)计算q2点Y分量:
虚拟点q2的Y值可以根据真实笔上点p2在立体屏幕上的三维坐标的获得,而p2点的三维坐标可以利用陀螺仪,深度摄像头等多种技术得到,而q2点Y分量具体计算原理如下:
利用公式(07)推导出公式(22),其中,top、bottom、near均为已知量,而Vy使用公式(19)得到。
Y = Vy * ( top - bottom ) * z 2 * near - - - ( 22 )
通过上述步骤,即可求出两个真实点P1、P2对应的虚拟点q1、q2,并确定虚拟笔的位置及倾角,进而可以利用q1、q2的值对虚拟笔的三维模型进行控制并与真实笔进行融合。
如图5A和图5B所示,示出了根据本发明的实施例中的真实空间和虚拟空间的融合原理的两个具体应用场景:
应用场景一:
如图5A,触控笔,或者其它可与屏幕接触的设备,在这种应用中,通常需获得实际笔的位置,并绘制出另一半,以实现凹进屏幕的视觉效果,同时,可以将这种应用用在3D游戏的操控、3DUI的交互上,当然,也可以捕捉识别更多的点,以便于指定模型的位置,检测与虚拟空间中的其它物体的碰撞。
应用场景二:
如图5B,手势识别或其它穿戴设备,首先,使用红外捕捉等设备获得手的位置信息,然后即可实现对3D游戏等虚拟环境的操控。
无论是应用场景一还是应用场景二,利用本实施例中的真实空间和虚拟空间的融合方法和***,均可以计算出3D设备或手在虚拟空间中的位置时,然后对渲染加以控制,以使得3D设备和手所在位置没有被虚拟物体遮挡,且所述应用的处理步骤如下:
1、建立一个真实显示空间坐标系,以立体显示设备的播放窗口所在平面为真实空间中的XY平面,以窗口中心位置为原点,且Z轴的方向垂直于所述XY平面向里(即建立左手系坐标)。
2、使用红外摄像头或设备自身的电磁感应设备、陀螺仪获取手或其他交互设备在真实显示空间的位置,即手或交互设备在显示空间坐标系下的坐标值(当然,可以根据需要确定点的个数n)。
3、获得人眼在真实显示空间的坐标位置。
4、使用本实施例中的坐标变换算法把这n个点变换到虚拟场景空间中。
5、检测这n个点是否与虚拟场景中物体发生碰撞,如果有碰撞,则计算出被触碰的物体和遮挡住手或交互设备的物体。
6、根据步骤5的处理结果,对被触碰的物体或遮挡物作出响应,如检测到触碰物体,则移动所述触碰物体,同时配合挤压等动画效果或声音,如果是遮挡物体则将其从渲染队列中剔除,并保证正确的视觉效果;并根据响应速度及应用决定响应频率,以保证在每秒计算20次以上的情况下,可以得到比较好的交互效果。
以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,解决了虚拟模型与真实物***置之间的对应关系,可以正确地计算出虚拟物体对接点q与真实物体对接点p在观看时的位置关系,从而实现真实物体与虚拟物体的融合,也便于对虚拟空间中的物体进行进一步的操作。
根据本发明的实施方式,还提供了一种存储在非易失性机器可读介质上的程序产品,用于真实空间和虚拟空间的融合,所述程序产品包括用于使计算机***执行以下步骤的机器可执行指令:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在上述技术方案中,优选地,用来执行根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置的步骤的机器可执行指令具体包括使计算机***执行以下步骤的机器可执行指令:获取所述真实空间中观看者的双眼位置;根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在上述技术方案中,优选地,用来执行根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置的步骤的机器可执行指令具体包括使计算机***执行以下步骤的机器可执行指令:根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令具体包括使计算机***执行以下步骤的机器可执行指令:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,
其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机***执行以下步骤的机器可执行指令:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机***执行以下步骤的机器可执行指令:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
具体地,可以按照上述任一点的目标坐标位置的计算过程,计算得到真实空间的多个点中,每个点在虚拟空间中对应的目标坐标位置,进而进行后续的模型选择位置的指定及与虚拟空间中其他物体的碰撞检测等操作。
在上述技术方案中,优选地,所述程序产品还包括用于使计算机***执行以下步骤的机器可执行指令:设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
根据本发明的实施方式,还提供了一种非易失机器可读介质,存储有用于真实空间和虚拟空间的融合的程序产品,所述程序产品包括用于使计算机***执行以下步骤的机器可执行指令:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在上述技术方案中,优选地,用来执行根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置的步骤的机器可执行指令具体包括使计算机***执行以下步骤的机器可执行指令:获取所述真实空间中观看者的双眼位置;根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在上述技术方案中,优选地,用来执行根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置的步骤的机器可执行指令具体包括使计算机***执行以下步骤的机器可执行指令:根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
其中,假设左眼和右眼的高度相同,因此,左眼和右眼在观看同一点时,该点在立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令具体包括使计算机***执行以下步骤的机器可执行指令:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机***执行以下步骤的机器可执行指令:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机***执行以下步骤的机器可执行指令:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
在上述技术方案中,优选地,所述程序产品还包括用于使计算机***执行以下步骤的机器可执行指令:设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
根据本发明的实施方式,还提供了一种机器可读程序,所述程序使机器执行如上所述技术方案中任一所述的真实空间和虚拟空间的融合方法。
根据本发明的实施方式,还提供了一种存储有机器可读程序的存储介质,其中,所述机器可读程序使得机器执行如上所述技术方案中任一所述的真实空间和虚拟空间的融合方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种真实空间和虚拟空间的融合方法,其特征在于,包括:
获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;
根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
2.根据权利要求1所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置,具体包括:
获取所述真实空间中观看者的双眼位置;
根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;
根据所述任一点在所述立体播放窗口中的所述投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
3.根据权利要求2所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置,具体包括:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
4.根据权利要求3所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,具体包括:
根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;
获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;
根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;
根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
5.根据权利要求3所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:
获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,
其中,所述当前参数包括:
所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
6.根据权利要求5所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:
根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;
根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
7.根据权利要求1至6中任一项所述的真实空间和虚拟空间的融合方法,其特征在于,还包括:
设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直Y轴,Z轴垂直于XY平面。
8.一种真实空间和虚拟空间的融合***,其特征在于,包括:
获取单元,获取真实空间中多个点的真实空间坐标位置;
确定单元,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;
处理单元,根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
9.根据权利要求8所述的真实空间和虚拟空间的融合***,其特征在于,
所述获取单元还用于:
获取所述真实空间中观看者的双眼位置;
所述确定单元包括:
第一位置确定单元,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;
第二位置确定单元,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
10.根据权利要求9所述的真实空间和虚拟空间的融合***,其特征在于,所述第一位置确定单元具体用于:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
TLx = P 2 . x - ( EL . x - p 2 . x ) * p 2 . z ( EL . z - p 2 . z ) ,
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
TRx = P 2 . x - ( ER . x - p 2 . x ) * p 2 . z ( ER . z - p 2 . z ) ,
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
Ty = P 2 . y - ( E . y - p 2 . y ) * p 2 . z ( E . z - p 2 . z ) ,
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
11.根据权利要求10所述的真实空间和虚拟空间的融合***,其特征在于,所述第二确定单元具体用于:
根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;
获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;
根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;
根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
VLx = 2 * TLx w ,
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
VRx = 2 * TRx w ,
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
12.根据权利要求10所述的真实空间和虚拟空间的融合***,其特征在于,所述第二位置确定单元还用于:
获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,
其中,所述当前参数包括:
所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
13.根据权利要求12所述的真实空间和虚拟空间的融合***,其特征在于,所述第二位置确定单元还用于:
根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
z = 2 * sep * near ( Vw * U + Vw * sep * near con + 2 * sep * near con ) ,
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
x = VLx * tan θ * z + VLx * z * sep con - sep 2 + z * sep 2 * con ,
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
Y = Vy * ( top - bottom ) * z 2 * near ,
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;
根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
14.根据权利要求8至13中任一项所述的真实空间和虚拟空间的融合方法,其特征在于,还包括:
设置单元,设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
CN201410360771.1A 2014-07-25 2014-07-25 真实空间和虚拟空间的融合方法和融合*** Expired - Fee Related CN104134235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410360771.1A CN104134235B (zh) 2014-07-25 2014-07-25 真实空间和虚拟空间的融合方法和融合***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410360771.1A CN104134235B (zh) 2014-07-25 2014-07-25 真实空间和虚拟空间的融合方法和融合***

Publications (2)

Publication Number Publication Date
CN104134235A true CN104134235A (zh) 2014-11-05
CN104134235B CN104134235B (zh) 2017-10-10

Family

ID=51806904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410360771.1A Expired - Fee Related CN104134235B (zh) 2014-07-25 2014-07-25 真实空间和虚拟空间的融合方法和融合***

Country Status (1)

Country Link
CN (1) CN104134235B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105068679A (zh) * 2015-07-22 2015-11-18 深圳多新哆技术有限责任公司 调整虚拟物件在虚拟空间中位置的方法及装置
CN105354820A (zh) * 2015-09-30 2016-02-24 深圳多新哆技术有限责任公司 调整虚拟现实图像的方法及装置
CN106598247A (zh) * 2016-12-16 2017-04-26 传线网络科技(上海)有限公司 基于虚拟现实的响应控制方法及装置
CN107610127A (zh) * 2017-09-11 2018-01-19 广东欧珀移动通信有限公司 图像处理方法、装置、电子装置和计算机可读存储介质
CN108090966A (zh) * 2017-12-13 2018-05-29 广州市和声信息技术有限公司 一种适用于虚拟场景的虚拟物体重构方法和***
CN108510592A (zh) * 2017-02-27 2018-09-07 亮风台(上海)信息科技有限公司 真实物理模型的增强现实展示方法
CN109993086A (zh) * 2019-03-21 2019-07-09 北京华捷艾米科技有限公司 人脸检测方法、装置、***及终端设备
WO2020124976A1 (zh) * 2018-12-21 2020-06-25 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备及存储介质
US11138740B2 (en) 2017-09-11 2021-10-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image processing methods, image processing apparatuses, and computer-readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426486A (zh) * 2011-11-03 2012-04-25 深圳超多维光电子有限公司 一种立体交互方法及***作设备
CN102508562A (zh) * 2011-11-03 2012-06-20 深圳超多维光电子有限公司 一种立体交互***
CN102566049A (zh) * 2010-11-08 2012-07-11 微软公司 用于扩展现实显示的自动可变虚拟焦点
CN102789313A (zh) * 2012-03-19 2012-11-21 乾行讯科(北京)科技有限公司 一种用户交互***和方法
CN103744518A (zh) * 2014-01-28 2014-04-23 深圳超多维光电子有限公司 立体交互方法及其显示装置和***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102566049A (zh) * 2010-11-08 2012-07-11 微软公司 用于扩展现实显示的自动可变虚拟焦点
CN102426486A (zh) * 2011-11-03 2012-04-25 深圳超多维光电子有限公司 一种立体交互方法及***作设备
CN102508562A (zh) * 2011-11-03 2012-06-20 深圳超多维光电子有限公司 一种立体交互***
CN102789313A (zh) * 2012-03-19 2012-11-21 乾行讯科(北京)科技有限公司 一种用户交互***和方法
CN103744518A (zh) * 2014-01-28 2014-04-23 深圳超多维光电子有限公司 立体交互方法及其显示装置和***

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017012361A1 (zh) * 2015-07-22 2017-01-26 深圳多新哆技术有限责任公司 调整虚拟物件在虚拟空间中位置的方法及装置
CN105068679A (zh) * 2015-07-22 2015-11-18 深圳多新哆技术有限责任公司 调整虚拟物件在虚拟空间中位置的方法及装置
CN105354820A (zh) * 2015-09-30 2016-02-24 深圳多新哆技术有限责任公司 调整虚拟现实图像的方法及装置
CN105354820B (zh) * 2015-09-30 2018-05-22 深圳多新哆技术有限责任公司 调整虚拟现实图像的方法及装置
US11151790B2 (en) 2015-09-30 2021-10-19 Shenzhen Dlodlo Technologies Co., Ltd. Method and device for adjusting virtual reality image
CN106598247A (zh) * 2016-12-16 2017-04-26 传线网络科技(上海)有限公司 基于虚拟现实的响应控制方法及装置
CN106598247B (zh) * 2016-12-16 2020-09-18 阿里巴巴(中国)有限公司 基于虚拟现实的响应控制方法及装置
CN108510592B (zh) * 2017-02-27 2021-08-31 亮风台(上海)信息科技有限公司 真实物理模型的增强现实展示方法
CN108510592A (zh) * 2017-02-27 2018-09-07 亮风台(上海)信息科技有限公司 真实物理模型的增强现实展示方法
CN107610127A (zh) * 2017-09-11 2018-01-19 广东欧珀移动通信有限公司 图像处理方法、装置、电子装置和计算机可读存储介质
US11138740B2 (en) 2017-09-11 2021-10-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image processing methods, image processing apparatuses, and computer-readable storage medium
CN108090966A (zh) * 2017-12-13 2018-05-29 广州市和声信息技术有限公司 一种适用于虚拟场景的虚拟物体重构方法和***
CN108090966B (zh) * 2017-12-13 2021-06-01 广州市和声信息技术有限公司 一种适用于虚拟场景的虚拟物体重构方法和***
WO2020124976A1 (zh) * 2018-12-21 2020-06-25 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备及存储介质
CN109993086A (zh) * 2019-03-21 2019-07-09 北京华捷艾米科技有限公司 人脸检测方法、装置、***及终端设备

Also Published As

Publication number Publication date
CN104134235B (zh) 2017-10-10

Similar Documents

Publication Publication Date Title
CN104134235A (zh) 真实空间和虚拟空间的融合方法和融合***
WO2019242262A1 (zh) 基于增强现实的远程指导方法、装置、终端和存储介质
EP2966863B1 (en) Hmd calibration with direct geometric modeling
US9595127B2 (en) Three-dimensional collaboration
US10739936B2 (en) Zero parallax drawing within a three dimensional display
CN102938844B (zh) 利用立体成像生成自由视点视频
CN103019507B (zh) 一种基于人脸跟踪改变视点角度显示三维图形的方法
US20120162384A1 (en) Three-Dimensional Collaboration
US20160210785A1 (en) Augmented reality system and method for positioning and mapping
CN101587386B (zh) 光标处理方法、装置及***
KR20120015564A (ko) 하이브리드 사용자 추적 센서를 이용한 디스플레이 시스템 및 방법
US10560683B2 (en) System, method and software for producing three-dimensional images that appear to project forward of or vertically above a display medium using a virtual 3D model made from the simultaneous localization and depth-mapping of the physical features of real objects
CN102281455A (zh) 图像显示***、装置以及方法
AU2008365306A1 (en) System and method for mixing a scene with a virtual scenario
KR20200138349A (ko) 화상 처리 방법 및 장치, 전자 디바이스, 및 저장 매체
JP5791434B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
US20230298280A1 (en) Map for augmented reality
US20180053338A1 (en) Method for a user interface
US9176624B2 (en) Information processing apparatus, stereoscopic display method, and program
CN102799378B (zh) 一种立体碰撞检测物体拾取方法及装置
US10296098B2 (en) Input/output device, input/output program, and input/output method
TWI486052B (zh) 立體影像處理裝置以及立體影像處理方法
JP6168597B2 (ja) 情報端末装置
CN110197524B (zh) 立体显示方法、设备、装置和计算机可读存储介质
JP6487545B2 (ja) 認知度算出装置、認知度算出方法及び認知度算出プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180712

Address after: 518052 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Patentee after: SUPERD Co.,Ltd.

Address before: 518053 East Guangdong H-1 East 101, overseas Chinese town, Nanshan District, Shenzhen.

Patentee before: SHENZHEN SUPER PERFECT OPTICS Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171010