数学C / 本質理解型教材

ベクトル

向きと大きさを持つ不思議な「矢印の数」。図形を計算で解き明かすための基礎を学びます。

なぜ?

向きを持った量はどう計算する?

「東へ3歩進んでから、北へ4歩進む」。このときの最終的な移動は、スタート地点から見れば「北東へ5歩」の移動になります。

しかし、普通の数字(3や4)の足し算だけでは、この「北東へ5歩」という結果をうまく計算できません。私たちの暮らす世界では、移動・力・風・速度のように、大きさだけでなく**向き**も一緒に考えなければならない量がたくさん存在します。こうした向きつきの量をまるごと計算するための道具が必要です。

場所を持たない「自由な矢印」

ベクトル=向きと大きさをセットにした量(矢印)。図形の関係が「矢印の計算」に置き換わり、幾何のひらめきが計算に変わる。

ベクトルは、紙の上に描かれた**矢印**として視覚化されます。ここで最も重要なルールは、ベクトルは「どこから始まっているか(始点)」を気にしないということです。

どんなに離れた場所に描かれていても、**向きと長さ(大きさ)が同じであれば、それらはすべて「同じベクトル」**とみなします。この「スタート地点に縛られない」という自由さこそが、複雑な図形をシンプルに計算できる最大の強みになります。

ことば

足し算は「継ぎ足し」、実数倍は「伸縮」

向きのある量であるの計算は、矢印の操作として直感的に理解できます。

ベクトルの足し算 \(\vec a + \vec b\) は、**「矢印 \(\vec a\) の先に、もうひとつの矢印 \(\vec b\) を継ぎ足す」**ことで表されます。そのスタートとゴールを直接結んだ新しい矢印が、足し算の結果です。また、ベクトルを何倍かする(実数倍)ことは、向きを変えずに長さを伸ばしたり縮めたり(伸縮)することに対応します。たとえば、\(2\) 倍すれば長さは \(2\) 倍になり、\(-1\) 倍すれば**逆向き**のベクトルになります。

a b a + b (継ぎ足し)

▶ 使いどころ:川を斜めに泳ぐときの「進む方向」(自分の泳ぐ速度ベクトル + 川の流れる速度ベクトル)や、風の中を飛ぶ飛行機の実際の進路(機体の推力ベクトル + 風のベクトル)。

ことば

数で語る矢印(成分表示)

矢印という「絵」を数式で精密に計算するために、**成分表示**を使います。これは、矢印を「横にどれだけ進み、縦にどれだけ進むか」という数値のペア \((a_1, a_2)\) に翻訳する仕組みです。

成分を使うと、ベクトルの足し算は単に「横どうし、縦どうしを足すだけ」になります。また、三平方の定理を使うことで、ベクトルの「大きさ(長さ) \(|\vec a|\)」も次のように計算できます。

$$|\vec a| = \sqrt{a_1^2 + a_2^2}$$

たとえば、成分が \((3, 4)\) であるベクトルの大きさは \(\sqrt{3^2 + 4^2} = 5\) になります。このように、**直感的な「絵(矢印)」と、正確な「数(成分)」の二重表現**を自由に行き来できるのが、ベクトルの本質的な便利さです。

▶ 使いどころ:ゲームプログラミング。キャラクターの画面上の位置座標に、毎フレーム「速度ベクトル \((v_x, v_y)\)」を足し算することで、滑らかな移動をプログラムできます。

ことば

矢印どうしの「掛け算」を作りたい

ベクトルどうしを「掛け算」するにはどうすればよいでしょうか? 成分どうしをそのまま掛け算してしまうと、ベクトルの向きの性質が完全に消えてしまいます。

そこで、2つの矢印が**「どれだけ同じ向きを向いているか」**を掛け合わせる特別な掛け算としてを定義します。記号は「 \(\cdot\) 」を使い、次のように計算します。

$$\vec a \cdot \vec b = |\vec a||\vec b|\cos\theta$$

ここで重要なのは、ベクトルどうしの掛け算であるにもかかわらず、**内積の計算結果は「ベクトル(矢印)」ではなく「ただの数(スカラー)」になる**という点です。

内積とは「影の掛け算」である

内積は、一方のベクトルをもう一方の方向へまっすぐ落とした「影の長さ(正射影)」と、相手の長さの掛け算。同じ向きなら最大になり、直角なら0、逆向きなら負になる。

