每天資訊李建松《地理資訊系統原理》(第2版)考研真題整理

菜單

李建松《地理資訊系統原理》(第2版)考研真題整理

李建松《地理資訊系統原理》(第2版)考研真題整理

程式設計題

面狀目標重心可以透過計算梯形重心的平均值而得到。將多邊形的各個頂點投影到x軸上,就得到一系列梯形(見下圖),所有梯形重心的聯合就確定了整個多邊形的重心。設多邊形的頂點序列(xi,yi)按順時針編碼,則其重心的計算公式為:

李建松《地理資訊系統原理》(第2版)考研真題整理

其中,和是i個梯形的重心的x座標和y座標,Ai是梯形的面積。它們由下式得到:

李建松《地理資訊系統原理》(第2版)考研真題整理

李建松《地理資訊系統原理》(第2版)考研真題整理

圖計算梯形的重心位置

請用程式設計(VB或VC)方法實現上述計算。[中山大學2011、2012年研]

答:使用C++語言,在VC++6。0平臺或Visual Studio 2013 IDE上編譯,計算梯形面積的具體程式(虛擬碼)如下所示:

INPUT Array X[n],Y[n];

double Sum_A=0。0;

double Sum_YA=0。0;

double Sum_XA=0。0;

double XX,YY;

For(int i=0,i

Sum_A=Sum_A+(Y[i]+Y[i+1])*(X[i]-X[i+1])/2;

For(i=0,i

Sum_XA=Sum_XA+(X[i+1]^2+X[i+1]X[i]+X[i]^2)*(Y[i+1]-Y[i])/6;

For(i=0,i

Sum_YA=Sum_YA+(Y[i+1]^2+Y[i+1]Y[i]+Y[i]^2)*(X[i+1]-X[i])/6;

XX=Sum_XA/Sum_A;

YY=Sum_YA/Sum_A;

OUTPUT XX,YY;

END

注:XX,YY即為梯形重心的橫縱座標值。

讀書是學習,使用也是學習,而且是更重要的學習。——偉人