• ベストアンサー

とあるサイトの重心について

n次元図形Dの重心(g1,g2,・・・,gn)は gi=(∫D xi dx1 dx2 ・・・ dxn)/(∫D dx1 dx2 ・・・ dxn) ただし1≦i≦n と書いてあったのですが、dx1、dx2・・・とはなんなのでしょうか?

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

n=1としましょう.直線上で考えることになります.直線上の任意の点P(x)について x1=x です.重心の式は g1=∫Dxdx/∫_Ddx dx1=dxは図形D上の点xにおける長さの要素です.これを積分した(足し上げた)分母はDの長さとなります. 例:D={x|0≦x≦a} g1=∫_0^axdx/∫_0^adx=[x^2/2]_0^a/a=a/2 次にn=2としましょう.平面上で考えることになります.平面内の任意の点P(x,y)について x1=x x2=y です.重心の式は g1=∬_Dxdxdy/∬_Ddxdy g2=∬_Dydxdy/∬_Ddxdy ベクトルg=(g1,g2),r=(x,y)で書くと g=∬_Drdxdy/∬_Ddxdy となります. dx1,dx2すなわちdx,dyは図形D上の点r=(x,y)と,rから少しdr=(dx,dy)だけずらした点r'=(x+dx,y+dy)を結ぶ対角線とする長方形の2辺の長さと言えるでしょう.dxdyがその微小な長方形の面積dSです. dS=dxdy 重心は次のようにかけます. g=∬_DrdS/∬_DdS 分母はDの面積Sですね. 例:D={(x,y)|0≦x≦a,0≦y≦b} g1=∫_0^axdx∫_0^bdy/(ab)=(a^2/2)b/(ab)=a/2 g2=∫_0^adx∫_0^bydy/(ab)=a(b^2/2)/(ab)=b/2 g=(a/2,b/2) さて,一般にn次元空間において,r=(x1,x2,・・・,xn),g=(g1,g2,・・・,gn)とかくと重心は次のようになります. g=∫∫・・・∫_D r dx1 dx2 ・・・ dxn/∫∫・・・∫_D dx1 dx2 ・・・ dxn n=3だったら分母は図形Dの体積ですね.dx1dx2dx3は体積要素. このように本当は∫記号をn個書くべきなのですが,面倒なので一つにしているわけです.dx1,dx2,・・・はもう分かるでしょう. n次元図形Dの「体積」要素が dx1dx2dx3・・・dxn となるのです.

noname#164001
質問者

お礼

詳しくありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

dx なんかと同じですよ. d とその他を切り離して考えてみてください.

noname#164001
質問者

補足

x1、x2・・・というのがあるのはわかりました ただこれらは何なのでしょうか? 重心のx座標はg1のはずですし

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

dx とか dy とかなら分かりますか?

noname#164001
質問者

補足

