2025年10月29日水曜日

技術メモ 凹みのある点群のラップ

 Technical Note: Wrapping Concave Point Clouds


I learned that Blender's Shrinkwrap modifier can wrap point clouds with objects, so I made a note of it. With some ingenuity, you can even wrap point clouds with concave 3D shapes.


BlenderのShrinkwrapモディファイアで、点群をオブジェクトで包むことができることを知りましたのでメモしました。工夫すれば点群に凹みがある3D形状でもそれに対応して包むことができます。

1 点群の事例

3D形状が馬蹄形の点群を事例とします。


点群の事例(上からオルソ投影)


点群の事例(斜めから)

2 ICO球を使ったラップ


ICO球で点群を内包した状況


Shrinkwrapモディファイアで包んだ状況

凸包のようなオブジェクトになり、馬蹄形特有の凹みが表現されていません。

CUBEなどを使っても同じ結果となります。

3 馬蹄形のオブジェクトを使ったラップ


馬蹄形オブジェクトで点群を内包した状況


Shrinkwrapモディファイアで包んだ状況

馬蹄形形状で包むことができました。点群の3D形状を観察して、それに近いオブジェクトを作成して、点群をターゲットにShrinkwrapモディファイアを適用すると、点群の3D形状が反映できます。

4 馬蹄形オブジェクトの作成


・オルソ投影上から画面で馬蹄形をベジェ曲線で描く


・べジェ曲線をメッシュに変換して面を貼る


・面を法線方向に押し出して立体化し、点群を内包する

5 メモ

この技術により、Blender3Dビューポートに頂点でプロットしてある遺物データから、遺物分布範囲をオブジェクトで特定できます。特定した遺物分布範囲をつかって、例えば一例として、実際の遺物分布から計算できる最近接距離平均と遺物分布範囲内の仮想ランダム分布の最近接距離平均の比較ができるようになります。これにより遺物分布の偏り(密集性)を数値として捉えることができます。





0 件のコメント:

コメントを投稿