본문 바로가기

물리

최속강하선(사이클로이드) 시현

최속강하선은 가장 실용적이면서도 일반인이 이해하기 어려운 경계쯤에 있는 수학의 예가 아닐까 생각한다.

또 수학이 왜 필요한 지, 얼마나 우아하고 멋지게 문제를 표현할 수 있는 지, 그리고 얻어진 그 해가 얼마나 간결하고 정확하게 도출되는 지를 리얼하게 체감할 수 있는 좋은 예라고 할 수 있을 것 같다.

그러나 불행히도 나는 최속강하선을 완벽히 이해하지 못한 것 같다. 엄밀한 증명의 처음부터 끝까지 과정들을 반박할 수 없게 명백하게 동의하며 전체를 직관하는 것이 아니라, 군데군데 의구심과 찜찜함을 가지며 세부만 보다가 어쩌다 끌려 왔으니까...

그래서 여기서는 증명은 간략히 하고 구해진 해가 문제 조건을 충족하는 지 위주로 그래픽으로 시현해 보려고 한다!

 

<최속강하선>
2차원 상에 두점(시점과 종점)을 잇는 곡선 중에서,
그 위를 중력만 작용하여 가장 빨리 내려가는 곡선은? 사이클로이드(cycloid)이다.
사이클로이드의 이 특성을 Brachistochrone (최단강하곡선)이라고 한다.

<변분법 calculus of variations>
에너지나 거리는 적분 형태로 표현되곤 하는데, 이러한 에너지 또는 거리가 최소가 되거나 최대가 되게 하는 곡선이나 속도 등을 찾는 방법

<오일러 라그랑주 방정식 Euler-Lagrange>
어떤 함수와 그 도함수에 의존하는 범함수의 극대화 및 정류화 문제를 다루는 미분 방정식

<등시곡선 tautochrone>
질점이 어떤 궤도를 따라 평형점 부근에서 진동할 때, 주기가 등시성을 가지는 경우의 궤도를 말한다. 
사이클로이드진자는 중력의 작용에 의해서 진자가 그 곡선을 따라 곡선상의 임의의 점 P로부터 
최하점까지 마찰저항 없이 미끄러져 떨어지는 데 필요한 시간은 점 P의 위치에 관계없이 같다. 즉 진자의 주기가 진폭에 관계없이 일정하다는 등시성이 적용되는데, 이와 같은 성질의 사이클로이드를 등시곡선이라 한다.

사이클로이드 곡선 강하 시현

㉮먼저 변분법으로 일반적인 오일러 라그랑주 방정식을 유도합니다!

