2.4.1 — 준좌표의 도입: 적분 불가능한 좌표라는 도구

강체의 몸체 각속도 ωx\omega_x 같은 양은 그 자체 가 좌표는 아니지만 속도 처럼 작동한다. 어떤 좌표의 시간 미분으로도 적을 수 없는 — 적분 불가능한 — 양들을 준좌표 라 부르고, 그 위에 라그랑주식을 다시 적는다.

본문이 말하는 것

원서 2.4.1 절은 일반화 좌표 qαq^\alpha 의 시간 미분 q˙α\dot q^\alpha 대신, 다음 형식의 새 속도 변수

ωi=a  αi(q,t)q˙α+a  0i(q,t)(i=1,,n)\omega^i = a^i_{\;\alpha}(q, t)\, \dot q^\alpha + a^i_{\;0}(q, t) \quad (i = 1, \dots, n)

을 도입한다. 여기서 a  αia^i_{\;\alpha}비퇴화 행렬 (det0\det \neq 0). 즉 ωi\omega^i 들은 일반화 속도의 선형 결합그러나 어떤 좌표의 시간 미분도 아닐 수도 있다.

만약 ωi=s˙i\omega^i = \dot s^i 인 함수 si(q,t)s^i(q, t)존재 한다면 ωi\omega^i적분 가능 — 그러면 sis^i 가 새 일반화 좌표일 뿐이다. 적분 가능 조건은 1-형식 σi=a  αidqα+a  0idt\sigma^i = a^i_{\;\alpha}\, dq^\alpha + a^i_{\;0}\, dt정확 한 것 — σi=dsi\sigma^i = ds^isis^i 가 있는 것 (§1.6.6 의 푸앵카레 보조정리).

적분 불가능 한 경우 sis^i존재하지 않는다. 그래도 ωi\omega^i 자체는 각 점에서 잘 정의되는 속도. 이런 ωi\omega^i 들을 준좌표 (quasi-coordinate) 또는 quasi-velocity 라 부른다 (원서: 擾座標).

대표 예시: 강체의 몸체 각속도. 강체의 회전을 SO(3)SO(3) 위의 곡선 R(t)R(t) 로 적으면, 몸체 각속도 ωR3\boldsymbol{\omega} \in \mathbb R^3

ω^=R1R˙(skew-symmetric matrix)\hat\omega = R^{-1} \dot R \quad \text{(skew-symmetric matrix)}

세 성분 ω1,ω2,ω3\omega_1, \omega_2, \omega_3. 그러나 어떤 회전 각도 (ϕ,θ,ψ)(\phi, \theta, \psi) (Euler 각) 의 시간 미분 으로 ωi\omega_i 를 직접 적으면, ϕ˙,θ˙,ψ˙\dot\phi, \dot\theta, \dot\psisincos\sin·\cos 항이 섞여 적분 불가능 한 결합이 나온다. 즉 ωi\omega_i자연스러운 속도 이지만 어떤 “각” 의 시간 미분이 아니다.

한 번 더, 천천히

(1) 적분 가능 조건의 기하학적 의미. 1-형식 σi\sigma^i 가 정확하다는 것은 — σi=dsi\sigma^i = ds^i — 1.6.5 의 외미분으로 dσi=d2si=0d\sigma^i = d^2 s^i = 0. 즉 모든 닫힘 1-형식은 정확함 이라는 푸앵카레 보조정리 (1.6.6) 가 별 모양 영역에서만 성립함을 다시 떠올리자. 일반 다양체에서는 닫힘이지만 정확하지 않은 1-형식이 존재 — 그것이 준좌표 의 자리.

(2) 강체 운동의 핵심 예시. 강체의 배위공간은 SO(3)SO(3) — 비가환 군. SO(3)SO(3) 위에는 전역 좌표 (= 모든 회전을 매끄럽게 매개화하는 차트) 가 존재하지 않는다. Euler 각은 유사 (jam) 점 (gimbal lock) 에서 특이. 그래서 강체 회전의 자연스러운 속도 는 좌표 미분이 아닌 왼불변·우불변 벡터장 — 정확히 §1.4.10 의 좌불변 벡터장 이론과 결합.

(3) §1.4.10 과의 직접 연결. 강체의 몸체 각속도 ωi\omega_iso(3)\mathfrak{so}(3)리 대수 — 의 한 점. 그 시간 변화는 so(3)\mathfrak{so}(3)리 괄호 [Li,Lj]=εijkLk[L_i, L_j] = \varepsilon_{ijk} L_k 가 결정. 비푸앵카레식 (2.4.2) 이 정확히 이 구조 상수 를 식에 담는다.

(4) 적분 불가능의 실용 의미. 준좌표 ωi\omega^i시간에 따라 적분 해도 위치 좌표 를 만들 수 없다. 즉 현재의 ωi\omega^i 을 알아도 과거의 위치 를 재구성할 수 없다 (전체 경로의 기하학적 위상 정보가 필요 — 휘토프-아놀드 holonomy). 이게 역학에서의 게이지 자유의 한 측면.

