Maxima/面積計算 座標法 倍横距法

多角形の面積計算

編集

座標(1,1),(3,1),(3,3),(1,3)の多角形の面積を求める。

座標法
/*size:行列の寸法関数 area:面積計算関数*/
size(Z):=block(fn(f):=1,C:matrixmap(fn,col(Z,1)),R:matrixmap(fn,row(Z,1)),
   return(matrix([transpose(C).C,R.transpose(R)])))$
area(B):=block(B:addcol(B,col(B,1)),B:addcol(B,col(B,2)),
   return(sum(B[1,i]*(B[2,i+1]-B[2,i-1]),i,(1+1),(size(B)[1,2]-2+1))/2))$
AT:matrix([1,1],
          [3,1],
          [3,3],
          [1,3]
          );
print("AT=",AT,"S=",area(transpose(AT)))$
倍横距法

関連項目

編集

Wikipedia

編集

外部リンク

編集