メインコンテンツへスキップ
CalcMax

ベクトル射影計算

計算結果

3.0000

スカラー射影

射影のx成分
3.0000
射影のy成分
0.0000
射影のz成分
0.0000

ベクトルの射影とは、あるベクトルのうち、別のベクトルに沿っている部分がどれだけあるかという問いです。この計算ツール(正射影ともいいます)は、その答えを2通りに返します。符号付きのスカラー射影と、射影ベクトルです。2つのベクトルを空白かカンマで区切った数の並び(「3 4」と「1 0」など)として入力すると、まずスカラー射影が出ます。1つ目のベクトルが2つ目の方向に落とす影の長さで、2つが反対向きに傾いていれば負になります。続いて射影ベクトルが出ます。同じ影を、2つ目のベクトルに載っている本物のベクトルとして書き直したものです。スカラー射影は内積を2つ目のベクトルの大きさで割ったもので、射影ベクトルはその数に方向を入れ直したものです。成分は2つでも3つでも受け付けますが、2つのベクトルで個数をそろえる必要があります。2つの出力を並べて出すのは重複ではなく、このページの目的そのものです。スカラー射影は線に沿って測る量なので符号を持ち、射影ベクトルはどの線かしか知らないので、2つ目のベクトルの向きを逆にするとスカラー射影は符号が変わり、射影ベクトルは変わりません。2つ目のベクトルはゼロベクトルであってはなりません。射影する先の向きがないからです。1つ目はゼロベクトルでもよく、そのときの射影は0になります。

ベクトルとその射影

元のベクトルu対象のベクトルvvへのスカラー射影射影のx成分射影のy成分射影のz成分
3 41 03300
1 23 42.21.321.760
3 4-1 0-3300
1 00 10000
1 1 11 1 11.7321111
2 3 61 1 16.35093.66673.66673.6667
0 03 40000
1 2 22 2 12.66671.77781.77780.8889

8組のペアを一方向に射影したもので、スカラーが先、それに対応するベクトルの3つの成分が続きます。1行目と3行目は対になった組で、この表を読む価値そのものです。元のベクトルはどちらも3 4、対象は片方が1 0、もう片方が−1 0で、スカラー射影は3から−3へ反転するのに、射影ベクトルはどちらもまったく同じ (3, 0, 0) のままです。対象を符号反転すると分子に負号が1つ、分母の2乗にもう1つ入るので、ベクトルは気づかずスカラーだけが気づきます。2行目はどちらのベクトルも正規化されていないふつうの場合で、スカラーは2.2ときれいに出ますが、成分のほうはそうなりません。4行目は垂直な組で、スカラーは0、射影ベクトルはゼロベクトルになります。これは正しい答えで、どちらの入力もゼロでないのに2つの出力が同時に消える唯一の行です。5行目はベクトルを自分自身に射影するので、スカラーは自分自身の長さである√3になり、成分は3つとも等しくなります。6行目は3次元で、成分の等しい対象に射影するので、射影の成分も3つとも等しくなります。7行目は元のベクトルがゼロベクトルの場合で、受け付けられ、射影は0になります。8行目は3次元の組で、射影の成分は2つが等しく、3つ目はその半分になり、どれも正です。この表の8行には、射影ベクトルの成分が負になる行が1つもありません。3行目のスカラー射影は−3ですが、その射影ベクトルは (3, 0) です。対象がゼロベクトルの行はわざとありません。その場合は拒否されます。対象は向きと割る数の両方を与える側だからです。ここにある数はすべてページのビルド時に計算し直しており、最初の2列にある空白は区切り記号で、数の一部ではありません。

公式

s = (u · v) ÷ |v| proj_v u = (s ÷ |v|) · v = ((u · v) ÷ |v|²) · v