内積の幾何学的な意味は、一方の矢印がもう一方の矢印に落とす**「影」**にあります。角度 \(\theta\) が鋭角(\(90^\circ\) 未満)なら影は正の方向へ伸び、直角(\(90^\circ\))なら影の長さはゼロになり、鈍角(\(90^\circ\) より大きい)なら影は逆方向(負)へ伸びます。

特に、次の**「垂直条件」**は図形の直角を証明するための最も強力なツールです。

$$\vec a \perp \vec b \iff \vec a \cdot \vec b = 0$$
内積 \(\vec a \cdot \vec b\) 0.00
影の長さ(正射影) 0.00
⚠️ 内積の結果は矢印(ベクトル)ではなくただの数です。「ベクトル×ベクトル=ベクトル」と思い込むのが定番のつまずき。

▶ 使いどころ:物理の「仕事」の計算。物体に加えた力ベクトル \(\vec F\) と移動ベクトル \(\vec s\) の内積 \(W = \vec F \cdot \vec s\) によって、どれだけ効率よく仕事が行われたかが決まります。

ことば

成分で計算する内積の魔法

内積の真価は、成分表示を使ったときに現れます。角度 \(\theta\) が直接わからなくても、成分を使うと内積は次のシンプルな式で計算できます。

$$\vec a \cdot \vec b = a_1b_1 + a_2b_2$$

「それぞれの成分を掛けて足す」だけで、図形的な情報(長さや角度)が勝手に計算されてしまいます。

たとえば、ベクトル \((1, 0)\) と \((1, 1)\) の内積は、\(1\times1 + 0\times1 = 1\) です。それぞれの大きさは \(1\) と \(\sqrt{2}\) ですから、内積の定義式に当てはめると \(\cos\theta = \frac{1}{\sqrt{2}}\) となり、なす角 \(\theta\) が確かに \(45^\circ\) であることが計算だけで導けます。

▶ 使いどころ:AIのセマンティック検索や推薦システム。単語や商品を数千次元のベクトルで表現し、それらの「成分の内積」を高速計算することで、ユーザーの好みに近いものを瞬時に見つけ出します。

つなぐ

なす角と類似度

内積の式を変形すると、2つのベクトルのなす角 \(\cos\theta\) を求める式が得られます。

$$\cos\theta = \frac{\vec a \cdot \vec b}{|\vec a||\vec b|}$$

この \(\cos\theta\) は、2つのベクトルの「向きがどれくらい揃っているか」を \(-1\) から \(1\) の間の値で表したものです。ベクトルを「ある物事の特徴を並べたデータ」とみなせば、この値はデータどうしの**「類似度(似ている度合い)」**そのものを表す指標になります。

▶ 使いどころ:音楽アプリのおすすめ機能。ユーザーのジャンルの好みをベクトル化し、他ユーザーとのベクトルのなす角を計算して、好みが極めて近い(角度が小さい)人を判定します。

ことば

位置ベクトルで「点」を矢印にする

これまでベクトルを「自由に動かせる矢印」として扱ってきましたが、あえて基準となる原点 \(O\) を1つ固定してみましょう。

すると、すべての点 \(A, B, \dots\) は、原点 \(O\) から引いた矢印 \(\vec a, \vec b, \dots\) と1対1に対応します。この原点を始点としたベクトルのことをと呼びます。これによって、「点の位置」そのものを数式で足したり引いたりできるようになります。たとえば、2点 \(A, B\) のちょうど真ん中にある中点 \(M\) の位置ベクトル \(\vec m\) は、単に2つのベクトルの平均になります。

$$\vec m = \frac{\vec a + \vec b}{2}$$
O (原点) a A b B M (中点)

▶ 使いどころ:3Dグラフィックス。無数にあるポリゴン(多角形)の頂点の位置ベクトルの平均を計算することで、その立体の正確な「重心」を瞬時に算出できます。

シーソーの支点としての「内分点」

線分を m:n に分ける内分点は、それぞれの点にかける「比の重み」を逆にして足し合わせた、重み付き平均(シーソーの支点)で表される。

2点 \(A, B\) を \(m : n\) に分けるのベクトルは、次の公式で表されます。

$$\vec p = \frac{n\vec a + m\vec b}{m+n}$$

この式は、値が近い(比が強い)点の方へより強く引っ張られる「シーソーのバランス」と同じ構造をしています。たとえば、\(A(0,0)\) と \(B(6,3)\) を \(2:1\) に分ける点は、\(B\) に近い側に引き寄せられ、計算すると \((4, 2)\) になります。

