三角形の慣性モーメント

ここでは、二次元の場合のみを扱う。

公式

三角形の質量をm、原点を始点とし三角形の各頂点を終点とするベクトルをr_1, r_2, r_3とする。
すると、この(均質な)三角形の、重心を回転軸とした慣性モーメントIは、次のように表せる。
I = \frac{1}{18}m(|r_1|^2+|r_2|^2+|r_3|^2-r_2\cdot r_3-r_3\cdot r_1-r_1\cdot r_2)

特に、重心が原点にある場合は次のように表せる。
I = \frac{1}{12}m(|r_1|^2+|r_2|^2+|r_3|^2)\hspace{36pt}\frac{r_1+r_2+r_3}{3}=(0, 0)

質量が三角形の辺のみに集まっている場合、慣性モーメントはこの2倍となる。
質量が三角形の頂点に集中している場合、慣性モーメントは更にその2倍となる。

また、r_3の表す頂点が原点にあり、原点を軸とした慣性モーメントをI'とすると、
I' = \frac{1}{6}m(|r_1|^2+r_1\cdot r_2+|r_2|^2)\hspace{36pt}r_3 = (0, 0)

任意の多角形の場合

多角形の慣性モーメントを知りたかったから、三角形の場合を調べたのだ。
でもその前に、面積の話を。

頂点の座標がわかっている多角形の場合、面積を求めるシンプルな方法がある。
さっきと同じように、n角形の頂点を表すベクトルをr_1, r_2, \cdots, r_nとする。
このn角形の面積Sは次で表される(外積はベクトルだろという人はz成分を取り出して下さい)。
S_i := \frac{1}{2}r_{i-1}\times r_i\hspace{36pt}r_0:=r_n \\S = \sum^n_{i=1}S_i
n個の三角形に分割して足しているのだが、重なった部分も符合が反転して帳尻が合う。
(頂点の番号付けは順方向に回転する順番にすること)

これと同じように、多角形を三角形に分割して慣性モーメントを求める。
このときに、分割した三角形の質量を知る必要があるので、先に面積を求めたのだ。
原点を回転軸とした慣性モーメントをI'とすると、
I' = \sum^n_{i=1}\frac{1}{6}(\frac{S_i}{S}m)(|r_{i-1}|^2+r_{i-1}\cdot r_i+|r_i|^2)

多角形の重心を表すベクトルGは、同様の力技で次のように求まる。
G = \sum^n_{i=1}\frac{S_i}{S}\cdot\frac{1}{3}(\vec{0}+r_{i-1}+r_i)

よって均質な多角形の重心を軸とした慣性モーメントIは、
I = I' - m|G|^2

余談

積分したらx_1 x_2 + y_1 y_2というのが出てきて、「内積だ!」と快感を得たが、
よく考えたら、ベクトルのまま積分しろよという話だった。ダメすぎる。

線分の慣性モーメントは、平行軸の定理を使う方法と素直な線積分の二つを実行し検算。
線分を縮めながら近づける積分をして三角形とし、位置を変えながら平行軸の定理で検算。
よく理解していないため、検算が合うことに感動してしまう。
感受性がないのは論外だが、基本的には感動しなくなることを目指すべきだと思う。

分割した慣性モーメントを足すときに、スカラーだから重なりを処理できないと心配したが、
そもそも符号付きの面積がなければ必要な質量を知ることができないのだった。

間違ってないか不安なので、線分や円を小さな三角形に分割して式に当てはめ検算。
たくさん計算して理解を深めることでも、間違いを減らすことができる。

重心について追加した。ちょっと修正が多かった。

(2014/10/26追記)導出

質量mの線分の端点をr_1, r_2とする。この線分の、原点を軸とした慣性モーメントは、
\int_0^1 m dt|(1-t)r_1+t r_2|^2 = \frac{m}{3}(|r_1|^2+r_1\cdot r_2+|r_2|^2)

これを使って、\vec{0}, r_1, r_2を頂点に持つ質量mの三角形の、原点を軸とした慣性モーメントI'を求める。
I' = \int_0^1 \frac{2sm ds}{3}(|sr_1|^2+sr_1\cdot sr_2+|sr_2|^2) = \frac{m}{6}(|r_1|^2+r_1\cdot r_2+|r_2|^2)

重心の周りの慣性モーメントIは、
I = I' - m\left|\frac{\vec{0}+r_1+r_2}{3}\right|^2 = \frac{m}{18}(|r_1|^2+|r_2|^2-r_1\cdot r_2)

r_1, r_2, r_3を頂点とする三角形の場合は、平行移動させてr_1-r_3, r_2-r_3, \vec{0} とすれば上の式が使える。