元のベクトルu
射影される側のベクトルで、影を落とす側です。空白かカンマで区切った2つか3つの数で、1 2のように入力します。ゼロベクトルでもよく、そのときの射影は0になります
対象のベクトルv
影が落ちる先のベクトルで、向きを与える側です。この2つの入力欄は入れ替えられません。入れ替えると答えが変わるので、番号ではなく役割でラベルを付けています
u · v
2つのベクトルの内積で、成分どうしを掛けて足し合わせたものです。どちらの式でも分子に現れるので、内積が0なら2つのベクトルは垂直だ、という読み方も一緒に覚えておく価値があります。射影が0になるのはまさにその場合です
|v|
対象のベクトルの大きさで、内積を割る数です。対象の大きさが1のときはこの割り算で何も変わらず、スカラー射影は内積そのものになります。参考表の1行目がその場合で、手で確かめるのにいちばん向いています
s
スカラー射影。元のベクトルが対象の向きに沿ってどれだけ届いているかを、符号付きの数で表したものです。2つが大きく反対を向いていれば負、垂直なら0になります。元のベクトルの大きさではなく、内積でもありません。内積を対象の大きさで割ったものです
proj_v u
射影ベクトル。スカラー射影に対象の単位ベクトルを掛けたもので、方向を入れ直すと対象の直線の上にちょうど載るベクトルになります。長さはsの絶対値です
sの符号
対象を逆向きにすると何が起きるか。対象のベクトルを符号反転すると、分子の符号が変わり、分母の2乗は変わらないので、スカラー射影は符号が反転します。一方で射影ベクトルは変わりません。同じ反転が分子と分母に1回ずつ現れて打ち消し合うからです
対象がゼロベクトル
拒否します。対象は向きと割る数の両方を与える側で、ゼロベクトルはどちらも持っていません。分母が0になり、射影する先の直線も存在しません。元のベクトルがゼロベクトルなのは別の話で、こちらは受け付け、射影は0になります
単位なし
スカラー射影と射影ベクトルの3つの成分は、ここではどれもただの数です。スカラー射影は入力の成分と同じ単位を持つ長さですが、このページはそれが何だったかを知りません
小数第4位
出力を書く桁数。スカラー射影は入力のきれいな分数になることがよく(11 ÷ 5 = 2.2のように)、射影ベクトルの成分はほとんどの場合で丸められます

このページを使うのは、あるベクトルのうち、別のベクトルに沿っている部分が欲しいときです。何かを成分に分けるときの1手先がこれにあたります。力の水平成分と垂直成分を取るのは2つの軸への射影ですし、力がする仕事は、力の進行方向への射影に距離を掛けたものです。影、斜面に沿った成分、最小二乗法の係数も、すべて同じ演算です。2つの出力は、その演算について別々の問いに答えます。符号付きのスカラーは「どれだけか」に、向きも含めて答えます。続けて計算するときはこちらを使ってください。負の値は、元のベクトルが対象から離れる向きに傾いているという意味です。ベクトルのほうは「どこに」に答えるもので、答えをベクトルのまま使いたいとき、つまり何かに足したり図に描いたりしたいときに使います。対象の直線上にちょうど載るので、そのまま足し合わせられます。2つの違いをいちばん速く見る方法は、対象のベクトルを逆向きにすることです。スカラーは符号が変わり、ベクトルは変わりません。スカラーは向きを基準に測った量で、ベクトルはそうではないからです。垂直な2つのベクトルでは、どちらの出力も0になります。0は本物の答えで、元のベクトルが対象に沿った成分をまったく持っていない、と言っています。使えない入力は対象のゼロベクトル1つだけです。向きと割る数は、まさにそれが与えられないものだからです。

