点群ビューアーでの体積計算アルゴリズムの説明

変更日 Fri, 07 Oct 2022 で 02:33 PM

区分求積法の概要


測定対象の点群を小領域に分割し、小領域の体積の合計値を計算します。

この値を測定対象の点群の体積と近似します。

ユーザが指定する基準面の情報を用いることで、

基準面より上の部分の体積CUT、基準面より下の部分の体積FILLをそれぞれ計算可能です。


入力データ


本アルゴリズムで用いる入力データは以下の通りです。

  • 領域パスの頂点情報 
  • 基準面の種類(FLAT/AVERAGE)
  • 基準面のオフセット高度
  • X, Y方向の分割数(NX, NY)


区分求積法の詳細フロー


  1. 領域パスを内接する長方形領域を計算します。
    長方形領域を分割数NX, NYで分割し、パス内部に含まれる小領域のみを取得します。
  2. 小領域の中心座標値(cx, cy)における基準面の高度(zref)を計算します。※1
  3. 小領域に含まれる点群を確認し、高度の最大値(zmax)を取得します。 ※2
  4. 3で高度の最大値が未設定の小領域がある場合、周囲の小領域の値で補完します。※2
  5. dz = zmax - zrefを計算します。
    dz > 0の場合、CUT体積として加算します。
    dz <0の場合、FILL体積として加算します。


※1 基準面のオフセット高度について

基準面のオフセット高度を設定することで、zrefの値を上下させることができます。


※2 補完の必要性について

3ではブラウザに読み込まれた点群情報のみを使用します。

このため、「まだ読み込みが完了していない点群がある場合」や、

「点群の間隔に対して小領域が小さい場合」には、高度の最大値未設定の小領域が発生します。

このため4では補完を行い、5の計算が成立するようにしています。


この記事は役に立ちましたか?

それは素晴らしい!

フィードバックありがとうございます

お役に立てず申し訳ございません!

フィードバックありがとうございます

この記事に改善できることがあれば教えてください。

少なくとも一つの理由を選択してください
CAPTCHA認証が必要です。

フィードバックを送信しました

記事の改善におけるご協力ありがとうございます。