それはわかります xやyの微小変化ですよね?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • n角形の重心を求めるアルゴリズム

    平面2次元のn角形の頂点のデータがあります。n点の座標ですから(x,y)がn個並んでいます。そのような図形の図心(重心)の座標を計算するアルゴリズムがないでしょうか。最終的にはプログラムとして離散的な処理をするため、1%ぐらいの誤差は許容範囲です。n角形と言ってもせいぜいn=3,4,5,6程度です。 欲を言うと、3次元も考えており、平面に含まれることが分かっているn個の点(3次元空間内)を平面の2次元空間に変換して重心を求め、それを3次元空間に引き戻せば3次元での重心となります。そのためにも2次元での重心の座標を求めるアルゴリズムが必要なのです。 よろしくお願いします。

  • 二次元の閉じられた図形での重心が必ず求められることの数学的根拠

    図形の外にあれば重心とは言わないでしょうが、このような不動点(?)が2次元の図形では存在すると思いますが、これは数学的にはどのように表現されることなのでしょうか。

  • いびつな図形の重心の求め方を教えてください。重心を求める基本があれば教

    いびつな図形の重心の求め方を教えてください。重心を求める基本があれば教えていただけると助かります。大学では微分積分は勉強しました。 問題 直線Y=X+2と放物線Y=x^2で囲まれた領域Dの重心を求めよ。

  • 図形の重心を取るプログラムを教えてください

    現在プログラミングで困っています。 そのプログラミングというのは、 「二値化した画像を二次元配列に置き換えそこから重心を求めよ」 というプログラムです。 重心を求めたい画像は、以下の特徴を持っています。 ・形はほぼ楕円。 ・輝度は0と255で二値化。重心を求める部分の輝度は0となっています この図形の重心を求めるには、どのようにプログラムを組めば良いのでしょうか。 みなさんのアドバイスをよろしくお願い致します。 また、私はプログラミングについてはほぼ初心者なので、詳しい説明をして頂けると助かります。 お手数なのですが、よろしくお願い致します。

  • 有界閉集合の重心

    R^nの有界(閉)集合Bの重心は次の式を満たすgということでいいでしょうか?  ∫(x∈B)(x-g)dμ(R^n) このとき、Bが有界と言う条件からgの一意性が成り立つのでしょうか? また、f:B→Rの可測関数とするとfの重心を {(x,y)|x∈B,y∈f(B)}⊆R^(n+1)の重心として定義されるでしょうか?

  • Cプログラムによる画像の高速フーリエ変換FFT

    Cプログラムにる画像処理について教えてください。逆高速フーリエ変換(IFFT)によって周波数領域から実空間領域に変換する際、周波数帯域を(低周波数領域に)制限してIFFTを実行できるという文献があるのですが可能でしょうか?通常の逆離散フーリエ変換(IDFT)では可能でした。 以下のコードの修正で可能でしょうか? 例) 512*512の空間周波数領域データを212*212(仮に)の低周波数領域に帯域制限してIFFTで画像に戻したいのです。 以下の以下の一次元FFTコードを用いてX方向とY方向にIFFTしたいと考えています。 void FFT(int ir, int nx, float *xr, float *xi, float *si, float *co, unsigned short *brv) // 1次元フーリエ変換 // int ir; 順変換(1)と逆変換(-1) // int nx; 1次元FFTのデータ数 // float *xr; 実部のデータ xr[nx] // float *xi; 虚部のデータ xi[nx] // float *si; FFT用のサインデータ si[nx/2] // float *co; FFT用のコサインデータ co[nx/2] // unsigned short *brv; FFT用の入れ替えデータ brv[nx] { int i, j, n1, n2=nx, j3, j4, k, l, ll, d=1, g; float a, b, c, s; for(l = 1; l <= nx/2; l *= 2, d += d) { g = 0; ll = n2; n2 /= 2; for(k = 1; k <= n2; k++) { n1 = k-ll; c = co[g]; s = -ir*si[g]; g += d; for(j = ll; j <= nx; j += ll) { j3 = j+n1-1; j4 = j3+n2; a = xr[j3]-xr[j4]; b = xi[j3]-xi[j4]; xr[j3] += xr[j4]; xi[j3] += xi[j4]; xr[j4] = c*a+s*b; xi[j4] = c*b-s*a; } } } 通常のDFTでの帯域制限はこのように行い可能でした。 void fourier1d(int ir, float *fr, float *fi, int nx) { int i, j, n = 1; float *gr, *gi; double u, x; gr = (float *)malloc((unsigned long)nx*sizeof(float)); gi = (float *)malloc((unsigned long)nx*sizeof(float)); for(i = 0 ; i < nx ; i++) { u = i-nx/2; gr[i] = gi[i] = 0; for(j = 150 ; j < 362 ; j++) { x = j-nx/2; gr[i] += (float)( fr[j]*cos(2*PI*u*x/nx)+ir*fi[j]*sin(2*PI*u*x/nx)); gi[i] += (float)(-ir*fr[j]*sin(2*PI*u*x/nx)+fi[j]*cos(2*PI*u*x/nx)); } } if(ir == -1) n = 212; // 逆変換はデータ数で割る for(i = 0 ; i < nx ; i++) { fr[i] = gr[i]/n; fi[i] = gi[i]/n; } free(gr); free(gi); }

  • 解析学の重心を求める問題を教えて下さい。

    平面図形の重心(x,y)平面内の領域Dの重心はDの面積を|D|と書けば (1/|D|・∫∫xdxdy,1/|D|・∫∫ydxdy) と表される。 これを利用して次の問いに答えなさい。 半径a>0、中心角2θ(0<θ<π/2)の扇形Dを次のように配置する。 このとき、Dの重心を求めなさい。 D={(x,y):x^2+y^2≦a^2,-(tanθ)x≦y≦(tanθ)x} 分からず困っています。 この問題の答えを教えて下さい お願いいたします

  • 2次元CADで重心計算

    いつもお世話になっております。 1点質問させてください。 小生が使用のCADはオートCADメカニカル2006です。 作図した図形の重心を求める機能はありますか? 実際は奥行きから重量が分からないといけないと思いますので 3次元CADじゃないと駄目なのかなって思ってます。 2次元CADでも可能であればご教示お願いします。 以上です。

  • 三角形の重心と線分の長さ

    三角形ABCにおいて辺BC、CAの中点をそれぞれD、Eとする。 また、ADとBEの交点をF、線分AFの中点をG、 CGとBEの交点をHとする。 更に、DからCGに平行な線をひき、BEとの交点をNとする。 BE=6のとき、FE、HE、NFを求めよ。 という問題です! 重心を使うのですがよくわかりません。 答えは、2、3分の2、3分の4の順番です! お願いします(´・ω・`)

  • n次元の体積の求め方

    n次元ユークリッド空間で、   x1≧0, x2≧0,… xn≧0, x1+x2+…+xn ≦ a (aは正定数) を満たす領域の体積を考えます。私はこれを   ∫(0~a)dxn∫(0~a - xn)dxn-1 …∫(0~a -(xn+…+x2))dx1  =∫(0~a)dxn∫(0~a - xn)dxn-1 …∫(0~a -(xn+…+x3))dx2(a -(xn+…+x2))  =…  =a^n/n! として求めました。(http://oshiete1.goo.ne.jp/kotaeru.php3?q=1057646参照) n=2, 3 の場合にこれが正しいことは容易に確かめられます。自分の回答のことで無責任ですが、一般のnの場合になぜこのような積分で体積が求められるのでしょうか。また、被積分関数が1でないなら積分も必要と思いますが、被積分関数が1の場合は単なる体積です。積分を使わずにこの体積を幾何学的に直感的に説明する方法はないのでしょうか。