从1D中的投影重建2D形状

时间:2015-06-22 10:36:40

标签: algorithm math geometry computational-geometry differential-equations

我在2D空间(在x-y平面上)有一个凸形闭合形状。我不知道它是什么样的。我将此形状绕其边界框的大约中心旋转64次,旋转5.625度(360/64)。对于每次旋转,我都有形状极值点的x坐标。换句话说,我知道每次旋转的形状的左右x范围(假设正交投影)。如何在不与x投影相矛盾的形状上获得64个点。 请注意,2D形状是旋转的,但坐标轴不随其一起旋转。因此,如果您的对象是一条线,则每个端点的x投影(如果绘制)将基本上是一个sin / cos波,具体取决于其原始方向。

旋转次数越多,如果我有解决方案 - 我就越接近我的实际形状。

实际上我不知道旋转形状的确切点,但是假设我知道任何解决方案仍然会有所帮助,因为我不介意重建是不完美的。

1 个答案:

答案 0 :(得分:3)

我们使用直接的方法来重建。

投影是物体的阴影。

您从一个边界2D框开始。对于每个投影,您都要远离投影外部的2D形状左右部分。因此,主函数计算两个凸二维形状的交点。您可以为每个投影计算这些交点。

我们有几个原始绿色物体的紫色投影P1,P2,P3,P4:

enter image description here

知道紫色投影的位置会构建两条来自投影终点的红色光线,并与重建对象相交:

enter image description here

使用4个投影重建红色物体。与原始绿色相比,您可以看到它们不一样。您获得的投影越多,您在最终结果中获得的错误就越少。

enter image description here