= 点のメッシュ(ポリゴン形状)への最接近点を求めるプログラム == 概要 OpenNurbs を使って、点のメッシュ(ポリゴン形状)への最接近点を求めるプログラムを作成しました。 以前紹介した[Polygon_RayTrace] と同様、ON_RTree を使用しています。 下記ソースにはメッシュへの最接近点を計算するクラス MeshClosestPoint と、それを動作させるサンプル関数が入っています。 サンプルプログラムは、Binary STL のメッシュファイルを入力すると、 メッシュのBoundingBox面上にグリッド状に点群を生成し、その各点とメッシュとの最接近点を求めるような感じになってます。 なお、Binary STL の読み込みと計算速度の測定に自前ライブラリ(ONGEO : STL読み込み、 TTW : 計算速度測定)を使っています。 TTWの組み込みが面倒でしたら、ソースの計算速度測定の部分の書き換えやコメントアウト等することでビルドしやすくなると思います(TTWはTclに依存しているのでビルドがちょっと面倒かもしれない)。 ライセンス:Boostライセンス == ダウンロード * [/downloads/users/25/25471/mesh_closest_point.cpp ソース] == 使用しているライブラリ * [http://wiki.mcneel.com/developer/opennurbs/home OpenNURBS] (Permissiveな独自ライセンス) Rhinoceros の 3dm形式を読み書きできるライブラリです。 幾何計算に関する機能も多く含まれるため、活用させていただいております。