3d 将二维点反向投影为三维点

3d 将二维点反向投影为三维点,3d,geometry,reverseprojection,3d,Geometry,Reverseprojection,假设我们有一个三维空间,上面有一个平面,上面有一个任意方程:ax+by+cz+d=0 现在假设我们在该平面上选取3个随机点:(x0,y0,z0)(x1,y1,z1)(x1,y1,z1) 现在我对这架飞机有了不同的视角(相机)。我的意思是,我有一个不同的相机,可以从不同的角度看这架飞机。从相机的角度来看,这些点有不同的位置。例如,(x0,y0,z0)将是(x0',y0') 从新摄像机的角度来看,(x1,y1,z1)将是(x1',y1'),(x2,y2,z2)将是(x2',y2') 这是我的一个小难

假设我们有一个三维空间,上面有一个平面,上面有一个任意方程:ax+by+cz+d=0 现在假设我们在该平面上选取3个随机点:(x0,y0,z0)(x1,y1,z1)(x1,y1,z1)

现在我对这架飞机有了不同的视角(相机)。我的意思是,我有一个不同的相机,可以从不同的角度看这架飞机。从相机的角度来看,这些点有不同的位置。例如,(x0,y0,z0)将是(x0',y0') 从新摄像机的角度来看,(x1,y1,z1)将是(x1',y1'),(x2,y2,z2)将是(x2',y2')

这是我的一个小难题!我想从新相机的视角中选择一个点,例如(X,Y),并告诉它在该平面上的位置。我只知道3个点及其在3d空间中的位置,以及它们在新相机视图中的投影位置


你知道平面方程的系数和摄像机的位置(连同投影),还是只有六个点零


我知道前3个点的位置。因此,我们可以计算平面的系数。所以我们从(0,0,0)的角度准确地知道平面的位置。然后我们有了只能看到点的相机!因此,摄影机看到的唯一东西是3个点,并且它知道它们在三维空间中的位置(当然它们在二维摄影机视图平面上的位置)。毕竟我想看摄像机视图,选择一个点(例如(x1,y1)),然后告诉我那个点在那个平面上的什么位置。(确保该(X,Y,Z)点符合平面方程)。另外,我对摄像机的位置一无所知。

你是在问如何使直线和平面相交? 看这里


你的老师知道这个网站

不可能对这个问题给出明确的解决方案。但是,以下是我将如何提取不同的解决方案:

1) 使用原始的P3P(透视-3点)算法求解相机位置和方向,该算法给出了四个可能的可行解(点位于相机前面)


2) 投影一条以相机位置为原点,以(X,Y)为相机投影的光线,并计算其与平面的交点。

如果您需要答案,我将花费一笔赏金…?另请参见:如果您有4个点,请使用错误链接-当前页面:存档页面