자석 진자 카오스베타

세 자석 위 진자가 어디 멈출지 그린 카오스 프랙털 지도

이 도구는 아직 안정화 중인 베타 버전입니다. 결과가 예상과 다르면 알려주세요.

시뮬레이션 엔진(WebAssembly)을 불러오는 중…

지도를 눌러 그 자리에서 진자를 놓아 보세요

진자 끝은 중력에 끌려 가운데로 돌아가려 하고, 바닥의 자석들은 저마다 진자를 끌어당기며, 공기 저항이 조금씩 에너지를 빼앗습니다. 결국 진자는 어느 한 자석 위에 멈춥니다. 지도의 각 픽셀은 그 자리에서 진자를 가만히 놓았을 때 멈추게 되는 자석의 색이고, 어두울수록 멈추기까지 오래 걸린 점입니다. 경계 부근은 아주 조금만 달라져도 결과가 바뀌는 카오스 영역이라 확대할수록 끝없이 복잡한 무늬가 나타납니다. 지도를 누르면 그 초기점의 실제 궤적을 보여 주고, 끌면 이동, 휠이나 두 손가락으로 확대합니다.

자석 진자 카오스 소개

지도의 픽셀 하나하나가 실험 한 번이다. 그 지점에서 진자 끝을 정지 상태로 놓고, 0.02초 간격의 RK4로 최대 120초까지 계산해 어느 자석 위에 멈추는지 본 다음 그 자석의 색으로 칠한다. 멈추는 데 오래 걸린 곳일수록 어둡고, 30초 이상 걸리면 가장 어두운 색이 된다.

진자 끝의 수평 위치 p에 대한 운동 방정식은 p'' = −k·p − b·p' + Σ (mᵢ − p) / (|mᵢ − p|² + d²)^{3/2}이다. k는 중력에 의한 복원력, b는 마찰, d는 진자 끝과 자석 평면 사이 높이이고, 자석들은 반지름 1인 원 위에 같은 간격으로 놓인다. 자석이 3개일 때 1번(빨강)은 맨 위, 2번(초록)은 왼쪽 아래, 3번(파랑)은 오른쪽 아래다.

관찰 실험 1: 한 픽셀 옆에서 놓으면

기본값(마찰 0.2, 중력 0.5, 높이 0.25, 자석 3개)에서 원의 중심 바로 아래, 반지름의 두 배 거리인 (0, −2)에서 놓으면 진자는 가까운 아래쪽 자석들을 지나 가장 먼 맨 위의 1번 자석에 23.6초 만에 멈춘다. 오른쪽으로 0.01만 옮긴 (0.01, −2)에서 놓으면 3번 자석에 37.6초 만에 멈춘다. 기본 시야에서 0.01은 한두 픽셀 거리다.

지도를 탭하면 그 지점의 실제 궤적이 그려진다. 색이 한 덩어리로 넓게 칠해진 곳을 탭하고 조금씩 옮겨 보면 결과가 바뀌지 않지만, 여러 색이 줄무늬처럼 섞인 곳에서는 옆 픽셀로만 옮겨도 도착 자석이 달라진다. 결과가 달라지는 점들이 모인 경계가 이 지도의 본체다.

관찰 실험 2: 마찰을 줄이면 경계가 번진다

y = −1.2인 가로줄 위 x = −2부터 2까지 1,001개 점에서 놓아 보고, 이웃한 두 점의 도착 자석이 다른 횟수를 세어 봤다. 마찰 0.4에서는 10번, 0.2(기본값)에서는 36번, 0.1에서는 424번, 0.05에서는 672번이었다. 마찰이 작으면 진자가 자석들 사이를 더 오래 오가고, 그동안 작은 차이가 커질 기회가 많아진다. 0.05에서는 경계가 넓은 띠 전체로 번져 사실상 어느 자석에 갈지 모르는 영역이 된다.

마찰 0.05에서는 1,001개 중 8개가 120초 안에 멈추지 않았다. 이런 점은 마지막 위치에서 가장 가까운 자석의 가장 어두운 색으로 칠해진다. 마찰이 아주 작을 때 보이는 어두운 얼룩 일부는 계산 시간을 다 쓴 점이다.

관찰 실험 3: 자석 수와 중력

같은 줄에서 자석 개수만 바꾸면 경계를 넘는 횟수는 자석 2개일 때 6번, 3개 36번, 4개 132번, 6개 504번이었다. 자석 2개는 지도가 거의 반으로 나뉘어 경계가 단순하고, 개수가 늘수록 진자가 들를 수 있는 자석이 많아져 경로가 복잡해진다.

중력(복원력) k를 0.2에서 1.5로 올리면 같은 줄의 경계 횟수는 24번에서 194번으로 늘었다. 중심으로 끌어당기는 힘이 세면 진자가 자석 원 안쪽을 빠르게 여러 번 가로지르기 때문이다.

왜 경계가 프랙털이 되나