計算例

  1. 「3 4」を「1 0」に射影

    1. 内積:3 × 1 + 4 × 0 = 3
    2. 対象の大きさ:|1 0| = 1
    3. スカラー射影:3 ÷ 1 = 3
    4. 射影ベクトル:(3 ÷ 1) × (1, 0) = (3, 0, 0)

    このページが開いたときに入っている入力で、何も隠れていない場合です。対象が単位ベクトルなので、その大きさで割っても何も変わらず、スカラー射影は内積そのものになります。目で確かめるのがいちばん簡単な場合でもあります。対象がx軸に沿っているので、射影は元のベクトルからy成分を落としたものになります。射影が最も単純な場面でしているのはこれで、対象に沿った部分を残し、残りを捨てています。

  2. 「1 2」を「3 4」に射影

    1. 内積:1 × 3 + 2 × 4 = 11
    2. 対象の大きさ:√(9 + 16) = 5
    3. スカラー射影:11 ÷ 5 = 2.2
    4. 射影ベクトル:(2.2 ÷ 5) × (3, 4) = (1.32, 1.76, 0)

    ふつうの場合で、対象が単位ベクトルではなく、割り算を2回しなければなりません。スカラー射影はちょうど出ます(11 ÷ 5 = 2.2)。射影ベクトルの成分のほうはそうはいきません。答えが本当に対象の直線上にあるかを確かめてください。1.32 ÷ 3 = 0.44、1.76 ÷ 4 = 0.44で、2つの成分が対象と同じ比になっています。直線上にあるとはそういう意味です。射影の長さはスカラーである2.2になっていて、これはそうあるべき姿です。

  3. 「3 4」を「−1 0」に射影

    1. 内積:3 × (−1) + 4 × 0 = −3
    2. 対象の大きさ:|−1 0| = 1
    3. スカラー射影:−3 ÷ 1 = −3
    4. 射影ベクトル:(−3 ÷ 1) × (−1, 0) = (3, 0, 0)

    1つ目と同じ元のベクトル、同じ直線で、対象だけが反対を向いています。このページが2つの出力の違いをいちばんはっきり見せる例です。スカラー射影は−3に反転しました。これは向きを基準に測った量で、その向きが変わったからです。射影ベクトルは1つ目の例とまったく同じで、(3, 0, 0)のままです。対象を符号反転すると分子に負号が1つ入り、分母の2乗にももう1つ入って、2つが打ち消し合うからです。スカラーは対象がどちらを向いているかを知っていて、ベクトルは直線しか知りません。

  4. 「1 0」を「0 1」に射影

    1. 内積:1 × 0 + 0 × 1 = 0
    2. 対象の大きさ:|0 1| = 1
    3. スカラー射影:0 ÷ 1 = 0
    4. 射影ベクトル:(0 ÷ 1) × (0, 1) = (0, 0, 0)

    垂直な2つのベクトルで、どちらの出力も0になります。これは失敗ではなく本物の答えで、元のベクトルが対象に沿った部分をまったく持っていない、つまり垂直だと言っています。内積が0かどうかが見るべき合図で、どちらかのベクトルがゼロなのにスカラー射影が0になるのは、この場合だけです。ここでは2つのベクトルとも長さ1なので、どちらも小さくありません。長さのある2つのベクトルの間で射影が0になるのは、最初に見たときは少し立ち止まる価値があります。

  5. 「0 0」を「3 4」に射影

    1. 内積:0 × 3 + 0 × 4 = 0
    2. 対象の大きさ:√(9 + 16) = 5
    3. スカラー射影:0 ÷ 5 = 0
    4. 射影ベクトル:(0 ÷ 5) × (3, 4) = (0, 0, 0)

    元のベクトルがゼロベクトルの場合です。内積のどの積も0なので、割り算の問題は何も起きずに両方の出力が0になります。この入力はこのページでは拒否されません。拒否されるのは逆の側で、ゼロであってはならないのは対象のベクトルのほうです。向きと割る数を与える側であり、ゼロベクトルへの射影には落ちる先の直線がないからです。

適用限界

