Project Tango:如何判断在平面拟合示例中创建的平面是Java SDK中的地板还是墙?

时间:2016-08-04 20:14:34

标签: project google-project-tango tango

平面拟合示例将立方体拟合到它根据用户选择的点检索的点云创建的平面上。我想确定这一点是地板,墙壁还是屋顶。我想要实现的是更改示例,以便它只在地板上渲染立方体而不是在墙壁或屋顶上。

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是检查飞机是否正常。通常,墙的法线垂直于重力,地板与重力平行。

答案 1 :(得分:0)

这样的事情:

你的飞机正常撞到了吗?

     float surfaceAngle = Vector3.Angle(normal, new Vector3(0,1,0));

     float floorLimitAngle = 20;
     float ceilingLimitAngle = 180 - 20;

     if (surfaceAngle < floorLimitAngle )
        // It's a floor
     else if (surfaceAngle > ceilingLimitAngle)
        // It's a ceiling
     else
        // It's a wall