2D 물리 실험실
게임용 물리 엔진이라 실제 실험과 숫자가 똑같지는 않아요. ‘조건을 바꾸면 결과가 어떻게 달라지는지’를 비교하는 데 쓰세요.
직접 떨어뜨리고 부딪혀 보는 물리
교과서 그림으로만 보던 충돌, 마찰, 경사면, 진자를 화면 속에서 직접 실험해 보는 2D 물리 놀이터예요. 화면을 누르면 공이나 상자가 떨어지고, 떨어진 물체를 마우스나 손가락으로 집어 던질 수도 있어요. 계산은 오픈소스 2D 물리 엔진 Matter.js가 1초에 60번씩 물체의 위치·속도·충돌을 갱신하며 해요.
준비된 장면
- 충돌 실험 — 중력 없이 공 두 개가 부딪혀요. 반발 계수를 1로 두면 같은 무게의 두 공이 속도를 거의 주고받고, 0이면 붙어서 함께 움직여요. 위쪽에 두 공의 속도와 운동량의 합이 표시돼 부딪히기 전후를 비교할 수 있어요.
- 경사면과 마찰 — 경사각과 마찰을 바꾸면 상자가 미끄러지기 시작하는 조건이 달라져요. 경사가 가파를수록, 마찰이 작을수록 빨리 미끄러져요.
- 도미노 · 탑 무너뜨리기 — 충돌이 차례로 전달되는 모습과 마찰·반발 계수에 따라 무너지는 모양을 비교해요.
- 뉴턴의 요람 — 줄에 매단 공 다섯 개에서 한쪽 공의 운동이 반대쪽 공으로 전해지는 모습을 봐요.
조절할 수 있는 것과 한계
중력(0~2배), 반발 계수(0~1), 마찰(0~1), 시간 흐름(¼배·½배·보통)을 바꿀 수 있고, 일시 정지한 뒤 ‘한 칸 진행’으로 1/60초씩 넘겨 보며 관찰할 수 있어요. 반발 계수와 마찰은 새로 만드는 물체와 장면을 다시 시작할 때 적용돼요.
게임과 시각화를 위한 물리 엔진이라 계산을 빠르게 하려고 근사를 써요. 그래서 실제 실험이나 교과서 공식의 숫자와 똑같이 나오지 않을 수 있고, 아주 빠른 물체는 얇은 벽을 뚫기도 해요. 화면의 속도·거리는 엔진의 단위(픽셀 기준)라 m/s 같은 실제 단위가 아니에요. ‘조건을 바꾸면 결과가 어떻게 달라지는지’를 비교하는 데 쓰고, 정확한 값은 공식으로 계산해 보세요.
참고한 자료
자주 묻는 질문
휴대폰에서도 되나요?
네. 손가락으로 화면을 톡 누르면 물체가 생기고, 물체를 끌면 던질 수 있어요. 물체가 아주 많아지면 느려질 수 있어서 추가한 물체는 120개까지만 남겨요.
반발 계수 1인데 공이 조금씩 덜 튀어요.
공기 저항을 아주 조금 넣었고, 엔진의 계산 오차로 에너지가 조금씩 줄어요. 충돌 실험 장면은 공기 저항을 0으로 두었어요.
실험 결과를 저장할 수 있나요?
‘화면 PNG’로 지금 장면을 그림으로 저장할 수 있어요.
함께 쓰면 좋은 도구
- 포물선 운동 시뮬레이터 (최고점·도달 거리·비행 시간)처음 속력·발사 각도·높이를 넣으면 궤적을 그리고 최고 높이·수평 도달 거리·비행 시간·착지 속도를 공식 풀이와 함께
- 단진자 시뮬레이터 (주기 계산·큰 진폭 보정·감쇠)줄 길이·처음 각도·중력 가속도를 바꾸며 진자 운동을 보고, 주기 공식 2π√(L/g)와 큰 진폭의 정확한 주기를 비교
- 벡터 합성·분해 그리기 (힘의 합성, 평행사변형법, 성분 분해)힘(벡터) 2~4개의 크기와 방향을 넣거나 화살표 끝을 끌어서 합력(합벡터)을 평행사변형법·삼각형법으로 그리고, x·y 성분 분해와 크기·방향을 계산
- 학점 계산기 (GPA)과목·학점·성적 → 평점(4.5·4.3 만점), 전공 평점
- 학점 변환 (4.5 ↔ 4.3 ↔ 100점)4.5·4.3 만점 평점과 100점 환산 참고표
- 시간표 만들기 (학교·학원)교시별 과목 입력 → 예쁜 시간표 이미지·PDF