2012-01-17 14 views
2

私はxyz座標で3次元の点集合を持っています。私はこれらの点の凸包を計算するのを好きです。私は利用可能なアルゴリズムを通っていないが、私はPerlでそれを行うことができませんでした。 Perl Math:ConvextHullモジュールもチェックしましたが、これらの3D点を入力する方法はわかりません。私を助けてください。convexHull in 3D Perl

    X  Y  Z 

POINT 1  -15.037 7.344 14.621 
POINT 2  -15.467 6.281 15.522 
POINT 3  -15.147 6.738 16.954 
POINT 4  -13.998 7.141 17.197 
POINT 5  -14.697 4.973 15.165 
POINT 6  -15.115 4.480 13.780 
POINT 7  -14.965 3.895 16.188 
POINT 8  -16.607 4.347 13.471 
POINT 9  -16.087 6.731 17.929 
POINT 10  -15.826 6.999 19.343 
POINT 11  -15.144 5.847 20.038 

答えて

1

Math::ConvexHullそれが唯一の2Dデータ(XとY)で動作するので、助けにはなりません。

残念ながら、Math::Geometry::Planarには同じ制限があります。

+0

... Math :: ConvexHull :: MonotoneChain(Math :: ConvexHullの後継)は、3Dのために本当に役立つものではありません。 3Dについては、Chanのアルゴリズムを実装したいと思っています。 – tsee

1

半分答え:おそらく、Qhullライブラリ/付属のコマンドラインプログラムをPerlから起動することで問題を解決できます。

私は数学を知らないのでテストしませんでした。