CN104134235B - 真实空间和虚拟空间的融合方法和融合系统 - Google Patents
真实空间和虚拟空间的融合方法和融合系统 Download PDFInfo
- Publication number
- CN104134235B CN104134235B CN201410360771.1A CN201410360771A CN104134235B CN 104134235 B CN104134235 B CN 104134235B CN 201410360771 A CN201410360771 A CN 201410360771A CN 104134235 B CN104134235 B CN 104134235B
- Authority
- CN
- China
- Prior art keywords
- point
- coordinate position
- mrow
- component
- broadcast window
- 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
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 17
- 238000000926 separation method Methods 0.000 claims description 27
- 239000007787 solid Substances 0.000 claims description 13
- 230000007935 neutral effect Effects 0.000 claims description 8
- 239000011800 void material Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 238000003032 molecular docking Methods 0.000 abstract description 8
- 230000000694 effects Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 15
- 238000000034 method Methods 0.000 description 14
- 238000009877 rendering Methods 0.000 description 10
- 230000004927 fusion Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000005674 electromagnetic induction Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000002844 melting Methods 0.000 description 4
- 230000008018 melting Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- -1 it is known that Substances 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出了一种真实空间和虚拟空间的融合方法和一种真实空间和虚拟空间的融合系统,其中,所述真实空间和虚拟空间的融合方法包括:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。通过本发明的技术方案,可以解决虚拟模型与真实物体位置之间的对应关系,正确地计算出虚拟物体对接点q与真实物体对接点p在观看时的位置关系,并实现真实物体与虚拟物体的融合,也便于对虚拟空间中的物体进行进一步的操作。
Description
技术领域
本发明涉及图像显示技术领域,具体而言,涉及到一种真实空间和虚拟空间的融合方法和真实空间和虚拟空间的融合系统。
背景技术
以计算机软件技术为依托的虚拟现实技术包括多个细分领域的应用,如体感技术、实拍、虚拟三维场景融合技术等。伴随着立体显示技术的发展与成熟产生了许多与立体显示有关的应用。如真实物体与渲染出的虚拟物体相融合的应用。
关于这种应用,一个基本想法是观看立体时,在视觉上,可以实现真实物体和虚拟物体无缝对接,以根据真实物体在虚拟场景中的位置实现对虚拟空间中的虚拟物体的各种操作。例如,我们观看立体画面时,用一支笔点在立体屏幕上,这时,可以通过在虚拟场景中渲染这支虚拟的笔与真实的笔之间的一致的位置关系,进而判断虚拟场景中虚拟笔与其它虚拟物体的位置关系,以便于进一步操作。
因此,为了实现真实物体与虚拟物体的融合,如何解决虚拟模型与真实物体位置之间的对应关系,正确地计算出虚拟物体对接点q与真实物体对接点p在观看时的位置关系,成为目前亟待解决的技术问题。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提出了一种真实空间和虚拟空间的融合方法。
本发明的另一个目的在于提出了一种真实空间和虚拟空间的融合系统。
为实现上述目的,根据本发明的第一方面的实施例,提出了一种真实空间和虚拟空间的融合方法,包括:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在该技术方案中,通过真实空间中多个点的真实空间坐标位置,便于准确地确定所述多个点在虚拟空间中对应的目标坐标位置,在得到所述多个点的目标坐标位置时,就可以判断虚拟空间中的多个点是否与其它物体进行了交互或被其它虚拟物体遮挡,这便于进行进一步操作,提高虚拟空间的音视频、画面等方面的播放效果。例如:在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被其它虚拟物体遮挡,就可以将其它物体从渲染效果上剔除,以提高画面效果;在计算出虚拟空间中的多个点目标坐标位置后,如果发现所述多个点被触碰到其它物体(如游戏),就可以移动游戏并配合声音的播放,以提高播放画面的音视频效果。
其中,真实空间中多个点的真实空间坐标位置可以通过多种技术手段获得,如利用陀螺仪、深度摄像头以及电磁感应设备等装置。
在上述技术方案中,优选地,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置,具体包括:获取所述真实空间中观看者的双眼位置;根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在该技术方案中,通过三个点(多个点中的任一点以及双眼的位置)的真实空间坐标位置可以准确地确定出任一点在立体播放窗口的实际坐标位置,进而可以基于任一点的投影坐标位置准确地确定出任一点在虚拟空间内对应的目标坐标位置。其中,观看者的双眼位置也可以通过多种技术手段获得,如利用陀螺仪、深度摄像头等装置。
其中,任一点的投影坐标位置为由眼睛中心位置到该点的连接线段所在的直线与窗口相交的位置。
在上述技术方案中,优选地,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置,具体包括:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
其中,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为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
其中,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为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
其中,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为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,所述第二位置确定单元还用于:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,所述第二位置确定单元还用于:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
其中,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为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
其中,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为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep(即Separation缩写)为所述分离值,con(即Convergence的缩写)为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
其中,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为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
其中,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为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在该技术方案中,在确定了任一点在立体播放窗口上的第一坐标位置和第二坐标位置的情况下,根据第三预设公式、第四预设公式和第五预设公式计算出第一坐标位置和第二坐标位置在视平面上对应的第三坐标位置和第四坐标位置的X分量和Y分量,进而确定目标坐标位置。其中,由于第一坐标位置和第二坐标位置的Y分量相同,因此,第三坐标位置和第四坐标位置的分量也相同。
在上述技术方案中,优选地,所述第二位置确定单元2044还用于:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,所述第二位置确定单元2044还用于:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
其中,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为原始相机的近投影面距离所述虚拟空间坐标原点的距离。
由于左右相机水平张角与原始相机水平张角不同导致左右相机对应的投影矩阵与原始相机的投影矩阵不同。具体如下:
其中,(01)是原始投影矩阵,(02)是左相机投影矩阵,(03)是右相机投影矩阵,从上述投影矩阵中,可知,左右相机对应的投影矩阵在第一列上的分量与原始投影矩阵在第一列上的分量取值不同。
同时,在本实施例中,令投影矩阵里的近平面上的NOr+NOi=0;top+bottom=0;因而,根据上述所述的投影矩阵,即可得到公式(03)至(08),其中,公式(03)至(07)给出了渲染场景时,三维空间中的任一点的三个坐标位置x、y、z是如何转化到视平面上的,而公式(08)给出了z与视差的关系:
U=2*tanθ*near (03)
上面在推导公式(03)到(08)时使用的是Direct3D图形库的透视投影矩阵(即左手系)。
下面给出openGL图形库的透视投影矩阵(即右手系)。其中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即可得到以下公式:
其中,等式(14)中的E可以任取左眼或右眼的坐标值。
然后将TLx,TRx,Ty变换为视平面上的x坐标VLx,VRx,Vy,并利用公式(15)得到图4D中的观看者与屏幕之间的三维点在屏幕上的视差值(假定左右眼在真实显示空间的z值是相同的):
其中,e是左右眼间距值,e=ER.x–EL.x,再根据图示3B描述的映射关系给以下转化公式:
其中,公式(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)推出:
(2)计算q2点X分量:
q2点的X分量值由公式(21)计算得到,其中,z的值由公式(20)计算得到,VLx由公式(17)得到,而Tanθ,sep,con均为已知量,
3)计算q2点Y分量:
虚拟点q2的Y值可以根据真实笔上点p2在立体屏幕上的三维坐标的获得,而p2点的三维坐标可以利用陀螺仪,深度摄像头等多种技术得到,而q2点Y分量具体计算原理如下:
利用公式(07)推导出公式(22),其中,top、bottom、near均为已知量,而Vy使用公式(19)得到。
通过上述步骤,即可求出两个真实点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为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令具体包括使计算机系统执行以下步骤的机器可执行指令:根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,
其中,所述第四预设公式为:
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机系统执行以下步骤的机器可执行指令:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机系统执行以下步骤的机器可执行指令:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
具体地,可以按照上述任一点的目标坐标位置的计算过程,计算得到真实空间的多个点中,每个点在虚拟空间中对应的目标坐标位置,进而进行后续的模型选择位置的指定及与虚拟空间中其他物体的碰撞检测等操作。
在上述技术方案中,优选地,所述程序产品还包括用于使计算机系统执行以下步骤的机器可执行指令:设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
根据本发明的实施方式,还提供了一种非易失机器可读介质,存储有用于真实空间和虚拟空间的融合的程序产品,所述程序产品包括用于使计算机系统执行以下步骤的机器可执行指令:获取真实空间中多个点的真实空间坐标位置;根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作。
在上述技术方案中,优选地,用来执行根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置的步骤的机器可执行指令具体包括使计算机系统执行以下步骤的机器可执行指令:获取所述真实空间中观看者的双眼位置;根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置。
在上述技术方案中,优选地,用来执行根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置的步骤的机器可执行指令具体包括使计算机系统执行以下步骤的机器可执行指令:根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
其中,TLx为所述第一位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
其中,TRx为所述第二位置坐标的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
其中,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为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二位置坐标的X分量,w为所述立体播放窗口的宽度;根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机系统执行以下步骤的机器可执行指令:获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,其中,所述当前参数包括:所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
在上述技术方案中,优选地,用来执行根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置的步骤的机器可执行指令还包括使计算机系统执行以下步骤的机器可执行指令:根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,其中,所述第七预设公式为:
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,其中,所述第八预设公式为:
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
在上述技术方案中,优选地,所述程序产品还包括用于使计算机系统执行以下步骤的机器可执行指令:设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
根据本发明的实施方式,还提供了一种机器可读程序,所述程序使机器执行如上所述技术方案中任一所述的真实空间和虚拟空间的融合方法。
根据本发明的实施方式,还提供了一种存储有机器可读程序的存储介质,其中,所述机器可读程序使得机器执行如上所述技术方案中任一所述的真实空间和虚拟空间的融合方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种真实空间和虚拟空间的融合方法,其特征在于,包括:
获取真实空间中多个点的真实空间坐标位置;
根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;
根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作;
其中,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置,具体包括:
获取所述真实空间中观看者的双眼位置;
根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;
根据所述任一点在所述立体播放窗口中的所述投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置;
其中,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:
获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,
其中,所述当前参数包括:
所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
2.根据权利要求1所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点在真实空间中的立体播放窗口上的投影坐标位置,具体包括:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
<mrow>
<mi>T</mi>
<mi>L</mi>
<mi>x</mi>
<mo>=</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>-</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>L</mi>
<mo>.</mo>
<mi>x</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>)</mo>
<mo>*</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>L</mi>
<mo>.</mo>
<mi>z</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,TLx为所述第一坐标位置的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
<mrow>
<mi>T</mi>
<mi>R</mi>
<mi>x</mi>
<mo>=</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>-</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>R</mi>
<mo>.</mo>
<mi>x</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>)</mo>
<mo>*</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>R</mi>
<mo>.</mo>
<mi>z</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,TRx为所述第二坐标位置的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
<mrow>
<mi>T</mi>
<mi>y</mi>
<mo>=</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>y</mi>
<mo>-</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mo>.</mo>
<mi>y</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>y</mi>
<mo>)</mo>
<mo>*</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mo>.</mo>
<mi>z</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
3.根据权利要求2所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,具体包括:
根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;
获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;
根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;
根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
<mrow>
<mi>V</mi>
<mi>L</mi>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>T</mi>
<mi>L</mi>
<mi>x</mi>
</mrow>
<mi>w</mi>
</mfrac>
<mo>,</mo>
</mrow>
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一坐标位置的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
<mrow>
<mi>V</mi>
<mi>R</mi>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>T</mi>
<mi>R</mi>
<mi>x</mi>
</mrow>
<mi>w</mi>
</mfrac>
<mo>,</mo>
</mrow>
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二坐标位置的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
4.根据权利要求3所述的真实空间和虚拟空间的融合方法,其特征在于,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置,还包括:
根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
<mrow>
<mi>z</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
<mo>*</mo>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mi>V</mi>
<mi>w</mi>
<mo>*</mo>
<mi>U</mi>
<mo>+</mo>
<mi>V</mi>
<mi>w</mi>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
<mo>*</mo>
<mfrac>
<mrow>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mn>2</mn>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
<mo>*</mo>
<mfrac>
<mrow>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
</mrow>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
<mrow>
<mi>x</mi>
<mo>=</mo>
<mi>V</mi>
<mi>L</mi>
<mi>x</mi>
<mo>*</mo>
<mi>t</mi>
<mi>a</mi>
<mi>n</mi>
<mi>&theta;</mi>
<mo>*</mo>
<mi>z</mi>
<mo>+</mo>
<mfrac>
<mrow>
<mi>V</mi>
<mi>L</mi>
<mi>x</mi>
<mo>*</mo>
<mi>z</mi>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mfrac>
<mrow>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>z</mi>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
</mrow>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>V</mi>
<mi>y</mi>
<mo>*</mo>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mi>o</mi>
<mi>p</mi>
<mo>-</mo>
<mi>b</mi>
<mi>o</mi>
<mi>t</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>z</mi>
</mrow>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;
根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
5.根据权利要求1至4中任一项所述的真实空间和虚拟空间的融合方法,其特征在于,还包括:
设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直Y轴,Z轴垂直于XY平面。
6.一种真实空间和虚拟空间的融合系统,其特征在于,包括:
获取单元,获取真实空间中多个点的真实空间坐标位置;
确定单元,根据所述真实空间中多个点的真实空间坐标位置确定所述多个点中的每个点在虚拟空间中对应的目标坐标位置;
处理单元,根据所述每个点在所述虚拟空间中对应的所述目标坐标位置,对所述虚拟空间中的物体执行相应的操作;
其中,所述获取单元还用于:
获取所述真实空间中观看者的双眼位置;
所述确定单元包括:
第一位置确定单元,根据所述观看者的双眼位置以及所述多个点中任一点的所述真实空间坐标位置,确定所述任一点投影到真实空间中的立体播放窗口上的投影坐标位置;
第二位置确定单元,根据所述任一点在所述立体播放窗口中的投影坐标位置,确定所述任一点在所述虚拟空间中对应的目标坐标位置;
所述第二位置确定单元还用于:
获取原始相机以及与所述原始相机相对应的左相机和右相机的当前参数,其中,所述左相机和所述右相机由所述原始相机分别向两侧水平移动形成,
其中,所述当前参数包括:
所述原始相机的近投影面在虚拟空间中的宽度,所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,与所述原始相机相对应的左相机和右相机之间的分离值和零视差面深度值,所述原始相机的近投影面的上边界值和下边界值。
7.根据权利要求6所述的真实空间和虚拟空间的融合系统,其特征在于,所述第一位置确定单元具体用于:
根据所述观看者的左眼位置和所述任一点的真实空间坐标位置,以第一预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置的X分量,其中,所述第一预设公式为:
<mrow>
<mi>T</mi>
<mi>L</mi>
<mi>x</mi>
<mo>=</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>-</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>L</mi>
<mo>.</mo>
<mi>x</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>)</mo>
<mo>*</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>L</mi>
<mo>.</mo>
<mi>z</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,TLx为所述第一坐标位置的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,EL.x为所述观看者的左眼位置的X分量,EL.z为所述观看者的左眼位置的Z分量;
根据所述观看者的右眼位置和所述任一点的真实空间坐标位置,以第二预设公式计算出所述任一点在所述立体播放窗口上的第二坐标位置的X分量,其中,所述第二预设公式为:
<mrow>
<mi>T</mi>
<mi>R</mi>
<mi>x</mi>
<mo>=</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>-</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>R</mi>
<mo>.</mo>
<mi>x</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>x</mi>
<mo>)</mo>
<mo>*</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mi>R</mi>
<mo>.</mo>
<mi>z</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,TRx为所述第二坐标位置的X分量,p2.x为所述任一点的真实空间坐标位置的X分量,p2.z为所述任一点的真实空间坐标位置的Z分量,ER.x为所述观看者的右眼位置的X分量,ER.z为所述观看者的右眼位置的Z分量;
根据所述观看者的左眼位置或观看者的右眼位置和所述任一点的真实空间坐标位置,以第三预设公式计算出所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量,其中,所述第三预设公式为:
<mrow>
<mi>T</mi>
<mi>y</mi>
<mo>=</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>y</mi>
<mo>-</mo>
<mfrac>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mo>.</mo>
<mi>y</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>y</mi>
<mo>)</mo>
<mo>*</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>E</mi>
<mo>.</mo>
<mi>z</mi>
<mo>-</mo>
<mi>p</mi>
<mn>2.</mn>
<mi>z</mi>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,Ty为所述第一坐标位置或第二坐标位置的Y分量,p2.y为所述任一点的真实空间坐标位置的Y分量,p2.z为所述任一点的真实空间坐标位置的Z分量,E.y为所述观看者的左眼位置或右眼位置的Y分量,E.z为所述观看者的左眼位置或右眼位置的Z分量,其中,左眼位置或右眼位置的Y分量相同,Z分量也相同;
其中,所述立体播放窗口上的第一坐标位置和第二坐标位置的Y分量相同;
根据所述第一坐标位置的X分量和第一坐标位置的Y分量确定所述立体播放窗口上的第一坐标位置,根据所述第二坐标位置的X分量和第二坐标位置的Y分量确定所述立体播放窗口上的第二坐标位置,所述第一坐标位置和所述第二坐标位置即为所述投影坐标位置。
8.根据权利要求7所述的真实空间和虚拟空间的融合系统,其特征在于,所述第二位置确定单元具体用于:
根据所述第一坐标位置和所述第二坐标位置计算出所述任一点在所述立体播放窗口上的视差值;
获取所述立体播放窗口的参数信息,其中,所述参数信息包括立体播放窗口的宽度和高度;
根据所述立体播放窗口上的视差值和所述立体播放窗口的宽度,计算出所述任一点在所述虚拟空间的视平面上的视差值,其中,所述视平面上的视差值与所述立体播放窗口上的视差值正相关,所述视平面上的视差值与所述立体播放窗口的宽度反相关;
根据所述任一点在所述立体播放窗口上的第一坐标位置的X分量和所述立体播放窗口的宽度,以第四预设公式计算出所述任一点在所述视平面上的第三坐标位置的X分量,其中,所述第四预设公式为:
<mrow>
<mi>V</mi>
<mi>L</mi>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>T</mi>
<mi>L</mi>
<mi>x</mi>
</mrow>
<mi>w</mi>
</mfrac>
<mo>,</mo>
</mrow>
其中,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,TLx为所述第一坐标位置的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第二坐标位置的X分量和所述立体播放窗口的宽度,以第五预设公式计算出所述任一点在所述视平面上的第四坐标位置的X分量,其中,所述第五预设公式为:
<mrow>
<mi>V</mi>
<mi>R</mi>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>T</mi>
<mi>R</mi>
<mi>x</mi>
</mrow>
<mi>w</mi>
</mfrac>
<mo>,</mo>
</mrow>
其中,VRx为所述任一点在所述视平面上的第四坐标位置的X分量,TRx为所述第二坐标位置的X分量,w为所述立体播放窗口的宽度;
根据所述任一点在所述立体播放窗口上的第一坐标位置或第二坐标位置的Y分量和所述立体播放窗口的高度,以第六预设公式计算出所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,
其中,所述第六预设公式为:
其中,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,Ty为第一坐标位置或第二坐标位置的Y分量,h为所述立体播放窗口的高度。
9.根据权利要求8所述的真实空间和虚拟空间的融合系统,其特征在于,所述第二位置确定单元还用于:
根据所述当前参数和所述任一点在所述虚拟空间的视平面上的视差值以第七预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的深度值,
其中,所述第七预设公式为:
<mrow>
<mi>z</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
<mo>*</mo>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
<mrow>
<mo>(</mo>
<mrow>
<mi>V</mi>
<mi>w</mi>
<mo>*</mo>
<mi>U</mi>
<mo>+</mo>
<mi>V</mi>
<mi>w</mi>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
<mo>*</mo>
<mfrac>
<mrow>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mn>2</mn>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
<mo>*</mo>
<mfrac>
<mrow>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
</mrow>
<mo>)</mo>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,z为所述目标坐标位置的深度值,sep为所述分离值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,U为所述原始相机的近投影面在虚拟空间中的宽度,con为所述零视差面深度值,Vw为所述视平面上的视差值;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置的X分量或在所述视平面上的第四坐标位置的X分量以第八预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的X分量,
其中,所述第八预设公式为:
<mrow>
<mi>x</mi>
<mo>=</mo>
<mi>V</mi>
<mi>L</mi>
<mi>x</mi>
<mo>*</mo>
<mi>t</mi>
<mi>a</mi>
<mi>n</mi>
<mi>&theta;</mi>
<mo>*</mo>
<mi>z</mi>
<mo>+</mo>
<mfrac>
<mrow>
<mi>V</mi>
<mi>L</mi>
<mi>x</mi>
<mo>*</mo>
<mi>z</mi>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
</mrow>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mfrac>
<mrow>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mi>z</mi>
<mo>*</mo>
<mi>s</mi>
<mi>e</mi>
<mi>p</mi>
</mrow>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>c</mi>
<mi>o</mi>
<mi>n</mi>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,x为所述目标坐标位置的X分量,VLx为所述任一点在所述视平面上的第三坐标位置的X分量,z为所述目标坐标位置的深度值,sep为所述分离值,con为所述零视差面深度值,θ为所述原始相机的水平张角;
根据所述深度值、所述当前参数和所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,以第九预设公式计算出所述任一点在所述虚拟空间中的目标坐标位置的Y分量,其中,所述第九预设公式为:
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mi>V</mi>
<mi>y</mi>
<mo>*</mo>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mi>o</mi>
<mi>p</mi>
<mo>-</mo>
<mi>b</mi>
<mi>o</mi>
<mi>t</mi>
<mi>t</mi>
<mi>o</mi>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>*</mo>
<mi>z</mi>
</mrow>
<mrow>
<mn>2</mn>
<mo>*</mo>
<mi>n</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
其中,Y为所述目标坐标位置的Y分量,Vy为所述任一点在所述视平面上的第三坐标位置或第四坐标位置的Y分量,z为所述目标坐标位置的深度值,near为所述原始相机的近投影面距离所述虚拟空间坐标原点的距离,top为所述近投影平面的上边界值,bottom为所述近投影平面的下边界值;
根据所述任一点在所述虚拟空间中的目标坐标位置的所述深度值、所述X分量、所述Y分量,确定所述任一点在所述虚拟空间中的目标坐标位置。
10.根据权利要求6至9中任一项所述的真实空间和虚拟空间的融合系统,其特征在于,还包括:
设置单元,设置所述真实空间的坐标系,其中,以所述立体播放窗口的中心为坐标原点,以所述真实空间中立体播放窗口所在的平面为XY平面,立体播放窗口的左右边界垂直于X轴,立体播放窗口的上下边界垂直于Y轴,Z轴垂直于XY平面。
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 CN104134235A (zh) | 2014-11-05 |
CN104134235B true CN104134235B (zh) | 2017-10-10 |
Family
ID=51806904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410360771.1A Active CN104134235B (zh) | 2014-07-25 | 2014-07-25 | 真实空间和虚拟空间的融合方法和融合系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104134235B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068679A (zh) * | 2015-07-22 | 2015-11-18 | 深圳多新哆技术有限责任公司 | 调整虚拟物件在虚拟空间中位置的方法及装置 |
CN105354820B (zh) | 2015-09-30 | 2018-05-22 | 深圳多新哆技术有限责任公司 | 调整虚拟现实图像的方法及装置 |
CN106598247B (zh) * | 2016-12-16 | 2020-09-18 | 阿里巴巴(中国)有限公司 | 基于虚拟现实的响应控制方法及装置 |
CN108510592B (zh) * | 2017-02-27 | 2021-08-31 | 亮风台(上海)信息科技有限公司 | 真实物理模型的增强现实展示方法 |
EP3680857B1 (en) | 2017-09-11 | 2021-04-28 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Image processing method and apparatus, electronic device and computer-readable storage medium |
CN107610127B (zh) * | 2017-09-11 | 2020-04-03 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子装置和计算机可读存储介质 |
CN108090966B (zh) * | 2017-12-13 | 2021-06-01 | 广州市和声信息技术有限公司 | 一种适用于虚拟场景的虚拟物体重构方法和系统 |
CN111353930B (zh) * | 2018-12-21 | 2022-05-24 | 北京市商汤科技开发有限公司 | 数据处理方法及装置、电子设备及存储介质 |
CN109993086B (zh) * | 2019-03-21 | 2021-07-27 | 北京华捷艾米科技有限公司 | 人脸检测方法、装置、系统及终端设备 |
Citations (5)
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 | 深圳超多维光电子有限公司 | 立体交互方法及其显示装置和系统 |
-
2014
- 2014-07-25 CN CN201410360771.1A patent/CN104134235B/zh active Active
Patent Citations (5)
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 | 深圳超多维光电子有限公司 | 立体交互方法及其显示装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104134235A (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104134235B (zh) | 真实空间和虚拟空间的融合方法和融合系统 | |
US9595127B2 (en) | Three-dimensional collaboration | |
US7796134B2 (en) | Multi-plane horizontal perspective display | |
JP3311830B2 (ja) | 3次元動画作成装置 | |
US8624962B2 (en) | Systems and methods for simulating three-dimensional virtual interactions from two-dimensional camera images | |
US20110164032A1 (en) | Three-Dimensional User Interface | |
US10701344B2 (en) | Information processing device, information processing system, control method of an information processing device, and parameter setting method | |
US20120162384A1 (en) | Three-Dimensional Collaboration | |
CN108028871A (zh) | 移动设备上的无标记的多用户多对象增强现实 | |
Tomioka et al. | Approximated user-perspective rendering in tablet-based augmented reality | |
US9361660B2 (en) | Image processing device and method, supplement image generation device and method, program, and recording medium | |
CN106303706A (zh) | 基于人脸和物件跟踪实现以主角跟随视角观看虚拟现实视频的方法 | |
CN102938844A (zh) | 利用立体成像生成自由视点视频 | |
CN104349155B (zh) | 模拟立体图像显示方法及显示设备 | |
EP1292877A1 (en) | Apparatus and method for indicating a target by image processing without three-dimensional modeling | |
US20130057574A1 (en) | Storage medium recorded with program, information processing apparatus, information processing system, and information processing method | |
US20170294052A1 (en) | System, Method and Software for Producing Virtual Three Dimensional Images that Appear to Project Forward of or Above an Electronic Display | |
US20230298280A1 (en) | Map for augmented reality | |
KR20200138349A (ko) | 화상 처리 방법 및 장치, 전자 디바이스, 및 저장 매체 | |
JP5350427B2 (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
WO2013125098A1 (ja) | Ar技術を用いたコンピュータ・グラフィックス画像処理システム及び方法 | |
TW201928761A (zh) | 影像擷取之設備及方法 | |
JP2004030408A (ja) | 三次元画像表示装置及び表示方法 | |
JP2018116421A (ja) | 画像処理装置および画像処理方法 | |
CN116863107A (zh) | 增强现实提供方法、装置以及非暂时性计算机可读介质 |
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 | ||
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: Shenzhen super Technology Co., Ltd. Address before: 518053 East Guangdong H-1 East 101, overseas Chinese town, Nanshan District, Shenzhen. Patentee before: Shenzhen SuperD Photoelectronic Co., Ltd. |