公開:2006/11/16(木) 最終更新:2016/04/03(日) |
自分で考案した任意多角形の面積,重心 (図心),断面モーメント,慣性モーメント計算の公式集 PDF ファイル および Excel ファイルを,DLmarket 様にて委託ダウンロード販売しています. (各 \514,セット割引 \771).
任意多角形の重心 (図心) および1次以上のモーメントの公式の無料公開は終了しました. 現在は面積の公式のみ公開しています.
表示確認ブラウザ:FireFox 3.6.10,IE8
注意:画像表示を ON にしないと,図と数式が表示されません.
多角形は頂点座標の列 Pi=(Xi,Yi)
(i=1,2,…,n,n≧3) で与えられるものとする.
数式を単純にするため,Pn+1≡P1
と定義する.
また,閉曲線 C=(P1,P2,…,Pn,Pn+1=P1)
は左回り(注1)であるとする.
なお多角形は凸多角形である必要はないが, 穴は開いていない (単連結領域である) ものとする.
注1: ここでいう「左回り」は,座標系の向きが上図のようになっている (つまりX軸を90°左に回転させるとY軸になる) 場合である.座標系の向きが逆 (例えばY軸が下向き) の場合には右回りにしなければならない. (参考)
無料公開は終了しました. 任意多角形の断面N次モーメントの公式および証明は, 「任意多角形のモーメント計算公式集」で解説しています.
面積 S≡∫dS は断面0次モーメントなので,断面N次モーメントの公式で N=0 と置けばよい.
ここで Pi×Pi+1 は2次元の外積である.
S の符号は C の回転方向によって変わる.
つまり S は面積そのものではなく,符号付面積である.
|S| が面積であり,S>0 ならば C は左回り,S<0 ならば C は右回り.
上の3行目の式では,各項は三角形 OPiPi+1 の符号付面積であり,それをすべての三角形について合計したものになっている.
1行目の式では,多角形の各頂点からY軸に垂線を下ろし, それによって作られる台形の符号付面積が各項になっている. 2行目の式ではY軸の代わりにX軸に垂線を下ろしたものになっている.
測量の分野では,1行目の式を使って面積を求めることを倍横距法,
2行目を合緯距法という.
(Xi+Xi+1) が横の平均距離の2倍だから倍横距,
(Yi+Yi+1) が縦 (緯線間隔)
の合計距離だから合緯距ということだろう (憶測).
(ただしこれはX軸が横,Y軸が縦の場合.測量ではX軸が縦,Y軸が横になるらしい.
回転方向にも注意.)
乗算回数を比較すると,台形公式ではn回, 三角形 (外積) の公式では2n回である.したがって (面積だけを) 数値計算する場合は台形公式の方が効率が良い. 逆に1次以上のモーメントと同時に計算する場合は, 外積の計算が共通化できるので,三角形公式の方が効率が良い.
参考リンク無料公開は終了しました.現在,これらの公式・証明は「任意多角形のモーメント計算公式集」で解説しています.
(証明についてはベクトル解析とストークスの定理を理解している必要があります.)
断面相乗モーメント (慣性乗積) の一般化として, 断面 (p, q) 次相乗モーメントを次のように定義する.
a を任意定数とすると,次式は Xp * Yq のベクトルポテンシャルである.
a=0 としてストークスの定理を使用すると,
後は気が向いたら書きます.
下の図にあるような単純な回転体ならば,
体積・慣性モーメント・重心の公式は公式集にも載っているだろう.
形状がもっと複雑な場合,軸断面の片側 S (下図のグレーの部分)
の断面モーメントから計算できる.
(密度ρは一定とする.)
回転軸をY軸とし,その片側 (X≧0 側) のY軸に関する断面m次モーメントを IXm≡∫Xm dS,X軸およびY軸に関する断面相乗モーメントを IXY≡∫X Y dS とすると,回転体の体積・慣性モーメント・重心の公式は次のようになる.
V = 2π IX1 (IX1:軸断面片側の,回転軸に関する断面1次モーメント)
軸断面片側の面積を S,その図心の X 座標を XCOF
(COF:Center Of Figure,図心) とすると,
IX1 = S XCOF なので
V = 2π S XCOF とも書ける.
これをパップス・ギュルダンの定理
(Pappus's Centroid Theorem,Pappus-Guldinus theorem) という.
回転体の質量 M は次のとおり.
M = ρV = 2πρ IX1 = 2πρ S XCOF
I = 2πρ IX3 = M IX3 / IX1 (IX3:軸断面片側の,回転軸に関する断面3次モーメント)
回転半径は次のとおり.
R = √(I / M) = √(IX3 / IX1)
回転体の重心は明らかに回転軸 (Y 軸) 上にある.その Y 座標 YG は,
YG = 2π IXY / V = IXY / IX1 (IXY:軸断面片側の,X 軸と Y 軸に関する断面相乗モーメント)
証明は簡単.回転軸からの距離を R とすると,
円筒座標の微小体積は dV = R dR dY dθ.
軸断面 S 内では R=X,dR dY = dX dY = dS であることに注意すると,
S が多角形ならば,体積と慣性モーメントは「任意多角形のモーメント計算公式集」の断面N次モーメントの公式を使えば機械的に計算できる. (重心の計算に必要な断面相乗モーメント IXY の公式は研究中.)
「台形の体積」で検索してくる人が多い. 最初は「台形の面積」の単純な間違いかと思ったが,あまりに多いので "台形体積" で検索してみると, どうやら土木関係で「台形体積」という言い方をするらしい. ここでいう「台形」が角錐台 (Pyramidal Frustum,飛び箱形など) なのか,円錐台 (Conical Frustum,プリン形) なのか,それ以外の立体なのか,全く謎なので答えを書きようがない.
土木関係 (?) の皆さ〜ん,
「台形体積」じゃ他分野では全く意味不明ですよ〜.
それに,そんな言葉使ってたら,小学生にも笑われるし….
とりあえずここでいう「台形」を一般の錐台 (frustum: 錐体 (cone) を底面と平行に切ってできる立体) と仮定する. 両底面の面積をそれぞれ S1,S2, 高さを h とすると体積 V は,
V = (h/3) (S1 + √(S1 * S2) + S2)
一応念のために書いておくと,この公式は底面がどんな形でもよいし, 錐体の頂点が「底面の中心の真上」になくてもよい. また,底面に垂直な軸に対して螺旋状にねじれていてもよい.
証明は簡単.錐台の頂点を原点として高さ方向にX軸を取ると, 高さXでの底面積は X2 に比例するので, これを2つの底面の間で積分し,公式 a3 − b3 = (a − b) (a2 + a b + b2) を使えばよい.
注意:2つの底面が相似形でない (四角錐台に似ているが2つの底面の縦横比が異なる, 別の言い方をすると4本の斜めの稜線を延長しても一点で交わらない) 場合は錐台ではないので,上の公式は使えない.
参考自分で考案した任意多角形の面積,重心 (図心),断面モーメント,慣性モーメントの公式集 PDF ファイルおよび Excel ファイルを,DLmarket 様にて委託ダウンロード販売しています.
任意多角形の面積・重心(図心)・モーメント計算公式集 PDF (PolygonMoment.pdf) | \514 |
任意多角形の面積・重心(図心)・モーメントを計算する Excel ファイル (PolygonMoment.xls) | \514 |
PDF + XLS (セット割引) | \771 |
以前このページで公開していた,任意多角形の重心 (図心), 断面モーメント,慣性モーメントの公式および証明に加筆し,PDF ファイルとして販売しています. 面積や重心の公式,向きの判定方法については他のサイトや本で見たことがありますが, 2次以上のモーメントの公式については (少なくとも日本語のサイトでは) 見たことがありません.
また重心については,他のサイトでは公式 (と証明) だけで計算例を示しているものが見つかりませんが,この PDF ファイルでは公式の応用例として,計算表を使って台形や三角形の重心 (図心) および断面N次モーメントの公式を導いています. ネット上で「台形の重心」を検索しても,(少なくとも日本語のサイトでは) 高さ方向の重心位置の公式しか見あたりませんが, 多角形の重心の公式を使えば横方向の公式も簡単に導けます.
1. はじめに 2. 任意多角形の断面m次モーメント 2.1 任意の平面図形の断面m次モーメントの定義 2.2 任意多角形の断面m次モーメントの公式 (Y/X軸まわり) 3. 任意多角形の面積および頂点列の回転方向 3.1 任意多角形の面積の公式および回転方向の判定方法 3.2 3次元空間内の任意多角形の面積 4. 任意多角形の断面1次モーメントおよび重心 (図心) 4.1 任意多角形の断面1次モーメントの公式 (Y/X軸まわり) 4.2 任意多角形の重心 (図心) の公式 5. 任意多角形の断面2次モーメント 5.1 任意多角形の断面2次モーメントの公式 (Y/X軸まわり) 5.2 任意多角形の断面2次モーメントの公式 (中立軸まわり) 5.3 任意多角形の断面2次極モーメントの公式 (原点まわり) 5.4 任意多角形の断面2次極モーメントの公式 (重心まわり) 5.5 多角形板・多角形柱の慣性モーメントの公式 6. 公式の証明 6.1 任意多角形の断面m次モーメントの証明 7. 公式の使用例 〜 台形・三角形などの面積・重心(図心)・断面モーメントを求める 〜 7.1 台形の面積・重心(図心)・断面モーメントの公式 ・台形の面積 ・台形の断面1次モーメント (Y軸まわり) ・台形の断面1次モーメント (X軸まわり) ・台形の重心 (図心) ・台形の断面2次モーメント (Y軸まわり) ・台形の断面2次モーメント (X軸まわり) ・台形の断面2次モーメント (中立軸 X=XG まわり) ・台形の断面2次モーメント (中立軸 Y=YG まわり) 7.2 三角形の面積・重心(図心)・断面モーメントの公式 ・三角形の面積 ・三角形の断面1次モーメント (Y軸まわり) ・三角形の断面1次モーメント (X軸まわり) ・三角形の重心 (図心) ・三角形の断面2次モーメント (Y軸まわり) ・三角形の断面2次モーメント (X軸まわり) ・三角形の断面2次モーメント (中立軸 X=XG まわり) ・三角形の断面2次モーメント (中立軸 Y=YG まわり)
任意多角形の頂点数と頂点座標を入力するだけで面積,重心 (図心),断面モーメント,断面係数などを自動的に計算する Excel ワークシートです.
密度を入力すれば多角形板/多角形柱や軸断面が多角形の回転体の体積,質量,
慣性モーメント,回転半径も計算できます.
(VBA は使っていません.)
現在のバージョン (V1.22) では,最大頂点数は 2500 ですが,Excel を使い慣れている人ならば簡単に Excel の限界 (約 65,000 頂点) まで増やすことができます.
連絡先:
リンクはご自由に. 「幾何学・CG のアルゴリズム集」に戻る. 「noocyte のプログラミング研究室」トップページに戻る. |