2012-03-14 16 views
1

私は2つの等値面(頭蓋骨と肌)を持っています。私は点Aの法線を "double * pos = pickerCell-> GetPickNormal()"を使って計算しました。 私はposを印刷するとき、これは私が持っているものです:-6.2367,198263、-0.9823 誰かが私にこれらの3つの値の意味を説明することができますか?vtk IntersectWithLine()関数は、法線を線として使用します。

ポイントAの法線と皮膚の等値面との交点を探したいと思います。

IntersectWithLine()関数を使用してこれを行うことはできますか?はいの場合、私の場合の行は通常の行になりますか?正常の開始点と終了点は何ですか?

もっと良い方法がありますか?

答えて

0

見つけたとおり、交差する線を2つの点として定義する必要があります。一般的に行われていることは、あなたが選んだ点(法線vが計算されたのと同じ点)から始まり、2つの点A = P + v deltaとB = P-v deltaを計算することですコンテキストを使用してデルタを設定する(モデルが単位立方体内にある場合、デルタは.01のようなもので、モデルのサイズが1000の場合はデルタは1などとなります)。

また、セルピッカーが返すノーマルが正規化されていない理由はわかりませんが、ノーマライズすると表面ノーマルになると仮定しています。私は混乱を避けるために「ポジ」以外のものを呼んでいます(ポジションではなく方向です)。

関連する問題