如何找到重叠的视野?

问题描述 投票:1回答:1

如果我有2台摄像机,并且在同一坐标系中给出了摄像机的位置和方向(以四元数表示),有什么方法可以检测出重叠的视野?换句话说,如何判断在一个摄像机的画面中显示的内容是否也在另一个摄像机中显示?另外,我还给出了两个摄像机的视图和投影矩阵。

opengl computer-vision arcore
1个回答
0
投票
enter image description here

视锥是凸多面体,因此您可以使用分隔轴定理来完成。

请参见此处:https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169

但是,如果您只想知道一台摄像机的框架中显示的对象是否显示在另一台摄像机的框架中,最好的方法是将世界空间坐标从所述对象转换为视口两个相机的空间。如果两个坐标均落在两个坐标的[0:width,height:0]范围内,则该对象在两个摄像机的视野中。

如果您想了解更多信息以及视图空间和世界空间,此页面上有一个很棒的3D变换查看管道图:

http://antongerdelan.net/opengl/raycasting.html

© www.soinside.com 2019 - 2024. All rights reserved.