(5) 비홀로노믹 구속 (2.5.3) 과의 차이. 두 가지를 혼동하기 쉽다.

  • 준좌표: 자유 좌표의 비적분 가능 결합 — 자유도 수는 그대로, 좌표 표현만 다름.
  • 비홀로노믹 구속: 물리적 구속적분 불가능 — 자유도가 실제로 감소.

§2.4 는 준좌표, §2.5.3 은 비홀로노믹.

파이썬으로 확인 — 강체의 Euler 각 → 몸체 각속도

이 코드의 메시지는 단순하다: 강체의 Euler 각 (ϕ,θ,ψ)(\phi, \theta, \psi) 의 시간 미분에서 몸체 각속도 (ω1,ω2,ω3)(\omega_1, \omega_2, \omega_3) 를 계산하고, 이게 각 좌표의 시간 미분이 아니다 — 즉 준좌표 임을 보인다.

# Euler 각 (zyz convention): R = R_z(φ) R_y(θ) R_z(ψ)
# 몸체 각속도 ω̂ = R⁻¹ dR/dt — 세 성분 ω_1, ω_2, ω_3 (몸체 좌표계 기준)
# 표준 공식 (zyz):
#   ω_1 = -sin ψ θ̇ + sin θ cos ψ φ̇
#   ω_2 =  cos ψ θ̇ + sin θ sin ψ φ̇
#   ω_3 = cos θ φ̇ + ψ̇
# 이게 *적분 불가능* — 어떤 좌표의 시간 미분으로도 적을 수 없음
import numpy as np

# 두 가지 회전 경로 비교: 둘 다 같은 시작·끝 자세를 가지지만 다른 경로
# (a) 경로 1: φ 만 변경, θ=ψ=0 유지
# (b) 경로 2: ψ 만 변경, φ=θ=0 유지 (동치적 회전)
# 하지만 *몸체 각속도* 의 누적 적분은 두 경로에서 *다르다* — 적분 불가능의 신호

def omega_body_zyz(phi, theta, psi, dphi, dtheta, dpsi):
    """Euler zyz → 몸체 각속도 (ω_1, ω_2, ω_3)"""
    w1 = -np.sin(psi) * dtheta + np.sin(theta) * np.cos(psi) * dphi
    w2 = np.cos(psi) * dtheta + np.sin(theta) * np.sin(psi) * dphi
    w3 = np.cos(theta) * dphi + dpsi
    return np.array([w1, w2, w3])

# 경로 (a): φ: 0 → π/2 linear, θ = ψ = 0 (즉 θ̇ = ψ̇ = 0)
# t ∈ [0, 1]: φ(t) = (π/2) t, dφ/dt = π/2
phi_dot_a = np.pi / 2
print("경로 (a): φ 만 0 → π/2 변경")
omega_a_at_mid = omega_body_zyz(np.pi/4, 0.0, 0.0, phi_dot_a, 0.0, 0.0)
print(f"  중간점에서 ω_body = {omega_a_at_mid}")
print(f"  적분: ω_3 = cos θ · dφ/dt = π/2  (시간 [0,1] 동안 누적 = π/2)")

# 경로 (b): ψ: 0 → π/2 linear, φ = θ = 0
psi_dot_b = np.pi / 2
print("\n경로 (b): ψ 만 0 → π/2 변경 (φ = θ = 0)")
omega_b_at_mid = omega_body_zyz(0.0, 0.0, np.pi/4, 0.0, 0.0, psi_dot_b)
print(f"  중간점에서 ω_body = {omega_b_at_mid}")
print(f"  적분: ω_3 = dψ/dt = π/2, ω_1 = ω_2 = 0")

# 즉 두 경로가 끝나는 자세는 다르지만 (φ vs ψ 회전), ω_3 의 *누적 적분* 은
# 두 경로 모두 π/2. 이게 ω_3 가 *위치 좌표* 가 아니라는 사실의 *시각화*:
# "ω_3 의 시간 적분" 이 다른 *최종 자세* 에 도달.
print("\n두 경로 모두 ∫ ω_3 dt = π/2 이지만, *최종 자세* 가 다름.")
print("→ ω_i 는 *어떤 좌표* 의 시간 미분이 아니다 = 준좌표")

이 결과는 몸체 각속도가 어떤 좌표의 시간 미분이 아니라 — 즉 적분 불가능한 준좌표 임 — 을 두 회전 경로의 비교로 시각화한다.

다음 절(2.4.2)로 가는 다리

준좌표 ωi\omega^i 가 정의됐으니 그 위에서 라그랑주식을 어떻게 적을까? 적분 불가능 함이 식에 추가 항을 만든다 — 구조 상수 γijk\gamma^k_{ij} 가 끼어든 비푸앵카레 방정식 (Boltzmann–Hamel). §1.4.10 의 리 대수 구조 상수가 여기서 물리적 식 에 등장한다.