2011.01.22 23:55
2D Collision


드디어 2차원 충돌을 구현했다. 위키 백과에서 공식을 찾았는데, 이 공식엔 반발계수도 포함되어 있어서 바로 써먹을 수 있었다..ㅋㅋ(->링크(영문))
//참고로, 영문버전의 위키가 상당히 자세하다....그래서 영문버전을 애용하기를...;;

V_{1f}=\frac{C_R M_2 (V_2 - V_1) + M_1 V_1 + M_2 V_2} {M_1+M_2}
V_{2f}=\frac{C_R M_1 (V_1 - V_2) + M_1 V_1 + M_2 V_2} {M_1+M_2}

이게 바로 충돌 후의 속도에 대한 식.....ㅋ

구현간에 약간의 애로사항이 꽃피었었는데, 문제는 회전변환을 해주는 매서드였다;;;;;;(행렬을 안만진지 오래되서 행렬의 곱셈 방법을 잘못 생각한...ㅋㅋㅋ) 
(회전변환에 대한 내용을 보고나서야 고쳤다....ㅋㅋ->링크)

 \begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}

이건 회전변환 매트릭스! (진짜 쓸모 많다능.....ㅋㅋ)

그리고,,,버그,,,,,,,가 나오지 않도록(두 원이 겹쳐서 계산이 계속되는 뭐 이런 버그...완벽히 해결됬는지는 모르지만,,,,) 두원이 충돌시에, 두 원이 접하도록(그러니까 겹치지 않고)만들어 주었다..

이번에 만든 클래스는 Ball, Physics2D인데,,,, Physics2D는 재활용 할 수 있도록 조금 손바주어 내 라이브러리에 넣어야겠다...ㅋㅋ

드디어 구현한 무비..ㅋ (클릭하면, 계속 진행됩니다.)
참고로, 반발계수가 적용되어 있다. e = 0.8

각 벡터의 모습을 보여주려 했는데, 그냥 속도 벡터만 표시.....

마지막으로 소스 코드.ㅋ

main.as



Physics2D.as


Ball.as





* 추가

공의 숫자를 늘리고(10) 중력까지 포함. 
반발계수를 넣었었지만, 겹치는 버그가 계속됨,,,(아마도, 세개 이상 겹치었을때 서로 접하려고 하다보니 다시 겹쳐지는 순환....어떻게 해결항 방법을....;;;)

무비는 아래 폴딩안에...

더보기



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'[+++ FLASH +++] > - - 물리' 카테고리의 다른 글

2차원 충돌 (2D Collision)  (6) 2011.01.22
2차원 충돌  (1) 2010.02.12
[ 00 ] 중력 & 반중력? 에서 제작할 무비 예제 [Gravity Play]  (0) 2009.06.19
[ 01 ] 중력 & 반중력 ?  (0) 2009.06.11
Trackback 0 Comment 6
  1. Favicon of http://estellenotes.tistory.com BlogIcon 에스텔시아 2011.01.23 17:02 신고 address edit & del reply

    이걸 보니까 왠지 Jt군이 보여준 라고아 물리엔진 볼 때 같은 감동이 밀려오는 듯한 느낌이 ㅎㅎ;;
    드네여.

  2. Ko Dong-Eun 2011.01.24 00:05 신고 address edit & del reply

    군대에서도 물리공부??ㅋㅋㅋㅋ 역시 공부의 神이군 ㅋㅋㅋㅋ

  3. Favicon of http://www.squidoo.com/ukdissertationwritinghelp BlogIcon ukdissertationwritinghelp 2011.01.31 14:51 신고 address edit & del reply

    It’s a great tip on Do It yourself stuff. Thanks!

  4. 2011.03.29 19:54 address edit & del reply

    비밀댓글입니다

  5. 2011.05.14 15:02 address edit & del reply

    비밀댓글입니다

  6. Favicon of http://podojam.tistory.com BlogIcon 포도잼 2011.06.06 02:03 신고 address edit & del reply

    와우~ 지나가다 들렸는데...다른 세계에 온 듯하군요.
    왜 저는 아인쉬타인이 생각날까요? 거참!



티스토리 툴바