点と線の間の単位ベクトルを見つけるにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3646181

質問

知っているのは3つあります 3次元の ポイント: A, B, 、 そして C.

さらに4つ目のポイントがありますが、 X.

X ベクトル上にあります AB そのようなベクトル CX ベクトルに垂直です AB. 。それで AB · CX = 0

CX の単位ベクトルを見つけるにはどうすればよいですか?


ここでのユースケースは、原点が A、z 軸が B を通過、xz 平面が C を通過し、軸が直交する (変換された) 回転行列を構築していることです。

また、自由にドット関数と外積関数を提供するベクトル オブジェクトもあります。

役に立ちましたか?

解決

させて

U = (B-A)/||(B-A)||

A から B までの線に沿った単位ベクトルになります。ここで、 ||X|| ベクトルの長さを表します X. 。これで、行全体を次のようにパラメータ化できます。

A + tU

そして私たちが望んでいるのは

((A + tU) - C)*U = 0

となることによって

A*U - C*U + t = 0
t = C*U - A*U

これで解決しました t, そして今、我々はさせます

V = (A+tU - C)/||A+tU - C||

この線に沿って単位ベクトルが得られます。 U, 、そしてそれに直交するもの、 V.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top