ページ 1 / 1
空間ベクトルをのばす
Posted: 2009年8月05日(水) 22:06
by はね
いつもお世話になっております。
基礎的なことだとは思いますが、詰まってしまって質問させてください。
三次元ベクトルABがあります。
ベクトルABをdだけ伸ばした先の点Cを求めるにはどうしたらいいのでしょうか?
ABCは直線上にあります。
図(?)を書くと以下のようになり、点Cを求めたいです。
A→B→→C
d
どうか教えて頂きたいです。
よろしくお願いします。
Re:空間ベクトルをのばす
Posted: 2009年8月05日(水) 22:18
by lbfuvab
vec(AB)をAからBまでのベクトルとします。
vec(OC) = vec(OA) + 3*vec(AB)
vec(AB) = vec(OB) - vec(OA)
です。
後は頑張って下さい。
Re:空間ベクトルをのばす
Posted: 2009年8月05日(水) 22:26
by lbfuvab
すいません。
d進んだ点でしたね。
vec(OC) = vec(OB) + d/abs(vec(AB))*vec(AB)
ですね。
Re:空間ベクトルをのばす
Posted: 2009年8月06日(木) 02:37
by Justy
[color=#d0b0c0" face="monospace]
>点Cを求めたいです
[/color]
ベクトル ABの単位ベクトルを求めて、d倍し、点Bにそれを足せばいいんじゃないでしょうか。
Re:空間ベクトルをのばす
Posted: 2009年8月06日(木) 05:48
by lbfuvab
う~ん我ながら計算順序が見づらい・・・
分かりやすく書くと、
vec(OC) = vec(OB) + ( d * abs(vec(AB)) ) * vec(AB)
ちなみにベクトルの絶対値はベクトルの長さです。
Re:空間ベクトルをのばす
Posted: 2009年8月06日(木) 05:57
by sizuma
>vec(OC) = vec(OB) + ( d * abs(vec(AB)) ) * vec(AB)
えっと、こうじゃないですか??
d * (vec(AB) / abs(vec(AB))
つまりはJustyさんの
>ベクトル ABの単位ベクトルを求めて、d倍し、点Bにそれを足せばいいんじゃないでしょうか。
ってことですよね
Re:空間ベクトルをのばす
Posted: 2009年8月06日(木) 21:57
by はね
lbfuvab様
Justy様
sizuma様
返事が遅くなり申し訳ありません。
早速実装してみました。
きちんとラインが引けていました。
(遅れましたが、計測ソフトのライン表示に使用するつもりでした。)
vecBCのノルム=dにもなっておりました。
ありがとうございました。
またよろしくお願い致します。