목표는 적분 I = ∫x1x2 F(x, f, f') dx 를 정상적(최대 혹은 최소 등)으로 만드는 f를 구하는 것이다.

 

ε은 매개변수, η(x)은 x1과 x2에서 0이고 사이구간에서 이차미분이 연속인 임의의 곡선 일때,

변형된 곡선들의 집합 f(x) = f정상 (x) + ε·η(x)

그러면, I(ε) = ∫x1x2 F(x, f, f') dx 이고, ε=0일때 (d/dε)I(ε) = 0 이 되어야 한다.

f와 f' 이 ε의 함수라는 것을 기억하고 적분 기호 안에서 ε에 대해 미분하면,

dI/dε = ∫x1x2 [(∂F/∂f)·(df/dε) + (∂F/∂f')·(df'/dε)] dx

f(x)와 f'(x) =  f정상 '(x) + ε·η'(x) 를 대입하면, 

dI/dε = ∫x1x2 [(∂F/∂f)·η(x) + (∂F/∂f')·η'(x)] dx 

ε=0일때 (d/dε)I(ε) = 0 이 되도록 한다. ε=0 은 f(x) =  f정상 (x) 를 뜻한다.

(dI/dε)ε=0 = ∫x1x2 [(∂F/∂f)·η(x) + (∂F/∂f')·η'(x)] dx = 0

f''(x)가 연속이라고 가정하고, 직선문제처럼 두 번째 항을 부분적분한다.

x1x2 (∂F/∂f')·η'(x) dx = (∂F/∂f')·η(x)|x1x2 - ∫x1x2 (d/dx)(∂F/∂f')·η(x) dx

η(x)는 x1, x2에서 0 이므로 다음을 얻는다.

(dI/dε)ε=0 = ∫x1x2 [(∂F/∂f) - (d/dx)(∂F/∂f')]·η(x) dx = 0

η(x)는 임의의 함수이므로 다음을 얻는다.

∴ 오일러 라그랑주 방정식 (∂F/∂f) - (d/dx)(∂F/∂f') = 0

변분법에서 임의의 문제는 정상적이 되어야 하는 적분을 만들고, 함수 F가 무엇인지 쓰고, 이것을 오일러 방정식에 대입하여 만든 미분방정식을 풀면 답을 얻을 수 있다!

 

㉯ 이문제에 맞는 강하곡선들의 집합을 찾습니다.

T = ∫ dt = ∫ 1/v ds = ∫0x0 √(1+y'2)/√(2gy) dx

 

㉰ 위 T에 대한 최소값을 찾기위해 라그랑주 방정식을 적용하면,

I = ∫x1x2 F(x, f, f') dx , (∂F/∂f) - (d/dx)(∂F/∂f') = 0 를 이용하여 간단히 계산하기 위해

T = ∫0y0 √(x'2+1)/√(2gy) dy 로 변형하면

F(y, x, x') = √(1+x'2)/√y , (∂F/∂x) - (d/dy)(∂F/∂x') = 0

이제 (∂F/∂x) - (d/dy)(∂F/∂x') = 0 을 풀어보면,

(d/dy)(∂F/∂x') = 0 (∵ ∂F/∂x = 0)

대입해서 풀면, d/dy(√y/√(1+x'2)·(x'/y)) = 0

 √y/√(1+x'2)·(x'/y) = C

정리하면 x' = ±√(C2y)/√(1-C2y) 이고,

치환적분( y = 1/C2 sin2(t), dy = 2/C2·sin(t)·cos(t)dt )을 이용하면

x = ±∫√(C2y)/√(1-C2y)dy 정리하고 원점을 대입하면 x = ±1/C2(t-1/2·sin(2t)

2t를 θ로 변환하면 x = 1/(2C2)(θ-sin(θ)) , y = 1/(2C2)(1-cos(θ))

 

㉱ 마지막으로 구해진 x, y를 통해 컴퓨터로 ㉯식을 대입해서 시현해 보면,

실제 여러 경로의 강하시험을 할 수 있고 최속강하선이 제일 빠른 것을 볼 수 있다.

또한 최속강하선의 어느점에서 강하하든 최하점에 도달하는 시간은 동일함을 확인할 수 있다.

정확한 시간에 대한 계산값은 바로 구하기 어려워 보간을 이용했다.

 

(등시간격 궤적으로 본) 사이클로이드 등시성

아 블로그 하나가 이렇게 시간 많이 걸리고 힘들줄이야. 그래도 조금은 더 정리가 되는 것 같다.

참고로 제가 만든 파이썬 소스코드가 궁금하신분은 아래 다운로드해 참고해주세요!

 

Brachistochrone_cycloid.py
0.00MB

 

참고사이트

https://alphago.pe.kr/entry/최단강하곡선-문제Brachistochrone-Problem?category=666165 

https://blog.naver.com/ushsgradient/222395454592

'물리' 카테고리의 다른 글

전송선로에서 전압파, 전류파 시각화  (0) 2022.05.01
줄의 파동방정식 시현  (0) 2022.04.10
자기장 B와 자기력선의 시각화  (0) 2022.03.25
전기장E, 전위V의 시각화  (0) 2022.02.14
곡률(curvature)과 접촉원  (1) 2022.01.01