Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 1.38 KB

File metadata and controls

38 lines (31 loc) · 1.38 KB

アルゴリズム

手順

  1. ファイルから入力
  2. 連結成分でグループ化する
  3. グループの輪郭からopencvのminarearectを用いて最小外接矩形を求める
  4. 直方体の8点を決める
  5. vrml化

データ入力

-6409.0 -34202.0 12.76 1  
-6408.0 -34202.0 7.58 1  
-6407.0 -34202.0 12.96 1  
-6406.0 -34202.0 12.14 1  
-6405.0 -34202.0 12.43 1 

のように x座標 y座標 z座標(標高) 属性値というフォーマットである。xy座標はどちらも小数部分が0の整数である。属性値は 1 川 2 平地 3 高い木 4 建物 となっている。

点の8近傍を隣接点として定義する。

連結成分でグループ化

属性値が4、つまり建物の点の連結成分を1グループとしてまとめたbuildingオブジェクトを作る。輪郭点は、建物以外の点と隣接している点とする。床の高さは、輪郭点に隣接している平地の点の高さの平均とする。

最小外接矩形をもとめる

buildingの輪郭点から、opencvのminarearectを用いて、最小外接矩形の4点を求める。この4点もbuildingが持つ。

直方体の点をもとめる

buildingの床の高さに、矩形4点と同じxy座標をもつ4点を作成。これら直方体8点もbuildingが持つ。

vrml化

直方体の8点をもとにポリゴンを貼る。