非慣性系と見かけの力(慣性力・コリオリ力・遠心力)

ニュートンの運動法則 $\bm{F} = m\bm{a}$ は慣性系(等速直線運動する座標系)でのみ成り立ちます。しかし、日常で我々が暮らす地球表面は自転による回転座標系であり、厳密には非慣性系です。

非慣性系で運動方程式を立てると、実際の力に加えて「見かけの力」が現れます。これが慣性力遠心力コリオリ力です。これらの力は架空のものではなく、非慣性系に立った観測者にとっては実在の力として振る舞います。

本記事の内容

  • 慣性系と非慣性系の定義
  • 並進加速系での慣性力の導出
  • 回転座標系での運動方程式の導出
  • コリオリ力と遠心力
  • 地球表面での物体運動への影響
  • フーコーの振り子のPythonシミュレーション

前提知識

慣性系と非慣性系

慣性系とは、自由粒子(力が作用しない粒子)が等速直線運動する座標系です。ある慣性系に対して等速直線運動する座標系もまた慣性系です。

一方、非慣性系とは慣性系に対して加速度を持つ座標系のことで、次の2種類があります。

  1. 並進加速系 — 加速するエレベーター、加速中の車内など
  2. 回転系 — 地球表面、回転する遊園地の乗り物など

並進加速系の慣性力

導出

慣性系 $S$ に対して加速度 $\bm{A}$ で並進運動する系 $S’$ を考えます。質量 $m$ の粒子に真の力 $\bm{F}$ が作用しているとき、慣性系での運動方程式は:

$$ m\bm{a}_S = \bm{F} $$

ここで $\bm{a}_S$ は慣性系で測った加速度です。$S’$ 系で測った加速度 $\bm{a}_{S’}$ との関係は:

$$ \bm{a}_S = \bm{a}_{S’} + \bm{A} $$

代入すると:

$$ m(\bm{a}_{S’} + \bm{A}) = \bm{F} $$

整理して:

$$ \boxed{m\bm{a}_{S’} = \bm{F} – m\bm{A}} $$

右辺の第2項 $-m\bm{A}$ が慣性力(見かけの力)です。

具体例:加速するエレベーター

上向きに加速度 $A$ で上昇するエレベーター内で質量 $m$ の物体が体重計の上に乗っている場合、体重計が示す値(垂直抗力 $N$)は:

$$ m \cdot 0 = N – mg – m A \quad \Longrightarrow \quad N = m(g + A) $$

加速上昇時には「重くなった」と感じ、自由落下時($A = -g$)には $N = 0$ で無重力を感じます。

回転座標系での運動方程式

回転座標系の時間微分

慣性系を $S$、角速度 $\bm{\omega}$ で回転する座標系を $S’$ とします。回転系に固定された基底ベクトル $\hat{e}_i’$ は慣性系から見ると時間変化します。

任意のベクトル $\bm{Q}$ について、慣性系での時間微分と回転系での時間微分の関係は:

$$ \boxed{\left(\frac{d\bm{Q}}{dt}\right)_S = \left(\frac{d\bm{Q}}{dt}\right)_{S’} + \bm{\omega} \times \bm{Q}} $$

この関係式を導出します。回転系の基底ベクトル $\hat{e}_1′, \hat{e}_2′, \hat{e}_3’$ で $\bm{Q}$ を展開すると:

$$ \bm{Q} = Q_1’\hat{e}_1′ + Q_2’\hat{e}_2′ + Q_3’\hat{e}_3′ $$

慣性系で時間微分すると:

$$ \left(\frac{d\bm{Q}}{dt}\right)_S = \sum_i \dot{Q}_i’\hat{e}_i’ + \sum_i Q_i’ \frac{d\hat{e}_i’}{dt} $$

第1項は回転系で見た $\bm{Q}$ の時間変化であり、第2項は基底ベクトル自体の回転です。回転する基底ベクトルの時間微分は $d\hat{e}_i’/dt = \bm{\omega} \times \hat{e}_i’$ であるため:

