충돌 설정과 시뮬레이션 제어
충돌 실험실은 1차원 트랙 또는 2차원 평면에서 두 공의 물리적 충돌을 시뮬레이션하는 도구입니다. 사용자는 시뮬레이션을 시작하기 전에 다음과 같은 매개변수를 직접 설정할 수 있습니다:
- 차원: 1D 트랙 또는 2D 평면 중 하나를 선택합니다.
- 시나리오: 동일 질량 정면 충돌, 무거운 공이 가벼운 공을 타격, 추돌, 완전 비탄성, 비스듬한 2D 충돌 등 미리 준비된 구성을 불러올 수 있습니다.
- 반발 계수 e: 완전 비탄성(최소)부터 탄성(최대)까지 슬라이더를 조절하여 설정합니다.
- 공 1 및 공 2 속성: 각 공의 질량(최대 1000 kg의 양수), 위치 x, 위치 y(2D 전용), 속도 x(±50 m/s 이내), 속도 y(2D 전용, ±50 m/s 이내)를 입력합니다.
일시정지 상태에서 공을 드래그하여 위치를 변경할 수 있으며, 새로운 설정에서 시뮬레이션이 다시 시작됩니다. 재생 속도는 보통 또는 느리게 중에서 선택할 수 있으며, 재생, 일시정지, 단계 이동, 초기화 버튼을 통해 시뮬레이션을 제어합니다.
모든 시뮬레이션은 이 브라우저 내에서 실행되며, 설정하신 어떠한 정보도 외부로 전송되지 않습니다.
실시간 데이터 및 충돌 분석
시뮬레이션이 시작되면 속도 화살표와 질량 중심이 표시된 두 공이 움직이고 충돌하는 모습을 보여주는 애니메이션 경기장에 물리적 움직임이 시각화됩니다. 화면에는 시뮬레이션 상태에 따라 다음과 같은 메시지가 표시됩니다:
질량과 속도를 설정한 후 재생을 누르세요.시뮬레이션 실행 중.t = ‹t›초에서 일시정지됨.
실시간 정보 영역에는 두 공의 속도, 운동량, 운동 에너지와 시스템 전체의 총운동량, 총 운동 에너지가 실시간으로 업데이트됩니다.
두 공이 충돌하는 순간, 충돌 전과 후 비교 표가 자동으로 채워집니다. 이 표는 충돌 ‹n› (t = ‹t›초) 시점의 데이터를 기록하며, 변화량 열을 통해 각 공의 물리량 변화를 보여줍니다. 표 하단에는 충돌로 손실된 운동 에너지: ‹value› J (충돌 전 총에너지의 ‹percent›)가 표시되어 에너지 보존 및 손실을 직관적으로 확인할 수 있습니다.
물리 법칙 및 계산 공식
이 도구는 다음과 같은 물리 공식을 기반으로 작동합니다:
운동량 및 운동 에너지
- p = m·v
- KE = ½·m·|v|²
중심 연결선 상의 충돌
두 공의 중심을 잇는 단위 벡터를 n̂, 상대 속도를 v_rel = v₂ − v₁라고 할 때, 충격량의 크기 j는 다음과 같이 계산됩니다:
- j = −(1 + e) · (v_rel · n̂) ÷ (1/m₁ + 1/m₂)
충돌 후의 속도 v₁′ 및 v₂′는 다음과 같습니다:
- v₁′ = v₁ − (j/m₁)·n̂
- v₂′ = v₂ + (j/m₂)·n̂
이때 반발 계수 e는 다음과 같이 정의됩니다:
- e = −(v_rel′ · n̂) ÷ (v_rel · n̂)
정면 탄성 충돌의 특수 사례 (e = 1)
- v₁′ = ((m₁ − m₂)·v₁ + 2·m₂·v₂) ÷ (m₁ + m₂)
정면 완전 비탄성 충돌의 특수 사례 (e = 0)
- 공통 속도 v′ = (m₁·v₁ + m₂·v₂) ÷ (m₁ + m₂)
충돌 사이의 운동
- x ← x + v·Δt
충돌 사이에는 아무런 힘도 작용하지 않으므로 위치가 정확하게 진행됩니다. 각 충돌은 프레임 내에서 정확한 접촉 순간에 해결되므로 빠른 공이 서로를 뚫고 지나갈 수 없으며, 벽은 공의 속력을 변화시키지 않고 반사합니다.
시스템 제한 사항 및 오류 메시지
시뮬레이터의 정상적인 작동을 위해 다음과 같은 입력 제한과 물리적 규칙이 적용됩니다:
- 질량 제한: 질량은 반드시 0보다 커야 하며, 최대 1000 kg을 초과할 수 없습니다.
- 속도 제한: 각 속도 성분(속도 x, 속도 y)은 반드시 ±50 m/s 범위 내에 있어야 합니다.
- 경계 조건: 경기장 벽면은 공의 속력을 변화시키지 않고 그대로 반사합니다.
- 이상화된 가정: 이 도구는 회전, 마찰, 중력이 없는 매끄러운 원판, 즉각적인 충돌, 완전히 탄성적인 벽을 가정하는 이상화된 교육용 모델입니다.
규칙에 어긋나는 값을 입력하거나 배치할 경우 다음과 같은 오류 메시지가 출력됩니다:
- 숫자가 아닌 값을 입력한 경우:
공 ‹n›, ‹field›: “‹token›”은(는) 숫자가 아닙니다. - 질량이 0 이하인 경우:
공 ‹n›: 질량은 0보다 커야 합니다. - 질량이 범위를 초과한 경우:
공 ‹n›: 1000 kg을 초과하는 질량은 이 데모의 범위를 벗어납니다. - 속도가 범위를 초과한 경우:
공 ‹n›: 각 속도 성분을 ±50 m/s 이내로 유지해 주세요. - 공이 벽 밖에 배치된 경우:
공 ‹n›이(가) 경기장 밖에서 시작되었습니다. 벽 안쪽으로 다시 이동시켜 주세요. - 시작 시 두 공이 겹친 경우:
시작 시 두 공이 겹있습니다. 실행하기 전에 서로 떨어뜨려 놓아 주세요.
자주 묻는 질문 (FAQ)
Q: 운동 에너지가 보존되지 않을 때도 운동량이 보존되는 이유는 무엇인가요?
A: 충돌하는 동안 두 공은 크기가 같고 방향이 반대인 힘으로 서로를 밀어내므로, 한 공이 잃은 운동량은 다른 공이 얻게 됩니다. 따라서 e의 값에 관계없이 총운동량은 변할 수 없습니다. 반면 운동 에너지는 이러한 보호를 받지 못합니다. 비탄성 충돌에서는 운동 에너지의 일부가 변형, 열, 소리로 전환됩니다. 충돌 전후 비교 표는 바로 이 현상을 보여주며, 운동량 행은 값을 유지하는 반면 에너지 행은 감소합니다.
Q: 반발 계수는 실제로 무엇을 제어하나요?
A: 반발 계수는 두 공의 중심을 잇는 선을 따라 측정된, 충돌 후 멀어지는 속도와 충돌 전 가까워지는 속도의 비율입니다. e = 1일 때는 반발 시 접근 속도가 그대로 유지되어 운동 에너지가 보존되며, e = 0일 때는 공들이 서로 멀어지는 운동을 완전히 멈추어 정면 충돌 시 하나의 덩어리가 되어 함께 움직입니다. 그 사이의 모든 값에서는 에너지의 일부가 손실됩니다. 예를 들어 농구공은 대략 e ≈ 0.6으로 리바운드되고, 콘크리트 바닥 위의 테니스공은 약 0.75의 값을 가집니다.
Q: 2D 완전 비탄성 충돌에서 두 공이 서로 달라붙지 않는 이유는 무엇인가요?
A: e = 0은 두 공이 실제로 서로를 미는 방향인 중심 연결선 방향의 분리 속도를 제거합니다. 정면 충돌에서는 이것이 운동의 전부이므로 두 공이 함께 이동합니다. 비스듬히 부딪히는 빗겨치기 충돌에서는 각 공이 접촉면을 따라 측면 운동도 가지게 되는데, 마찰이 없는 매끄러운 공은 이를 상쇄할 마찰력이 없으므로 반발력이 사라졌음에도 경로가 갈라지게 됩니다. 공이 완전히 달라붙게 하려면 마찰이나 서로 맞물리는 구조가 필요하지만, 이 모델에서는 이를 의도적으로 제외했습니다.
Q: 이 시뮬레이션은 실제 충돌과 얼마나 유사한가요?
A: 보존 법칙은 정확하며, 사고 조사관과 입자 물리학자들이 의존하는 기초입니다. 여기서 이상화된 것은 그 외의 모든 요소입니다. 실제 물체는 즉각적으로 충돌하기보다 수 밀리초에 걸쳐 변형되고, 중심을 벗어나 부딪힐 때 회전하며, 서로 마찰하고 구르다가 멈춥니다. 이 시뮬레이션의 숫자들은 특정 실제 물체에 대한 예측이 아니라, 깨끗한 실험이 도달하는 교과서적인 한계값으로 취급해 주세요.