2016-08-04 3 views
1

平面フィッティングの例は、ユーザーが選択したポイントに基づいて取得する点群から作成した平面上の立方体に適合します。私は、その点が床、壁、または屋根であるかどうかを調べたいと思います。私が達成しようとしているのは、壁や屋根ではなく床にのみ立方体をレンダリングするように例を変更することです。Project Tango:平面フィッティングの例で作成された平面がJava SDKの床または壁であるかどうかを確認するにはどうすればいいですか?

答えて

0

最も簡単な解決策は、面の法線を確認することです。通常、壁の法線は重力に垂直であり、床は重力に平行です。

+0

はい、3D空間内の2つのベクトル間のアンングルを計算する方法はありますか? –

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 
関連する問題