$$ \sum_i Q_i’ \frac{d\hat{e}_i’}{dt} = \sum_i Q_i'(\bm{\omega} \times \hat{e}_i’) = \bm{\omega} \times \bm{Q} $$

よって上記の関係式が得られます。

速度の関係

位置ベクトル $\bm{r}$ にこの公式を適用すると、速度の関係が得られます:

$$ \bm{v}_S = \bm{v}_{S’} + \bm{\omega} \times \bm{r} $$

ここで $\bm{v}_S$ は慣性系で測った速度、$\bm{v}_{S’}$ は回転系で測った速度です。

加速度の関係

さらにもう1回時間微分を施します。$\bm{v}_S$ を慣性系で微分すると:

$$ \bm{a}_S = \left(\frac{d\bm{v}_S}{dt}\right)_S $$

$\bm{v}_S = \bm{v}_{S’} + \bm{\omega} \times \bm{r}$ の各項に回転系の微分公式を適用します。

まず $\bm{v}_{S’}$ について:

$$ \left(\frac{d\bm{v}_{S’}}{dt}\right)_S = \left(\frac{d\bm{v}_{S’}}{dt}\right)_{S’} + \bm{\omega} \times \bm{v}_{S’} = \bm{a}_{S’} + \bm{\omega} \times \bm{v}_{S’} $$

次に $\bm{\omega} \times \bm{r}$ について($\bm{\omega}$ を一定とすると):

$$ \left(\frac{d(\bm{\omega} \times \bm{r})}{dt}\right)_S = \bm{\omega} \times \left(\frac{d\bm{r}}{dt}\right)_S = \bm{\omega} \times (\bm{v}_{S’} + \bm{\omega} \times \bm{r}) $$

$$ = \bm{\omega} \times \bm{v}_{S’} + \bm{\omega} \times (\bm{\omega} \times \bm{r}) $$

すべてを合わせると:

$$ \bm{a}_S = \bm{a}_{S’} + 2\bm{\omega} \times \bm{v}_{S’} + \bm{\omega} \times (\bm{\omega} \times \bm{r}) $$

回転系での運動方程式

慣性系の運動方程式 $m\bm{a}_S = \bm{F}$ に代入して整理すると:

$$ \boxed{m\bm{a}_{S’} = \bm{F} – 2m\bm{\omega} \times \bm{v}_{S’} – m\bm{\omega} \times (\bm{\omega} \times \bm{r})} $$

右辺の各項の意味は以下の通りです。

名称 特徴
$\bm{F}$ 真の力 慣性系でも存在する力
$-2m\bm{\omega} \times \bm{v}_{S’}$ コリオリ力 回転系での速度に依存
$-m\bm{\omega} \times (\bm{\omega} \times \bm{r})$ 遠心力 回転軸からの距離に依存

コリオリ力

$$ \boxed{\bm{F}_{\text{Cor}} = -2m\bm{\omega} \times \bm{v}_{S’}} $$

コリオリ力の特徴は以下の通りです。

  • 速度 $\bm{v}_{S’}$ に比例し、速度に垂直に作用する
  • 静止している物体には作用しない
  • 仕事をしない(速度に垂直なため)
  • 北半球では運動方向に対して右向きに偏向させる

北半球での偏向の直感的理解

地球の自転角速度を $\bm{\omega}$ とし、北緯 $\lambda$ の地表で北向きに速度 $v$ で運動する物体を考えます。

地表面に垂直な $\bm{\omega}$ の成分は $\omega \sin\lambda$ です。水平面内のコリオリ力の大きさは:

$$ F_{\text{Cor}} = 2m\omega v \sin\lambda $$

この力は北半球($\sin\lambda > 0$)では進行方向の右側、南半球では左側に向きます。

遠心力

$$ \boxed{\bm{F}_{\text{cent}} = -m\bm{\omega} \times (\bm{\omega} \times \bm{r})} $$

ベクトル三重積の公式 $\bm{A} \times (\bm{B} \times \bm{C}) = \bm{B}(\bm{A}\cdot\bm{C}) – \bm{C}(\bm{A}\cdot\bm{B})$ を適用すると:

