2012-04-13 7 views
0

[0 0 1]に沿って、点[x y z]からオブジェクトの表面までの距離を計算する必要があります(この段階では、単純な直腸ですが、後で任意の形状になります)。Javaのベクトルに沿って点から面までの距離を計算しますか?

単位ベクトルを使用してサーフェスを定義し、[0 0 1]に沿ってすべてのプレーンまでの距離を求める線形代数計算を行うことができますが、コーディングとJavaについてかなり新しい人として、ライブラリーがあるかどうか、長期的には複雑な凸オブジェクトがあるかもしれないので、標準的なプラクティスを使用するように注意する必要があります(私はプレーンを生成するために何か他のものを使用できます)。

ありがとう、

答えて

0

Point3Dを使用してポイントを表している場合は、距離の計算に使用できる距離方法があります。だから問題は表面のどの点が欲しいのですか?あなたがちょうど表面上の任意のポイントを必要とする場合は、コーナーポイントの1つを選んでそれを使って距離を計算することができます。

+0

ありがとうございます。 [x y z]点から[0 0 1]方向に沿って表面上の点が必要です。すなわち、線ベクトル(x、y、z)+ k(0,0,1)と表面との交点である。これは、平面を一組の平面で表すと、単純な線形代数計算です。使用するのに最適なサーフェイス表現は何ですか(Wikipediaでは、面頂点メッシュが良いアイデアかもしれません)。将来は、さまざまなデータ入力から大きなサーフェスメッシュを生成する必要があるため、かなり標準的なものから始める必要があります。 – Helicase

関連する問題