2012-09-03 142 views
0

Rectangle如何计算三维矩形的深度坐标?

我有3D矩形,如图所示。

这里我知道一端的深度距离和x和y坐标。基于这两个值,我想在另一端计算坐标。

为了清晰视图,我附加了一个屏幕。

+1

我想你会需要一些参数。你使用什么类型的投影,视角是什么等等? – pimvdb

+0

甚至角度也是未知的:( – flex

+0

我猜你不走运,如果你只知道二维坐标,并且你想要它代表3D,那么你需要某个维度的信息,如果你不知道其他坐标如果你甚至不知道投影类型 – pimvdb

回答

2

如果您不知道二维和三维之间的关系(即使用投影公式),则无法应用深度。

这就是说,如果进行以下假设:

  • 投影型为正交
  • 深度线被投影为45度线
  • 45度线的长度是该一样的,如果它是一个正常的线

...那么你可以用毕达哥拉斯定理计算,如下所示:

Triangle

红线是相等的(在45度线的情况下),所以:

x1 = 100 + 50 * (1/sqrt(2)) 
y1 = 50 - 50 * (1/sqrt(2)) 
+0

谢谢,它给出了正确的方向,需要找出另一端的确切坐标任何想法如何将3D点转换为2D – flex

+0

@flex:3D思想超出了范围,因为您没有en足够的信息。 – pimvdb

+0

我试过上面的公式,x1,y1值没有完全映射到边缘,但是坐标绘制的方向完全相同。我在这个论坛上提出了另一个问题,它可能会给出完整的想法。请看看这个http://stackoverflow.com/questions/12267839/how-to-draw-line-in-3d-rectangle-based-on-x-y-and-z – flex