$$ \bm{\omega} \times (\bm{\omega} \times \bm{r}) = \bm{\omega}(\bm{\omega}\cdot\bm{r}) – \bm{r}\omega^2 $$

よって:

$$ \bm{F}_{\text{cent}} = m\omega^2 \bm{r} – m(\bm{\omega}\cdot\bm{r})\bm{\omega} = m\omega^2 \bm{r}_\perp $$

ここで $\bm{r}_\perp$ は回転軸からの垂直距離ベクトルです。遠心力は回転軸から外向きに作用し、その大きさは:

$$ |\bm{F}_{\text{cent}}| = m\omega^2 R $$

ここで $R$ は回転軸からの距離です。

遠心力のポテンシャル

遠心力は保存力であり、遠心力ポテンシャル $U_{\text{cent}}$ を持ちます:

$$ U_{\text{cent}} = -\frac{1}{2}m\omega^2 R^2 $$

$$ \bm{F}_{\text{cent}} = -\nabla U_{\text{cent}} $$

地球表面での影響

有効重力

地球表面では、真の重力 $\bm{g}_0$(地球中心向き)に遠心力が加わった有効重力を感じます:

$$ \bm{g}_{\text{eff}} = \bm{g}_0 + \omega^2 R_E \cos\lambda \hat{r}_\perp $$

ここで $R_E$ は地球の半径、$\lambda$ は緯度です。有効重力の大きさは赤道で最小、極で最大になります。

赤道での遠心加速度は:

$$ \omega^2 R_E = \left(\frac{2\pi}{86400}\right)^2 \times 6.371 \times 10^6 \approx 0.034 \;\text{m/s}^2 $$

これは重力加速度 $g \approx 9.8\;\text{m/s}^2$ の約 $0.35\%$ です。

自由落下の東向き偏向

高さ $h$ から自由落下する物体は、コリオリ力により東向きに偏向します。偏向量は:

$$ \delta x = \frac{1}{3}\omega \cos\lambda \sqrt{\frac{8h^3}{g}} $$

フーコーの振り子

フーコーの振り子は、コリオリ力の存在を実証する有名な実験です。北緯 $\lambda$ に設置した振り子の振動面は、コリオリ力によってゆっくり回転します。

振動面の回転角速度

$$ \boxed{\Omega_F = -\omega \sin\lambda} $$

振動面が1回転($360°$)するのにかかる時間は:

$$ T_F = \frac{2\pi}{|\Omega_F|} = \frac{2\pi}{\omega \sin\lambda} = \frac{24\;\text{h}}{\sin\lambda} $$

  • 北極($\lambda = 90°$):$T_F = 24$ 時間(1日で1回転)
  • パリ($\lambda \approx 49°$):$T_F \approx 31.8$ 時間
  • 赤道($\lambda = 0°$):回転しない

運動方程式

北緯 $\lambda$ の地表で、鉛直上向きを $z$、南北を $y$(北が正)、東西を $x$(東が正)とします。振り子の水平面内での運動方程式は(線形近似):

$$ \ddot{x} = -\omega_0^2 x + 2\Omega_F \dot{y} $$

$$ \ddot{y} = -\omega_0^2 y – 2\Omega_F \dot{x} $$

ここで $\omega_0 = \sqrt{g/L}$ は振り子の固有角振動数、$\Omega_F = \omega\sin\lambda$ です。

Pythonでの可視化

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp

# ============================
# フーコーの振り子のシミュレーション
# ============================

# 物理パラメータ
g = 9.8           # 重力加速度 [m/s^2]
L = 67.0          # 振り子の長さ [m](パンテオンのフーコーの振り子)
omega0 = np.sqrt(g / L)  # 固有角振動数

omega_earth = 2 * np.pi / (24 * 3600)  # 地球の自転角速度 [rad/s]

fig, axes = plt.subplots(1, 3, figsize=(18, 6))

# === (1) 緯度によるフーコー振り子の軌跡 ===
latitudes = [90, 49, 30]
labels = ['North Pole (90°)', 'Paris (49°)', '30° N']

