RigidBody의 Restitution, Friction, Damping

물리 2012.02.06 00:40 Posted by 물리프로그래머

안녕하세요. 이번에는 RigidBody의 속성인 restitution, friction, damping에 대해서 간략하게 설명 드리겠습니다.

1) Restitution
Restitution은 복원력 또는 탄성계수와 같은 의미로 생각하시면 됩니다.
두물체가 충돌했을때 발생하며, 범위는 [0 - 1]입니다. 1은 얌체공과 같은 완전 탄성체를 의미하고, 0은 탄성이 전혀없는 물체를 나타냅니다.(Bullet에서 default값은 0입니다.)
A물체와 B물체가 충돌했을때, A와B의 Restitution은 두 물체 Restitution의 곱으로 결정 됩니다.
아래의 그림처럼 Restitution의 값을 바꾸어 가며 테스트 해보시면 됩니다.



2) Friction
Friction은 마찰력입니다.
접촉 되어 있는 두 물체 사이에 발생하며, 범위는 [0 - 1]입니다. 1은 두 물체사이의 미끄러짐이 전혀 없는 상태이고, 0은 얼음위에서 미끄러지는 것과 같은 상태입니다.(Default는 0.5입니다.)
A와B 사이의 Friction은 역시, 두 물체의 Friction의 곱으로 결정됩니다.
아래의 그림처럼 Friction의 값을 바꾸어 가며 테스트 해보시면 됩니다.



3) Damping
Damping은 물체가 움직일때, 그 속도에 대한 대기(공기, 물, 등등)의 저항력을 의미 합니다.
예를 들면, 물위에서 공을 던지면 잘 날라가지만, 물속에서는 조금 날아가다가 속도가 0이 됩니다. 이것은 공기의 Damping은 작고 물의 Damping이 크기 때문에 나타나는 현상입니다.
Damping의 범위는 [0 - 1]입니다. 0은 저항력이 전혀 없는 상태이고, 1는 저항력이 너무커서 움직이지 못하는 상태입니다.
아래의 그림처럼 Damping의 값을 바꾸어 가며 테스트 해보시면 됩니다.(Linear와 Angular로 나누어져 있지만 개념은 같습니다.)


아래 소스버전을 참조했습니다.


소스 빌드방법
빌드를 하기 위해서는 Bullet 2.79버전과 wxWidgets 2.8.12버전이 있어야 됩니다.


1) Bullet 빌드
Bullet 2.79는 앞의 Bullet설치 페이지를 참고 하시면 됩니다.

2) wxWidgets 빌드
(1) wxWidgets 2.8.12버전을 아래의 사이트에 다운 받습니다.
http://sourceforge.net/projects/wxwindows/files/2.8.12/wxWidgets-2.8.12.zip/download

(2)"wxWidgets-2.8.12\build\msw\wx.sln" 솔루션 열기를 합니다.(솔루션이 2005버전입니다 변환 메시지가 나오면 모두 "확인"을 누릅니다.)
Debug/Relase 모두, 아래의 그림처럼 솔루션 빌드를 합니다.(빌드 후, 오류가 있으면 다시 한번 솔루션 빌드를 합니다.)
 



3) 경로설정
(1) 소스의 압축을 푼 후, "RigidBody.sln" 솔루션 열기를 합니다.

(2) 속성창(Property Manager)을 열어 아래 그림처럼 Bullet 경로를  자신의 경로로 설정함.


(3) 속성창(Property Manager)을 열어 아래 그림처럼 wxWidgets 경로를  자신의 경로로 설정함.

4) 소스 실행

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

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

Inertia Tensor(2)  (0) 2012.02.19
Inertia Tensor(1)  (0) 2012.02.13
RigidBody의 Restitution, Friction, Damping  (2) 2012.02.06
[Bullet Physics] RigidBody 만들기  (2) 2012.01.05
[Bullet Physics] Bullet 물리엔진의 설치  (2) 2011.12.22


 

티스토리 툴바