진자가 도착할 수 있는 곳(끌개)은 자석 위 정지점 세 개뿐이다. 각 끌개로 가는 초기점들의 집합을 끌개 영역(basin)이라 한다. 두 영역 사이 경계에 딱 걸린 점은 어느 쪽에도 도착하지 않고 불안정한 궤도를 따라간다. 경계 근처에서 출발한 진자는 그 불안정한 궤도 근처를 한동안 따라가다 떨어져 나가는데, 오래 머물수록 작은 차이가 증폭되어 결과가 갈린다. 그래서 경계를 확대하면 더 가는 줄무늬가 또 나타난다.

McDonald, Grebogi, Ott, Yorke(1985)는 이런 프랙털 경계에서 초기 위치를 ε만큼 정확히 알 때 결과를 틀릴 확률이 ε^α처럼 줄어든다고 설명했다. α가 1보다 작으면 정밀도를 10배 높여도 틀릴 확률은 10배보다 덜 줄어든다. 로렌즈 어트랙터처럼 끝없이 혼돈하는 계가 아니어도, 결국 멈추는 진자에서도 「어디에 멈출지」는 예측할 수 없다는 것이 이 지도의 요점이다.

이 모델이 단순화한 것

  • 진자 끝이 평면 위를 움직인다고 보고 복원력을 −k·p로 둔 작은 진폭 근사다. 실제 진자 끝은 구면 위를 움직이므로 바깥쪽에서 놓을수록 차이가 커진다.
  • 자석의 힘은 거리 제곱에 반비례하는 점 인력을 높이 d로 부드럽게 만든 것이다. 실제 자석은 쌍극자이고, 거리 세제곱 이상으로 빨리 약해진다.
  • 마찰은 속도에 비례하는 선형 감쇠 하나뿐이다.
  • 「멈춤」은 자석에서 0.05 이내이고 속력이 0.05 미만일 때로 판정한다. 높이를 약 0.37 이상으로 올리면 평형점이 자석에서 0.05보다 멀어지므로(높이 0.4에서 약 0.07, 0.5에서 약 0.14) 속력과 가속도가 모두 0.05 미만이 된 순간, 즉 평형점에 멈춘 순간을 멈춤으로 보고 가장 가까운 자석으로 분류한다. 높이를 0.6 가까이 올리면 자석의 끌림이 약해져 원의 중심 근처에 멈추는 점도 생긴다. 이런 점의 색은 멈출 때 조금 더 가까웠던 자석일 뿐 큰 의미는 없다.
  • 정확히 원의 중심 (0, 0)은 이론상 모든 힘이 균형을 이루는 점이지만, 계산에서는 부동소수점 오차가 한쪽을 골라 약 65초 뒤 2번 자석에 멈춘다.

예시

0.01 차이로 다른 자석

입력
마찰 0.2, 중력 0.5, 높이 0.25, 자석 3개 / 출발 (0, −2)와 (0.01, −2)
결과
(0, −2) → 1번(맨 위) 23.6초 / (0.01, −2) → 3번(오른쪽 아래) 37.6초

두 출발점 모두 넓은 단색 영역이 아니라 줄무늬 경계 위에 있다.

마찰과 경계의 복잡도

입력
y = −1.2, x = −2~2의 1,001개 점
결과
경계 넘는 횟수: 마찰 0.4 → 10, 0.2 → 36, 0.1 → 424, 0.05 → 672

마찰을 절반으로 줄일 때마다 경계가 급격히 늘어난다.

사용 방법

  1. 마찰·중력·높이·자석 수를 바꾸면 지도가 처음부터 다시 계산된다. 해상도 「빠르게」로 먼저 훑고 「선명하게」로 다듬는다.
  2. 지도를 탭해 그 지점의 궤적과 도착 자석, 걸린 시간을 확인한다.
  3. 색이 섞인 경계를 드래그로 가운데에 두고 확대해 더 가는 줄무늬를 찾는다.

자주 묻는 질문

왜 가장 가까운 자석으로 가지 않나요?

진자는 정지 상태에서 출발해 복원력 때문에 중심 쪽으로 가속된다. 속도가 붙은 채로 자석 사이를 지나가므로 처음에 가까웠던 자석을 지나치는 일이 흔하다. 자석 바로 위 근처에서 놓을 때만 곧장 그 자석에 붙는다.

높이를 크게 올리면 진자가 자석 바로 위에 멈추지 않아요.

정상이다. 높이가 클수록 복원력이 자석의 끌림을 더 이겨서 평형점이 자석보다 중심 쪽으로 밀린다(높이 0.4에서 약 0.07). 이때는 평형점에 멈춘 순간을 멈춤으로 보고 가장 가까운 자석으로 분류한다. 높이가 0.6에 가까우면 중심 근처에 멈추는 점도 생긴다(위 「단순화」 항목).

실제 장난감에서도 이런 무늬가 나오나요?

경계가 복잡하고 출발점에 민감하다는 성질은 실물에서도 나타난다. 다만 실제 자석의 힘과 진자의 구면 운동이 다르므로 지도의 정확한 모양은 이 모델과 같지 않다.

확대하면 끝없이 새로운 무늬가 나오나요?

수학적으로는 그렇지만, 여기서는 0.02초 간격 계산과 120초 제한이 있어 아주 깊이 확대하면 수치 오차가 무늬를 좌우하게 된다.

관련 가이드

출처

기준일:

개인정보와 저장 방식