- 目次
- ベクトル
- 内積
- 位置ベクトル
- ベクトルと平面
- Python
ベクトルについて
ベクトルの定義
2次元のベクトルについて説明します。定義(ベクトル)
点 $\mathrm{A}$ から点 $\mathrm{B}$ への矢印 $\overrightarrow{\mathrm{AB}}$
を考える。
このとき, 向きと大きさが等しい矢印は,始点や終点の位置によらず同一のものとみなす。
このような見方をする矢印をベクトルという。
ベクトルの大きさ
ベクトル $\vec{a}$ の大きさ(ノルム)を $|\vec{a}|$ と表す。
2つの(通常の)ベクトル $\vec{a}$, $\vec{b}$ を考える。
$\vec{a}-\vec{b}$ は $\vec{a}$ に $\vec{b}$ の逆向きのベクトルを加えたものとして定義される。 $$\vec{a}-\vec{b}:=\vec{a}+(-\vec{b})$$
スカラー倍
実数 $k$ に対して, $k\vec{a}$ を次のように定義する。
$k>0$ のとき,$k\vec{a}$ は $\vec{a}$ と同じ向きで,
大きさが $k$ 倍されたベクトル。
$k<0$ のとき, $k\vec{a}$ は $\vec{a}$ と反対向きで,
大きさが $|k|$ 倍されたベクトル。
$k=0$ のとき, $0\vec{a}$ は大きさが $0$ のベクトル(ゼロベクトル $\vec{0}$)。
ベクトルの加法と減法
$\vec{a}+\vec{b}$ は, $\vec{a}$ の終点に $\vec{b}$ の始点がくるように $\vec{b}$ を平行移動したときに, $\vec{a}$ の始点から平行移動後の $\vec{b}$ の終点までのベクトルである。
$\vec{a}-\vec{b}$ は $\vec{a}$ に $\vec{b}$ の逆向きのベクトルを加えたものとして定義される。 $$\vec{a}-\vec{b}:=\vec{a}+(-\vec{b})$$
単位ベクトル
大きさが $1$ のベクトルを 単位ベクトル という。
零でないベクトル $\vec{a}$ に対して,
$\vec{a}$ と平行な単位ベクトルは,
$$
\frac{\vec{a}}{|\vec{a}|}, \quad -\frac{\vec{a}}{|\vec{a}|}
$$
である。$\vec{a}$ と同じ向きの単位ベクトルは前者のみである。
ベクトルの成分表示
ベクトルの成分表示について紹介します。成分表示
2次元ベクトルは, $x$ 方向および $y$ 方向の成分によって表される。
ベクトル $\vec{a}$ の $x$ 方向成分を $x$, $y$ 方向成分を $y$ とすると, $$\vec{a}=(x, y)$$ と成分表示できる。
成分表示は縦に並べた形で
$$\vec{a}=\begin{pmatrix}x \\ y\end{pmatrix}$$
と書くこともある。
成分の計算
$\overrightarrow{a}=(x_1,y_1)$,
$\overrightarrow{b}=(x_2,y_2)$ について,
スカラー倍:$k(x_1,y_1)=(kx_1, ky_1)$
加法:$(x_1,y_1)+(x_2,y_2)=(x_1+x_2,\;y_1+y_2)$
減法:$(x_1,y_1)-(x_2,y_2)=(x_1-x_2,\;y_1-y_2)$
ベクトルの大きさ
ベクトル $\vec{a}=(x,y)$ の大きさ(ノルム)は
$$|\vec{a}|=\sqrt{x^2+y^2}$$
である。
一次独立性
一次独立性
2つのベクトル $\vec{a}, \vec{b}$ に対して,
$$s\vec{a}+t\vec{b}=\vec{0}$$
を満たす実数 $s, t$ が
$$s=0, t=0$$
の場合に限られるとき,
$\vec{a}$ と $\vec{b}$ は一次独立(線型独立)であるという。
一次独立でないとき,
2つのベクトルは一次従属(線型従属)という。
ベクトルの分解
2つのベクトル $\vec{a}, \vec{b}$ が一次独立であるとする。平面上のどんなベクトル $\vec{p}$ であっても, 実数 $s$ と $t$ を用いて,
$$\vec{p} = s\vec{a}+t\vec{b}$$
と表すこと(分解すること)ができる。
このときのベクトルの表し方(係数)は一意的である。つまり,
$$
s\vec{a}+t\vec{b}=s'\vec{a}+t'\vec{b}
$$
であるとすると, $s = s'$ かつ $t=t'$ である。
基底
ベクトルの集合が一次独立であり,
かつ,
ある空間のすべてのベクトルを線形結合で表せるとき,
その集合をその空間の基底という。
ベクトルの内積
ベクトルの内積
ベクトルの内積について解説します。定義(内積)
ベクトル $\vec{a}$ と $\vec{b}$ に対して,
内積。
を
$$\vec{a}\cdot\vec{b}= |\vec{a}| |\vec{b}| \cos \theta$$
で定義する。ここで, $\theta$ は2つのベクトルのなす角度である。
内積の成分表示
$\vec{a}=(x_1,y_1)$,$\vec{b}=(x_2,y_2)$ に対して, 内積は
$$\vec{a}\cdot\vec{b}=x_1x_2+y_1y_2$$
となる。
※証明はこちら。。
内積の性質
2次元ベクトル $\vec{a},\vec{b},\vec{c}$ と実数 $k$ に対して,
内積には次の性質が成り立つ。
対称性: $$\vec{a}\cdot\vec{b}=\vec{b}\cdot\vec{a}$$
分配法則: $$\vec{a}\cdot(\vec{b}+\vec{c})=\vec{a}\cdot\vec{b}+\vec{a}\cdot\vec{c}$$
スカラー倍との関係:
$$(k\vec{a})\cdot\vec{b}=k(\vec{a}\cdot\vec{b})$$
自己内積:
$$\vec{a}\cdot\vec{a}=|\vec{a}|^2$$
非負性:
$$\vec{a}\cdot\vec{a}\ge 0$$
等号が成立は $\vec{a}=\vec{0}$ のときに限る。
内積の計算
次の計算はよく使う:
$$
|\vec{a} + \vec{b}|^2 = |\vec{a}|^2 + 2 \vec{a} \cdot \vec{b} + |\vec{b}|^2
$$
平行条件と垂直条件
$\vec{a} = (a_1, a_2)$ と $\vec{b} =(b_1, b_2)$ の関係を整理します。平行条件
2つのベクトル $\vec{a}, \vec{b}$ について, 以下のいずれかが成り立つとき, $\vec{a}$ と $\vec{b}$ は平行である。
ある実数 $k$ が存在して, 次が成り立つ:
$$
\vec{a} = k\vec{b}
$$
内積を用いると, 次が成り立つ:
$$
|\vec{a} \cdot \vec{b}| = |\vec{a}|\,|\vec{b}|
$$
成分表示で次が成り立つ:
$$
a_1 b_2 - a_2 b_1 = 0
$$
垂直条件
2つのベクトル $\vec{a}, \vec{b}$ について, 以下のいずれかが成り立つとき,
$\vec{a}$ と $\vec{b}$ は垂直である。
内積を用いると, 次が成り立つ:
$$
\vec{a}\cdot\vec{b}=0
$$
成分表示では, 次が成り立つ:
$$
a_1 b_1 + a_2 b_2 = 0
$$
三角形の面積
ベクトル $\vec{a}, \vec{b}$ が作る三角形の面積 $S$ について, 次が成り立つ。
内積を用いると, 面積 $S$ は次の式で表される:
$$
S
= \frac{1}{2}
\sqrt{|\vec{a}|^2 |\vec{b}|^2 - (\vec{a} \cdot \vec{b})^2}
$$
成分表示では, 次の式で与えられる:
$$
S = \frac{1}{2}\,|a_1 b_2 - a_2 b_1|
$$
正射影ベクトル
定義(正射影ベクトル)
$\vec{b}$ の $\vec{a}$ への※正射影ベクトルとは,
$$\vec{b} = \vec{b}_a + \vec{b}^{\perp}$$ と分解したときの $\vec{b}_a$ である。
ここで, $\vec{b}_a$ は $\vec{a}$ と同方向のベクトルであり,
$\vec{b}^{\perp}$ は $\vec{a}$ に直交する方向のベクトルである。
正射影ベクトルの公式
$\vec{a} \neq 0$ とする。ベクトル $\vec{b}$ のベクトル $\vec{a}$ への正射影ベクトル $\vec{b}_a$ は,
次の式で表される:
$$
\vec{b}_a = \left( \vec{b} \cdot \frac{\vec{a}}{|\vec{a}|} \right) \frac{\vec{a}}{|\vec{a}|}
= \frac{\vec{b} \cdot \vec{a}}{|\vec{a}|^2} \vec{a}.
$$
なお, $|\vec{b}_a| = |\cos \theta| |\vec{b}|$ である。$\theta$ は $\vec{a}$ と $\vec{b}$ のなす角とする。※証明はこちら。。
Cauchy–Schwarz 不等式
定理(コーシー=シュワルツの不等式)
2次元ベクトル
$\vec{a}=(a_1,a_2)$ と $\vec{b}=(b_1,b_2)$
に対して, 次の不等式が成り立つ:
$$
|\vec{a}\cdot\vec{b}|
\le |\vec{a}|\,|\vec{b}|.
$$
※証明はこちら。。
位置ベクトル
位置ベクトル
位置ベクトルと点の表記
点 $\mathrm{P}$ そのものをベクトル $\vec{p}$ によって表現することを位置ベクトルとして表すという。固定された原点 $\mathrm{O}$ に対して, $\overrightarrow{\mathrm{OP}}=\vec{p}$ であるとき, $\mathrm{P}(\vec{p})$ と表す。
なお, 2点 $\mathrm{A}(\vec{a})$, $\mathrm{B}(\vec{b})$ の間のベクトルは $$\overrightarrow{\mathrm{AB}}=\vec{b}-\vec{a}$$ と表すことができる。
内分の公式
2点 $\mathrm{A}(\vec{a})$ と $\mathrm{B}(\vec{b})$ を結ぶ線分を, 比 $m:n$ で内分する点 $\mathrm{P}(\vec{p})$ は,
$$
\vec{p} = \frac{n \vec{a} + m \vec{b}}{m+n}
$$
である。
※証明はこちら。。
外分の公式
2点 $\mathrm{A}(\vec{a})$ と $\mathrm{B}(\vec{b})$ を結ぶ線分を, 比 $m:n$ で外分する点 $\mathrm{Q}(\vec{q})$ は,
$$
\vec{q} = \frac{-n \vec{a} + m \vec{b}}{m-n}
$$
である。
※証明はこちら。。
中点と重心
2点 $\mathrm{A}(\vec{a})$ と $\mathrm{B}(\vec{b})$ の中点 $\mathrm{M}$ は $\displaystyle \mathrm{M}\left(\frac{\vec{a} + \vec{b}}{2}\right)$
3点 $\mathrm{A}(\vec{a})$ と $\mathrm{B}(\vec{b})$, $\mathrm{C}(\vec{c})$ を頂点とする三角形の重心 $\mathrm{G}$ は $\displaystyle \mathrm{G}\left(\frac{\vec{a} + \vec{b} + \vec{c}}{3}\right)$ である。【
証明】
点の一致条件
点 $\mathrm{P}(\vec{p})$, $\mathrm{Q}(\vec{q})$ について,
$\mathrm{P}$ と $\mathrm{Q}$ が一致するための必要十分条件は,
それらの位置ベクトル $\vec{p}$ と $\vec{q}$ が一致することである。
ベクトル条件による点の存在範囲
平面上の3点 $\mathrm{A},\mathrm{B},\mathrm{C}$ と実数 $a,b,c$ に対して,
点 $\mathrm{P}$ が
$$
a\overrightarrow{\mathrm{PA}}
+b\overrightarrow{\mathrm{PB}}
+c\overrightarrow{\mathrm{PC}}
=\vec{0}
$$
を満たすとする。
このとき,
$$
a+b+c\neq 0
$$
であれば, 点 $\mathrm{P}$ は一意に定まり,
その位置は $a,b,c$ の符号と大きさによって決まる。
特に,
$$
a>0,\; b>0,\; c>0
$$
のとき, 点 $\mathrm{P}$ は三角形 $\mathrm{ABC}$ の内部に存在する。
また, ある係数が $0$ のとき, 点 $\mathrm{P}$ は対応する辺上に存在し,
係数の符号が異なる場合には, 点 $\mathrm{P}$ は三角形 $\mathrm{ABC}$ の外部に存在する。
ベクトルと平面図形
直線に関わる条件
3点の共線条件
3点 $\mathrm{A}(\vec{a})$, $\mathrm{B}(\vec{b})$, $\mathrm{C}(\vec{c})$ が同一直線上にある, つまり共線である条件は,
$$\overrightarrow{\mathrm{AB}} \parallel \overrightarrow{\mathrm{AC}} \quad \Leftrightarrow \quad \vec{b}-\vec{a} = t (\vec{c}-\vec{a})$$
となる実数 $t$ が存在することと同値である。
直線上の位置ベクトル
直線上の 2 点 $\mathrm{A}(\vec{a})$, $\mathrm{B}(\vec{b})$ を結ぶ線上の任意の点 $\mathrm{P}(\vec{p})$ は, 1 つの実数 $t$ を用いて
$$
\vec{p} = (1-t)\vec{a} + t \vec{b}, \quad t \in \mathbb{R}
$$
と表すことができる。
さらに, $0 \le t \le 1$ であれば, $\vec{p}$ は線分 $\mathrm{AB}$ 上の点となり, $t < 0$ または $t > 1$ であれば, 線分の延長上にある。
2直線の交点をベクトルで求める方法
平面上の2直線を
$$\begin{aligned}
\ell_1&:\ \vec{x}=(1-s)\vec{a}+s\vec{b},\\
\ell_2&:\ \vec{x}=(1-t)\vec{a'}+t\vec{b'}
\end{aligned}$$
とする。
2直線の交点 $\mathrm{P}$ が存在するとき,
その位置ベクトル $\vec{p}$ は
$$
(1-s)\vec{a}+s\vec{b}=(1-t)\vec{a'}+t\vec{b'}
$$
を満たす $s$ と $t$ から定まる。
なお, この方程式が解をもたないときは2直線は平行であり,
解が無数に存在するときは2直線は一致する。
三角形の中心
三角形の中心を頂点で表示することができる;三角形の頂点を $\mathrm{A}(\vec{a}), \mathrm{B}(\vec{b}), \mathrm{C}(\vec{c})$ とする。 また, $a=\mathrm{BC}, b=\mathrm{CA}, c=\mathrm{AB}$ とする。
重心 $\mathrm{G}(\vec{g})$
$$\displaystyle \vec{g}=\frac{\vec{a}+\vec{b}+\vec{c}}{3}$$
※証明はこちら外心 $\mathrm{O}(\vec{o})$
$$\displaystyle \vec{o} = \frac{\sin 2\mathrm{A} \, \vec{a} + \sin 2\mathrm{B} \, \vec{b} + \sin 2\mathrm{C} \, \vec{c}}{\sin 2\mathrm{A} + \sin 2\mathrm{B} + \sin 2\mathrm{C}}$$
※証明はこちら
内心 $\mathrm{I}(\vec{i})$
$$\displaystyle \vec{i} = \frac{a \vec{a} + b \vec{b} + c \vec{c}}{a+b+c}$$
※証明はこちら
垂心 $\mathrm{H}(\vec{h})$
$$\displaystyle \vec{h} = 3\vec{g}-2\vec{o}$$
※証明はこちら(書き直す*)
傍心 $\mathrm{I}_\mathrm{A}(\vec{i}_\mathrm{A})$
$$\displaystyle \vec{i}_\mathrm{A} = \frac{-a \vec{a} + b \vec{b} + c \vec{c}}{-a + b + c}
$$ ※頂点 $\mathrm{A}$ に関する傍心 $\mathrm{I}_\mathrm{A}$
九点円の中心 $\mathrm{N}(\vec{n})$
$$\displaystyle \vec{n}=\frac{\vec{o}+\vec{h}}{2}$$
オイラー線の性質
三角形の重心 $\mathrm{G}$, 外心 $\mathrm{O}$, 垂心 $\mathrm{H}$ について,
$$
\overrightarrow{\mathrm{OG}}=\frac{1}{3}\overrightarrow{\mathrm{OH}}
$$
が成り立つ。すなわち, 点 $\mathrm{O},\mathrm{G},\mathrm{H}$ は一直線上にある。
※証明はこちら
平面図形の応用(補足)
内積の性質と幾何学的応用
内積は「幾何学的な性質を決める最小の構成要素」として重の役割を持つ。内積が決まっていれば,幾何学の全ての量を定めることができる:
直線の長さ:ベクトル $\vec{a}$ の大きさは
$$|\vec{a}| = \sqrt{\vec{a}\cdot\vec{a}}$$
で表される。
角度:2つのベクトル $\vec{a}, \vec{b}$ のなす角 $\theta$ は
$$\cos \theta = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| |\vec{b}|}$$
で求められる。
直交性:2つのベクトル $\vec{a}, \vec{b}$ が垂直であるのは
$$\vec{a} \cdot \vec{b} = 0$$
が成り立つときである。
平行性:2つのベクトル $\vec{a}, \vec{b}$ が平行であるのは,
$$|\vec{a} \cdot \vec{b}| = |\vec{a}| |\vec{b}|$$
が成り立つときである。すなわち, 2本のベクトルの角度 $\theta = 0$ または $\theta = \pi$ のときを表す。
三角形の面積:辺ベクトル $\vec{a}, \vec{b}$ が作る三角形の面積 $S$ は
$$S = \frac{1}{2} \sqrt{|\vec{a}|^2 |\vec{b}|^2 - (\vec{a} \cdot \vec{b})^2}$$
で表される。
曲線の長さ:関数 $y=f(x)$ の曲線の長さ $L$ は, 微小ベクトルの長さを用いて
$$L = \int \sqrt{1 + (f'(x))^2} \, dx = \int |(1, f'(x))| \, dx$$
で表される。
垂線の足の公式
点 $\mathrm{A}$ の位置ベクトルを $\vec{a}$ とし,
直線 $\ell:\ \vec{x}=\vec{b}+t\vec{u}$ に対して,
点 $\mathrm{A}$ から $\ell$ に下ろした垂線の足を $\mathrm{H}$ とする。
このとき, $\mathrm{H}$ の位置ベクトル $\vec{h}$ は
$$
\vec{h}
=\vec{b}
+\frac{(\vec{a}-\vec{b})\cdot\vec{u}}{\vec{u}\cdot\vec{u}}\vec{u}
$$
で与えられる。
※証明はこちら
ベクトルの共点条件
平面上の点 $\mathrm{A}(\vec{a}),\ \mathrm{B}(\vec{b}),\ \mathrm{C}(\vec{c})$
を考える。
点 $\mathrm{P}$ が辺 $\mathrm{BC}$ 上にあり,
$$
\vec{p}
= (1-\alpha)\vec{b} + \alpha \vec{c}
\quad (\alpha \in \mathbb{R})
$$
と表されるとする。
同様に,
点 $\mathrm{Q}$ が辺 $\mathrm{CA}$ 上にあり,
$$
\vec{q}
= (1-\beta)\vec{c} + \beta \vec{a}
\quad (\beta \in \mathbb{R})
$$
点 $\mathrm{R}$ が辺 $\mathrm{AB}$ 上にあり,
$$
\vec{r}
= (1-\gamma)\vec{a} + \gamma \vec{b}
\quad (\gamma \in \mathbb{R})
$$
と表されるとする。
このとき,
3 直線 $\mathrm{AP},\ \mathrm{BQ},\ \mathrm{CR}$ が
1 点で交わるための必要十分条件は,
$$
\alpha \beta \gamma = 1
$$
である。
※本当に成り立つ?
Pythonコードについて
ベクトルのPythonコード
ベクトルはNumPyモジュールのarray([])で定義できる。
import numpy as np
# 2次元ベクトルの作成
a = np.array([1, 2])
b = np.array([3, 4])ベクトルの加減, スカラー倍
ベクトル
a と b について, ベクトルの加法:
c = a + b
ベクトル
a と b について, ベクトルの減法:
d = a - b
ベクトル
a のスカラー倍:
e = 2 * a
内積・ノルム・単位ベクトル
NumPyを使って計算する:ベクトル
a と b の内積:
np.dot(a, b) で計算する
ベクトル
a の大きさ(ノルム):
np.linalg.norm(a) で計算する
ベクトル
a の単位ベクトル:
a / np.linalg.norm(a) で計算する
線形結合の例
2点 $\mathrm{A}(\vec{a}), \mathrm{B}(\vec{b})$ を結ぶ線上の任意の点 $\mathrm{P}(\vec{p})$ は, 線形結合で表すことができる。
p = 0.3 * a + 0.7 * b
ベクトルはMatPlotLibで図示できる:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D # 凡例用
# ===ここでベクトルを追加できる===
# (始点x, 始点y, 終点x, 終点y, 名前, 色)
vectors = [
(0, 0, 2, 1, 'a', 'red'),
(0, 0, 3, 4, 'b', 'blue'),
(2, 1, 3, 4, 'p', 'green')
]
fig, ax = plt.subplots(figsize=(6,6))
for x0, y0, x1, y1, label, color in vectors:
dx = x1 - x0
dy = y1 - y0
ax.quiver(x0, y0, dx, dy, angles='xy', scale_units='xy', scale=1, color=color)
ax.scatter(x0, y0, color=color) #始点のプロット
ax.scatter(x1, y1, color=color) #終点のプロット
# 軸の設定
all_x = [v[0] for v in vectors] + [v[2] for v in vectors]
all_y = [v[1] for v in vectors] + [v[3] for v in vectors]
ax.set_xlim([0, max(all_x)+1])
ax.set_ylim([0, max(all_y)+1])
ax.set_aspect('equal')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_title('2D Vectors')
plt.grid(True)
# --- legend 用のダミーオブジェクトを作る ---
legend_elements = [
Line2D([0], [0], color='red', lw=2, label='a'),
Line2D([0], [0], color='blue', lw=2, label='b'),
Line2D([0], [0], color='green', lw=2, label='p')
]
ax.legend(handles=legend_elements, loc='upper left')
plt.show()