강체 시뮬레이션은 물리 엔진의 핵심 구성 요소 중 하나이다. 강체(rigid body)는 변형이 없는 이상적인 물체로, 외부 힘이나 토크가 가해져도 모양과 크기가 변하지 않는다고 가정한다. 강체의 특성은 이를 정의하고 시뮬레이션하는 데 중요한 역할을한다. 이 절에서는 강체의 주요 특성에 대해 다룬다.

질량

강체의 질량은 그 무게와 밀도를 나타낸다. 질량은 스칼라 값으로, 물체의 크기와 형태를 감안하여 결정된다. 질량 m은 물체의 중심에 모든 질량이 집중되어 있다고 가정할 수 있는 질량 중심(center of mass)에 배치된다.

질량 중심

질량 중심은 강체의 무게가 균형을 이루는 점이다. 질량 중심은 강체의 질량 분포에 따라 달라지며, 일반적으로 강체의 기하학적 중심과 일치한다. 질량 중심 \mathbf{c} 위치는 벡터로 표현된다.

\mathbf{c} = \frac{1}{M} \sum_{i} m_{i} \mathbf{r}_{i}

여기서 M은 전체 질량, m_{i}는 개별 파티클의 질량, \mathbf{r}_{i}는 각 파티클의 위치 벡터이다.

관성 모멘트

관성 모멘트는 물체가 회전하는 데 저항하는 정도를 나타내는 물리량이다. 강체의 회전 운동을 기술하는 데 중요한 역할을 한다. 관성 모멘트는 일반적으로 3x3 대칭 행렬 \mathbf{I}로 표현된다.

\mathbf{I} = \begin{bmatrix} I_{xx} & I_{xy} & I_{xz} \\ I_{xy} & I_{yy} & I_{yz} \\ I_{xz} & I_{yz} & I_{zz} \end{bmatrix}

여기서 I_{xx}, I_{yy}, I_{zz}는 관성 모멘트의 주요 대각선 성분이며, I_{xy}, I_{xz}, I_{yz}는 서로 다른 축간의 관성 모멘트를 나타낸다.

관성 모멘트 텐서의 변환

관성 모멘트 텐서는 강체가 회전할 때 변환된다. 고정된 공간에서의 관성 모멘트 텐서를 계산하려면 물체의 현재 회전 상태를 반영해야 한다.

\mathbf{I}^\prime = \mathbf{R} \mathbf{I} \mathbf{R}^T

여기서 \mathbf{I}^\prime은 회전 후의 관성 모멘트 텐서, \mathbf{R}은 회전 행렬이다.

각속도

각속도 \mathbf{\omega}는 강체의 회전 속도를 나타내는 벡터이다. 각속도는 강체의 특정 축을 기준으로 하는 회전 속도를 기술한다. 각속도와 관성 모멘트 텐서를 통해 각운동량 \mathbf{L}을 계산할 수 있다.

\mathbf{L} = \mathbf{I} \mathbf{\omega}

각가속도

각가속도 \mathbf{\alpha}는 강체의 회전 운동이 시간이 지남에 따라 어떻게 변하는지를 나타내는 물리량이다. 각가속도는 각속도의 시간에 따른 미분으로 얻어진다.

\mathbf{\alpha} = \frac{d\mathbf{\omega}}{dt}

외부 힘과 토크

강체에 외부 힘 \mathbf{F}와 토크 \mathbf{\tau}가 가해지면 강체의 선운동과 회전운동이 변화한다. 외부 힘은 강체의 질량 중심에 작용하며 선운동을 생성하고, 토크는 강체의 회전 운동을 생성한다.

\mathbf{F} = m \mathbf{a}
\mathbf{\tau} = \mathbf{I} \mathbf{\alpha}

여기서 \mathbf{a}은 가속도이다.