▶ 使いどころ:CGアニメーションの「キーフレーム補間」。前後のコマ(ポーズベクトルAとB)の間を、時間比率 \(t : (1-t)\) で重み付き平均(内分)することで、滑らかなアニメーションを自動生成します。

つまみの調整で描く「ベクトル方程式」

ベクトル方程式とは、「直線の進み具合のつまみ」となる実数 t をスライドさせることで、直線上のすべての点を連続的に表現する数式。

直線を「点 \(\vec a\) を通り、方向 \(\vec d\) へ進む軌跡」として表現した数式を、直線のと呼びます。

$$\vec p = \vec a + t\vec d$$

ここで \(t\) は(パラメータ)と呼ばれ、この数値を連続的に変えることで、直線上のすべての点を一本のペンでなぞるようにスキャンできます。この「変数をつまみのように動かして図形を描く」という発想は、この先の高度な曲線を描くための最も基礎的な土台となります。

▶ 使いどころ:ゲームの物理衝突シミュレーション(レイトレーシングなど)。銃弾や光の軌道を \(\vec a + t\vec d\) として表し、\(t\) を進めながら他の物体の範囲と重なるかを計算して命中判定を行います。

ベクトル単元の地図

ベクトル=向きと大きさをセットにした量(矢印)。図形の関係が「矢印の計算」に置き換わり、幾何のひらめきが計算に変わる。

「向きのある量」を矢印で表す

成分表示で数と結びつく(計算可能に)

内積で「向きの揃い具合」を掛け算する

位置ベクトルで「点」を矢印にして動かす

ベクトル方程式で直線や軌跡をスキャンする

この単元で増えたことばミニ辞典
  • ベクトル:向きと大きさをセットにした量(矢印)。
  • 成分表示:矢印を「横にいくつか、縦にいくつか」の数で表したもの。
  • 大きさ:ベクトルの長さ(三平方の定理で計算できる)。
  • 内積:2つのベクトルの向きの揃い具合を測る掛け算。結果は数になる。
  • 正射影:あるベクトルを別のベクトルの方向にまっすぐ落とした影。
  • 位置ベクトル:基準点(原点)から各点へ引いた矢印。
  • 内分点:線分をある比率に分ける点(重み付き平均で表せる)。
  • ベクトル方程式・媒介変数t:数式のつまみ \(t\) を使って、直線などの図形を描き出す方法。
⚠️

ここで詰まりやすい

  • ベクトルに「特定の場所」があると思ってしまう
    ➔ ベクトルは「向き」と「大きさ」だけの情報です。平行移動してぴったり重なる矢印は、スタート位置がどこであってもすべて「同じベクトル」です。
  • 内積の計算結果を「矢印(ベクトル)」だと思ってしまう
    ➔ 内積はベクトルの掛け算ですが、計算した結果はベクトルではなく、ただの「数」になります。
  • \(|\vec a + \vec b| = |\vec a| + |\vec b|\) だと勘違いする
    ➔ 2辺を通って寄り道するルート(\(|\vec a| + |\vec b|\))は、ダイレクトに進むルート(\(|\vec a + \vec b|\))よりも常に長くなります。これを「三角不等式」と呼びます。
  • 内分点の公式の比の順序を間違える
    ➔ \(m:n\) に分けるとき、公式の上では \(n\vec a + m\vec b\) のように、比が「クロス」して相手側のベクトルにかかります。\(a\) に近い側には \(b\) 側の比の重みがつくと覚えましょう。
つなぐ

この先どこへつながるか

  • 空間ベクトル(3次元への拡張)
    ➔ 次元が3つになっても、成分が \((x, y, z)\) の3つに増えるだけで、ベクトルの足し算や内積のすべてのルールがそのまま通用します。
  • 行列・一次変換
    ➔ ベクトル(矢印)を回転させたり、引き伸ばしたりして「空間をまとめて動かす」ための、さらに強力な代数学(線形代数)へと進みます。
  • 物理学の世界
    ➔ 力、速度、電場、磁場など、物理現象を記述する重要な概念はほとんどすべてベクトルで表されます。
  • データ科学とAI(機械学習)
    ➔ AIが扱うデータは、数千・数万次元の「超高次元ベクトル」として処理されます。データどうしの類似度の判定には、まさに今回学んだ「内積」がフル活用されています。

※この教材では、空間ベクトルの計算や、直線の法線ベクトル・距離公式、外積に相当する面積公式などは扱いませんでしたが、これらはすべて今回の平面ベクトルの考え方から自然に組み立てることができます。