2つのベクトルは成分の個数がそろっていなければならず、それぞれ2つか3つです。2つの入力欄は入れ替えられず、どちらがどちらかはラベルに書いてあります。元のベクトルが射影される側で、対象のベクトルが射影する先です。入れ替えると、まったくもっともらしく見える別の答えが出るので、結果に驚いたときは計算より先に2つの入力欄を確かめてください。対象のベクトルはゼロベクトルであってはなりません。向きと割る数の両方を与える側だからです。元のベクトルはゼロでもよく、そのときの射影は0になります。成分はふつうの数として読みます。カンマの直後に空白があれば成分の区切り、空白のないカンマは小数点として読みます(1,5は1.5)。桁区切りは解釈せず、推測もしないので、カンマを入れずにそのまま入力してください。小数第4位は表示の幅であって精度の主張ではありません。射影ベクトルは丸める前のスカラーから計算しているので、出力された成分を対象の対応する成分で割っても、印字されたスカラーがぴたりと戻るとは限りません。参考表は入力した対象と元のベクトル、そして4つの出力を並べており、ゼロベクトルを対象にした行はわざとありません。このページでは計算できないからです。重なりのあるツールを2つ挙げておきます。内積は射影の式の分子に現れ、単位ベクトルは2つ目の式で掛け戻す向きとして現れます。つまりこのページはそのどちらでもなく、両方に頼っています。射影は商であって、内積でも正規化したベクトルでもありません。

よくある質問

スカラー射影と射影ベクトルは何が違いますか
スカラー射影は符号付きの1つの数で、元のベクトルが対象の向きに沿ってどれだけ届いているかを表します。2つが離れる向きに傾いていれば負です。射影ベクトルは同じ距離を、対象の直線に沿ったベクトルとして書き直したものです。スカラーは対象がどちらを向いているかを知っていて、ベクトルは知りません。対象を逆にするとスカラーは符号が変わり、射影ベクトルは変わりません。続けて計算するときはスカラーを、答えをベクトルとして使いたいときはベクトルのほうを使ってください。
スカラー射影が負になるのはなぜですか
元のベクトルが、対象のほうへではなく対象から離れる向きに傾いているからです。スカラー射影は向きを基準に測る量なので、2つのベクトルが大きく反対を向いていると負になります。これは誤りではなく、落とせる符号規約でもありません。ある向きに逆向きに引く力は、その向きの成分が本当に負になりますし、仕事が負になるのも同じ理由です。
射影されるのはどちらのベクトルですか
1つ目の入力欄の元のベクトルです。2つ目の入力欄は対象のベクトルで、影が落ちる向きを与えます。このページでは2つは入れ替えられません。uをvに射影するのとvをuに射影するのは別の数になり、入れ替えると何も壊れたように見えないまま答えが変わります。だからこの2つの欄は、ベクトルuとベクトルvではなく役割でラベルを付けています。
2つのベクトルが垂直なときはどうなりますか
どちらの出力も0になり、それは失敗ではなく本物の答えです。内積が0であることは2つのベクトルが垂直であることを意味し、どちらかのベクトル自身がゼロなのにスカラー射影が0になるのはその場合だけです。射影が0というのは、元のベクトルが対象に沿った部分をまったく持っていないということです。参考表の4行目がこの場合です。垂直な力どうしは仕事をしませんが、それは物理学での同じ話です。
射影される側のベクトルはゼロベクトルでもよいですか
はい、そのときはどちらの出力も0になります。内積のどの積も0で、割り算は対象の大きさで行うので問題ありません。このページで拒否されるのは逆の側です。ゼロであってはならないのは対象のベクトルで、向きと割る数を与える側だからです。ゼロベクトルに射影する先の直線はありません。
射影の公式は何ですか
スカラー射影は、2つのベクトルの内積を対象のベクトルの大きさで割ったものです。s = (u · v) ÷ |v| となります。射影ベクトルはそのスカラーに対象の単位ベクトルを掛けたもので、内積に対象を掛けて対象の大きさの2乗で割ったものと同じです。対象の大きさがすでに1ならどちらの式も簡単になり、スカラー射影は内積そのものになります。参考表の1行目がそれで、手で確かめるのに向いています。

参考文献

関連する計算ツール