2012-11-28 4 views
9

나는이 질문을하기 전에 누군가에게 질문했을 것이라고 생각했지만 대답을 찾을 수 없었습니다.다중 모양의 강체에 대한 관성 계산

저는 게임 엔진 용 물리 라이브러리를 작성하고 있습니다 (2d, 현재 actionscript3에 있지만 쉽게 C 기반 언어로 변환 할 수 있음).

내 게임 개체의 관성을 계산하는 데 좋은 공식을 찾는 데 문제가 있습니다.

볼록 다각형의 중심 주위에 관성을 계산하는 입증 된 수식이 많지만 구조가 약간 다릅니다. 게임 공간에 자체 게임 공간이 있습니다. 이 로컬 공간에 원 및 볼록 다각형과 같은 볼록한 모양을 추가하여 복잡한 객체를 형성 할 수 있습니다. 도형 자체는 다시 고유 한 로컬 공간을 갖습니다. 그래서 세 가지 레이어가 있습니다 : 세계, 객체 & 모양 공간.

moments of inertia Wikipedia article에 제공된 공식을 사용하여 모양의 각 다각형의 관성을 계산하는 데 아무런 문제가 없습니다.

또는 멋진 것으로 제공되는 것 collision detection & response article.

하지만 이걸 내 개체 구조에 연결하는 방법을 궁금해하는데 단순히 개체의 모양에 모든 관성을 추가해야합니까? 그것은 다른 작가가 calculate the inertia of triangulated polygons에 사용하는 것입니다. 그는 삼각형의 모든 관성 모멘트를 더합니다. 아니면 그것에 더 있습니까?

강력한 물리학 배경이 없기 때문에 전체 관성 개념을 이해하기가 어렵습니다. 누군가가 주어진 중심점 주위의 관성 뒤에있는 논리로 답을 제공 할 수 있다면, 나는 매우 감사 할 것입니다. 나는 사실 I.T. - 내 대학에서 게임 개발,하지만 내 큰 좌절감에 그들의 순위에있는 교사 중 누구도 물리학 분야에서 경험이 있습니다.

+0

@cha - [링크 텍스트에 대한 W3C 가이드 라인] (http://www.w3.org/TR/WCAG10-HTML-TECHS/#link-text)을 읽고 싶을 것입니다. – Flexo

+0

@Flexo 나는 당신을 얻지 못했습니다 .... – Chaitanya

답변

-1

선형 동작의 경우 추가 할 수 있습니다. 관성은 질량에 비례합니다. 개체의 질량을 더하고 합계의 관성을 계산하는 것은 각각의 관성을 더하는 것과 같습니다.

회전의 경우 더 복잡 해지고 질량 중심을 찾아야합니다.

뉴턴의 운동 법칙을 읽어보십시오. 물리 엔진을 작성하는 경우이를 이해해야합니다. 법 자체는 매우 짧지 만 이해하려면 Google과 같은 상황이 더 필요합니다.

구체적으로 질량, 관성, 힘, 가속도, 운동량, 속도, 운동 에너지 개념을 이해해야합니다. 그들은 모두 관련이 있습니다.

+0

-1을 분명히하십시오 : 아니오, 그냥 추가 할 수 없습니다. 2D 토지에서도 평행 축 정리에 대해 걱정해야합니다. –

+0

아, 맞아. 나는 단지 직선 운동을 고려했다. 정교한 케어? – Minthos

+2

질량 오프셋 중심을 고려해야합니다. 점 질량을 질량없는 막대와 연결할 때 어떤 일이 일어나는지 생각해보십시오. 질량이없는로드는 질량이 0이므로 관성 모멘트가 0입니다. 점 질량은 질량 중심에 대한 관성 모멘트가 0이므로 대상의 관성 모멘트를 추가하면 0이됩니다. 평행 축 정리 옵셋을 추가하면 양수 관성 모멘트가있는 복합 오브젝트가 만들어집니다. –

2

Laurens, 물리학은 2 차원 공간에 있으면 훨씬 간단합니다. 2D 공간에서 회전은 스칼라로 설명되며 회전에 대한 저항 (관성 모멘트)은 스칼라로 표시되며 회전은 부가 적이며 교환 가능합니다. 상황은 3 차원 공간에서 털이 많이 나옵니다.

두 개체를 연결할 때 결합 된 개체의 자체 질량 중심이 있습니다. 이 결합 된 오브젝트의 관성 모멘트를 계산하려면 개별 오브젝트의 관성 모멘트를 더하고 각각의 개별 오브젝트에 대해 Steiner parallel axis theorem에 지정된 옵셋 조건을 추가해야합니다. 이 오프셋 항은 물체의 질량에 복합 질량 중심까지의 거리의 제곱을 곱한 값입니다.

관성 모멘트를 알아야하는 주된 이유는 개체에 작용하는 토크에 대한 반응을 시뮬레이션 할 수 있기 때문입니다.이것은 2D 물리학에서 상당히 간단합니다. Rotational behavior는 Newton의 두 번째 법칙과 유사합니다. F = ma 대신 T = Iα를 사용합니다. (다시 한번 3D 공간에서 훨씬 더 털이 있습니다.) 외력과 토크를 찾고 선형 가속과 회전 가속을 풀고 수치 적으로 통합해야합니다.

게임 물리학에 대한 훌륭한 초보자를위한 책이 준비되어있을 것입니다. 추천 텍스트 목록은 this question at the gamedev sister site에 있습니다.

+0

Ahh ok, 내 게시물의 최종 링크에 기사의 작가가 맞았습니다. "평행 축 정리"라는 용어에 대해 알지 못했습니다.이를 지적 해 주셔서 감사합니다. – Laurens

+0

왜 나는 관성 모멘트가 필요한지 이해하지만 계산 방법에 대해서는 확신하지 못했습니다. 관성 값이 정말로 큰 것이 정상입니까? 나는 당신이 묘사 한 것처럼 그것을 계산하는 방법을 사용했으나 그것은 거대한 숫자를주었습니다. 폭과 높이가 80 인 하나의 정사각형 모양의 다각형으로 구성된 객체를 테스트하면 객체의 중심에 가운데가 놓여져 튀어 나오는 관성이 3413333.3333333335가됩니다. 나는 물체의 면적으로부터 내 물체 질량을 계산하는데, 현재는 밀도 스칼라가 1로 설정되어있다. 이것은 정상적인 결과입니까? 거대한 숫자처럼 보입니다. – Laurens

+0

O 물리 도서 목록에 감사 드리며 실제로 사용할 수 있습니다. 충돌 응답 코드가 순간적으로 나에게 오류가 발생했습니다. – Laurens