点のメッシュ(ポリゴン形状)への最接近点を求めるプログラム

概要

OpenNurbs を使って、点のメッシュ(ポリゴン形状)への最接近点を求めるプログラムを作成しました。 以前紹介したPolygon_RayTrace と同様、ON_RTree を使用しています。 下記ソースにはメッシュへの最接近点を計算するクラス MeshClosestPoint と、それを動作させるサンプル関数が入っています。

サンプルプログラムは、Binary STL のメッシュファイルを入力すると、 メッシュのBoundingBox面上にグリッド上に点群を生成し、その各点とメッシュとの最接近点を求めるような感じになってます。 なお、Binary STL を読み込みと計算速度の測定に自前ライブラリ(ONGEO : STL読み込み、 TTW : 計算速度測定)を使っています。 組み込みが面倒でしたら適宜ソース書き換えやコメントアウト等してください(TTWはTclに依存しているのでビルドがちょっと面倒かもしれない)。

ライセンス:Boostライセンス

使用しているライブラリ

  • OpenNURBS (Permissiveな独自ライセンス)
Rhinoceros の 3dm形式を読み書きできるライブラリです。 幾何計算に関する機能も多く含まれるため、活用させていただいております。

ダウンロード