for idx, lat_deg in enumerate(latitudes):
    lat = np.radians(lat_deg)
    Omega_F = omega_earth * np.sin(lat)

    def foucault_eom(t, state):
        x, y, vx, vy = state
        ax = -omega0**2 * x + 2 * Omega_F * vy
        ay = -omega0**2 * y - 2 * Omega_F * vx
        return [vx, vy, ax, ay]

    # 初期条件:x方向に5m振り出す
    y0 = [5.0, 0.0, 0.0, 0.0]
    t_span = (0, 24 * 3600)   # 24時間
    t_eval = np.linspace(*t_span, 100000)

    sol = solve_ivp(foucault_eom, t_span, y0, t_eval=t_eval,
                    method='RK45', rtol=1e-10, atol=1e-12)

    axes[idx].plot(sol.y[0], sol.y[1], 'b-', lw=0.3, alpha=0.7)
    axes[idx].set_xlabel('x [m] (East)')
    axes[idx].set_ylabel('y [m] (North)')
    axes[idx].set_title(f'Foucault Pendulum — {labels[idx]}', fontsize=12)
    axes[idx].set_aspect('equal')
    axes[idx].grid(True, alpha=0.3)
    axes[idx].set_xlim(-6, 6)
    axes[idx].set_ylim(-6, 6)

plt.tight_layout()
plt.savefig('foucault_pendulum.png', dpi=150, bbox_inches='tight')
plt.show()

# === (2) コリオリ力による自由落下偏向 ===
fig2, axes2 = plt.subplots(1, 2, figsize=(14, 6))

# 高さhから自由落下時の東向き偏向
h_range = np.linspace(0, 500, 500)
lat_deg_list = [30, 45, 60, 90]

for lat_deg in lat_deg_list:
    lat = np.radians(lat_deg)
    delta_x = (1/3) * omega_earth * np.cos(lat) * np.sqrt(8 * h_range**3 / g)
    axes2[0].plot(delta_x * 100, h_range, lw=2,
                  label=f'$\\lambda = {lat_deg}°$')

axes2[0].set_xlabel('Eastward deflection [cm]')
axes2[0].set_ylabel('Drop height [m]')
axes2[0].set_title('Free fall deflection by Coriolis force', fontsize=12)
axes2[0].legend(fontsize=10)
axes2[0].grid(True, alpha=0.3)

# フーコー振り子の回転周期 vs 緯度
lat_range = np.linspace(1, 90, 500)
T_foucault = 24 / np.sin(np.radians(lat_range))

axes2[1].plot(lat_range, T_foucault, 'r-', lw=2)
axes2[1].set_xlabel('Latitude [degrees]')
axes2[1].set_ylabel('Rotation period [hours]')
axes2[1].set_title('Foucault pendulum rotation period', fontsize=12)
axes2[1].set_ylim(0, 200)
axes2[1].axhline(24, color='gray', ls='--', alpha=0.5, label='24 h (pole)')
axes2[1].legend(fontsize=10)
axes2[1].grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig('coriolis_effects.png', dpi=150, bbox_inches='tight')
plt.show()

上段の3つの図は、異なる緯度でのフーコー振り子の軌跡を示しています。北極では振動面が24時間で1回転する美しいロゼット模様が現れ、低緯度になるほど回転が遅くなる様子がわかります。

下段左の図は、自由落下の東向き偏向が落下高さとともに急激に増大する様子を示しています。500 m の高さからでは偏向は数十 cm に達します。下段右の図は、フーコー振り子の回転周期が赤道に近づくにつれて発散することを示しています。

まとめ

本記事では、非慣性系での運動方程式と見かけの力について解説しました。

  • 慣性力 $-m\bm{A}$:並進加速系で現れる見かけの力
  • コリオリ力 $-2m\bm{\omega} \times \bm{v}$:回転系で運動する物体に速度に垂直に作用する力
  • 遠心力 $-m\bm{\omega} \times (\bm{\omega} \times \bm{r})$:回転軸から外向きに作用する力
  • 地球表面では遠心力が有効重力を修正し、コリオリ力が運動物体を偏向させる
  • フーコーの振り子の振動面は角速度 $\omega\sin\lambda$ で回転する

次のステップとして、以下の記事も参考にしてください。